Arduino基础(三)——基础实验

本文介绍了Arduino的基础实验,包括串口通讯实验中发送和接收数据,以及使用analogWrite()创建的点灯和呼吸灯效果。通过实践理解数字IO和PWM的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:

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);
}

现象:可观察到灯的亮度不断变化。

 转载自:布尔博客 – 高校青年技术社区

Arduino程序设计基础实验说明文档Arduino编程学习例程40个合集: 实验一 Hello World.docx 实验七 自动补光实验.docx 实验 按键控制LED.docx 实验十 红外接收.docx 实验十一 遥控家电.docx 实验 电位器控制舵机角度.docx 实验十二 认识舵机.docx 实验十五 自动降温.docx 实验十四 可调速小风扇.docx 实验九 声控灯.docx 实验二 流水灯.docx 实验二十 学会使用MQ2烟雾传感器.docx 实验二十一 烟雾报警.docx 实验二十七 距离检测.docx 实验二十 温度报警.docx 实验二十九 红外发射.docx 实验二十二 闯入报警.docx 实验二十五 串口控制RGBled调光.docx 实验二十八 74HC595.docx 实验二十六 超声波测距.docx 实验二十四 认识RGBled.docx 实验五 电位器控制呼吸灯频率.docx 实验八 检测声音大小.docx 实验六 光敏电阻检测光亮度.docx 实验十 触摸传感器的使用.docx 实验十七 简易电子琴.docx 实验 人体感应灯.docx 实验十九 外部中断触发蜂鸣器报警.docx 实验十二 人体感应模块的应用.docx 实验十五 蜂鸣器的使用.docx 实验十八 红外避障传感器的应用.docx 实验十六 播放音乐.docx 实验十四 电子温度计.docx 实验四 呼吸灯.docx 拓展实验 12864.docx 拓展实验 1602显示串口数据.docx 拓展实验 DHT11温湿度检测模块的使用.docx 拓展实验 使用数字电位器AD5206.docx 拓展实验 制作电子时钟.docx 拓展实验1602 LCD的使用.docx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值