最近闲的没事玩一下傻瓜单片机,简单记录下自己的学到的东西吧,
首先有一点c语言基础的就不用太过讲解语法层面了
实验(1)arduino的hello world:
这里简单说明下:
setup()相当于init的函数只执行一次,一般是用于声明一些管脚的输出状态
loop()用于循环
voidsetup() { //putyoursetupcodehere, torunonce: Serial.begin(9600); } voidloop() { //putyourmaincodehere, torunrepeatedly: Serial.println("Hello world!"); delay(1000); }
串口输出
串口初始化完成后,我们便可以使用Serial.print() 或Serial.println() 向计算机发送信息了。
Serial.print(val)
参数
val是你要输出的数据,各种类型的数据均可
Serial.println(val)
println会在输出完指定数据后,再输出一组回车换行符
serial.write()
串口输出函数(对应的是ascii值对应的符号)
write(val)
write(str)
write(buf,len)
参数:
val 字节
str 一串字节
buf 字节数组
len 数组长度
实验(2)led的闪烁控制:
面包板演示电路图:
intledpin=5; voidsetup() { pinMode(ledpin,OUTPUT); } voidloop() { digitalWrite(ledpin,HIGH); delay(2000); digitalWrite(ledpin,LOW); delay(2000); }
实验(3)key控制led状态反转:
#define KEY 2#define LED 13voidsetup() { pinMode(LED,OUTPUT); pinMode(KEY,INPUT_PULLUP); } voidloop() { if(digitalRead(KEY)==LOW) { delay(20); if(digitalRead(KEY)==LOW) { digitalWrite(LED,!digitalRead(LED)); while(digitalRead(KEY)==LOW); } } }
这里不得不提、一般物理按键通过物理方法上拉,而这个的强大之处就是可以软件命名直接上拉
实验(4)有缘蜂鸣器实验:
这里的有缘和无源蜂鸣器的区别:
源不是电源,而是震荡源
有缘蜂鸣器内部带震荡源 ,只要一通电就会响
而无源内部不带震荡源,直流信号没办法是它鸣叫,必须用2K-5K的方波驱动
#define KEY 2#define LED 13#define Buzzer 3voidsetup() { pinMode(LED,OUTPUT); pinMode(Buzzer,OUTPUT); pinMode(KEY,INPUT_PULLUP); digitalWrite(Buzzer,LOW); } voidloop() { if(digitalRead(KEY)==LOW) { delay(20); if(digitalRead(KEY)==LOW) { digitalWrite(LED,!digitalRead(LED)); digitalWrite(Buzzer,HIGH); delay(20); digitalWrite(Buzzer,LOW); while(digitalRead(KEY)==LOW); } } }