今日工作总结——调试Arduino——20171107

来源:互联网 发布:可以美化图片的软件 编辑:程序博客网 时间:2024/05/21 10:30

总结今天工作,主要为一下几点:
1. Arduino端口分为数字端口和模拟端口,数字端口和模拟端口区别:数字端口以数字输入和数字输出,并且规定,输出是以AREF电压作为参考电压,高于1.1V的电压为高电平,低于1.1V电压的为低电平;模拟端口输入可以是模拟量和数字量,输出不能是模拟量,输出是数字量,像声音传感器,温度传感器等的输入可以接模拟端口;
2. Arduino中串口的使用,在初始化即void setup中,写入Serial.begin(9600); 串口打印时可以是Serial.print和Serial.println,两者输出的区别是Serial.print的输出不换行,而Serial.println的输出换行,另外提醒,如果不加延迟的话,输出特别快,几乎看不太清,加上1s的延迟,效果会好些;
3. 声音传感器的程序如下:
int ledpin=3; 定义LED灯的端口——数字端口3;
int soundpin=0; 定义声音传感器的端口——模拟端口0;

void setup()
{
pinMode(ledpin,OUTPUT);
pinMode(soundpin,INPUT);
Serial.begin(9600);
}

void loop()
{
int soundstate=analogRead(soundpin);
Serial.println(soundstate);
delay(1000);
if(soundpin>10)
{
digitalWrite(ledpin,HIGH);
delay(1000);
}
else{

digitalWrite(ledpin,LOW);delay(1000);

}
}

  1. 光控传感器的程序:
  2. int ledpin=3;
  3. int guangpin=0;
  4. int val;

    1. void setup()
  5. {
  6. pinMode(ledpin,OUTPUT);
  7. pinMode(guangpin,INPUT);
  8. Serial.begin(9600);
  9. }

    1. void loop()
  10. {
  11. val=analogRead(guangpin);
  12. Serial.println(val);
  13. delay(1000);
  14. if(val<1000)
  15. {
  16. digitalWrite(ledpin,HIGH);
  17. delay(1000);
  18. }
  19. else {
  20. digitalWrite(ledpin,LOW);
  21. delay(1000);
  22. }
  23. }

  24. 机器人:(1)调试程序前,记得上电以及其它事项,否则,经常出现一些不必要的错误;
    (2)实现了步进电机的向前向后向左向右的控制,但是如何进行清洗,逻辑自己还没想好;

今日问题:
1. 声音传感器的两个接口AO和DO,用串口打印,同样的环境和同样的条件,数值不一样,AO是27 28;而DO是350 370,硬件接口接的是AO,程序设置的是当数值大于10时,LED亮,但是实际LED不亮,问题:
(1) AO和DO的含义,
(2) 为什么会出现上面情况?
2. 机器人控制的逻辑???

原创粉丝点击