2018年雙11當天買了一台天貓精靈智慧音箱(方糖),除了第一天興致勃勃地跟她測試對話,大多數時間都處於關機狀態,開機都是為了聽音樂。以它的體積和價格來說,方糖的音色算是很不錯了。
VL53L0X飛時測距(ToF)感應器模組(二):Arduino與MicroPython測距程式
選擇Arduino IDE主功能表的「草稿碼→匯入程式庫→程式庫管理員」,在「程式庫管理員」中搜尋“VL53L0X ”關鍵字,即可找到相關程式庫,常見的兩個程式庫分別是Adafruit和Polohu公司開發的版本,這兩家公司都是美國的電子零組件供應商;本文採用Polohu的VL53L0X程式庫 ,因為Adafruit的版本佔用的快閃記憶體以及主記憶體都比較多。
VL53L0X飛時測距(ToF)感應器模組(一):硬體簡介
VL53L0X是意法半導體(STMicroelectronics,以下簡稱ST公司)開發的IC,內部整合雷射光發射元件以及紅外線矩陣接收器,並透過計算接收到的雷射光束折射時間求得距離,這種光學測距技術統稱飛時測距(Time of Flight,簡稱ToF),比超音波和紅外線距離感測器精確、快速而且體積迷你。
USB遊戲控制器(手把)DIY:使用Arduino Leonardo(李奧納多)控制板與Wii Classic經典手把
ATmega32u4微控器內建USB介面,採用此微控器的Arduino控制板,例如Leonardo(李奧納多)和Micro Pro,不需要USB序列通訊介面IC,即可連接電腦,而且還能用程式把控制板設置成滑鼠、鍵盤、遊戲控制器(手把)…等裝置。
使用ESP32控制板(三):MicroPython的類比輸入、UART序列埠以及觸控開關
ESP8266只有1.5個博士學位UART序列埠,所以《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》第七章的GPS模組連接實驗,需要搭配WebREPL操作。ESP32也可以透過WebREPL操作,設定方式和ESP8266板相同;LOLIN32控制板有兩個UART硬體介面,把GPS模組接在第2個UART序列埠的示範如下:
使用ESP32控制板(二):燒錄MicroPython韌體
MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:
- 通用(GENERIC):適合所有一般ESP32系列控制板。
- 通用外部RAM(GENERIC-SPIRAM):適合內建外部RAM(PSRAM)的ESP32控制板。
- TinyPICO:用於世界最小(18x32mm)的ESP32微控制板TinyPICO。
使用ESP32控制板(一):WEMOS LOLIN32簡介
ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(S0C)與外接快閃記憶體的模組,有許多廠商生產採用ESP32模組的控制板,它們的多半大同小異,最基本的ESP控制板就是ESP32模組加上直流電壓轉換器以及USB序列通訊介面IC。這是一款稱為WEMOS LOLIN32的ESP32控制板,具備3.7V鋰電池插座:
佈署Python Flask網站留言板應用程式到Heroku + PostgreSQL資料庫系統
本文將示範如何把《超圖解Python程式設計入門》第12章的留言板資料庫網站佈署到Heroku。Heroku網站提供的資料庫系統是開放原始碼的PostgreSQL(簡稱Postgres),啟用此資料庫系統的步驟如下:
一個74HC595連接多個七段顯示器
本文將示範用一個74HC595連接兩個7段顯示器,從00開始,每隔一秒加1顯示0~99。底下的電路圖改自《超圖解Arduino互動設計入門》動手做7-2,新增的七段顯示器與前一個並聯。
使用Arduino模擬器測試演算法(二):參數傳值(value)與傳址(reference)
左下圖的swap()自訂函式將接收x和y兩個整數型參數,呼叫此函式傳入並傳遞參數時,資料將被複製給函式參數,因而稱作傳值呼叫(call by value)。此自訂函式執行完畢,資料僅在其內部達成交換,x, y和temp也會被刪除,所以a和b變數值並未交換。
使用Arduino模擬器測試演算法(一):用Tinkercad搭建Arduino實驗電路並驗證程式邏輯
以工程繪圖、輔助設計製造和3D動畫軟體聞名的Autodesk(歐特克)公司,曾推出模擬電子電路並支援Arduino程式設計的123D Circuits (Circuits.io)網站。歐特克公司於2013年併購了線上3D造型設計軟體公司“Tinkercad”,然後在2017年把123D Circuits當中的“Electronics Lab”(電子實驗室)功能移到Tinkercad網站,circuits.io則更名為“library.io”,提供PCB印刷電路板設計和製造相關業務。
BBC micro:bit控制板的ARM Mbed嵌入式作業系統初探(二):Mbed線上整合開發工具
Mbed OS的程式採用C++語言開發,開發軟體可選用Mbed Studio、線上版IDE或者CLI文字命令介面的yotta。本文採用線上Mbed IDE編譯micro:bit程式碼。