發表文章

目前顯示的是 2014的文章

燒錄 Arduino mini Pro 燒錄

圖片
    Arduino Mini Pro 算是Uno的縮小板,使用上也沒太大變化,可以注意的是,市面上可能分為有幾個版本16Mhz、8Mhz就連電壓也會有5V、3.3V,但我這邊使用的是5V-16Mhz,工作於3.3V的時候也是可以正常工作,    該有的腳位也都拉出來了,這塊mini上面還有A4~A7,網路上有些比較精簡的版本就沒有這4pin。     接下來介紹燒錄方法,需要準備一組USB to TTL轉換,有RX/TX就可以了, 將 mini RX->TTL TX mini TX->TTL RX mini VCC->TTL VCC mini GND->TTL GND 接妥後,開啟自己的CODE,這邊用範例Blink測試,按下上傳後,等出現Uploading...這時候,立刻馬上,按下mini的 Reset,成功後就會將CODE Upload上去了。  手腳太慢就會出現下面這畫面  網路上還有領外一個使用Uno對燒的方式,也是相同原理,只是Reset是接Uno板子上的Reset這樣就不用手去按他了。

趴趴走 RV-3 DIY 改造

圖片
最近入手一台掃地機器人,因為很便宜的關係,使用起來機器人也非常癡呆,沒關係,有他的軀體就好,他的靈魂就自己用Arduino來改。   電路主板部份,也只有這部份了,整體看來不複雜,加上機器人的模式判斷與走路的癡呆樣子,MCU沒做太多的判斷選擇。   電路板背面。 整台主機,只有用一個碰裝Sensor,元件是使用光遮斷器做判斷,應該是為了耐久度,並且用彈簧帶開光遮斷。  需要加強的地方:  1.走路方式需要急救  2.吸力不足,需改馬達與葉片 總共使用三個馬達: 1.側面的掃把 2.吸灰塵用 3.走路用 前兩個基本上不用在做判斷,所以我們要控制的只有走路用的。 預計使用arduino mini 搭配超音波 + 馬達控制板就可以完成了。

Arduino 課本可能沒教的事(1)

圖片
  相信有用過Arduino的人都會知道,在一個開發板上的IO腳,有分為"數位腳"、"類比輸入",也就是板子上場看到的數字0~13與A0~A5,在比較常見的教材中,往往很少提到A0~A5腳位的使用方式,正常都是說明,如何在上面接上一個可變電阻,在由可變電阻調整電壓進入類比輸入端,再有數位腳輸出對應的亮度,重點來了,因為這樣可能有些人認為A0~A5"只能"做類比的事情,但這些類比腳,亦可拿來當數位腳使用,可以從下圖看到,A0~A5於粉紅色區塊標示為14~19,代表其實該腳位要用於數位時,它的編號,而MEGA版本也是相同道理,數位腳由53之後轉為,A0=54、A1=55…以此類推,總而言之,這樣UNO版本腳位其十就很多,足以供一般專案使用。

SI4432 搭配Arduino

圖片
        前陣子從購入兩片si4432模組,拿來搭配arduino使用,傳輸效果算是相當不錯,訊號從1樓可以打到5F,由於已經作成模組化了,使用上也不會太困難,但需要同時接收/發射,所提供的範例是不夠用的。         Arduino&si4432連接方法,由於Si4432工作電壓用的是3.3V,所以建議以CD4050做電位轉換, 但我測試的時候,是使用arduino mini pro ,工作電壓直接接上3.3V所以沒有在做轉換,要使用5V的MCU則需要加,如果不怕燒掉的話也是可以直接上。 arduino mini pro si4432 library則是使用RF22 http://www.airspayce.com/mikem/arduino/RF22/ 檔案中包含了基本的範例,可以直接使用。

Arduino 交流電功率調整

圖片
最近在測試110V功率調整,透過外部觸發與內部65微秒觸發中斷來切割弦波的波型,使其達到功率調整的方式。  參考連結: http://forum.arduino.cc/index.php?PHPSESSID=1mlmloei1vpish99327r5gfol0&topic=22512.15

震動開關推動LED

圖片
當一端低於水準位置傾斜,開關尋通,類比口電壓值為 5V 左右(數位二進位表示為 1023 ),點亮 led 燈。將A0所讀到數值由0~1023轉為0~255,用意是為了提供給LED推動實縮需要的PWM,另外這不只可以使用在震動開關上面,只要是有類比變化的接可接在Arduino類比端輸入,一樣能推動。 const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to const int analogOutPin = 9; // Analog output pin that the LED is attached to int sensorValue = 0;        // value read from the pot int outputValue = 0;        // value output to the PWM (analog out) void setup() {   Serial.begin(9600); } void loop() {   sensorValue = analogRead(analogInPin);             outputValue = map(sensorValue, 0, 1023, 0, 255);   analogWrite(analogOutPin, outputValue);           Serial.print("sensor = " );                       Serial.print(sensorValue);       Serial.print("\t output = ");       Ser...

Arduino 整串封包接收處理

