Arduino零基础C语言编程ch4-4.5程序示例
- 格式:ppt
- 大小:1.01 MB
- 文档页数:3
Arduino入門版使用教程目錄介紹篇 (1)一、Arduino 基礎套裝介紹 (2)1、什麼是Arduino 基礎套裝? (2)2、元件清單 (2)二、Arduino 介紹 (4)1、什麼是Arduino? (4)2、特色描述 (4)3、性能描述 (4)三、Arduino C 語言介紹 (6)1、關鍵字和符號 (6)2、結構 (9)3、功能 (9)四、Arduino 使用介紹 (11)1、準備好你的Arduino 板 (11)2、下載Arduino 開發環境 (13)3、安裝USB 驅動 (13)4、連接LED 燈電路 (17)5、打開arduino 開發環境 (18)6、打開已有程式 (19)7、編譯程式 (20)8、下載程式 (23)五、麵包板使用介紹 (30)1、麵包板介紹 (30)2、麵包板的使用 (30)實驗篇 (34)第一節多彩led 燈實驗 (35)一、發光二極管介紹 (35)二、簡單的控制一個led 燈的閃爍實驗 (39)三、廣告燈效果實驗 (41)第二節蜂鳴器實驗 (48)一、蜂鳴器介紹 (48)二、蜂鳴器模擬救護車警笛聲音實驗 (50)第三節數碼管實驗 (54)一、數碼管介紹 (54)二、數碼管顯示數字的實驗 (56)第四節按鍵實驗 (63)一、按鍵介紹 (63)二、按鍵控制led 等亮滅實驗 (65)三、擲骰子實驗 (67)第五節傾斜開關實驗 (74)一、傾斜開關介紹 (74)二、傾斜開關控制led 燈的亮滅 (75)第六節光控聲音實驗 (79)一、光敏電阻介紹 (79)二、光控聲音實驗 (80)第七節火焰報警實驗 (84)一、火焰傳感器介紹 (84)二、火焰報警實驗 (85)第八節搶答器實驗 (90)第九節溫度報警實驗 (98)一、溫度傳感器介紹 (98)二、溫度報警實驗 (99)第十節紅外遙控 (103)一、紅外接收頭介紹 (103)二、紅外遙控實驗 (104)介紹篇一、Arduino 基礎套裝介紹1、什麼是Arduino基礎套裝?Arduino基礎套裝是精心為初學者設計的一款學習工具。
Arduino入门版使用教程i目录介绍篇 ........................................................................ . (1)一、Arduino 基础套装介绍 (2)1、什麽是Arduino 基础套装 (2)2、元件清单 ........................................................................ (2)二、Arduino 介绍 ........................................................................ (4)1、什麽是Arduino ................................................................... . (4)2、特色描述 ........................................................................ (4)3、性能描述 ........................................................................ (4)三、Arduino C 语言介绍 ........................................................................ .. 61、关键字和符号 ........................................................................ .. (6)2、结构 ........................................................................ .. (9)3、功能 ........................................................................ (9)四、Arduino 使用介绍 ........................................................................ . (11)1、准备好你的Arduino板 (11)2、下载Arduino 开发环境 (13)3、安装USB 驱动 ........................................................................ . (13)4、连接LED 灯电路 ........................................................................ .. (17)5、打开arduino 开发环境 (18)6、打开已有程式 ........................................................................ . (19)7、编译程式 ........................................................................ . (20)8、下载程式 ........................................................................ . (23)五、面包板使用介绍 ........................................................................ .. (30)1、面包板介绍 ........................................................................ . (30)2、面包板的使用 ........................................................................ (30)ii实验篇 ........................................................................ .. (34)第一节多彩led 灯实验 ........................................................................ .. 35一、发光二极管介绍 ........................................................................ .. (35)二、简单的控制一个led 灯的闪烁实验 (39)三、广告灯效果实验 ........................................................................ .. (41)第二节蜂鸣器实验 ........................................................................ (48)一、蜂鸣器介绍 ........................................................................ .. (48)二、蜂鸣器模拟救护车警笛声音实验 (50)第三节数码管实验 ........................................................................ (54)一、数码管介绍 ........................................................................ (54)二、数码管显示数字的实验 (56)第四节按键实验 ........................................................................ (63)一、按键介绍 ........................................................................ (63)二、按键控制led 等亮灭实验 (65)三、掷骰子实验 ........................................................................ (67)第五节倾斜开关实验 ........................................................................ (74)一、倾斜开关介绍 ........................................................................ (74)二、倾斜开关控制led 灯的亮灭 (75)第六节光控声音实验 ........................................................................ (79)一、光敏电阻介绍 ........................................................................ (79)二、光控声音实验 ........................................................................ (80)第七节火焰报警实验 ........................................................................ (84)一、火焰传感器介绍 ........................................................................ (84)二、火焰报警实验 ........................................................................ (85)第八节抢答器实验 ........................................................................ (90)第九节温度报警实验 ........................................................................ (98)一、温度传感器介绍 ........................................................................ (98)iii二、温度报警实验 ........................................................................ (99)第十节红外遥控 ........................................................................ . (103)一、红外接收头介绍 ........................................................................ . (103)二、红外遥控实验 ........................................................................ . (104)介绍篇一、Arduino 基础套装介绍1、什麽是Arduino基础套装Arduino基础套装是精心为初学者设计的一款学习工具。
《Arduino程序设计基础》示例程序本帖最后由奈何col 于 2014-1-21 23:15 编辑2.5.1.1 流水灯实验[mw_shl_code=cpp,true]/*OpenJumper LED Module流水灯效果*/void setup(){//初始化I/O口for(int i=2;i<8;i++)pinMode(i,OUTPUT);}void loop(){//从引脚2到引脚7,逐个点亮LED,等待1秒再熄灭LED for(int i=2;i<7;i++){digitalWrite(i,HIGH);delay(1000);digitalWrite(i,LOW);}//从引脚7到引脚2,逐个点亮LED,等待1秒再熄灭LED for(int i=7;i>2;i--){digitalWrite(i,HIGH);delay(1000);digitalWrite(i,LOW);}}[/mw_shl_code]2.5.1.2按键控制LED[mw_shl_code=cpp,true]/*OpenJumper Button Module*/int buttonPin = 2;int ledPin = 13;int buttonState = 0;void setup(){//初始化I/O口pinMode(buttonPin,INPUT_PULLUP); pinMode(ledPin,OUTPUT);}void loop(){buttonState = digitalRead(buttonPin);//按住按键时,点亮LED;放开按键后,熄灭LED。
if(buttonState==HIGH){digitalWrite(ledPin,LOW);else{digitalWrite(ledPin,HIGH);}}[/mw_shl_code]2.5.1.3 新的按键控制方式[mw_shl_code=cpp,true]/* OpenJumper Button Module按键控制LED*/int buttonPin = 2;int ledPin = 13;boolean ledState=false; // 记录LED状态boolean buttonState=true; // 记录按键状态void setup(){//初始化I/O口pinMode(buttonPin, INPUT_PULLUP); pinMode(ledPin,OUTPUT);}void loop(){//等待按键按下while(digitalRead(buttonPin)==HIGH){}//当按键按下时,点亮或熄灭LEDif(ledState==true){digitalWrite(ledPin,LOW);ledState=!ledState;}else{digitalWrite(ledPin,HIGH);ledState=!ledState;}delay(500);}[/mw_shl_code]2.5.2 项目:人体感应灯(数字传感器与继电器模块)[mw_shl_code=cpp,true]/*OpenJumper ExamplePyroelectric Infrared Sensor And Relay人体感应灯/*/int PIRpin=2;int RELAYpin=3;void setup() {Serial.begin(9600);pinMode(PIRpin,INPUT);pinMode(RELAYpin,OUTPUT);}void loop() {// 等待传感器检测到人while(!digitalRead(PIRpin)){}// 将灯打开10秒,然后关闭Serial.println('turn on');digitalWrite(RELAYpin,HIGH);delay(10000);digitalWrite(RELAYpin,LOW);Serial.println('turn off');}[/mw_shl_code]2.5.3.2 使用电位器控制呼吸灯的呼吸频率[mw_shl_code=cpp,true]/* OpenJumper LEDModule*/int ledPin = 9; //9号引脚控制LEDint pot=A0; //A0引脚读取电位器输出电压void setup(){}void loop(){//LED逐渐变亮for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {analogWrite(ledPin, fadeValue);//读取电位器输出电压,除以5时为了缩短延时时间int time=analogRead(pot)/5;delay(time); //将time用于延时}//LED逐渐变暗for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {analogWrite(ledPin, fadeValue);delay(analogRead(pot)/5); //读取电位器输出电压,并用于延时}}[/mw_shl_code]2.5.3.3 实验:通过光敏电阻检测环境光亮度[mw_shl_code=cpp,true]/*OpenJumper light sensor*/void setup(){// 初始化串口Serial.begin(9600);}void loop(){// 读出当前光线强度,并输出到串口显示int sensorValue = analogRead(A0);Serial.println(sensorValue);delay(1000);}[/mw_shl_code]2.5.4 项目:电子温度计[mw_shl_code=cpp,true]/*OpenJumper LM35 Module*/int LM35 = A0;void setup(){// 初始化串口通信Serial.begin(9600);}void loop(){// 读取传感器模拟值,并计算出当前温度float temp = (5.0 * analogRead(LM35) * 100.0) / 1024; // 将温度输出至串口显示Serial.print('temperature ' );Serial.print(temp); Serial.println('C');delay(1000);}[/mw_shl_code]2.6 与计算机交流——串口的使用[mw_shl_code=cpp,true]int counter=0; // 计数器void setup() {//初始化串口Serial.begin(9600);}void loop() {//每loop循环一次,计数器变量加1 counter = counter+1;// 输出变量Serial.print(counter);// 输出字符Serial.print(‘:’);// 输出字符串;Serial.println('Hellow World'); delay(1000);}[/mw_shl_code]。
目录:1 串口控制LED灯。
(1)2 数码管骰子 (3)3 滚珠开关 (6)4 以正弦波亮度渐变 (7)5 LED跑马灯 (8)总结 (9)1 串口控制LED灯。
1 功能:通过串口控制哪个灯发光及发光亮度2 程序代码:char buffer[18];int red,green,blue;int RedPin=11;int YellowPin=10;int BluePin=9;void setup(){Serial.begin(9600);Serial.flush();pinMode(RedPin,OUTPUT);pinMode(YellowPin,OUTPUT);pinMode(BluePin,OUTPUT);}void loop(){if(Serial.available()>0){int index=0;delay(100);int numChar=Serial.available();if (numChar>15){numChar=15;}while(numChar--){buffer[index++]=Serial.read();}splitString(buffer);}void splitString(char* data){Serial.print("Data entered:"); Serial.println(data);char* parameter;parameter=strtok(data," ,"); while(parameter!=NULL){setLED(parameter);parameter=strtok(NULL," ,"); }for (int x=0;x<16;x++){buffer[x]='\0';}Serial.flush();}void setLED(char* data){if((data[0]=='r')||(data[0]=='R')) {int Ans=strtol(data+1,NULL,10);Ans=constrain(Ans,0,255);analogWrite(RedPin,Ans);Serial.print("Red is set to:");Serial.println(Ans);}if((data[0]=='y')||(data[0]=='Y')) {int Ans=strtol(data+1,NULL,10);Ans=constrain(Ans,0,255);analogWrite(YellowPin,Ans);Serial.print("Yellow is set to:");Serial.println(Ans);}if((data[0]=='b')||(data[0]=='B')) {int Ans=strtol(data+1,NULL,10);Ans=constrain(Ans,0,255);analogWrite(BluePin,Ans);Serial.print("Blue is set to:");Serial.println(Ans);}3 程序截图:设置: 黄灯亮度1,红灯亮度50,绿灯亮度100,输入:r1 b50 g100可以观察到。
Arduino教程Arduino LWZ 教程V1.0目录一、Arduino编程语言 (4)1、数据类型: (4)2、常量: (4)3、基本语句: (4)(1)if语句 (4)(2)if...else...语句 (5)(3)for语句 (5)(4)break和continue (6)(5)switch case语句 (6)(6)while语句和do...while语句 (7)(7)return语句 (8)(8)运算符 (8)(9)函数 (8)4、结构函数: (8)5、功能函数: (9)(1)数字I/O函数 (9)(2)模拟I/O函数 (9)(3)时间函数 (9)(4)数学函数 (10)(5)数据类型转换函数 (10)(6)三角函数 (10)(7)随机数函数 (10)(8)外部中断函数 (11)(9)中断使能函数 (11)(10)串口收发函数 (11)6、官方库文件: (11)二、Sabertooth电机驱动模块应用实例 (13)1、工作模式 (13)(1)Mode1: Analog Input (13)(2)Mode2:R/C Input (14)(3)Mode3:Simplified serial (14)(4)Mode4:Packetized serial (15)2、应用实例 (17)(1)硬件连接 (17)(2)小车停止函数 (18)(3)小车前进函数 (19)(4)小车后退函数 (19)(5)小车右转函数 (20)(6)小车左转函数 (21)(7)电子积木编程思路 (22)(8)PC软件的编程思路 (25)(1)硬件连接 (25)(2)电子积木运动和初始化函数 (25)(3)电子积木编程思路 (26)4、通过无线模块控制小车 (28)(1)无线通信模块 (28)(2)硬件连接 (28)(3)电子积木编程思路 (28)5、下载程序串口COM和无线数模串口COM2同时控制小车 (30)(1)硬件连接 (31)(2)电子积木编程思路 (31)三、TN901_TEST非接触测温模块应用实例 (34)1、TN901工作原理 (34)2、应用实例 (36)(1)硬件连接 (36)(2)读取温度函数 (36)(3)初始化函数 (38)(4)电子积木编程思路 (38)3、多个TN模块的应用实例 (39)(1)硬件连接 (39)(2)初始化函数 (39)(3)电子积木编程思想:共享函数 (40)(4)电子积木编程思路:独立函数 (42)四、气体传感器模块应用实例 (46)1、应用实例 (46)(1)硬件连接 (46)(2)电子积木编程思路 (46)2、多个气体传感器的应用实例 (47)(1)硬件连接 (47)(2)电子积木编程思路 (47)五、火焰传感器模块应用实例 (48)1、应用实例 (48)(1)硬件连接 (48)(2)电子积木编程思路 (49)2、多个火焰传感器的应用实例 (49)(1)硬件连接 (49)(2)电子积木编程思路 (50)六、DF-miniLTV3寻线模块应用实例 (50)1、DF-miniLTV3寻线工作原理 (50)2、DF-miniLTV3寻线在单黑线的应用实例 (51)(1)硬件连接 (52)(2)Sabertooth模块函数 (52)(3)初始化函数 (52)(4)电子积木编程思路 (52)(1)硬件连接 (54)(2)电子积木编程思路 (54)(2)PC软件的编程思路 (56)七、舵机模块应用实例 (56)1、舵机工作原理 (56)2、应用实例 (57)(1)硬件连接 (57)(2)电子积木编程思路 (57)3、非库形式的应用实例 (59)(1)硬件连接 (59)(2)双舵机驱动函数 (59)八、综合实例 (63)1、驱动2台舵机和电机的应用实例 (63)(1)硬件连接 (63)(2)电子积木编程思路 (64)2、测3个测温度、驱动电机的应用实例 (64)(1)硬件连接 (64)(2)电子积木编程思路 (64)3、测3个测温度、驱动2台舵机和电机的应用实例 (65)(1)硬件连接 (65)(2)电子积木编程思路 (65)4、测2个气体、2个火焰、3个测温度、驱动2台舵机和电机的应用实例 (65)(1)硬件连接 (65)(2)电子积木编程思路 (65)5、寻线、测2个气体、2个火焰、3个测温度、驱动2台舵机和电机的应用实例 (66)(1)硬件连接 (66)(2)电子积木编程思路 (66)一、Arduino编程语言Arduino语言是建立在C/C++基础上的。
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 ==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 & 引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digital pins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)11.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3 int()12.4 word()12.5 long()12.6 float()十三、变量作用域 & 修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字 I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟 I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级 I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作22.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于 Leonardo 和 Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用 setup() 函数。
Arduino语言编写(初学)学习Arduino就要从学习这些语句及基本函数开始,Arduino使用起来要比其他微处理器更易懂,与Basic Stamp有些相似,Arduino的编程语言更为简单和人性化,Arduino编程语言基于C语言,但其实用性要远高于C语言,主要由于它将一些常用语句组合函数化,例如:延时函数delay(1000)即为一秒。
在学语言之间,还要做的一个功课就是要明白程序的构架,这个也同样简单,大体可分为几个部分。
1、声明变量及接口名称(int val;int ledPin=13;)。
2、setup()——函数在程序开始时使用,可以初始化变量、接口模式、启用库等(例如:pinMode(ledPin,OUTUPT);)。
3、loop()——在setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。
使用它来运转Arduino。
接下来就开始学习一下几个基本函数。
1、pinMode(接口名称,OUTPUT或INPUT)将——接口定义为输入或输出接口,用在setup()函数里。
2、digitalWrite(接口名称, HIGH或LOW)——将数字接口值至高或低。
3、digitalRead(接口名称)——读出数字接口的值。
4、analogWrite(接口名称, 数值)——给一个接口写入模拟值(PWM波)。
对于 ATmega168芯片的Arduino(包括Mini或BT),该函数可以工作于 3, 5, 6, 9, 10和 11号接口。
老的 ATmega8芯片的USB和 serial Arduino仅仅支持 9, 10和11号接口。
5、analogRead(接口名称)——从指定的模拟接口读取值,Arduino对该模拟值进行10-bit的数字转换,这个方法将输入的0-5电压值转换为 0到1023间的整数值。
6、delay()——延时一段时间,delay(1000)为一秒。
7、Serial.begin(波特率)——设置串行每秒传输数据的速率(波特率)。
Arduino 编程参考手册目录一、程序结构 ................................................................................................................................................................................. 4 setup().................................................................................................................................................................................... 4 loop() ...................................................................................................................................................................................... 4 控制语句 ................................................................................................................................................................................. 4 if ....................................................................................................................................................................................... 4 if...else ............................................................................................................................................................................ 5 for .................................................................................................................................................................................... 6 switch case .................................................................................................................................................................... 7 while ................................................................................................................................................................................ 8 do...while ........................................................................................................................................................................ 8 break ............................................................................................................................................................................... 9 continue .......................................................................................................................................................................... 9 return ............................................................................................................................................................................ 10 goto ............................................................................................................................................................................... 10 相关语法 ............................................................................................................................................................................... 11 分号 ............................................................................................................................................................................... 11 大括号 ........................................................................................................................................................................... 11 注释 ............................................................................................................................................................................... 13 define ............................................................................................................................................................................ 13 include .......................................................................................................................................................................... 14 算术运算符 ........................................................................................................................................................................... 14 赋值 ............................................................................................................................................................................... 14 加,减,乘,除 ........................................................................................................................................................... 15 取模 ............................................................................................................................................................................... 16 比较运算符 ........................................................................................................................................................................... 17 if(条件) and ==, !=, <, > (比较运算符) ...................................................................................................................... 17 布尔运算符 ........................................................................................................................................................................... 18 && (逻辑与) ............................................................................................................................................................ 18 || (逻辑或) ............................................................................................................................................................... 18 ! (非) ........................................................................................................................................................................ 18 指针运算符 ........................................................................................................................................................................... 19 位运算 ................................................................................................................................................................................... 19 位与 ............................................................................................................................................................................... 19 位或 ............................................................................................................................................................................... 20 位异或 ........................................................................................................................................................................... 21 位非 ............................................................................................................................................................................... 22 左移、右移 ................................................................................................................................................................... 22 复合运算符 ................................................................................................................................................................... 24 二、变量 ....................................................................................................................................................................................... 25 常量 ....................................................................................................................................................................................... 25 false .............................................................................................................................................................................. 25 true ................................................................................................................................................................................ 25 HIGH ............................................................................................................................................................................. 25 LOW .............................................................................................................................................................................. 25宏定义 ........................................................................................................................................................................... 26 整型常量 ....................................................................................................................................................................... 26 浮点数常量 ................................................................................................................................................................... 27 数据类型 ............................................................................................................................................................................... 28 void................................................................................................................................................................................ 28 boolean ......................................................................................................................................................................... 28 char ............................................................................................................................................................................... 29 unsigned char .............................................................................................................................................................. 29 byte ............................................................................................................................................................................... 29 int ................................................................................................................................................................................... 30 unsigned int ................................................................................................................................................................. 30 word .............................................................................................................................................................................. 31 long ............................................................................................................................................................................... 31 unsigned long .............................................................................................................................................................. 32 float ............................................................................................................................................................................... 32 double ........................................................................................................................................................................... 33 string ............................................................................................................................................................................. 33 String(c++) ................................................................................................................................................................... 35 array .............................................................................................................................................................................. 36 数据类型转换 ....................................................................................................................................................................... 37 char() ............................................................................................................................................................................ 37 byte() ............................................................................................................................................................................. 37 int() ................................................................................................................................................................................ 38 word()............................................................................................................................................................................ 38 long() ............................................................................................................................................................................. 39 float() ............................................................................................................................................................................. 39 变量作用域&修饰符 ............................................................................................................................................................ 39 变量作用域 ................................................................................................................................................................... 39 static (静态变量) .......................................................................................................................................................... 40 volatile (易变变量) ....................................................................................................................................................... 41 const (不可改变变量) .................................................................................................................................................. 42 辅助工具 ............................................................................................................................................................................... 42 sizeof() (sizeof 运算符) ............................................................................................................................................... 42 ASCII 码表.................................................................................................................................................................... 43 三、基本函数 ............................................................................................................................................................................... 45 数字 I/O................................................................................................................................................................................. 45 pinMode() ..................................................................................................................................................................... 45 digitalWrite() ................................................................................................................................................................. 46 digitalRead() ................................................................................................................................................................ 46 模拟 I/O................................................................................................................................................................................. 47 analogReference() ...................................................................................................................................................... 47 analogRead() ............................................................................................................................................................... 48 analogWrite() ............................................................................................................................................................... 48 高级 I/O................................................................................................................................................................................. 49 shiftOut()....................................................................................................................................................................... 49 pulseIn() ....................................................................................................................................................................... 50 时间 ....................................................................................................................................................................................... 50 millis() ........................................................................................................................................................................... 50 delay(ms) ..................................................................................................................................................................... 51 delayMicroseconds(us) .............................................................................................................................................. 51数学库 ................................................................................................................................................................................... 52 min() .............................................................................................................................................................................. 52 max() ............................................................................................................................................................................. 52 abs() .............................................................................................................................................................................. 52 constrain() .................................................................................................................................................................... 53 map() ............................................................................................................................................................................ 53 pow() ............................................................................................................................................................................. 54 sqrt().............................................................................................................................................................................. 54 三角函数 ............................................................................................................................................................................... 54 sin(),cos(),tan() ............................................................................................................................................................ 54 随机数 ................................................................................................................................................................................... 54 randomSeed() ............................................................................................................................................................. 54 random() ....................................................................................................................................................................... 55 位操作 ................................................................................................................................................................................... 55 位操作 ........................................................................................................................................................................... 55 设置中断函数 ....................................................................................................................................................................... 56 attachInterrupt()........................................................................................................................................................... 56 detachInterrupt().......................................................................................................................................................... 57 interrupts() .................................................................................................................................................................... 57 noInterrupts() ............................................................................................................................................................... 57 串口通讯 ............................................................................................................................................................................... 58 begin()........................................................................................................................................................................... 58 available()..................................................................................................................................................................... 58 read() ............................................................................................................................................................................ 60 flush() ............................................................................................................................................................................ 60 print() ............................................................................................................................................................................ 60 println() ......................................................................................................................................................................... 62 write() ............................................................................................................................................................................ 63 peak()............................................................................................................................................................................ 63 serialEvent()................................................................................................................................................................. 64一、程序结构(本节直译自 Arduino 官网最新 Reference) 在 Arduino 中, 标准的程序入口 main 函数在内部被定义, 用户只需要关心以下两个函数:setup()当 Arduino 板起动时 setup()函数会被调用。
arduino代码⽰范arduino代码⽰范//txwtech@//2020/03/25//txwtech@//2020/03/25//2020/06/25//2020/09/14// constants won't change. They're used here to set pin numbers:#include <SoftwareSerial.h>const int in_doorOpenState = 4;//arduino pin 4const int in_doorCloseState = 5;const int in_rFinish=6;//receive Finish signalconst int in_mOperation=7;//manual operation.const int in_pStart=8;//program start;const int in_safeScreen=9;//door safety sensorconst int Out_doorClose=10;const int Out_PowerUV=11; //control one relay, make UV to work//const int Out_PowerUV=3;int in_doorOpenStateV=1; //v--value,//must initialize value to 1.int in_doorCloseStateV=1;//must initialize value to 1.int in_rFinishV=1;int in_mOperationV=1;int in_pStartV=1;int in_safeScreenV=1;String inputString1="";bool doorCloseBool=false;bool uvFinishBool=false;void programStarted();void programStarted_m();SoftwareSerial softSerial(12,13);//RX:12,TX:13void programStarted(){in_pStartV=digitalRead(in_pStart);if(LOW==in_pStartV){ //1doorCloseBool=true;//new addedwhile(doorCloseBool)//new added{//2 ----------------------------------------------------------delay(100);in_doorOpenStateV=digitalRead(in_doorOpenState);in_safeScreenV=digitalRead(in_safeScreen);if((LOW==in_doorOpenStateV)&&(LOW==in_safeScreenV)){digitalWrite(Out_doorClose,HIGH);// normal close// delay(2000);//waiting for door close}in_safeScreenV=digitalRead(in_safeScreen);if(LOW!=in_safeScreenV){digitalWrite(Out_doorClose,LOW);// not safe, door open// doorCloseBool=false; //2020/09/14}in_doorCloseStateV=digitalRead(in_doorCloseState);if(LOW==in_doorCloseStateV){doorCloseBool=false;}}//2in_doorCloseStateV=digitalRead(in_doorCloseState);if(LOW==in_doorCloseStateV){digitalWrite(Out_PowerUV,HIGH);//脚踏板,启动UVdelay(2000);digitalWrite(Out_PowerUV,LOW);// delay(2000);uvFinishBool=true;}while(uvFinishBool){delay(100);if(LOW!=digitalRead(in_rFinish))//24VDC X4灯,表⽰LOW状态,固化中。