Arduino-学习笔记及相关实验24例程(更新中)

最近闲的没事玩一下傻瓜单片机,简单记录下自己的学到的东西吧,

首先有一点c语言基础的就不用太过讲解语法层面了

实验(1)arduino的hello world:

这里简单说明下:

setup()相当于init的函数只执行一次,一般是用于声明一些管脚的输出状态

loop()用于循环

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
  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的闪烁控制:

面包板演示电路图:

int ledpin=5;
void setup() {
    pinMode(ledpin,OUTPUT);
}

void loop() {
  digitalWrite(ledpin,HIGH);
  delay(2000);
  digitalWrite(ledpin,LOW);
  delay(2000);
}

实验(3)key控制led状态反转:

#define KEY 2
#define LED 13
void setup() {
  pinMode(LED,OUTPUT);
  pinMode(KEY,INPUT_PULLUP);
}
void loop() {
  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 3
void setup() {
  pinMode(LED,OUTPUT);
  pinMode(Buzzer,OUTPUT);
  pinMode(KEY,INPUT_PULLUP); 
  digitalWrite(Buzzer,LOW);
}
void loop() {
  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);
      }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41445387/article/details/86710462
今日推荐