圖片
由於Serial所Read 的值都只有一個byte, 要讀取整筆封包還要再自己寫, 所以稍微寫了一下,將"#"當作起始字,"$"當作結尾字, 並且將之間的資料存於Databuf中, 有需要的時候再Send "!" 會將資料丟出來。 以下是code: 1: char Databuf[100]; // 用來儲存收進來的 data byte 2: int addr=1; 3: char buf; 4: int RW=0; 5: void setup() { 6: // 開啟 Serial port, 通訊速率為 9600 bps 7: Serial.begin(9600); 8: Serial.println("Hello Oliver"); Serial.println("http://arduino-oliver.blogspot.com/"); 9: } 10: void loop() { 11: // 檢查是否有資料可供讀取#@ 12: if (Serial.available() > 0) { 13: buf = Serial.read(); 14: switch (buf) 15: { 16: case '#': 17: Serial.println("#"); 18: RW=1; 19: break; 20: case '!': 21: Serial.println("!"); 22: while(addr>0) 23: { 24: addr--; 25: Serial.print(Databuf[addr],HEX); 26: } 27: break; 28: case '$': 29: Serial.println("$...

ReadAnalogVoltage 類比輸入 example

圖片
簡單的範例,做輸入電壓的偵測 void setup() {  //設定serial   Serial.begin(9600); } void loop()  {  // 讀取A0的電壓   int sensorValue = analogRead(A0);   float voltage = sensorValue * (5.0 / 1023.0);  //透過監看COM數值傳出   Serial.print("voltage : ");   Serial.println(voltage);  //一秒執行一次   delay(1000); }   voltage將會收到0~1023的數值,A0接口可以接上VR,就可以測試這項功能正不正常了。   int sensorValue = analogRead(AX)   將取到的值先丟到 Value 執行畫面如下:

第一次如何使用Arduino

圖片
Arduino在台灣已經有一陣子了,對於有再接觸程式設計的人應該都不陌生,然而對於不是程式設計,或者是不是電子電機相關科目的,也不會太難以上手。 由於Arduino本身官方由提供許多librarie,與網路上有豐富的資源,使其上手的門檻相對的降低許多,新手要取得硬體設備也不是什麼難事,在各大網拍、較大的電子零件通路都能看到它的身影。至於出版物台灣也有相當多的譯本,但是小弟覺得是不用買那些書,在網路上也能找到相當多的sample code。 現在就開始進入本篇主題: 1.下載Arduino IDE Arduino官方網站下載點 http://arduino.cc/en/Main/Software 可以看到上圖有兩個方框,如果你手上的開發板是屬於Yun或者是Due請下載1.5.6版本,才有支援這兩款板子的燒錄喔,而其中差別在往後再跟大家介紹。 選擇Windows Installer就可以了ZIP file是屬於免安裝版本,但使用上可能會較為不方便,所以這邊建議Windows Installer安裝就好了。 下載好後執行,也沒有太多需要注意的,Next...Next...Next就好了。 2.安裝Arduino驅動程式 如果是照著上一步,安裝Arduino,在開發板接上時,於電腦設備管理中會看到無法辨識的裝置,選擇它 點選瀏覽電腦上的驅動程式軟體 如果Arduino使用預設安裝可以在安裝路進下的Drivers中找到驅動程式 C:\Program Files (x86)\Arduino\drivers 安裝好了,本文是使用Mega 2560。 3.開啟桌面上Arduino 就可以看到下圖這個畫面了,工作列因為我使用1.5.4它有支援繁體中文。 而工作列底下的圖案分別為驗證、下載、開新檔案、開啟、存檔與最左邊的監看。    4.如何燒錄程式 我們先來點一個簡單的範例,選取 檔案>範例>Basics>Blink   會出現以下的Code /*   Blink   Turns on an LED on for one second, then off for one second, repe...

Arduino 介紹 [Wiki]

圖片
關於 Arduino Arduino可以使用 Arduino 語言與 Macromedia Flash、Processing、Max/MSP、Pure Data和SuperCollider等軟體,結合電子元件,例如開關或感測器或其他控制器件、LED、步進馬達或其他輸出裝置,作出互動作品。 Arduino也可以獨立運作成為一個可以跟軟體溝通的介面。 特色 基於 創用CC 開放原始碼的電路圖設計。 免費下載,也可依需求自己修改,但需遵照姓名標示。您必須按照作者或授權人所指定的方式,表彰其姓名。 依相同方式分享,若您改變或轉變著作,當散布該衍生著作時,您需採用與本著作相同或類似的授權條款。 Arduino 可使用 ICSP 線上燒入器,將 Bootloader 燒入新的 IC 晶片。 可依據Arduino官方網站,取得硬體的設計檔,加以調整電路板及元件,以符合自己實際設計的需求。 可簡單地與感測器,各式各樣的電子元件連接,如 紅外線 、 超音波 、 熱敏電阻 、 光敏電阻 、 伺服馬達 …等。 支援多樣的互動程式,如 Adobe Flash, Max/MSP, VVVV, Pure Data, C , Processing… 等。 使用低價格的微處理控制器 ( Atmel AVR ) (ATMEGA 8,168,328等)。 USB 介面,不需外接電源。另外有提供 直流 (DC)電源輸入。 核心開發團隊 Arduino的核心開發團隊成員包括: Massimo Banzi , David Cuartielles , Tom Igoe , Gianluca Martino , David Mellis 和 Nicholas Zambetti 。 據說 Massimo Banzi 之前是義大利 Ivrea 一家高科技設計學校的老師。他的學生們經常抱怨找不到便宜好用的微控制器。2005年冬天, Massimo Banzi 跟David Cuartielles 討論了這個問題。David Cuartielles 是一個西班牙籍晶片工程師,當時在這所學校做訪問學者。兩人決定設計自己的電路板,並引入了Banzi 的學生 David Mellis 為電路板設計編程語言。兩天以後,David Mellis 就寫出...

test

test