Learn Arduino the hard way 1——點亮一個LED

      Arduino剛剛出現的時候,僅僅是把她當作一個小孩的玩具,並無太多在乎,第一次見到Arduino大概是在10年先後,作的是一個愛心流水燈板子,其實看着仍是挺好玩的,可是對於正經學過51單片機的人來講,這個真的不算什麼。再次看到這個東西的時候大概是16年的7-8月份,是由於有教學任務,要交給大專的孩子們這些東西,原來是51的課程,可是由於51對基礎要求太高,如今職業教育中你們更多的選擇的是短平快。因此Arduino就變成了一個很好選項。並且還能夠Arduino block的圖形化編程來共同,彷佛讓編程變得更簡單了。(Arduino Block中的編程很是不習慣,也多是並無深刻的學習過)。git

      學Python的時候(如今仍是隻知其一;不知其二),主要是參看了一本書名叫《Learn Python the Hard Way》(求大神不嘲笑),這本書的名字讓我以爲其實再簡單的東西都應該按照腳踏實地一步一個腳印的方式去學習,對於Arduino我以爲也是。因此這個系列也被成爲Learn Arduino the Hard Way。編程

     下面我會開始按照順序更新Arduino的東西,固然是從最近簡單的東西開始更新。中間用到的器件,會順路再會講一點,可是可能不會太詳細。最後再說,IDE下載、安裝、配置就不過的講解了,由於沒意義,還得再裝一遍程序,太麻煩了。可是會給出傳送門。編程語言

好了,就醬紫。函數

 

    說到Arduino,這個東西不是什麼驚天地泣鬼神的全新技術,東西其實仍是老一套的東西。Arduino分了不少版本,中間包括UNO,Lilypad,Mega等等等等等。。。那豬腳其實仍是AVR的單片機。仍是單片機?那這個東西牛逼在什麼地方呢?其實關鍵還在於Arduino開發了底層庫,也就是說,你要用液晶,那就直接調用液晶的庫,須要超聲波就調用超聲波庫,很是簡單方便。這就是他牛逼的地方。這樣的庫,存在得一個問題,也是被專業人員詬病的就是效率。可是對於大衆來講,這樣已經很簡單了,並且這樣徹底足夠,且要求不像51那般高。因此這是好處。oop

 

    點亮一個led,對於單片機來講簡直就像學習編程語言時候的hello world,在開始以前仍是要基本交代一下什麼是led。這裏說的led實際上是指發光二極管,這個東西具體是怎麼回事,請你們去Wikipedia,或者百度百科一下。這裏面要注意的一點是,發光二極管是發光器件,發光的亮度取決於流過他的電流,理論上講,電流越大亮度越高,可是每個器件都極限,超過極限以後,會損壞器件。對於發光二極管來講,大電流會有更高的亮度,帶來的問題是,過大的電流會致使LED損壞。通常狀況下,普通LED的最大電流不要超過20mA,LED正向導通的時候,自身的電阻很小,因此必需要在外部電路提供一個足夠大的電阻來知足。這個電阻就被成爲限流電阻。學習

因而電路以下,Arduino特地分享了這麼一個搭建示意圖的東西,仍是挺有趣的。這個軟件名叫Fritzing,開源軟件,支持中文,最好去原網站下載,須要的自行百度。網站

下面就是要來解釋一下Arduino單片機這個奇葩的東西了。他把原來的單片機的引腳所有拋棄,從新作了定位DIO0-13,和A0-6,還有電源和地。ui

下面就是鏈接的電路原理圖。spa

下面這個是實物的鏈接圖,這些都是在Fritzing中已經作好了的。直接用便可。code

下面就該最重要的內容代碼了。

 1 void setup()
 2 {
 3 pinMode( 0 , OUTPUT);   //定義輸出管腳
 4 }
 5 
 6 void loop()
 7 {
 8 digitalWrite( 0 , !(HIGH ));   //給低電平,LED熄滅
 9 delay( 100 );                     //延遲函數一段時間,這段時間內,LED保持原來的狀態
10 digitalWrite( 0 , !(LOW ));   //高電平,LED點亮
11 delay( 100 );                    //延遲函數一段時間,這段時間內,LED保持原來的狀態
12 }

而後編譯,下載。Arduino的具體應該如何來完成編譯和下載在這裏就不講了。回頭我會放上來PPT,你們參考就行了。

相關文章
相關標籤/搜索