欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: TSL1401使用 [打印本頁]

作者: h445868178    時(shí)間: 2019-12-20 10:26
標(biāo)題: TSL1401使用
先介紹一下CCD模塊:該模塊有幾個(gè)重要的針腳

VCC:接電源正極 3.3v-5v

GND:接地

CLK:時(shí)鐘信號(hào)線

SI:邏輯信號(hào)線

AO:模擬信號(hào)輸出

1. 接法

一般VCC和GND都是直接接在單片機(jī)的接口上,如果獨(dú)立電源供電的話,注意要共地。AO接AD轉(zhuǎn)換接口。

2. 用法

使用方法如上圖所示

3. 代碼(這里使用arduino)

  digitalWrite(CCD_SI,HIGH);//SI拉高電平
  digitalWrite(CCD_CLK,HIGH);//時(shí)鐘高電平
  digitalWrite(CCD_SI,LOW);//SI低電平
  digitalWrite(CCD_CLK,LOW);//時(shí)鐘低電平
  for(i=0;i<128;i++)
  {
    digitalWrite(CCD_CLK,HIGH);
    digitalWrite(CCD_CLK,LOW);
  }//從這里結(jié)束曝光
  delayMicroseconds(exp_time);//曝光時(shí)間
  digitalWrite(CCD_SI,HIGH);
  digitalWrite(CCD_CLK,HIGH);
  digitalWrite(CCD_SI,LOW);
  piexl[0]=analogRead(A0);//AD,注意這個(gè)函數(shù)的返回值是0-1024的,所以至少要用10bit的大小才不會(huì)導(dǎo)致溢出。
  if(piexl[0]==255) piexl[i]=254;
  digitalWrite(CCD_CLK,LOW);
  for(i=1;i<128;i++)
  {
    digitalWrite(CCD_CLK,HIGH);
    piexl[i]=analogRead(A0);
    digitalWrite(CCD_CLK,LOW);
  }
  digitalWrite(CCD_CLK,HIGH);
  digitalWrite(CCD_CLK,LOW);
AD,注意這個(gè)函數(shù)的返回值是0-1024的,所以至少要用10bit的大小才不會(huì)導(dǎo)致溢出。
  if(piexl[0]==255) piexl[i]=254;
  digitalWrite(CCD_CLK,LOW);
  for(i=1;i<128;i++)
  {
    digitalWrite(CCD_CLK,HIGH);
    piexl[i]=analogRead(A0);
    digitalWrite(CCD_CLK,LOW);
  }
  digitalWrite(CCD_CLK,HIGH);
  digitalWrite(CCD_CLK,LOW);
4. 代碼介紹

每次使用ccd掃描數(shù)據(jù)的時(shí)候要進(jìn)行兩次時(shí)序操作,數(shù)據(jù)輸出在第二次。

第一次時(shí)序操作是用來初始化端口的電平,兩次電平操作中間的是曝光時(shí)間設(shè)置。

輸出結(jié)果一般轉(zhuǎn)換成8比特位的數(shù)值,對(duì)應(yīng)0-255的灰度值,白色是255,黑色是0

5. 常見問題解決

輸出不了數(shù)據(jù):檢查線路是否錯(cuò)誤。檢查電平操作是否正確。檢查是否有進(jìn)行兩次電平操作。

6. 數(shù)據(jù)查看

一般是使用串口將數(shù)據(jù)發(fā)送到上位機(jī)查看.

有現(xiàn)成的上位機(jī)軟件也可以自己去了解一下串口編程的api,自己編寫一個(gè)上位機(jī)。







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1