TSL1401CL线性CCD模块使用方法

 TSL1401CL模块含有128个感光单元呈线性排列,每一个感光单元可以读取环境的光线强度并转换为电压输出,光线越强电压值越高,因此可以通过单片机的ADC依次采集每个感光单元的电压值(共128组)并存在数组中。

TSL1401CL接口:

· SI--串行输入口,决定数据序列的起始,用单片机IO口控制即可;

· CLK--时钟管脚,控制电荷转换、输出像素和芯片复位,可用单片机IO口或者PWM控制;

· AO--模拟输出,接单片机的ADC口进行采集;

· VDD--接电源正 (3.3V—5.2V);

· GND--接电源地;

操作时序图:

TSL1401CL线性CCD模块使用方法
 

Arduino驱动程序

digitalWrite(CCD_CLK,1);

  digitalWrite (CCD_SI,0);

  delayMicroseconds(1);

  digitalWrite (CCD_SI,1);

  digitalWrite (CCD_CLK,0);

  delayMicroseconds(1);

  digitalWrite (CCD_CLK,1);

  digitalWrite (CCD_SI,0);

  delayMicroseconds(1);

  for(i=0;i<128;i++)

  {

    digitalWrite(CCD_CLK,0);

    delayMicroseconds(1); 

    b=analogRead(ADC_pin);

    delayMicroseconds(1);

    CCD_ADV[i]=b/4;            //除以4可将十位ADC值转化为八位

    delayMicroseconds(1);          

    digitalWrite (CCD_CLK,1);

    delayMicroseconds(1);

  }

 

## 在使用上位机时,上位机的接收数据类型要与单片机发送的数据类型一至。

 如:单片机发送数据类型为HEX,上位机也要调为HEX接收。

TSL1401CL线性CCD模块使用方法