Arduino 硬件
Arduino UNO 是Arduino系列中最常用的开发板适合初学者使用,因此本篇文章就UNO开发板进行介绍。
微控器参数
- 微控制器 ------ ATmega
- 架构 -------------AVR
- 工作电压---------5V
- 闪存---------------32KB
- SRAM------------2KB
- 时钟速度-------16MHz
- 模拟量引脚------6
- EEPROM-------1KB
( 其中SRAM为Static Random-Access Memory静态随机存取存储器 )
USB过流保护
Arduino UNO具有USB过流保护,当施加到USB端口上的超过500mA时,保险丝会自动断开连接直到短路或过电流的情况消失。
输入输出
串行口(0,1);外部中断(2,3);PWM(3,5,6,9,10);TWI(A4,A5)
Arduino 开发软件
Arduino IDE 在Windows中下载与安装十分简单,只需要从应用商店下载安装即可,其他操作系统也可以前往官网下载。
安装完成后接上开发板,计算机自动分配COM端口(不同的计算机分配的COM会不同)
Arduino 常用语句指令
常量
- HIGH | LOW 表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。
- INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入,OUTPUT 表示输出(AVR能提供5V电压 40mA电流)。
- true | false true表示真(1),false表示假(0)。
结构
- void setup() 初始化变量,管脚模式,调用库函数(也可放最开头)等
- void loop() 连续执行函数内的语句
数字 I/O
- pinMode(pin, mode) 数字IO口输入输出模式定义函数,pin表示为0~13, mode表示为INPUT或OUTPUT。
- digitalWrite(pin, value) 数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。比如定义HIGH可以驱动LED。
- int digitalRead(pin) 数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。
模拟 I/O
- int analogRead(pin) 模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。
- analogWrite(pin, value) - PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。
时间函数
- unsigned long millis() 返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数。
- delay(ms)
延时函数(单位ms)。 - delayMicroseconds(us)
延时函数(单位us)。
数学函数
- min(x, y) ------求最小值
- max(x, y) ------求最大值
- abs(x) ------计算绝对值
- constrain(x, a, b)------约束函数,下限a,上限b,x必须在ab之间才能返回
- map(value, fromLow, fromHigh, toLow, toHigh)------约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间
- pow(a, x)------开方函数,a的x次方
- sq(x)------x平方
- sqrt(x)------开根号
随机数函数
- long random(max)------随机数函数,返回数据大于等于0,小于max
- long random(min, max)------随机数函数,返回数据大于等于min,小于max
串口收发函数
- Serial.begin(speed)------串口定义波特率函数,speed表示波特率,如9600,19200等
- int Serial.available()------判断缓冲器状态
- int Serial.read()------读串口并返回收到参数
- Serial.flush()------清空缓冲器
- Serial.print(data)------串口输出数据
- Serial.println(data)------串口输出数据并带回车符
外部中断函数
- attachInterrupt(interrupt, , mode) ------外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断
- detachInterrupt(interrupt)------中断开关,interrupt=1 开,interrupt=0 关
中断使能函数
- interrupts()------使能中断
- noInterrupts()------禁止中断