arduino資源

Arduino Due有14個數(shù)字I/O,6個模擬I/O,一個復(fù)位開關(guān),一個ICSP下載口,7-12v電源供電。

14個數(shù)字i/o,0-13引腳,模擬引腳0-5,有power、tx、rx、pwm。控制器 Atmega168/Atmega328。

操作電壓 5v,推薦輸入電壓7-12v,極限輸入電壓6-20v,14個數(shù)字中有6個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),時鐘頻率16mHZ,尺寸6*5.33cm,串行通信(0,1),rx,tx,外部中斷2,3(外部中斷0,外部中斷1),SPI通信10(ss),11(mosi),12(miso),13(sck),板上另外一處ICSP引腳。

led在13腳上, i2c或者twi通信a4(sda),a5(scl),另外有一個可復(fù)位的熔斷器,usb超過500ma,它將自動斷開。0,1為串口通信,rx,tx(0,1),2,3()為觸發(fā)中斷引腳,0-13單個引腳提供最大電流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ù)保險絲(PTC),ICSP供atmega16u2使用。

mega有54個i/o(14個pwm),16個模擬i/o,4對串行數(shù)據(jù)通信口(uart),一個復(fù)位開關(guān),支持usb和直流電源供電。處理器atmega2560,閃存256k,其中8k用于引導(dǎo)程序,sram8k,eeprom4k,時鐘頻率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,i2c,twi通信20(sda),21(scl)。arduino開發(fā)環(huán)境適宜avr-gcc和一些其他開源軟件為基礎(chǔ),采用java編寫的,主要安裝驅(qū)動以及下載時選擇正確的端口和板子

