Arduino基础代码(不定期更新)

前言

最近一阵子在业余时间做了一些物联网小组件,软硬件交互还挺有趣。主要用到的开发板是国产的Arduino UNO R3和ESP8266及ESP32,其中涉及到一些代码在这里记录一下,以便日后翻阅。下面简要介绍下Arduino。

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。

它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

基础代码

01-点亮LED

入门示例,点亮LED每隔一秒交替亮灭一次.

/*
  AUTHOR: Matt
  DATE: 2024-09-12
  DESC: 入门示例,点亮LED每隔一秒交替亮灭一次
  BOARD: Ardunio UNO R3
*/

//控制LED的引脚,编号13
int ledPin = 13;

void setup() {
   
   
  pinMode(ledPin, OUTPUT);
}

void loop() {
   
   
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

02-使用LED表示SOS

分别用短闪烁和长闪烁表示S和O字母,模拟SOS.

/*
  AUTHOR: MATT
  DATE: 2024-09-13
  DESC: 分别用短闪烁和长闪烁表示S和O字母
  BOARD: Ardunio UNO R3
*/

//定义变量ledPin,控制LED的引脚,编号13
int ledPin = 13;

void setup() {
   
   
  //设置波特率为9600
  Serial.begin(9600);
  //设置ledPin为输出模式
  pinMode(ledPin, OUTPUT);
}

//基本定义,S滴(短闪烁)为150ms,O嗒(长闪烁)为450ms,闪烁之间间隔为100ms
void loop() {
   
   
  //三个快闪烁表示字母S,滴答的时间长度为3倍关系
  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  //100毫秒延时
  delay(100);

  //三个短闪烁表示字母O
  digitalWrite(ledPin, HIGH);
  delay(450);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(450);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(450);
  digitalWrite(ledPin, LOW);
  delay(100);

  //100毫秒延时
  delay(100);

  //三个快闪烁表示字母S
  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  digitalWrite(ledPin, HIGH);
  delay(150);
  digitalWrite(ledPin, LOW);
  delay(100);

  //重复SOS信号前等待5秒
  delay(5000);

  //输出hello world字符串
  Serial.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值