帶小白入坑之arduino

帶新手入坑,很多新人入坑都不知道一些常用的東西怎麼實現,比如“控制220V的電器”,或者“驅動直流電機”,再比如“步進電機怎麼接線”等等,下面我就給大家講講這些東西的基本用法(撒花,撒花,撒花)。。。。

1.怎樣控制220V或者是其他大功率電器(反正就是arduino不能直接控制的)?39b4b82397dda144ad145290b6b7d0a20cf48651

 

上圖只是其中一種方案,最關鍵的地方,就是名叫TLP3020這個元件了,這玩意兒叫 光耦 ,是一種隔離元件,arduino引腳工作的電壓是5V輸出的電壓也只有幾十毫安,所以,功率超過這個限制的元器件或者用電器都是不能直接 接在啊人對你哦的引腳上使用的,這時就需要藉助上圖的電路了。光耦用起來很簡單,雖然元件上有6 個腳,但是我們用4個就可以了,NC表示 Not Connect,不用連接,其他元件上標有”NC”的引腳都是這個意思。連接方式圖上已經很清楚了,A、K之間有足夠的電壓,B、E就會導通,就這麼簡單。光耦這東西其實和更常見的“繼電器”是差不多的,但是他在開和關之間的切換非常快(繼電器很慢),因此可以使用PWM信號驅動。如果只是一個一般電壓和功率的小東西,玩具馬達之類的,你到此就可以直接把他當開關用了。但是如果是更大的東西,比如圖上的白熾燈,就得完全按照圖上來,再來一個可控硅,就是紅框裏三隻腳的元件。一般要控制大東西都得靠他,然後看圖就可以了。如果需要了解更詳細的信息,就請問度娘“可控硅”。tips:可控硅就是拿來做 電 磁 gun的重要元件哦

2.怎樣驅動很多個舵機?

爲了照顧更白的小白,還是先從“怎樣驅動舵機”說起吧。

7a2909a4462309f73930aa31760e0cf3d7cad61d

驅動舵機其實很簡單,一般的舵機,只有三根線(有的是四根,那麼多出來的那根應該是串口控制用的,這種舵機在高端機器人上能見到),我們現在只說三根線的這種,三根線的,也經常能看到兩種規格,主要區別是三根線的顏色不同,一種是 白色,紅色,黑色,一種是 橙色,褐色,黑色。除開顏色上的差別,在功能上其實沒有什麼差別,只是兩個巨頭公司無聊的把戲罷了(避免廣告嫌疑,就不點名了,反正就是島國的兩大航模設備廠商),三根線中,白色/橙色是信號線,黑色/褐色是GND,紅色是VCC。其實即便沒接觸過電子的靠猜也能猜個八九不離十吧,這些顏色都是根據人們的習慣來定義的。說道這裏,必須先說一下,什麼是PWM信號。這個應該數字電路最先就要接觸的東西了,我們知道數字信號就是隻有0和1的信號,但是,什麼叫“只有0和1的信號”?那就得先說說模擬信號和數字信號了。交流電大家知道吧,他的電壓不是固定的,而是隨時間變化的,具體的變化規則,就是那條晃眼睛的正弦曲線了,通常這種信號我們叫做“模擬信號”,什麼意思呢,就是他的每一個電壓值,都會影響到電路最後的輸出結果。以前的老顯像管電視也許大家都還熟悉,控制圖像顯示的掃描信號,就是模擬信號,如果我們把水平掃描信號變大10%(就是把電壓變高10%),圖像就會向右移動10%的距離,變大5%,圖像就移動5%。模擬信號就是這樣用的。想要了解更多,就問度娘吧。數字信號不一樣以5V電壓的TTL標準爲例,信號上的電壓雖然也是變化的,但是,只要這個變化的幅度不是非常大,對結果就沒啥影響,具體的,電壓在0到3.4V,被識別爲低電平,或者“0”(實際上也有表示爲“1”的設計),電壓在3.4到5V,被識別爲高電平,或者“1”(當然,也可以表示“0”),tips:cpu裏面就是括號裏那種比反人類的設計,但是這種設計卻更科學。這樣,電壓不斷的上下變化,就得到了一串0,1,再根據相應的編碼規則,信息就這樣被傳遞了。opps,跑偏了。數字信號話說完了,再來說PWM,芯片內部的計算都是靠數字信號來完成的,但是我們有時候又需要一個模擬信號,怎麼辦呢?PWM誕生了,它的中文名叫“脈衝寬度調製”,就是忽高忽低的一串數字信號。也許大家還記得,家裏的交流電,剛剛說了,其實他的電壓是不斷變化的,但是爲什麼又說220V交流電?擦,明明是變化的,220哪來的。這個嘛……算了,積分什麼的就不扯了,這個交流電在純歐姆電路(只有電阻)中的電功率和220V的直流電在同樣的電路中是一樣的,所以,這個交流電就是220V的。這個就是非常科學的定義!但是,大家注意到沒有,這跟交流電的波形是沒有關係的!就是說我不管你這個電信號在變化的過程中怎麼變,我們只看你的電功率來確定你的電壓!所以說,只用5v和0v的電壓,也可以利用這個原理來模擬出0v到5v之間的電壓來!這就是PWM信號常被用來模擬 模擬信號的原理(當然要想效果好再加個電容,扯遠了,自己問度娘去)。當然有的地方也並不是用PWM來模擬另一個電壓,比如說HR-04超聲波模塊,它要傳達出的實際上是高電平的持續時間。扯遠了扯遠了,扯回來。標準舵機的驅動信號就是PWM信號,前面不是說了嘛,PWM是忽高忽低的,那麼,高多長時間,低多長時間就值得考慮了。一般爲了便於計算,兩個高低信號加起來的時間是一定的,這就是這個PWM信號的“週期”,而高電平持續的時間佔週期中的比例,叫“佔空比”,而pwm模擬出來的模擬信號的電壓,就是高電平電壓x佔空比(又扯出去了,根舵機沒關係)。舵機的信號週期是20ms,高電平的持續時間是1~2ms,佔空比爲5%~10%,分別對應搖臂的0~180度。
嗯,原理說完了,一個字:其實在arduino上用舵機只需要使用servo庫就可以了。就像上圖那樣連接即可。但是問題來了,我要驅動20個舵機怎麼辦?
正文開始,先來一個圖
8個,20個也一樣啦,很明87d4f9a20cf431ad2aed461a4f36acaf2edd98bd了吧,前面都說了,控制舵機的實際上就只有信號線那一根線而已,所以,把這根線接arduino就ok了,剩下的電源線全部並聯,接在輸出足夠,電壓合適的電源上。但是,注意,如果你的arduino也是用的和舵機使用的同一個電源,沒有問題,但是如果你的舵機使用一個大功率電池,arduino卻使用usb供電或者其他的小功率電壓(就是使用了兩個獨立電源),那麼你還需要一根線,把這兩個電源的GND連在一起。更詳細的信息,請問度娘“共地”,下一樓討論怎樣有效控制很多個舵機

