目录:
1,语言基础:Arduino基础(一)——语言基础_SumubeiFZ的博客-优快云博客
2,串口通讯:Arduino基础(二)——串口通讯_SumubeiFZ的博客-优快云博客
3,基础实验操作:Arduino基础(三)——基础实验_SumubeiFZ的博客-优快云博客
4,中断:Arduino基础(四)——中断_SumubeiFZ的博客-优快云博客
一、串口通讯实验:
代码如下:
int incomedate = 0; //定义变量
void setup() {
Serial.begin(9600); //设置串口波特率9600
Serial.println(78, BIN);// "1001110"
Serial.println(78, OCT);// "116"
Serial.println(78, DEC);// "78"
Serial.println(78, HEX);// "4E"
Serial.println(1.23456, 0);// "1"
Serial.println(1.23456, 2);// "1.23"
Serial.println(1.23456, 4);// "1.2346"
Serial.println('N');// "N"
Serial.println("Hello world.");// "Hello world."
}
void loop() {
if (Serial.available() > 0)//串口接收到数据
{
incomedate = Serial.read();//获取串口接收到的数据
if (incomedate == 'H')
{
Serial.println("Good Job!");
}
}
delay(1000);
}
上传并输入H,结果如图:
二、点灯实验:
代码如下:
int led = 2;//设置灯的引脚(一般arduino自带灯的引脚为13,这里我的为2引脚)
// 在板子启动或者复位重启后, setup部分的程序只会运行一次
void setup(){
// 将“led”引脚设置为输出状态
pinMode(led, OUTPUT);
}
// setup部分程序运行完后,loop部分的程序会不断重复运行
void loop()
{
digitalWrite(led, HIGH); // 点亮LED
delay(1000); // 等待一秒钟
digitalWrite(led, LOW); // 通过将引脚电平拉低,关闭LED
delay(1000); // 等待一秒钟
}
现象:灯每隔一秒闪一下。
三、呼吸灯实验
原理:用analogWrite() 函数输出PWM波,制作一个带呼吸效果的LED灯。
analogWrite()
(1)作用:实现对引脚设置PWM的要求。可以被用来控制LED等,电机转动,舵机等。使用此函数后,引脚会产生稳定的方波,直到下一次对引脚做其他操作。
(2)形式:
analogWrite(pin,value)
(3)参数:
pin:写入的引脚;
value:占空比,在0~255之间。(0时候为关,即LOW;255为开,即HIGH)
(4)返回值:none
实验原理:
代码如下:使用analogWrite()不需要再用pinMode()设置引脚为输出
(1)第一种写法
int ledPin = 9; // LED连接在9号引脚上
void setup() {
// Setup部分不进行任何处理
}
void loop() {
// 从暗到亮,以每次加5的形式逐渐亮起来
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// 输出PWM
analogWrite(ledPin, fadeValue);
// 等待30ms,以便观察到渐变效果
delay(30);
}
// 从亮到暗,以每次减5的形式逐渐暗下来
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
// 输出PWM
analogWrite(ledPin, fadeValue);
// 等待30ms,以便观察到渐变效果
delay(30);
}
}
(2)第二种写法
int led = 9; // LED灯连接在9号引脚
int brightness = 0; // LED灯亮度
int fadeAmount = 5; // 亮度渐变值
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, brightness);
brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
delay(30);
}
现象:可观察到灯的亮度不断变化。
转载自:布尔博客 – 高校青年技术社区