用Arduino做一個精密的百元頻率測量儀

以前學習 555 振盪器電路時,最困擾的事情,莫過於電路接好之後,沒有儀器可以驗證輸出的頻率,只能將輸出接上放大電路,湊合一顆馬達來看看轉速變化,就算學會方波產生電路了,到底出來的頻率對不對,只有老天知道了。總不會要我為了業餘興趣,買一台示波器吧?

現在,隨手可得的 Arduino 跟一片便宜的 1602 I2C LCD 液晶螢幕,幾行短短的程式,就能弄出一台精密的頻率測試儀(雖然看起來挺簡陋的)。除了測 IC 的輸出信號之外,也可以湊一些簡單的感測電路,像光遮斷器、雷射、紅外線感測器,來測馬達轉速、風扇轉速、風速、振動頻率,只要把 Sensor 出來的類比信號,接入史密特觸發電路 (Schmitt trigger),變成比較乾淨整齊的 5V方波,再接進來做好的 Arduino 頻率測量儀,馬上就知道頻率了,有的感測器模組,本身就有觸發電路。若懶得搞這複雜,而且不是要測量很精密的頻率,只要感測器電壓不要大到會燒壞Arduino DI 腳位,或者太低感測不到,跳過上述觸發電路,直接接進來看看信號大概的頻率,也未嘗不可。

如何使用 LiquidCrystal 函式庫的跑馬燈 Autoscroll 功能?

開發 Arduino 應用程式的過程,比較麻煩的是沒有螢幕顯示。除錯的時候,沒有比較直覺的方式來反覆測試結果。透過序列埠串口 Serial Port 來顯示溝通,是個方法,但有時候總是覺得要開Arduino內建的 Serial Monitor,或用像 Putty 這種終端機模擬程式來用,有點麻煩,尤其當板子頻繁插拔的時候更是如此。
買一片便宜的雙行顯示液晶螢幕,我覺得是個不錯的方案,像照片這種 16x2 的 LCD 螢幕 (兩行,每行16個英文字元),當作在電腦寫C語言常用的 printf 輸出,還挺方便的。買來後剪個瓦愣紙板把螢幕包好,或者3D列印個外殼保護,這小螢幕可以用更久不會壞。

透過USB COM/TTL與PUTTY,跟ESP8266模組通訊

ESP8266 物連網通訊微處理器

ESP8266 是位於大陸深圳的安信可科技有限公司,所開發的一顆,低價多功能的WiFi無線通訊微處理器,IC裡面有一個32位元、80MHz的MPU微處理器 (Arduino UNO 用的ATmega328p,只有16MHz),與 801.11 B/G/N WiFi 無線通訊功能。
IC裡面還有16通道的GPIO,可拿來控制一些開關、燈號,以及一個10-bit 解析度的類比數位轉換器 (ADC),可以接類比感測器,並讀取感測器的數位值。此外還有 SPI、I2C、I2S、UART等串列通訊介面,可以跟其他的模組,進行有線通訊,並將其他沒有無線通訊功能的模組,轉成有無線通訊能力。

Ubuntu 執行 sudo 指令,出現 sudoers 錯誤

出現 sudoers 錯誤,不給執行 sudo 指令

這個錯誤出現:
XXX is not in the sudoers file. This incident will be reported.

造成無法執行任何 sudo 權限的指令,連關機 shutdown 都不行了。多半是因為在更動使用者群組的時候,下錯命令。常犯的錯誤,是要把某個 user 加入特定的 group 時,執行以下指令:
sudo usermod -G xxxgroup xxxuser

GRBL CNC with 28BYJ-48 and SG90 低價步進馬達伺服機控制

GRBL簡介

GRBL 是一套免費、開源的 Arduino Uno 韌體固件,用來控制簡單的XY雙軸CNC移動,並可在Z軸上,上下移動電鑽、控制電鑽的轉速。由於 GRBL 可以透過 Arduino Uno 的 Rx Tx 序列埠串口,以G-Code進行即時通訊,因此燒錄了 GRBL 韌體固件的 Arduino Uno 板,便可以用來製造小型簡單的 CNC 自動化機器,並利用現成的免費CNC軟體,實現比較複雜的機器控制。
網路上可以搜尋到很多基於 GRBL 的創客專案,像電鑽雕刻機、雷射激光雕刻機,或者更簡單的繪圖機玩具,其實很多拍賣網上販售的木頭雕刻機、軟金屬雕刻機,也都是基於GRBL的機器。這些機器,透過一些開源的 CNC 平台軟體,可以搞出很不錯、可用的控制機具。

手提式線鋸機與鋸片選擇

手提式線鋸機,也稱為,軍刀鋸、馬刀鋸、往復鋸,雖然刀片外觀或卡榫形式可能有所不同,但機械構造、運動方式都大同小異。隨著大廠逐漸壟斷線鋸機市場,目前在台灣五金行能買到的鋸片,多半已經是一樣形式的T型卡榫鋸片(T-Shank),不同廠牌線鋸機可互用。(註:還有一種U型卡榫鋸片 U-Shank)
線鋸機是木材、鐵材的切割加工利器,它不像圓鋸機那般笨重、佔空間。它的操作靈活度也比裝上鋸片與輔助治具的手提平面砂輪機(角磨機)來得好,還可以切割曲線。加上它本身就有與鋸片垂直、能夠貼平加工材料的底板,基本上,操作時只要想辦法讓線鋸機,按照規劃的行進路線前進切割,走完美的直線或曲線,便能加工出一定品質的材料零件。

另外,線鋸機有各式鋸齒、多種材質的鋸片可以選擇,無論切割木板、木條、密集板、夾板、木心板,或是鐵、鋁、銅、鎳、鋅、黃銅 (Ms) 這類軟性金屬材質的金屬管、金屬條、金屬片,或是鋁擠型材,PVC塑料,玻璃纖維,都能得心應手。甚至像不鏽鋼材料 (Stainless Inox Nirosta)、磁磚、瓦片之類的高硬度材質,也都有專門的碳化鎢高硬度鋸片可以應付。

安裝 bCNC 來控制基於 GRBL 的自動控制設備

bCNC 是一套開源的自動控制程式平台,軟體基於Python程式語言,以及Python內建的視窗開發模組 TCL/Tk,能夠跨平台執行,在Linux、Windows、MacOS 作業系統下都可以執行 (目前主要支援 Python 2.x,Python 3.x 的初期版本也已經可以下載)。加上程式碼開源,可以更深入學習 GRBL 與 GCode 的自動控制方式,甚至修改程式碼。
使用者可以在 bCNC 程式之下,完成 CNC 機器調整、定位、控制的工作。並在這個程式下,調用在電腦輔助設計 CAD 軟體 (FreeCAD, LibreCAD, SolidWorks, AutoCAD) 或在向量圖繪製軟體 (Inkscape, Illustrator...) 繪製好的設計圖,對設計圖的上的外框線條,規劃 CNC 刀頭的雕刻、切斷、研磨的路徑。