發表文章

目前顯示的是有「Arduino」標籤的文章

[硬體]為什麼ADS1115輸出只有12 bit? Arduino實作16bit ADC偵測

圖片
     因為工作的關係,常常看到IC的參考線路上會有一個用來量測電流精密電阻,這個阻值通常都非常小,常見的規格是10mOhm。這個級別的電阻可以串連在電源的路徑上,不會影響電路的正常工作,又能夠用來量測電流,不過體積明顯較大,常見在開發版上,比較少在量產品上看見。而這次我想要透過自製的Arduino搭配16bit ADS1115高精度ADC來做這個電流的偵測。 ADS1115

[Arduino] 開放硬體試讀,從線路圖學習Arduino的硬體電路設計 - MEGA 2560電路圖之電源設計

圖片
    Arduino提供一套完整的硬體開發版以及方便快速使用的軟體套件庫,讓剛接觸微處理器編程新手可以快速上手,進行各式各樣專題的開發。在使用的Arduino的時候,最大的優勢是,可以省去處理器硬體的電路設計與製作,加速的整個硬體開發的過程,且能夠減少初期硬體發生問題的機率,這是他非常值得稱揚的一項功績。     當我初次使用Arduino時也是對電路抱持著懵懵懂懂的心情,只關心他提供的外接Pin功能、輸入、輸出的電器規格,對其中開發版上的設計不求甚解。雖然我們沒有必要從無到有的製作出他的開發版,但Arduino的各種型號標準電路設計都已經公布在官方網站上,這次就是針對官方網站所提供的電路,來了解他電路設計的架構與精隨所在。     這次要來了解的主要是我曾經使用過的Arduino MEGA 2560其中的電源電路,電源電路是一塊電路板重要的部分,要輸入輸出多少電壓以及提供電力給微控制器是很重要。在MEGA 2560開發版上, 可以從外部電源輸入7V~12V的直流電或是用USB輸入的5V電壓 ,經過轉換提供給Arduino板上各種元件、功能所需的5V、3.3V。在使用上最直覺方式的就是我們常在一個專題作品上使用9V方形電池或是2~3cell的鋰電池來提供整個Arduino電力。 1.電路圖概觀     在MEGA 2560的電路上主要有二個最重要的微控制器晶片-ATmega2560、ATmega16U2。如下圖,晶片的電源供應是以5V為主,但有些特殊介面是需要使用3.3V的電位,因此在電路圖中同時存在著5V與3.3V的電源供應。這兩組電壓不僅是提供電路板本身的供電,在可容許的負載下,也可以從對應的針腳拉出,供應外接設備。 Arduino MEGA 2560電路圖 Arduino的電路資訊在官方頁面上可以取得: https://www.arduino.cc/en/Main/ArduinoBoardMega2560

使用Arduino實作Serial串列通訊的經驗談

圖片
    Serial Port的通訊在微控制器中是很常用的一種方式,可以用來連接兩個晶片,或是直接跟電腦進行資料交換。在Arduino上同樣具備了Tx,Rx的Serial Port功能,其中一組會建立在板子上的USB連接埠上,不必另外買RS232-USB轉接線以及MAX232這類轉接IC就可以直接跟電腦進行連線,這是非常方便的設計。     在Arduino中的Serial Port傳送可以有多種函示的選擇,例如println()、read()、readByte()、write()等等,可以依據使用習慣來挑選。但Serial對我而言,我只重視一件事情,那就是資料的穩定、無錯誤。使用println()也許可以傳送字串或其他格式,但卻不是我習慣的傳送方式,因為傳送的資料是要給電腦看的,而不是給人看的,因此是不是字串不太重要,反而純數值會好些。     在Serial的資料傳輸中,我習慣將資料轉化成一個Byte陣列,透過read()、write()的方式,把一整個陣列的Byte傳送或者接收,盡可能減少資料出錯的可能性。由於Serial Port傳輸速度有限,資料傳輸的間隔可以自行斟酌,我個人通常都是使用50ms以上的間格時間,避免傳輸時有問題發生。

[比較]Arduino各開發板之差異比較

圖片
    Arduino是一套open source的控制器開發版,因為簡單、好用又便宜,所以常被拿來製作小專題或者機器人製作,所想打開Youtube應該就可以看到不少案例了。對於一位剛接觸Arduino的人來說,最初的困擾應該是「要選擇哪一塊板子?」。Arduino的開發版根據不同的晶片、用途、功能有各式各樣的型號,在這裡我舉出幾個比較常見的型號來比較:Uno、Leonardo、Due、Mega 2560、Mega ADK。

Facebook

為您推薦