完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
正 文:
提到Arduion板子,飘易首先要提的是Arduino UNO R3这款板子,Arduino / Genuino Uno是基于ATmega328P的单片机开发板。它有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入脚,16 MHz晶振,USB连接,电源插孔,ICSP接头和复位按钮。 只需使用USB线将其连接到计算机,或者使用AC-to-DC适配器或电池为其供电即可开始使用。您可以修改您的UNO而不用担心做错任何事情,最糟糕的情况也只是您更换几元的芯片,重新开始。 “Uno”是意大利语“一”的意思,并被选为Arduino软件(IDE)1.0的发布。Uno板和Arduino软件(IDE)的1.0版本是Arduino的最初版本,现在发展到更新的版本。Uno板是USB Arduino系列板中的第一个板,以及Arduino平台的参考模型。 优点:经典、适合入门。 缺点:性能中庸、上下相比各有不足,别的板子的优点就是这个板子的不足。 Arduion UNO R3 规格: 工作电压:5V 输入电压:接上USB时无须外部供电或外部7V~12V DC输入 输出电压:5V DC输出和3.3V DC输出 和外部电源输入 微处理器:ATmega328 Bootloader:Arduino Uno 时钟频率:16 MHz 输入电压(推荐)7-12V 输入电压(限制)6-20V 支持USB接口协议及供电(不需外接电源) 支持ISP下载功能。 数字I/O端口 14(4个PWM输出口) 数字I/O端口 14(4个PWM输出口) 模拟输入端口 6 直流电流 I/O端口 40mA 直流电流 3.3V端口 50mA Flash 内存:32 KB (ATmega328) (0.5 KB用于引导程序) SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) 尺寸:75x55x15mm Arduino还有很多其他型号的板子,借一下其他开发者总结的图,感谢总结: 开发板选型使用总结 学习入门:推荐UNO。UNO几乎是作为Arduino开发板的形象代言板出现的,以至于有时一提Arduino开发板默认的认为是UNO(笔者很不赞同),各属性在arduino板系列中十分中庸,有大量的资源(如库和项目)是和UNO配套的,适合于学习、入门,会得到很多的帮助。 物联网开发:推荐Mega2560。吹了半天,为啥不说Yun、Due、ethernet这些适合做Server的开发板呐?因为esp8266实在太强势了,正如Zigbee的没落一样,物联网硬件逐渐沉淀下来,推荐Mega2560也仅仅因为他适合做客户端或者客户端分发。 可穿戴:推荐Arduino101或Nano/Micro。这是两套解决方案,101性能强大,已集成了BLE和IMU,问题是开发习惯和体积。而Nano/Micro+6050+BT/WIFI正好是体积小,却性能有限,兼容有坑。 USB设备:推荐Micro。凡是32u4主控的,如leonardo都是可以作为模拟USB设备,推荐Micro纯粹是因为体积小,成本最低。 PS: Arduino及其logo是Arduino意大利官方所有的商标,并不是可以随意使用的。国内大多数写有Arduino的字样的控制器,均是侵权行为,开源不等于没有版权。建议大家购买Arduino还是找正规厂商,希望大家能够支持Seeed、OpenJumper等正规销售者。 正版的UNO大约100多块钱,国内模仿的板子大约不足30元,这里面差的不仅仅是质量,还有版权灯。 Arduino语言 Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。 通常我们说的Arduino语言,是指Arduino核心库文件提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。例如,使用AVR单片机的Arduino的核心库是对AVR-Libc(基于GCC的AVR支持库)的二次封装。 传统开发方式中,你需要厘清每个寄存器的意义及之间的关系,然后通过配置多个寄存器来达到目的。而在Arduino中,使用了清楚明了的API替代繁杂的寄存器配置过程。 关键字:if if.。.else for switch case while do.。. while break continue return goto 语法符号:; {} // 运算符:= + - * / % == != 《 》 《= 》= && || ! ++ -- += -= *= /= 数据类型:boolean 布尔类型 char byte 字节类型 int unsigned int long unsigned long float double string array void 数据类型转换:char() byte() int() long() float() 常量:HIGH | LOW 表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。 INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR能提供5V电压 40mA电流)。 true | false true 表示真(1),false表示假(0)。 以上为基础c语言的关键字和符号,有c语言基础的都应该了解其含义,这里也不作过多的解释。 结构void setup() 初始化变量,管脚模式,调用库函数等 void loop() 连续执行函数内的语句功能 数字 I/OpinMode(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/Oint analogRead(pin) 模拟IO口读函数,pin表示为0~5(Arduino Diecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。 analogWrite(pin, value) - PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。 扩展 I/OshiftOut(dataPin, clockPin, bitOrder, value) SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。 unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。 时间函数unsigned long millis() 返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。 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(base, exponent) 开方函数,base的exponent次方。 sq(x) 平方 sqrt(x) 开根号 三角函数sin(rad) cos(rad) tan(rad) 随机数函数randomSeed(seed) 随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。 long random(max) 随机数函数,返回数据大于等于0,小于max。 long random(min, max) 随机数函数,返回数据大于等于min,小于max。 外部中断函数attachInterrupt(interrupt, ISR, mode) 外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数;ISR 中断发生时的中断服务程序,这个函数必须没有参数没有返回值;mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。 detachInterrupt(interrupt) 中断开关,interrupt=1 开,interrupt=0 关。 中断使能函数interrupts() 使能中断 noInterrupts() 禁止中断 串口收发函数Serial.begin(speed) 串口定义波特率函数,speed表示波特率,如9600,19200等。 int Serial.available() 判断缓冲器状态。 int Serial.read() 读串口并返回收到参数。 Serial.flush() 清空缓冲器。 Serial.print(data) 串口输出数据。 Serial.println(data) 串口输出数据并带回车符。 官方库文件 EEPROM - EEPROM读写程序库 Ethernet - 以太网控制器程序库 LiquidCrystal - LCD控制程序库 Servo - 舵机控制程序库 SoftwareSerial - 任何数字IO口模拟串口程序库 Stepper - 步进电机控制程序库 Wire - TWI/I2C总线程序库 Matrix - LED矩阵控制程序库 Sprite - LED矩阵图象处理控制程序库 非官方库文件 DateTime - a library for keeping track of the current date and time in software. Debounce - for reading noisy digital inputs (e.g. from buttons) Firmata - for communicating with applications on the computer using a standard serial protocol. GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset. LCD - control LCDs (using 8 data lines) LCD 4 Bit - control LCDs (using 4 data lines) LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219. LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips. Messenger - for processing text-based messages from the computer Metro - help you time actions at regular intervals MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds. OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol. PS2Keyboard - read characters from a PS2 keyboard. Servo - provides software support for Servo motors on any pins. Servotimer1 - provides hardware support for Servo motors on pins 9 and 10 Simple Message System - send messages between Arduino and the computer SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial) TextString - handle strings TLC5940 - 16 channel 12 bit PWM controller. X10 - Sending X10 signals over AC power lines |
|
|
|
只有小组成员才能发言,加入小组>>
4365个成员聚集在这个小组
加入小组3292 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4236 浏览 1 评论
4246 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 13:03 , Processed in 0.714232 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号