due有14個(gè)數(shù)字i/o,6個(gè)模擬i/o,一個(gè)復(fù)位開關(guān),一個(gè)icsp下載口,7-12v電源供電
14個(gè)數(shù)字i/o,0-13
模擬0-5,有power、tx、rx、pwm
控制器 atmega168/atmega328
操作電壓 5v推薦輸入電壓7-12v,極限輸入電壓6-20v,14個(gè)數(shù)字中有6個(gè)pwm輸出,為3,5,6,9,10,11,i/o直流電流40ma,3.3v腳電流50ma,5v直流電源(說明書沒有提供上限約為300ma),閃存16kb(atmega168)32k(atmega328),2k用于引導(dǎo)程序,sram1k(atmaga168),2k(atmega328),eeprom512b(atmega168),1k(atmega328),時(shí)鐘頻率16mhz,尺寸6*5.33cm
串行通信(0,1):rx,tx,外部中斷2,3,spi通信10(ss),11(mosi),12(miso),13(sck)1

led13腳,twi通信a4(sda),a5(scl),另外有一個(gè)可復(fù)位的熔斷器,usb超過500ma,它將自動斷開。0,1為串口通信,rx,tx(0,1),2,3為觸發(fā)中斷引腳,0-13單個(gè)引腳提供最大電流40ma。3,5,6,9,10,11為6路pwm輸出,10,11,12,13為spi通信10(ss),11(mosi),12(miso),13(sck),reset重啟arduino,低電位有效,atmega16u2usb轉(zhuǎn)串口的轉(zhuǎn)化器,自動恢復(fù)保險(xiǎn)絲(PTC),ICSP供atmega16u2使用,
mega有54個(gè)i/o(14個(gè)pwm),16個(gè)模擬i/o,4對串行數(shù)據(jù)通信口(uart),一個(gè)復(fù)位開關(guān),支持usb和直流電源供電。處理器atmega2560,閃存256k,其中8k用于引導(dǎo)程序,sram8k,eeprom4k,時(shí)鐘頻率16mhz,0(rx0)1(tx0),19(rx1)18(tx1),17(rx2)16(tx2),15(rx3)14(tx3),外部中斷:2外部中斷0,3外部中斷1,21外部中斷2,20外部中斷3,19外部中斷4,18外部中斷5。pwm0-13,spi通信:51(mosi),53(ss),50(miso),52(sck),板載led13,twi通信20(sda),21(scl)。arduino開發(fā)環(huán)境適宜avr-gcc和一些其他開源軟件為基礎(chǔ),采用java編寫的,主要安裝驅(qū)動以及下載時(shí)選擇正確的端口,和板子
ansi c標(biāo)準(zhǔn)規(guī)定的32個(gè)關(guān)鍵字
auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,
register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while.
函數(shù)注釋//或者/*xxxxxxxxxxx*/
c語言預(yù)算符,算數(shù)運(yùn)算符:%取模;關(guān)系運(yùn)算:==,!=;邏輯運(yùn)算符:||,&&,?。毁x值運(yùn)算符:+=,-=,*=,/=,%=,>>=(右移賦值),<<=(左移賦值),&=,|=,~=(非賦值),^=(異或賦值);條件運(yùn)算符:?:;位運(yùn)算符~,<<(位左移),>>(位右移),&,^(異或),|;求字節(jié)運(yùn)算符sizeof。
if(表達(dá)式)
語句1
else if(表達(dá)式)
語句2
esle
語句3
switch(表達(dá)式){
case常量表達(dá)式1:
語句1
case常量表達(dá)式2:
語句2
default:
語句3
}
while(表達(dá)式) 語句
do
語句
while(表達(dá)式);
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句
最常見的for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增量)語句
用while解釋
表達(dá)式1;while(表達(dá)式2){語句
表達(dá)式3;}
用do-while解釋
表達(dá)式1;
do{語句
表達(dá)式3;}while(表達(dá)式2)
for(;;)與while(1)相當(dāng)
void setup()和void loop()均為無返回值的函數(shù),set up()主要用于初始化,設(shè)置引腳輸入輸出模式,初始化串口,只在上電或重啟執(zhí)行一次,loop()是一個(gè)死循環(huán),讀取引腳狀態(tài),設(shè)置引腳狀態(tài)。
arduino基本函數(shù)
pinMode(pin,mode),pinMode(13,OUTPUT)
模擬引腳也可當(dāng)做數(shù)字引腳使用a0-a5對應(yīng)14-19,
digtalWrite(pin,value),digitalWrite(13,HIGH)
digitalRead(pin),讀取引腳高低電平,返回值為int型
analogRead(pin)讀取引腳模擬量電壓值,讀取一次花100us時(shí)間,返回值為int型,pin為a0-a5。
analogWrite(pin,value)通過pwm在引腳輸出模擬量,arduino的pwm的頻率大約為490hz。范圍為0-255對應(yīng)0-100%。
時(shí)間函數(shù)millis()獲取機(jī)器運(yùn)行的時(shí)間,單位ms,返回值為unsigned long,dealy(ms),delayMicroseconds(us),單位us。
數(shù)學(xué)庫,min(x,y),max(x,y),abs(x)
串口通信,Seial.begin(9600),if(Serial.available()),Serial.available()返回int型,Serial.read()返回int型。
cs芯片選擇,時(shí)鐘sclk為兩條控制線,數(shù)據(jù)線sdi和sdo,sdi為miso(主入從出),sdo為mosi(主出從入),控制信號線cs為ss,sclk為sck(串行時(shí)鐘),spi允許主設(shè)備和多個(gè)從設(shè)備通信,sck提供時(shí)鐘,上升沿發(fā)送,下降沿接收。在應(yīng)用中為被選中的從設(shè)備的mosi信號線需要處于高阻狀態(tài),否則會影響主設(shè)備與選中設(shè)備間正常的通信。

