“线性CCD示例”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #4F4E4E;font-size:220%">'''Sensor-LinerCCD示例'''</p> <br> 本示例给出了使用线性CCD检测线性亮度的方...”)
 
 
第8行: 第8行:
 
并将测得的线性亮度通过串口打印出来
 
并将测得的线性亮度通过串口打印出来
  
距离单位毫米(mm)
 
 
<br>
 
<br>
 
<br>
 
<br>
第15行: 第14行:
 
*[[mCookie-Battery]]
 
*[[mCookie-Battery]]
 
*[[mCookie-Hub/zh|mCookie-Hub]]
 
*[[mCookie-Hub/zh|mCookie-Hub]]
*[[Sensor-Ultrasonic/zh|Sensor-Ultrasonic]]
+
*[[Sensor-LinerCCD/zh|Sensor-LinerCCD]]
 
<br>
 
<br>
 
[[File:.jpg|600px|center]]
 
[[File:.jpg|600px|center]]
第21行: 第20行:
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">电路搭建</p>
 
<p style="color: #E87E05;font-size:135%">电路搭建</p>
将超声波传感器接到Hub的IIC引脚。
+
将线性CCD传感器接到Hub的IIC引脚。
 
<br>
 
<br>
 
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:[[AVR核心:Getting_started/zh|Getting Started]]。
 
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:[[AVR核心:Getting_started/zh|Getting Started]]。
第30行: 第29行:
 
<p style="color: #E87E05;font-size:135%">代码</p>
 
<p style="color: #E87E05;font-size:135%">代码</p>
 
<source lang="cpp">
 
<source lang="cpp">
#include <Microduino_Ultrasonic.h>        //引用超声波库文件
+
#include <Microduino_LinerCCD.h>        //引用线性CCD库文件
  
Ultrasonic Ultrasonic1(ULTRASONIC_ADDR_1);//将Ultrasonic实例化
+
LinerCCD linerCCD;//将线性CCD实例化
  
uint16_t Distance;  //定义变量
 
  
 
void setup() {
 
void setup() {
 
   Serial.begin(9600);                      // 串口初始化
 
   Serial.begin(9600);                      // 串口初始化
   if (Ultrasonic1.begin()) {                //如果超声波初始化成功
+
   linerCCD.setCCDPixs(linerCCD.PIXEL128);               //初始化像素点
    Serial.println("Ultrasonic is online");//串口打印信息
+
   linerCCD.setExposed(50);               //初始化曝光时间50ms
   }
 
  else {                                  //如果超声波初始化不成功
 
    Serial.println("error");              //串口打印信息
 
    while (1);                             //程序在此循环运行,即不再向下运行
 
  }
 
 
}
 
}
  
 
void loop() {
 
void loop() {
   Distance = Ultrasonic1.requstDistance(); //获取超声波测得的距离
+
   //获取原始像素值
   Serial.println(Distance);               //串口打印距离值
+
  linerCCD.reqestPixls();
   delay(30);                             //延时30ms
+
  //计算像素最大值,最小值
 +
  linerCCD.caculateMaxMinPix();
 +
  //调整对比度
 +
  linerCCD.adConAlgorithm();
 +
 
 +
  uint8_t pixNum = linerCCD.getPixsNum();     //获取像素点总数
 +
   for (uint8_t i = 0; i < pixNum; i++) {
 +
    Serial.print(linerCCD.pixlArray[i]);     //串口打印像素点值(范围0~255)
 +
    Serial.print(",");
 +
  }
 +
  Serial.println();
 +
 
 +
   delay(50);
 +
 
 +
 
 
}
 
}
 
</source>
 
</source>
第62行: 第69行:
  
  
<p style="font-size:115%">[[Sensor-Ultrasonic/zh|返回Sensor-Ultrasonic 界面]]</p>
+
<p style="font-size:115%">[[Sensor-LinerCCD/zh|返回Sensor-LinerCCD 界面]]</p>

2017年7月27日 (四) 03:15的最新版本

Sensor-LinerCCD示例


本示例给出了使用线性CCD检测线性亮度的方法

并将测得的线性亮度通过串口打印出来



所需硬件




电路搭建

将线性CCD传感器接到Hub的IIC引脚。
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。初次使用请参考:Getting Started



代码

#include <Microduino_LinerCCD.h>         //引用线性CCD库文件

LinerCCD linerCCD;//将线性CCD实例化


void setup() {
  Serial.begin(9600);                       // 串口初始化
  linerCCD.setCCDPixs(linerCCD.PIXEL128);               //初始化像素点
  linerCCD.setExposed(50);               //初始化曝光时间50ms
}

void loop() {
  //获取原始像素值
  linerCCD.reqestPixls();
  //计算像素最大值,最小值
  linerCCD.caculateMaxMinPix();
  //调整对比度
  linerCCD.adConAlgorithm();

  uint8_t pixNum = linerCCD.getPixsNum();     //获取像素点总数
  for (uint8_t i = 0; i < pixNum; i++) {
    Serial.print(linerCCD.pixlArray[i]);      //串口打印像素点值(范围0~255)
    Serial.print(",");
  }
  Serial.println();

  delay(50);


}


相关案例




返回Sensor-LinerCCD 界面