Leonardo使用32U4的芯片,其本身带有USB接口,可以直接和计算机进行通信
uno使用328p的芯片,不带usb接口,而是依靠uno板上的16u2完成和计算机的通信
Leonardo和uno并不是升级版本的关系。它们是平行的两个产品。
Leonardo除了可以模拟USB设备,其它性能和Uno很类似。而Uno要更流行,网上资料更多,软硬件兼容性更好(比如Leo的SPI接口就很坑爹),Uno还可以自己换芯片,所以更适合新手使用。除非你专门想用模拟USB设备的功能,否则我还是建议Uno。
Leonardo io口和UNO 328的不一样,底层编写的时候可能会有问题。Leonardo 编译原理和其他arduino的avr主控不太一样,深层开发有些麻烦。Leonardo 编写出来的程序并不一定能在UNO r3上编译通过,有时候需要改动一些东西才能在uno上用得了。
下面的台湾博主写得更加清楚。
Arduino:Leonardo與Uno的差異比較
Uno的微控制器是ATmega328P,有DIP也有SMD,另有一顆ATmega8U2(R1與R2)/ATmega16U2(R3),作為USB橋接功能;Leonardo的微控制器是ATmega32U4,只有SMD,32U4已包含USB功能。
Uno的USB插座是一般B型,Leonardo的USB插座則為Micro B型。
都有一個2.1mm/2.5mm的DC電源插座,都有重置按鈕,運作時脈都是16MHz,Flash memory都是32KB,Uno的bootloader約0.5 KB,Leonardo的bootloader約4 KB,
EEPROM都是1KB,SRAM(Uno 2KB,Leonardo 2.5KB)。
Uno與Leonardo板子的尺寸大小、排母數目與位置,都一樣,但功能有所不同。
數位腳位,Uno在板子上方有14個(標示為0~13),其中6個可PWM,以「~」額外標示,3、5、6、9、10、11,解析度8位元。Leonardo相同,PWM多了一個13。
類比輸入腳位,Uno在板子下方有6個(標示為A0~A5),解析度10位元。Leonardo多了6個,A6~A11(位於數位腳位4、6、8、9、10、12)。
I2C/TWI介面,Uno:SDA(A4、SDA)與SCL(A5、SCL)。Leonardo:SDA(2、SDA)與SCL(3、SCL)。
SPI介面,Uno:SS(10)、MOSI(11)、MISO(12)、SCK(13)。Leonardo跟Uno不同,SPI不在數位腳位,MOSI、MISO、SCK都在ICSP上,SS則位於板子左邊與RX LED相連。
外部中斷,Uno:2(int.0)、3(int.1)。Leonardo:3(int.0)、2(int.1)、0(int.2)、1(int.3)、7(int.4)。
Serial(序列介面),Uno:RX(0)與TX(1)連接8U2/16U2(USB轉TTL Serial的晶片),在程式裡以Serial物件存取。Leonardo:在程式裡Serial物件代表USB CDC(Connected Device Class),而Serial1物件才是RX(0)與TX(1)。Leonardo事實上擁有兩個序列埠,一個模擬而成的虛擬序列埠(不管是在電腦端還是在微控制器端),連接USB連線,另一個則是微控制器本身原本擁有的UART硬體。
因Leonardo使用內建USB功能的ATmega32U4,擁有非常強大的bootloader,除了可作為虛擬序列埠(COM port),也可模擬成USB鍵盤與滑鼠(標準的HID裝置,無需驅動程式)。連接Leonardo與電腦時,系統就會出現三個新硬體裝置:虛擬序列埠、USB鍵盤、USB滑鼠。其實Uno也可以模擬USB鍵盤與滑鼠,但必須透過DFU模式修改8U2/16U2的韌體。
自動軟體重置,Uno:8U2/16U2的DTR連接到Atmega328P的重置線路。Leonardo:當以1200鮑率開啟虛擬序列埠並關閉時就重置。
Uno因有一顆獨立晶片負責USB轉TTL Serial,所以當主晶片重置時,該連線並不會斷掉,但Leonardo會,原本若開啟電腦端的序列埠監控視窗,Uno就會重置,但Leonardo不會,以至於在setup()從序列埠傳出的資料,可能不會出現在電腦端,所以通常會加上while (!Serial);等待開啟序列埠。
因為Leonardo重置時虛擬序列埠會消失,所以在上傳(燒錄)時,Arduino IDE會等待,直到出現新的虛擬序列埠,然後再進行上傳動作。
Arduino各开发板的比较
使用ESP12和Arduino开发板制作一款基于物联网IoT的电能表
https://www.yiboard.com/thread-871-1-1.html
esp-12e折腾
https://www.cnblogs.com/katachi/p/8468772.html
Frizing元器件库的制作方法
https://tieba.baidu.com/p/4440829036?red_tag=2970367627
【工具】【电子设计】超屌的 fritzing 新建元件
https://www.cnblogs.com/tony-ning/p/5167732.html