arduino硬件平臺
uno采用的是atmega8u2芯片進(jìn)行usb到串行數(shù)據(jù)的轉(zhuǎn)換。due采用的是ftdi usb-to-serial串行驅(qū)動芯片。avr單片機(jī)的優(yōu)點(diǎn):
引導(dǎo)程序能夠引導(dǎo)芯片通過串口與計(jì)算機(jī)通信
Serial.print(value,type),Serial.print(0x55,BYTE),有BYTE,DEC,HEX,OCT
模擬i/o連接著avr單片機(jī)6個(gè)adc管腳,具有10位采樣精度,13-260us的轉(zhuǎn)換時(shí)間,0-5v的adc輸入電壓范圍。
h橋l293d基本模塊

q1與q4搭配,q2與q3搭配
DIRA,DIRB分別接高低電平實(shí)現(xiàn)電機(jī)正反轉(zhuǎn),ENA,ENB可通過PWM實(shí)現(xiàn)電機(jī)調(diào)速
l298n模塊e1low,m1任意時(shí),1號電機(jī)不使能,e1high,m1low,1號電機(jī)正轉(zhuǎn),high,high,1號電機(jī)反轉(zhuǎn),e1接pwm引腳,m1接low變速正轉(zhuǎn),m1接high變速反轉(zhuǎn)。vd邏輯電源6.5-12v,vs是電機(jī)驅(qū)動電源輸入,建議4.8-35v,當(dāng)電機(jī)驅(qū)動電源低于12v,gnd是arduino、邏輯電源、電機(jī)驅(qū)動電源的公共地,可以將vd=vs的跳線帽短接,減少電源輸入,l298n驅(qū)動電流可達(dá)2a,跳線帽需注意,如果vs的電壓大于12v,一定要將跳線帽去掉,否則vd邏輯電壓超過12v會燒壞驅(qū)動模塊,不建議使用arduino上的5v電壓作為l298n的邏輯電壓。e1可接low,high,pwm,vd邏輯電壓,vs驅(qū)動電壓

