這是一個對ESP8266 WIFI模組的測試,ESP8266是一個價格便宜的WIFI模組,
而且是Mega2560用UART即可傳輸資料到ESP8266,相當方便,
首先,要使用ESP8266前要對其指令先有了解,然後是到thingspeak.com註冊,thingspeak.com提供8 channels的資料上傳,
幸運的是,我們可以不必從零開始,有依些範例是前人寫好,我們可以參考:
這是一個對ESP8266 WIFI模組的測試,ESP8266是一個價格便宜的WIFI模組,
而且是Mega2560用UART即可傳輸資料到ESP8266,相當方便,
首先,要使用ESP8266前要對其指令先有了解,然後是到thingspeak.com註冊,thingspeak.com提供8 channels的資料上傳,
幸運的是,我們可以不必從零開始,有依些範例是前人寫好,我們可以參考:
這個感測器模組整合計畫,是將目前的一些模組與Mega2560做整合,
想要解決的問題為:
(1) 感測器模組與Arduino Mega2560都是用線材來連接,連接多種感測器時,線會變得凌亂,線是插拔式的,對有些通訊傳輸,如SPI或I2C容易造成不穩定。
(2) Mega2560的電源與接口不夠多,目前只有5V, 3.3V, GND也只有三個,如果接超過兩個上的模組,在接線上就需要接電路裝置,如萬用版。
本篇文章由感測器(五) 使用Arduino Mega2560作SD卡的資料紀錄(Datalogger)
與感測器(二):使用Arduino Mega2560讀取DHT11/DHT-11 數位溫濕度感測器 作組合,
利用Arduino Mega2560讀取DHT11的溫溼度值,然後動態地記錄在SD卡中。
使用Serial Monitor觀察SD的紀錄狀況,
與前篇文章一樣,SD卡不是感測器,但因是在同一類主題中討論,故列入。
用Mega2560試了SD Datalogger好幾次,今天終於成功,
網路上的討論很多,我列出我是成功的參數:
首先根據註解:
這一篇是Demo使用Arduino Mega2560來操作人體感應模組(HC-SR501)與RGB LED,
當有人經過時,人體感應模組(HC-SR501)會感應而輸出高電位訊號,此時RGB亮紅燈,
當沒有人或是沒動靜時,人體感應模組(HC-SR501)會感應而輸出低電位訊號,此時RGB亮綠燈,
根據實測,人體感應模組(HC-SR501)對5~6m遠的人移動都會有感應。
本篇試者將資料寫入SD card中,
SD card接線設定與上一篇File的相同,
加入用dataFile.println()函數將資料寫入,
不過一開始寫不進去的機會很高,因此我加了一個delay(1000),如code中紅色標示,
與前篇文章一樣,SD卡不是感測器,但因是在同一類主題中討論,故列入。
只要是感測器的資料擷取,通常需要儲存,
尤其是行動式的裝置,SD card更是常用的儲存硬體,
我們使用Arduino IDE內建了一些SD卡的範例程式,
這一篇是說明如何使用Mega2560用SPI與OLED作通訊,
嚴格來說OLED不算是感測器,不過是當初一起買的模組,所以也就歸在一類了,
OLED是自發光,所以不用傳統LCD模組的背光,在視角問題上也比傳統LCD模組有很大的改善,
當在購買OLED時,要注意該款的OLED是否有提供函式庫,函式庫會隨者OLED所搭配的控制IC而有所不同,
這是一篇簡短的說明控制項的property來操作Event Structure,正確地說是觸發,
一般就我們在使用Event Structure,無非是用控制項與滑鼠的互動,或是Value chage,
也就是說一定要與人機介面的控制項有互動,才會有滑鼠或Value change事件(Event)發生,
我曾用控制項的Local Variable的變化想當成是Value change,不過行不通,
本篇是一個概念,並沒有程式碼內容,也許日後會再補上相關的範例說明。
Pololu wheel encoder常用來做DC motor的編碼器,請參考網址:https://www.pololu.com/product/1217,
其建議使用的輪胎為;https://www.pololu.com/product/1090,
當然還需要DC motor:https://www.pololu.com/category/60/micro-metal-gearmotors,
今天試了一下買的MPU6050模組,想了解一下陀螺儀與加速計如何應用,
首先要先下載MPU6050的I2C範例程式,
1. MPU6050 範例程式下載網址:
http://www.i2cdevlib.com/devices/mpu6050#source
DHT sensor可以量測環境溫度與濕度,
使用DHT sensor很容易,只要下載網路上現有的 libary與example code,
下載網址為:
https://learn.adafruit.com/dht/downloads
依我搜尋的結果,DK electronics shield應該是目前可以提供較多種類馬達得驅動控制板。
DK electronics shield可以提供4個直流馬達的控制,stepper motor ,以及2個servo使用,
此shield有提供函式庫,
Software Libray 下載,將下載的的.cpp, .h與example資料夾放在Arduino/libraries/
使用App Inventor 2開發藍牙(Bluetooth)Android app,接收從Arduino Mega2560傳送的資料,
這個範例許多網站也有提供類似內容,不過有些並沒有將App linentor 2與Arduino的程式碼一起提供,
首先demo app inventor 2的Designer與Block部分,
Designer,注意有加入藍芽與Timer,
接下來會使用MIT的App Inventor 2開發藍牙(Bluetooth)Android app,傳送資料到Arduino Mega2560上,
使用的藍牙模組是HC-06,目前App Inventor 2並不支援BLE,但要享受無線控制的樂趣也並不是一定要使用BLE,
重點是動手作的樂趣,使用App Inventor 2,Arduino,以及HC-06,如果你想要自己組一台遙控車,相信也不是一件難事。
關於雙A(Android與arduino)的藍牙模組溝通,網路上也有不少文章,都可以參考。
拿到HC-06的藍芽模組後試了寫了一些程式,卻發現獻資料在傳輸時都是錯誤的資料,
於是只好從頭開始查起,我決定用PC端的LabVIEW用串列傳輸資料給USB/TTL模組,
USB/TTL是使用USB接頭連接在PC上模擬一個COM Port,USB/TTL的另一端連接在HC-06藍芽模組上,
注意藍芽模組的電源不能超過HC-06的電源限制,USB/TTL Tx -->HC-06 Rx,USB/TTL Rx -->HC-06 Tx,
本篇說明如何使用LabVIEW for Arduinod控制伺服機 (servo) 角度通常servo有三條線,分別為Vcc, PWM, GND,其中設定PWM Digital 4的腳位給servo使用,
一般可以控制PWM的Dutycycle來控制角度,不過LabVIEW for Arduino已經有提供好範例了,
在安裝完成Labview for Arduino後,
為了要寫servo的程式,我很好奇地去找了LabVIEW for Arduino的Toolkit,
原先以為是找不到了,不過後來卻發現可以從LabVIEW提供的VI Package Manager下載,
下載與安裝步驟如下:
由於想要快速製作Android的Bluetooth程式,所以就試了一下App Inventor 2,
這是個有趣的開發環境,可以完全在線上開發,只要有gmail帳號就可以使用,很方便。
如果是要簡單的程式,一下就可以完成,
雖然最後發現App Inventor 2目前不支援BLE,對於複雜的程式也不適合,
最近低功率藍芽4.0 (BLE)的應用話題越來越多,所以就先收集了一些相關網站的資料,可以供後續的程式寫作使用,
1. Creating Android BLE app
http://forum.arduino.cc/index.php?topic=289937.msg2027547#msg2027547
2. Android ble 蓝牙4.0 总结