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

標題: TSL1401使用 [打印本頁]

作者: h445868178    時間: 2019-12-20 10:26
標題: TSL1401使用
先介紹一下CCD模塊:該模塊有幾個重要的針腳

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

GND:接地

CLK:時鐘信號線

SI:邏輯信號線

AO:模擬信號輸出

1. 接法

一般VCC和GND都是直接接在單片機的接口上,如果獨立電源供電的話,注意要共地。AO接AD轉換接口。

2. 用法

使用方法如上圖所示

3. 代碼(這里使用arduino)

  digitalWrite(CCD_SI,HIGH);//SI拉高電平
  digitalWrite(CCD_CLK,HIGH);//時鐘高電平
  digitalWrite(CCD_SI,LOW);//SI低電平
  digitalWrite(CCD_CLK,LOW);//時鐘低電平
  for(i=0;i<128;i++)
  {
    digitalWrite(CCD_CLK,HIGH);
    digitalWrite(CCD_CLK,LOW);
  }//從這里結束曝光
  delayMicroseconds(exp_time);//曝光時間
  digitalWrite(CCD_SI,HIGH);
  digitalWrite(CCD_CLK,HIGH);
  digitalWrite(CCD_SI,LOW);
  piexl[0]=analogRead(A0);//AD,注意這個函數的返回值是0-1024的,所以至少要用10bit的大小才不會導致溢出。
  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,注意這個函數的返回值是0-1024的,所以至少要用10bit的大小才不會導致溢出。
  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掃描數據的時候要進行兩次時序操作,數據輸出在第二次。

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

輸出結果一般轉換成8比特位的數值,對應0-255的灰度值,白色是255,黑色是0

5. 常見問題解決

輸出不了數據:檢查線路是否錯誤。檢查電平操作是否正確。檢查是否有進行兩次電平操作。

6. 數據查看

一般是使用串口將數據發送到上位機查看.

有現成的上位機軟件也可以自己去了解一下串口編程的api,自己編寫一個上位機。







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