Arduino中部分函数的⽤法
Arduino编程主要运⽤各种函数实现对电路板上各个引脚的控制。和数据采集。其语法和部分关键字与C语⾔相同。本周主要学习与arduino有关的知识,以下为⾃⼰的学习总结。
1.先从arduino的基础——各种引脚的作⽤与接法开始:
***A1\A2\A3\..........***这些引脚可以从模拟传感器(如湿度传感器或温度传感器)读取信号,并将其转换为可由微处理器读取的数字值。
***TX(发送)和RX(接收)***它们出现在Arduino UNO板的两个地⽅。⾸先,在数字引脚0和1处,指⽰引脚负责串⾏通信。其次,TX和RX LED(13)。发送串⾏数据时,TX LED以不同的速度闪烁。闪烁速度取决于板所使⽤的波特率。RX在接收过程中闪烁。
***ICSP引脚***(板上唯⼀的⼀组公头):⼤多数情况下,ICSP(12)是⼀个AVR,⼀个由MOSI,MISO,SCK,RESET,VCC和GND组成的Arduino的微型编程头。它通常被称为SPI(串⾏外设接⼝),可以被认为是输出的“扩展”。实际上,你是将输出设备从属到SPI总线的主机。
2.在arduino的编程中有些函数的参数由“HIGH”与“LOW”两个值构成虽然可以根据字⾯意思即“⾼”、“低”来理解和使⽤他们,但有些⽤法要真正理解HIGH与LOW在电路⼯作中的实际意义才能真正掌握:
HIGH
HIGH取决于对引脚(pin)的设置
{
1.若引脚被设置为INPUT并通过digitalRead()读取时,当前引脚若⼤于3V微控制器将会返回 HIGH。
2.引脚若被设置为INPUT并通过digitalWrite()设置为HIGH,则输⼊引脚的值会被⼀个内在的20K上拉电阻控制在HIGH上除⾮外部电路将其拉低⾄LOW。
3.当⼀个引脚被设置为OUTPUT时,若被设置为HIGH引脚电压应在5V。在这种状态下他可以输出电流。
}
LOW
{
1.当引脚被设置为INPUT,并通过digitalRead()被设置为读取时电压⼩于2V返回LOW当⼀个引脚通过pinMode配置为OUTPUT,并通过 digitalWrite 设置为 LOW 时,引脚为 0V。在这种状态下,它可以倒灌电流。例如,点亮⼀个通过串联电阻连接到+5V,或到另⼀个引脚配置为 OUTPUT、HIGH 的的 LED。 }
3.在arduino编程时不免会出现“analog”根据⾃⼰的理解“analog”与arduino板上的pwm功能相关。以下为⾃⼰
对“analogWrite”与“analogRead”的使⽤⽅法与功能的总结:
analogWrite()255
其参数代表⾼电平所持续的时间占整个周期的⽐例即占空⽐。analogWrite并不能改变pwm的频率
analogRead()1023
读取A1\A2\A3\.........接⼝的电压读数
teamviewer接⼝位置:⼤多数板上的A0到A5,MKR板上的A0到A6,Mini和Nano上的A0到A7,Mega上的A0到A15
5.arduino板与计算机之间的通信
***serial.begin()***
设置串⾏数据传输的数据速率,以每秒位数(波特)为单位。要与计算机通信,请使⽤以下速率之⼀:300,600,1200,2400,4800,9600,14400,19200,28800,38 400,57600或115200.但是,您可以指定其他速率 - 例如,通过引脚0和1与需要特定波特率的组件进⾏通信。
可选的第⼆个参数配置数据,奇偶校验和停⽌位。默认值为8个数据位,⽆奇偶校验,⼀个停⽌位。
句法
***Serial.begin(速度)
Serial.begin(速度,配置)
“Arduino的编程中,串⼝输⼊与输出都是针对ASCII码值的,⽐如字母's'的ASCII码值为115。
输⼊⽅⾯,对于ad(), monitor中输⼊'s'或者115,程序得到的值都为's'. ⽽且ad()每次只能接受⼀个byte的数据,如果想要输⼊字符串,则需要专门写⼀段程序来实现。
输出⽅⾯,理论上Serial.write('s') 与Serial.write(115) 应该相同,然⽽事实并⾮如此。实际测试中,发现Serial.write(115) 与Serial.write('115') 相同,由此可以推测Serial.write()函数中有代码专门对这种情况进⾏了处理,将数字隐式地转化成了字符串,使⽤户不⽤关⼼ASCII码,并尽量贴近于其他语⾔。然⽽缺点就是与ad()的不统⼀。”
该函数每次只能接收⼀个字节的数据。如果想要接收字符串则应该编⼀段程序。
***serial.available()***
获取可从串⾏端⼝读取的字节数。这是已经到达并存储在串⾏接收缓冲区(其中包含64个字节)的数据
以上为⾃⼰⼀周中对arduino的编程部分做的部分总结。arduino新⼿请谨慎参考。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论