搖桿:arduino采用10位adc,模擬量變化范圍0-1023,在水平方向a1,越往右值越小,垂直方向a0,垂直越往上值越小,map函數(shù)實(shí)現(xiàn)大范圍值轉(zhuǎn)換為0-255,返回值為long型,i>511時(shí),map(i,511,1023,0,255)數(shù)據(jù)等比映射。
搖桿x,y為模擬接口,z為一個(gè)按鈕開關(guān)數(shù)字接口。
lcd1602,2行16個(gè)英文字符,芯片工作電壓,4.5-5.5v,5v時(shí)工作電流2.0ma,
rs,e,d4,d5,d6,d7。
ethernet shield上ethernet和sd卡公用spi占用10(ss),11(mosi),12(miso),13(sck),2(w5100外部中斷),3(w5100片選),4(sd卡片選),同一時(shí)間只能啟動ethernet和sd卡一個(gè)功能。
舵機(jī)(又叫伺服電機(jī))的工作原理:控制信號一般一個(gè)周期為20ms,該脈沖高電平的寬度控制著舵機(jī)的角度,0.5ms,0度;1ms,45度;15ms,90度;2ms,135度,2.5ms,180度。舵機(jī)有三根線,正極為紅色,地一般是黑色或者棕色,信號線一般為黃色或者白色。delayMicroseconds(us)最多可實(shí)現(xiàn)16383us的延遲。當(dāng)控制多個(gè)多個(gè)舵機(jī)時(shí),不要用arduino直接供電,采用電源供電,但要將其與arduino共地。
步進(jìn)電機(jī),步距角l=360/(轉(zhuǎn)子齒數(shù)*運(yùn)行拍數(shù)),l=360/(50*4)=1.8整步,l=360/(50*8)=0.9半步,
一位8段數(shù)碼管,分為共陰極和共陽極,每個(gè)字段接一個(gè)220歐姆的電阻,共陽極數(shù)碼管(a-dp)顯示0-9,電平狀況(FC,60,DA,F2,66,B6,3E,E0,F(xiàn)E,E6),共陰極數(shù)碼管(a-dp)顯示0-9,電平狀況(03,9F,25,0D,99,49,C1,1F,01,19),以上沒有啟用小數(shù)點(diǎn)。

四位8段數(shù)碼管,

1,2,3,4為公共端(以共陽極為例)要點(diǎn)亮第4個(gè)數(shù)碼管的小數(shù)點(diǎn)4接正極,dp接負(fù)極,一個(gè)字段接220歐姆,電流約為15ma,則一位8*15ma=120ma,5v上限為300ma可以支持,數(shù)碼管為紅光(5-2)/1k=3ma,3ma*8=24ma,4位時(shí)4*24ma=96ma,也可以支持,只是亮度會暗,四位時(shí)選用1k來點(diǎn)亮數(shù)碼管,即a-dp全部接1k電阻,1,2,3,4直接接入arduino控制端口,為了保護(hù)arduino板子,可以通過三極管來實(shí)現(xiàn)完美,9013,9014,8050


硅管的壓降為0.7v,鍺管為0.2v,Ib=(5-0.7)/1k=4.3ma,用三極管后,1,2,3,4可接三極管e極,a-dp接220歐姆電阻,9013硅管,放大倍數(shù)64-202,Ic最大為500ma,


led的使用,色環(huán)讀值發(fā),功率,紅led(2-2.2v),黃led(1.8-2.0v),綠led(3-3.2v),額定電壓下電流均為15-20ma,用紅led時(shí)分壓電阻選擇,紅黃(5-2)/0.015=200歐姆,綠(5-3)/0.015=133歐姆,綠led電阻功率2*0.015=0.03,紅黃電阻功率為3*0.015=0.045瓦特,因此選1/8或者1/4功率,色環(huán)電阻有碳膜電阻和金屬膜電阻,金屬膜的電阻精度較高,從環(huán)數(shù)上,四環(huán)或者五環(huán),最后一環(huán)表示精度級別。
黑色0,棕色1,紅色2,橙色3,黃色4,綠色5,藍(lán)色6,紫色7,灰色8,白色9,

直接由5v接下拉電阻和微動開關(guān),5v加上拉電阻和微動開關(guān),上下拉電阻選擇10k
使用紅外接近開關(guān)等傳感器時(shí)要判斷傳感器觸發(fā)后的輸出電平,
lm35為模擬傳感器

當(dāng)環(huán)境溫度為0度時(shí),lm35輸出0v,溫度每升高1度,輸出電壓增加10mv,溫度為100度時(shí),輸出電壓100*10mv=1000mv=1v,根據(jù)這個(gè)特點(diǎn),val/1024*5v=某個(gè)電壓值單位伏特,轉(zhuǎn)換為毫伏,在除以10就可得到溫度值,如41/1024*5*1000/10=20.02,
繼電器觸點(diǎn)負(fù)載能力,120(ac)*1a或者24v(dc)*1a,分為低電平和高電平觸發(fā),繼電器使用時(shí)最好反接一個(gè)二極管,因?yàn)槔^電器線圈會產(chǎn)生感應(yīng)電壓,會對電路沖擊,二極管采用1n4148,1n4007,1n4001,Ib=(5-0.7)/4.7K=0.9ma,


光敏電阻在黑暗條件下的電阻可達(dá)1-10兆歐,在強(qiáng)光條件下,它的阻值僅有幾百至數(shù)千歐姆
l298n
