2021年10月7日 星期四

用ESP32 玩物聯網(1)-ESP32簡介與開發環境介紹

 一、ESP32腳位
參考資料來源:【ESP32專欄】ESP32評比與教學推薦NodeMCU-32s的理由


  • 18 x Analog-to-Digital:可接類比或數位感測(粉紅色標示)

  • 3 x SPI interfaces(MOSI,MISO,SCK,SS):高速資料傳輸 SD card, TFT, RFID(藍色標示)

  • 3 x UART interfaces:藍芽、相機(不限腳位編號)

  • 2 x I2C interfaces(SDA,SCL) and I2S interfaces:LCD、氣壓、陀螺儀(GPIO 21,22)

  • 16 x PWM output channels:數位輸出也可類比輸出(不限定腳位編號,但需要宣告channel)

  • 2 x Digital-to-Analog Converters (DAC):不太需要用

  • 10 x Capacitive sensing GPIOs:提供觸控電容(棕色標示)

  • GPIO 34,35,36,39:Input only(不能作為輸出腳位)

  • GPIO 0,6,7,8,9,10,11:系統用,勿使用(淺灰色標示)

  • GPIO 18:重開機

還有一些個人遇到的問題(不清楚原因,但會搞死你)

  • 1. DHT11不可以用GPIO 5、26

  • 2. GPIO 12, 2燒錄時不可接任何裝置,請空接,燒錄完成後,再接回,否則會上傳失敗。

  • 3.WiFi啟動後,2,4,12,13,14,15,25,26,27僅能數位讀取,不可類比

二、開發環境-吉哥老師的環境環境

參考資料:如何安裝吉哥自製積木   

感謝劉正吉老師,當中並整合了鳳山科技中心傅仲儀法蘭斯) 老師的作品,提供給大家一個好用的開發環境。


三、開發環境-Arduino IDE的環發環境:(參考 宜蘭國中 李亮寬老師)

【IDE安裝】:

  1. IDE工具下載: 至 https://www.arduino.cc/en/Main/Software網站下載,建議直接下載ZIP免安裝檔

  2. 開啟Arduino IDE後,偏好設定addition boards manager URL輸入:https://dl.espressif.com/dl/package_esp32_index.json

  3. 接著點選工具/開發板/開發板管理員,輸入關鍵字ESP32後,選擇安裝版本下載安裝

  4. 再選擇工具/開發板,找到ESP32系列,選擇ESP32主板。

  5. 安裝驅動 CP210x:更近趨動Arduino-1.8.12\driver

  6. CH340:下載安裝Windows(EXE) 相關連結

2021年10月5日 星期二

用PictoBlox玩AI(10)AI 手勢辨別-空中畫筆

一、程式說明:

使用 PictoBlox AI 的人體檢測功能,用手指在空中繪畫!

 二、程式碼






三、執行結果:



四、問題討論:

五、參考資料:

https://thestempedia.com/project/draw-in-the-air-using-human-body-detection-extension/







2021年10月3日 星期日

用PictoBlox玩AI(8)AI-Nose Tracking 鼻子追踨

 一、程式碼:
從「檔案」=>「Examples」=>「AI&ML」=>AI-Nose Tracking 

程式6-1



二、執行結果


三、結合AI在Arduino 結合 -LED燈

程式6-2 有偵測側鼻子,亮LED燈,否則不亮燈



程式6-2  用鼻子來左右控制伺服馬達

背景圖的座標如下圖,中心為(0,0), 長為480,寬為360。

程式碼如下:
degree 為伺服馬達轉動角度,計算方式如下:
設鼻子的座標為x
degree =(x+240) * (0.375) ,再四捨五入 。其中0.75=180/480





執行結果
 


Q:想想看,如果要能控制2維座標,要如何使用??






2021年10月2日 星期六

用PictoBlox玩AI(5)-使用I2C 2X16 lcd

 一、接線腳位

SDA – 接 Arduino 的 Analog Pin 4 (Arduino Mega 為 Pin 20)

SCL – 接 Arduino 的 Analog Pin 5 (Arduino Mega 為 Pin 21)

GND – 接 GND

VCC – 接 +5V

二、接線圖



我們使用為2x16液晶顯示模組,接線顏色為綠、黃、紅、黑   ,另一端用RJ11接在sersor board的A4A5


三、範例程式:

程式1:簡易顯示「yes 1234」,目前不支持中文。




程式2:利用迴圈 在第一列顯示數字,且每次數字累加一。




程式3:每按一次,數字累加顯示液晶,並發出聲音與綠燈





用PictoBlox玩AI(6)-伺服馬達的使用(servo motor)

一般伺服馬達有三條線,電源(紅色)、接地(黑或棕色)、訊號線(白、黃、橘、藍....)

 一、接線圖



二、程式碼

可以從「檔案」=>「Examples」=>Arduino UNO 中開啟範例



0920

可變電阻控制伺服馬達

光敏電阻控制伺服馬達開關
0311





2020年10月22日 星期四

用SensorBoard 玩 Arduino (13) motoBlockly-物聯網-與智能音控

利用ESP12的無線模組,完成一個可利用網路遠端控制的燈號

一、接線圖

LCD顯示器(A4-A5)

ESP12的無線模組(D2-D3)



二 、程式碼

(一)修正SSID 與PASSWORD

(二)利用網路連結為 http://ip/s1 時 執行s1 程序,本次的設計為

s1=>開 D10的燈  s2=>關 D10的燈  s3=>開 D11的燈  s4=>關 D11的燈 

s5為全關燈





程式操作錄影檔(含匯入程式庫),可以在此下載  


執行序列埠畫面


手機apk檔下載 ,

執行結果,可設定語音文有,如開紅燈,所傳的文字為 s1, 傳的網址為http://www.fhjh.tn.edu.tw
最後傳的網址為

http://www.fhjh.tn.edu.tws1