ansi c標(biāo)準(zhǔn)規(guī)定的32個關(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.

value.charat(5)//返回value字符串的第五個字符;value.length返回字符的長度;string不能轉(zhuǎn)換浮點型變量,static靜態(tài)變量

函數(shù)注釋//或者/*xxxxxxxxxxx*/

c語言預(yù)算符

算數(shù)運算符,%取模;

關(guān)系運算:==,!=;

邏輯運算符:||,&&,!;

賦值運算符:+=,-=,*=,/=,%=,>>=(右移賦值),<<=(左移賦值),&=,|=,~=(非賦值),^=(異或賦值);

條件運算符:?:;

位運算符~,<<(位左移),>>(位右移),&,^(異或),|;

求字節(jié)運算符sizeof。

判斷循環(huán)語句表達(dá)方式

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()是一個死循環(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時間,返回值為int型,pin為a0-a5。

analogWrite(pin,value)通過pwm在引腳輸出模擬量,arduino的pwm的頻率大約為490hz。范圍為0-255對應(yīng)0-100%。

時間函數(shù)millis()獲取機(jī)器運行的時間,單位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型。

spi通信

cs芯片選擇,時鐘sclk為兩條控制線,數(shù)據(jù)線sdi和sdo,sdi為miso(主入從出),sdo為mosi(主出從入),控制信號線cs為ss,sclk為sck(串行時鐘),spi允許主設(shè)備和多個從設(shè)備通信,sck提供時鐘,上升沿發(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)點:

引導(dǎo)程序能夠引導(dǎo)芯片通過串口與計算機(jī)通信

Serial.print(value,type),Serial.print(0x55,BYTE),有BYTE,DEC,HEX,OCT

模擬i/o連接著avr單片機(jī)6個adc管腳,具有10位采樣精度,13-260us的轉(zhuǎn)換時間,0-5v的adc輸入電壓范圍。

H橋l293d基本模塊


q1與q4搭配,q2與q3搭配

DIRA,DIRB分別接高低電平實現(xiàn)電機(jī)正反轉(zhuǎn),ENA,ENB可通過PWM實現(xiàn)電機(jī)調(diào)速

l298n模塊e1 low,m1任意時,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。gnd是arduino、邏輯電源、電機(jī)驅(qū)動電源的公共地,當(dāng)電機(jī)驅(qū)動電源低于12v,可以將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ù)實現(xiàn)大范圍值轉(zhuǎn)換為0-255實現(xiàn)數(shù)據(jù)等比映射。返回值為long型,舉例map(i,511,1023,0,255),搖桿x,y為模擬接口,z為一個按鈕開關(guān)數(shù)字接口。lcd1602,2行16個英文字符,芯片工作電壓,4.5-5.5v,5v時工作電流2.0ma,vss,vdd,rs,e,d0,d1,d2,d3,d4,d5,d6,d7,a,k。

ethernet shield上ethernet和sd卡公用spi占用10(ss),11(mosi),12(miso),13(sck),2(w5100外部中斷),3(w5100片選),4(sd卡片選),同一時間只能啟動ethernet和sd卡其中一個功能。當(dāng)使用sd卡時,定義時SS需改為引腳4。使用w5100時,把引腳10和4分別置為低電平和高電平

舵機(jī)(又叫伺服電機(jī))的工作原理:控制信號一般一個周期為20ms,該脈沖高電平的寬度控制著舵機(jī)的角度,0.5ms,0度;1ms,45度;15ms,90度;2ms,135度,2.5ms,180度。舵機(jī)有三根線,正極為紅色,地一般是黑色或者棕色,信號線一般為黃色或者白色。delayMicroseconds(us)最多可實現(xiàn)16383us的延遲。當(dāng)控制多個多個舵機(jī)時,不要用arduino直接供電,采用電源供電,但要將其與arduino共地。一般最中間那根紅色線為vcc。


步進(jìn)電機(jī),步距角l=360/(轉(zhuǎn)子齒數(shù)*運行拍數(shù)),l=360/(50*4)=1.8整步,l=360/(50*8)=0.9半步。

數(shù)碼管,一位8段數(shù)碼管,分為共陰極和共陽極,每個字段接一個220歐姆的電阻,共陽極數(shù)碼管(dp-a)顯示0-9,電平狀況(C0,f9,A4,b0,99,92,82,f8,80,90,)a-f(88,83,c6,a1,86,8e。),共陰極數(shù)碼管(dp-a)接線方式。顯示0-9,電平狀況(3f,06,5b,4f,66,6d,7d,07,7f,6f)a-f(77,7c,39,5e,79,71),以上沒有啟用小數(shù)點。

四位8段數(shù)碼管

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


硅管的壓降為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時分壓電阻選擇,紅黃(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,

220*10^0=220,棕色表示+-1%

直接由5v接下拉電阻和微動開關(guān),5v加上拉電阻和微動開關(guān),上下拉電阻選擇10k

使用紅外接近開關(guān)等傳感器時要判斷傳感器觸發(fā)后的輸出電平,

lm35為模擬傳感器

當(dāng)環(huán)境溫度為0度時,lm35輸出0v,溫度每升高1度,輸出電壓增加10mv,溫度為100度時,輸出電壓100*10mv=1000mv=1v,根據(jù)這個特點,val/1024*5v=某個電壓值單位伏特,轉(zhuǎn)換為毫伏,在除以10就可得到溫度值,如41/1024*5*1000/10=20.02,

繼電器觸點負(fù)載能力,120(ac)*1a或者24v(dc)*1a,分為低電平和高電平觸發(fā),繼電器使用時最好反接一個二極管,因為繼電器線圈會產(chǎn)生感應(yīng)電壓,會對電路沖擊,二極管采用1n4148,1n4007,1n4001,Ib=(5-0.7)/4.7K=0.9ma,



光敏電阻在黑暗條件下的電阻可達(dá)1-10兆歐,在強光條件下,它的阻值僅有幾百至數(shù)千歐姆,光敏電阻接上下拉電阻選擇10k。

多路開關(guān),正面放置,默認(rèn)13,46常閉,23,45常開,開關(guān)按下時,23連接,45連接,13,46斷開


插頭

雙刀雙擲繼電器

默認(rèn)高電平觸發(fā),9,12引腳電源正負(fù)極,接低電平時電機(jī)停止,接高電平時電源接通,如果將1與8,5與4連接,則低電平時,電流流向9,5上,(4,電機(jī),1),8下,12;接高電平時9,5下,(1,電機(jī),4),8上,12。即可實現(xiàn)電機(jī)的正反轉(zhuǎn)。將改裝的繼電器與另一個雙刀雙擲繼電器連接起來,可以實現(xiàn)電機(jī),正反轉(zhuǎn),停止。

第一個繼電器為低電平時,電機(jī)停轉(zhuǎn),第一個高,改變第二個的高低電平,就可實現(xiàn)正反轉(zhuǎn)。


繼電器實現(xiàn)電路內(nèi)部結(jié)構(gòu)


不發(fā)光二極管正負(fù)判斷,1n4148黑色環(huán)頭和1n540的白色環(huán)均為負(fù)極,發(fā)光二極管短引腳為負(fù)極,當(dāng)不能根據(jù)引腳長度判斷時,可以通過發(fā)光二極管頭內(nèi)部判斷,大頭一側(cè)為負(fù)極。


2、3號繼電器控制著兩個繼電器實現(xiàn)電機(jī)的正反轉(zhuǎn)和停止,2號繼電器不使能,1號電機(jī)停止,使能后1號高低即可改變轉(zhuǎn)向,同理3號管理4號。+-接電機(jī)驅(qū)動電源。

土壤濕度傳感器

水泵工作電壓dc6-12v,需要用繼電器來驅(qū)動

對射式光電開關(guān),由發(fā)射端和接收端兩部分組成。分為常開式和常閉式,本例為常閉式。

發(fā)射接收,紅色vcc,黑色gnd,黃色vo,兩者之間沒有障礙物時,黃線輸出高電平,有障礙物時輸出低電平,(常開式輸出與此相反)。

紅外接近開關(guān),當(dāng)探頭前方無障礙時輸出高電平,有障礙時輸出低電平。上面有一個電位器,可以用于調(diào)節(jié)障礙的檢測距離。

微動開關(guān)


黑色線相通,紅色相同

采用ethernet擴(kuò)展板時,同一時間只能使用其中一個,4號引腳給sd卡使用,10號引腳也必須設(shè)置為output模式,否則sd庫成員函數(shù)不能正常工作。

lcd1602,可以顯示2*16個字符,每行16個字元,可以顯示英文字母、希臘字母、標(biāo)點符號和數(shù)字符號,包括訊息的卷動(往左和往右卷動),顯示游標(biāo)和led背光。引腳1vss接地,2,vdd接電源+5伏,3,vo或者vee,對比(0-5v)可接一個1k電阻或者利用可變電阻調(diào)整適當(dāng)?shù)膶Ρ取?,rs(寄存器選擇)(1:d0-d7當(dāng)做資料解釋,0:d0-d7當(dāng)做指令解釋),5,r/w,(1:從lcd讀取資料,0:寫資料到lcd,因為很少從lcd這端讀取資料,可將此腳位接地以節(jié)省i/o腳位)

。6,e,enable

7,d0,bit,0,lsb

8,d1,bit1

9,d2,bit2

10,d3,bit3

11,d4,bit4

12,d5,bit5

13,d6,bit6

14,d7,bit7,msb

15,a+,背光(串接330歐姆的電阻到電源)

16,k-,背光(gnd)。日立HD44780相容的lcd有4bit和8bit兩種使用模式,使用4位bit模式,節(jié)省i/o腳位,通訊時只需用到4個高位元(d4-d7),d0-d3可以不用接,每個發(fā)送到lcd的資料會被分兩次傳送,先送4個高位元,然后才送低4位,


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容