3.怎樣驅動數碼管?796b47061d950a7b7fcd38e00ed162d9f3d3c9f9

一般很多小白一看到有很多引腳的器件就頭暈,不知道哪接哪,數碼管雖然有很多引腳,但是接線卻很簡單,實際上,數碼管就是8個led燈而已,如上圖,我們可以看到,有一條5V的引腳,說明他的結構是把這8個led燈的正極聯到一起,負極分別引出來,我們把這種結構的數碼管叫“共陽極”,就是說他們的正極是連在一起的,當然,也可以反過來,把負極全部連一起,正極分別引出來,就是“共陰極”數碼管。到這裏,大家應該知道了,以共陽極爲例,這個共極應該接5V,其餘的7個腳,接arduino,如果某個腳接的是高電平,那麼對應的這個led兩邊都是5V,沒有電壓差,就不會亮,如果是低電平,就有5V的電壓,就亮了。而哪些亮,哪些滅,就能夠構成一個圖案了。共陰極的高低電壓則剛好反過來。或許有人要問了,有了共陽極,幹嘛還要共陰極?這個就不是廠商的無聊遊戲了。電流是從正極流向負極的,這個大家應該都知道,對於共陽極數碼管來說,電流就只能從共極流進來,而led的亮度是跟電流有關的,電流越大,越亮,而並聯會使每一條支路上的電流減小,共極進來的總電流基本不變,所以,如果用這個電流點亮兩個led時就比較亮,把8個全部點亮,led就變暗了。根據這個原理,大家可以分析一下,共陰極數碼管是沒有這個缺點的

4.怎樣驅動lcd1602?

lcd1602,應該算是比較高級一點的東西了,但是用的地方的卻很多
3f25db1fbe096b63d397ab7508338744eaf8ace8

上圖是最普通的那類應用,接線有兩種接法,主要是數據口的不同,分爲8線和4線,對於這種引腳消耗大戶來說,很多人都會選擇4線接法吧,按圖索驥即可。接上了線,用起來也就簡單了,因爲官方提供有庫,我要補充的是,這種方塊的lcd,不止有1602哦,16表示每行可以顯示16個字符,02表示可以顯示2行,除了1602,還有2004,2008等等,更重要的一點,他們使用同樣的庫就可以了,而且價格只貴了一點點如果覺得佔用太多的引腳,還有一種加上了iic模塊的升級版,最多隻佔用2個引腳

1602經常令小白抓狂的一點可能是,明明我按照教程完全弄好了,爲什麼顯示16個黑框!或者什麼都不顯示!這時候,請注意一下第15腳,仔細看,他是控制背光的,如果背光太亮,那麼看不清字符了,就是白茫茫一片,太暗就是黑塊了,按照圖上指示,接上一個滑動變阻器,調節15腳的電壓,就可以使字符變清楚了


發佈了45 篇原創文章 · 獲贊 46 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章