2020-02-07 14:58:05 freewebsys 阅读数 348

前言


相关arduino 全部分类:
https://blog.csdn.net/freewebsys/category_8799254.html

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104205834

未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于arduino ESP32


ESP32 是 ESP8266 的升级版本,支持更多功能,功耗更低。
GPIO支持的也特别的多。

https://github.com/espressif/arduino-esp32

2,使用


安装lib 库:
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/debian_ubuntu.md

arduino 之前安装过arduino了,直接进入主目录的 arduino目录。或者直接进入arduino 的安装目录。
这样可以一起打包给其他人使用。

## 进入到 arduino 的安装目录。
cd ~/Arduino/hardware
mkdir -p espressif && \
cd espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32 && \
git submodule update --init --recursive && \
cd tools && \
python3 get.py
正克隆到 'esp32'...
remote: Enumerating objects: 145, done.
remote: Counting objects: 100% (145/145), done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 15839 (delta 67), reused 78 (delta 67), pack-reused 15694
接收对象中: 100% (15839/15839), 274.59 MiB | 2.10 MiB/s, 完成.
处理 delta 中: 100% (9641/9641), 完成.
子模组 'libraries/AzureIoT'(https://github.com/VSChina/ESP32_AzureIoT_Arduino)未对路径 'libraries/AzureIoT' 注册
正克隆到 '/media/test/NewDisk1/opt/arduino/hardware/espressif/esp32/libraries/AzureIoT'...
子模组路径 'libraries/AzureIoT':检出 '67dfa4f31ef88b0938dd87d955612100dea5562e'
System: Linux, Bits: 64, Info: Linux-4.18.0-15-generic-x86_64-with-Ubuntu-18.04-bionic
Platform: x86_64-pc-linux-gnu
Downloading xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz ...
Done
Extracting xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz ...
Downloading esptool-2.6.1-linux.tar.gz ...
Done
Extracting esptool-2.6.1-linux.tar.gz ...
Downloading mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz ...
Done
Extracting mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz ...
Renaming mkspiffs-0.2.3-arduino-esp32-linux64 to mkspiffs ...
Platform Tools Installed

有的时候网络比较慢,需要多实验几次。

然后启动 arduino:在设备的开发板上面就可以看到 ESP32 Arduino 了。
在这里插入图片描述
然后就可以使用了,但是,没有买 ESP32 开发板子。
得等几天能送快递了才可以呢。

之前写的,买个安信可的 官方板子也挺便宜的,现在还打折呢。 20 多块钱一个。
https://blog.csdn.net/freewebsys/article/details/104159870

3,总结


arduino 现在已经非常的成熟了,是一个非常成熟的解决方案了。
而且这个平台可以用在 非Arduino 的开发板上面,比如 ESP8266 ,ESP32 ,等等,其他好多设备上。
只要是支持 TTL 的就可以呢。
使用起来的地方还是非常的非常多呢,家里面的各种设备都是嵌入式的程序控制的。
微波炉,洗衣机,冰箱,以后都可以修改下,变成智能设备。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/104205834

博主地址是:https://blog.csdn.net/freewebsys

2018-12-13 12:04:37 m0_37738838 阅读数 7036

一、UNO/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平台的参考模型。

在这里插入图片描述

优点:经典、适合入门。
缺点:性能中庸、上下相比各有不足,别的板子的优点就是这个板子的不足。
在这里插入图片描述

二、Leonardo

Arduino Leonardo是基于ATmega32u4的开发板。它有20个数字输入/输出引脚(其中7个可用作PWM输出,12个作为模拟输入),16 MHz晶振,微型USB连接,ICSP接头和复位按钮。 只需使用USB电缆将其连接到计算机,或使用AC-to-DC适配器或电池为其供电即可开始使用。
Leonardo与所有先前的板子不同之处在于ATmega32u4具有内置的USB通讯,无需使用辅助处理器。这允许Leonardo作为鼠标和键盘出现在连接的计算机上,以及虚拟(CDC)串口或 COM端口

在这里插入图片描述

优点:比UNO少一块16u2,便宜一点,适合做模拟键盘鼠标,一键光速qa不是梦。(作为作者亚伦个人而言,喜欢复位的呼吸灯效果)
缺点:编译原理和其他arrduino的avr主控不太一样,深层开发有些麻烦。

在这里插入图片描述

三、Arduino101/Intel Curie

Arduino101( Curie)是以入门级价格(相对于intel其他产品)提供的这款以intel Curie 模块制作的高性能、低功耗的一款适用于学习和开发的开发板。
它保持了与UNO相同的外形和外接引脚,添加了板载蓝牙BLE和6轴加速度计/陀螺仪,以帮助发挥你的创造力。
该模块包含两个小型内核,一个x86(Quark)和一个32位ARC架构内核,均为32MHz晶振。英特尔工具可以在两个核心之间优化编译您的Arduino程序,以完成最苛刻的任务。
英特尔开发的实时操作系统(RTOS)和框架是开源的。请。ArduinoIDE通过mailboxes与RTOS通信,以完成预定义的任务列表(如:使用USB与PC接口,将程序存入flash,将蓝牙BLE功能公开,执行PWM)。Intel Curie 的RTOS仍处于开发阶段,新的功能和功能将在不久的将来发布。
101具有14个数字输入/输出引脚(其中4个可用作PWM输出),6个模拟输入,用于串口通信和程序上传的USB连接器,电源插孔,带SPI信号的ICSP插头和I2C专用引脚。
板的工作电压和I / O为3.3V,但所有引脚均受到5V过压保护。

在这里插入图片描述

优点:运算性能强大,01号脚提供了Serial1硬串。集成了BLE和IMU,适合于穿戴设备的开发。有神经元功能,适用于机器学习。
缺点:价格较高、有时会存在手动复位问题、太想借助UNO的外形反而限制了其强大的能力。

在这里插入图片描述

四、Mega/Mega2560

Arduino Mega 2560是基于ATmega2560的单片机开发板。该开发板有54个数字输入/输出引脚(其中15路可以用作PWM输出),16路模拟输入,4个UART(硬件串口)ya最爱这款的地方 ,1个16MHz的晶振,1个USB接口,1个电源接头,ICSP接口以及复位按钮组成。它包含了单片机运行所需的所有要素,使用USB连接线将其连接到计算机,利用AC-DC适配器或电池供电后即可使用.Mega能与绝大部分为Genuino Uno设计的sheild兼容。
Genuino MEGA 2560是一个基于Arduino Mega迭代的产品。

在这里插入图片描述

优点:flash空间大,io多,硬串多,适合于做物联网项目等
缺点:相较于uno、nano等稍贵一些,体积稍大一些。

在这里插入图片描述

五、Nano

Arduino Nano是一个基于ATmega328(Arduino Nano 3.x)的小型开发板。它只有一个直流电源插孔,并使用miniUSB线,而不是D线。

在这里插入图片描述

优点:小巧,价格合适,适合体积小的产品使用。
缺点:没啥致命缺点。

在这里插入图片描述

六、Micro

Arduino Micro是一个基于ATmega32U4,与Adafruit共同开发的开发板。它有20个数字输入/输出引脚(其中7个可用作PWM输出,12个作为模拟输入),16 MHz晶体振荡器,微型USB连接,ICSP头和复位按钮。只需使用microUSB线将其连接到计算机即可开始使用。尺寸正好符合面包板。
Micro板类似于Arduino Leonardo,ATmega32U4具有内置USB通信,无需使用辅助处理器。这使得除了模拟(CDC)串行/ COM端口之外,Micro可以作为鼠标和键盘出现在连接的计算机上。

在这里插入图片描述

优点:尺寸最小,价格最低,可做模拟键鼠。
缺点:32u4共同特点吧,io口和328的不一样,底层编写的时候可能会有问题。

在这里插入图片描述

七、Ethernet

Arduino Ethernet是基于ATmega328的开发板。它有14个数字输入/输出引脚,6个模拟输入,16 MHz晶振,RJ45连接,电源插孔,ICSP接头和复位按钮。
注意:引脚10,11,12和13保留用于与以太网模块接口,否则不应使用。这将可用引脚数量减少为9个,其中4个可用作PWM输出。
可选的以太网供电模块也可以添加到电路板。
以太网与其他板卡的不同之处在于,它没有板载USB到串行驱动器芯片,但是具有Wiznet以太网接口。这是在Ethernet上找到的相同接口。
可以通过SD库访问可用于存储通过网络服务的文件的板载microSD卡读卡器。引脚10保留用于Wiznet接口,SS用于SD卡在引脚4。
6号引脚串行编程头与USB串行适配器兼容,还与FTDI USB电缆兼容,或与Sparkfun和Adafruit FTDI型基本USB至串行分线板兼容。它支持自动复位,允许在不按下板上的复位按钮的情况下上传程序。当插入USB到串行适配器时,ArduinoEthernet由适配器供电。
r3的板子引入了标准化的1.0引脚分布,包括:
· 添加了靠近AREF引脚的SDA和SCL引脚以及靠近RESET引脚放置的另外两个新引脚,这将有机会屏蔽使用i2c或TWI组件以与所有Arduino板兼容;
· IOREF允许屏蔽适应从板提供的电压。使用IOREF引脚的屏蔽将兼容使用AVR的板(使用5V工作)和与3.3V工作的Arduino Due。在IOREF引脚旁边有一个未连接的引脚,保留用于将来的目的。

在这里插入图片描述

优点:专注以太网,接口加网线长距离稳定,加tf(microSD)卡可以储存更多资源。
缺点:初始化慢,io口被定义太多。

在这里插入图片描述

八、Yun

ArduinoYún是基于ATmega32u4和Atheros AR9331的开发板。Atheros处理器支持基于名为Linino OS的OpenWrt的Linux发行版。该板具有内置以太网和WiFi支持,USB-A端口,microSD卡插槽,20个数字输入/输出引脚(其中7个可用作PWM输出,12个作为模拟输入),16 MHz晶振,microUSB连接,ICSP头和3个复位按钮。
Yún与其他Arduino主板的区别在于它能够与Linux分布板通信,提供一个功能强大的联网计算机,易于使用Arduino。除了像cURL这样的Linux命令,你可以编写自己的shell和python脚本来进行强交互。Yún类似于Leonardo与ATmega32u4,除了它有Linux在开发板上。(具有内置USB通信,无需使用辅助处理器)。
· 注意:Yun Release 5新的Arduino Yun R5在这些功能上与以前的版本有很大的不同:电源系统提供5V的AREF;布局已修改,为USB信号添加两个孔,为GP6和GPIO13(LED2)添加两个孔。

在这里插入图片描述

优点:板载linux,可以将Arduino作为服务器使用,真正的可以作为物联网、机器人的服务端,具有安全可靠的属性。
缺点:Atheros处理器还是有点小,另外就是价格略贵。

在这里插入图片描述

九、Due

Arduino Due是基于Atmel SAM3X8E ARM Cortex-M3 CPU的开发板。它是基于32位ARM内核微控制器的第一个Arduino板。它具有54个数字输入/输出引脚(其中12个可用作PWM输出),12个模拟输入,4个UART(硬件串行端口),84 MHz晶振,USB OTG连接,2个DAC(数模转换) ,2 个TWI,电源插孔,SPI头,JTAG头,复位按钮和。
警告:与大多数Arduino板不同,Arduino Due板运行在3.3V。I / O引脚可以承受的最大电压为3.3V。对任何I / O引脚施加高于3.3V的电压可能会损坏电路板。
只需使用micro-USB电缆将其连接到计算机,或使用AC-to-DC适配器或电池为其供电即可开始使用。Due与所有在3.3V工作并符合1.0 Arduino引脚排列的Arduino屏蔽兼容。
遵循1.0引脚:
· TWI:靠近AREF引脚的SDA和SCL引脚。
· IOREF:允许具有适当配置的连接屏蔽适应电路板提供的电压。这使得屏蔽与3.3V电路板兼容,如在5V工作的Due和AVR电路板。
· 未连接的引脚,留作将来使用。

在这里插入图片描述

优点:性能 强~ 无 敌~,毕竟ram,32位核心在一个时钟能处理32位的数据;84Mhz的CPU时钟频率;96 KBytes的SRAM;一个DMA控制器, 他能减轻 CPU做大量运算时的压力。
缺点:还达不到手机IC的那个程度,价格相较于avr内核贵一些。

在这里插入图片描述

总结

参数总结
转载的别人总结的一个参数表,谢谢前辈做出的工作。

在这里插入图片描述

使用总结:
学习入门:推荐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纯粹是因为体积小,成本最低。
诚然,具体问题还是要具体分析,摸索熟悉之后要根据自己的实际需求和条件来选择最适合的开发板。

2013-01-16 22:57:09 bjash 阅读数 5343

linux下配置arduino开发环境很简单,但是由于权限,还是碰到了一些问题。
linux对arduino设备是能够自动识别的,不需要单独安装驱动。lsusb可以查看到插入的设备,如图,最后一行就是新的usb设备:


这样就可以了,打开arduino的开发IDE,选择Tools->Board->选择你的ardunio开发板的型号,我的是ATmega2560如图:


下一步该是选择串口了,这是你会遇到一个问题,就是Serial Port选项是灰色的,无法选择,这是权限的问题,我们这样来做,打开~/.arduino/preferences.txt文件,将文件中Serial.port=com1修改为Serial.port=/dev/ttyACM0(设备名称可以通过dmesg来查看),保存,同时以管理员权限运行开发环境sudo arduino这样就完成了开发环境的搭建。


编写应用,下载到板子上,我是检测一个低电平,并通过写入串口,下图是用minicom查看到的结果。


这两天搞arduino做的基础实验:


2012-09-10 21:26:01 cnsword 阅读数 14703

linux下配置arduino开发环境很简单,但是由于权限,还是碰到了一些问题。
linux对arduino设备是能够自动识别的,不需要单独安装驱动。lsusb可以查看到插入的设备,如图,最后一行就是新的usb设备:


这样就可以了,打开arduino的开发IDE,选择Tools->Board->选择你的ardunio开发板的型号,我的是ATmega2560如图:


下一步该是选择串口了,这是你会遇到一个问题,就是Serial Port选项是灰色的,无法选择,这是权限的问题,我们这样来做,打开~/.arduino/preferences.txt文件,将文件中Serial.port=com1修改为Serial.port=/dev/ttyACM0(设备名称可以通过dmesg来查看),保存,同时以管理员权限运行开发环境sudo arduino这样就完成了开发环境的搭建。


编写应用,下载到板子上,我是检测一个低电平,并通过写入串口,下图是用minicom查看到的结果。


这两天搞arduino做的基础实验:


2016-09-01 16:41:32 github_35160620 阅读数 19638

Ubuntu/Linux 系统下,如何给Arduino板子烧写程序

使用的虚拟机软件:VMware 11
我的Ubuntu系统:Ubuntu 14.04.10 TLS
Arduino 软件的版本:Arduino 1.6.11
Arduino 板子的型号:Arduino UNO R3

Step 0 . 来到 VMware 虚拟机里的Ubuntu 系统的界面。

Step 1 . Arduino 板子通过USB线插到电脑上。

Step 2 . 在终端中执行下面的命令,来启动 Arduino 软件。

arduino

Step 3 . 随便打开一个程序。我们以 Blink 程序为例,打开它:

这里写图片描述

Step 4 . 选择 板卡型号

这里写图片描述

Step 5 . 选择当前 端口号

这里写图片描述

你可以看到:Arduino 软件右下角有当前被选中的端口号和被选中的Arduino板卡的信息。

这里写图片描述

Step 6 . 给端口添加权限。

如果,这时你给 Arduino 开发板下载程序,发现下载出错。原因就是没有给端口添加权限。

这里写图片描述

输出的 error 提示:

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

在终端中执行下面的命令,来给当前选中的端口添加权限。

sudo chmod 777 /dev/ttyACM0

端口号都在/dev/ 目录里面。执行下面的命令可以查看:

cd /dev/
ls

输出 如下图所示:

这里写图片描述


注意: 如果你将Arduino 板子插到电脑上了,但是在/dev/ 目录里面没有在到类似 ttyACM0 这样的端口号。
解决办法,将Arduino板子从电脑的USB口拔出,将当前屏幕界面切换到VMware 虚拟机里的Ubuntu 系统的界面,这时,再将Arduino 板子插到电脑上。你就可以在/dev/路径里面找到类似 ttyACM0 这样的端口号了。

Step 7 . 点击 编译 按钮

这里写图片描述

Step 8 . 点击 上传 按钮

这里写图片描述

其实,可以不用点击 编译 按钮,直接点击 上传 按钮就可以。因为点击完 上传 按钮后,它会再编译一遍,在将程序烧写到板子上。

现在提示 Done uploading,表示程序已经成功烧写到板子里面。

这里写图片描述

搞定