2022年10月25日 星期二

[STM] 在 Arduino IDE 上使用 STM8 開發板

 Arduino IDE 雖然很陽春,但因為它易於使用而且擴充性強,所以還是受蠻多玩家青睞,本文就是說明如何在 Arduino IDE 上使用 STM8 開發板。

STM8S103F3P6 開發板



STM8S103F3P6 開發板單元說明



STM8S103F3P6 開發板腳位圖



ST-Link V2 下載器


需要的零配件
1. STM8S103F 開發板。
2. ST-LINK V2 下載器。
3. 杜邦線母母頭 4 條。


電路接線

ST-Link V2     STM8S103F3

1(3.3v) - 3v3
2(SWIM) - SWIM
3(GND)  - GND
4(RST)  - NRST
安裝步驟

Step1 依照上方之「電路接線」用杜邦線連接好後,將 ST-Linlk V2 下載器插入電腦的 USB 孔。


Step2 開啟 Arduino IDE,選取下拉功能表「檔案」>「偏好設定」,出現如下視窗。


Step3 在「額外的開發板管理員網址」內增加如下一行字,

https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json

如下圖


Step4 選取下拉功能表「工具」>「開發板」>「開發板管理員」,出現如下視窗。


Step5 在上方欄位內鍵入「STM8」,並點選「安裝」鈕,安裝好後關閉視窗。


Step6 選取下拉功能表「檔案」>「範例」>「01.Basics」>「Blink」,如下圖。


Step7 選取下拉功能表「工具」>「開發板」,選取 STM8 開發板型號,如下圖。


Step8 選取下拉功能表「工具」>「燒錄器」>「ST-Link/V2」,如下圖。


Step9 現在可以上傳程式了,點選「上傳(Upload)」。上傳完畢後,您可以看到 STM8 開發板上的 LED 以間隔 1 秒的頻率明暗閃爍。


採購資訊

STM8S103F3P6 開發板

露天[S&R] https://www.ruten.com.tw/item/show?22123988787580

露天[RWG]  https://www.ruten.com.tw/item/show?21912412169873

蝦皮  https://shopee.tw/-RWG-STM8-%E9%96%8B%E7%99%BC%E6%9D%BF-%E6%9C%80%E5%B0%8F%E7%B3%BB%E7%B5%B1%E6%9D%BF-STM8S103F3P6-i.14363185.2342260972?sp_atk=c866542a-1cbe-471b-b2ae-b11524230bed&xptdk=c866542a-1cbe-471b-b2ae-b11524230bed


ST-Link V2 下載器

露天[S&R] https://www.ruten.com.tw/item/show?21924755378654

露天[RWG] https://www.ruten.com.tw/item/show?22016455347874

蝦皮 https://shopee.tw/-RWG-ST-LINK-stlink-V2-STM8-STM32%E4%BB%BF%E7%9C%9F%E5%99%A8-%E7%B7%A8%E7%A8%8B%E5%99%A8-%E4%B8%8B%E8%BC%89%E5%99%A8-%E8%AA%BF%E8%A9%A6%E5%99%A8-i.14363185.7191366831?sp_atk=0b4b72c5-49ee-434f-97eb-9af3ae7a2bd2&xptdk=0b4b72c5-49ee-434f-97eb-9af3ae7a2bd2


2022年8月20日 星期六

[Tank] RWG 履帶車組裝說明

這款履帶車是「給氣狼機器人聯盟」設計的,車體底盤採用 3mm 黑色壓克力,外觀質感佳。

本車底盤採多功能目標設計,下層板可固定 4 只 TT 減速馬達,不只可作為履帶車的動力來源,它也可以變更為 4 輪傳動車,也就是 4 個輪子各自有獨立的動力。

下層板可安裝 18650 鋰電池雙節電池盒、L9110S 馬達驅動模組、Arduino Nano 開發板和擴展板,並且預留了 2.4G 天線固定孔和船型開關固定孔,所以只要這個下層板就滿足了組裝一台完整履帶車的所有條件。

如果您還有其它感測模組需要安裝,也可以使用尼龍柱架設起上層板,如此可利用的空間大大增加不少。上層板也預留了 SG90 伺服馬達的孔位,配合超音波感測器可以讓您做出180度方位的測距。



準備工具

M3 螺絲起子

電工膠帶

烙鐵和焊錫


組裝步驟

Step1 取出壓克力底板,將扳手和墊片取下備用。


Step2 使用 2 只 M3*8 螺絲、螺帽,將電池盒鎖到下層底板。

這是正面視角


這是背面視角

Step3 將 2 只 TT 馬達焊上電源線。建議用電工膠帶纏住焊接處,以保護銅片不會因拉扯而損壞。


Step4 取出下列材料,用長螺絲鎖到 TT 馬達。


下圖是完成後的情況


Step5 上面步驟總共需完成 4 組,如下圖。


Step6 取出馬達支架,將它們鎖到 TT馬達。


下圖是完成後的情況
(須注意長螺絲和方形鋁架的方向)


Step7 使用 4 只 M3 圓頭螺絲先將 2 組承重輪總成(詳底板右側)跟底板鎖緊。

為了方便安裝上履帶,需先用 M3 圓頭螺絲將 2 組驅動輪總成(詳底板左側)跟底板稍微固定,也就是不要鎖緊。如下圖


然後將履帶安裝到 2 只輪子上,再用 M3 圓頭螺絲將它鎖緊到底板。

提醒您:在鎖這顆螺絲時需稍微扳動馬達齒輪箱,使齒輪箱邊緣對齊底板邊緣。

完成後如下圖 




這是另一個視角


這是底部視角


Step8 將船型開關固定到底板。履帶車底盤至此組裝完成。





Step9 您可以使用 M3*10 螺絲將 L9110S 馬達驅動模組固定到底板。馬達電源線可以穿過底板兩側的孔洞固定到 L9110S 馬達驅動模組。



Step10 您可以使用 M3*8 螺絲和 M3*15 尼龍柱將 Arduino Nano 開發板和擴展板固定到底板。



Step11 使用 M3*8 螺絲和 M3 尼龍柱架設上層板。



Step12 將 2.4G 天線鎖到上層板。



Step13 使用 M2*8 螺絲和螺帽將 SG90 伺服馬達鎖到上層板。


伺服馬達上面可以安裝超音波測距模組


當然也可以安裝 ESP32-CAM 開發板,成為一台視訊遙控履帶車。


採購資訊


2022年6月23日 星期四

[Tank] 六輪金屬底盤履帶車組裝

這款六輪金屬底盤履帶車搭載 2 只 33 減速馬達,使用 6~12V 電壓,提供超大扭力。

建議使用 2~3 只 18650 鋰電池來推動它。



準備工具
L型大、中、小扳手是套件提供,僅需自備M3螺絲起子和尖嘴鉗。


組裝步驟

Step1 使用 3 只 M3*8 螺絲將馬達鎖到金屬長片上面。


依下圖組裝 2 組備用。


Step2 取出公母驅動輪,將它們組合在一起,需組裝 2 組。




Step3 取出 L 型中扳手和 M3 凹頭螺絲和聯軸器,將它們和驅動輪固定。 



Step4 取出 L 型小扳手和 M3 無頭螺絲,將整組驅動輪鎖到馬達上。


依下圖組裝 2 組備用。


Step5 取出 L 型大扳手、M4 凹頭螺絲和螺帽,將 U 型金屬片鎖到長金屬片上。須注意孔位。



Step6 取出 L 型大扳手、 M4 長螺絲、螺帽和墊片,將承重輪鎖到長金屬片上。須注意孔位。




Step7 取出 L 型大扳手、 M4 長螺絲、螺帽和墊片,將另一只承重輪鎖到長金屬片尾端。須注意孔位。



將另一只長金屬片也鎖上承重輪。須注意孔位。


Step8 取出 L 型大扳手、M4 凹頭螺絲和螺帽,將 U 型金屬片另一端鎖到長金屬片上。


這是側面圖。


Step9 安裝履帶。須注意履帶安裝方向。


Step10 如果履帶太長,可用尖銳針狀物調整履帶長度。


Step11 組裝完成圖。



如果您覺得目前的車架空間太小不好使用,可以加裝層板,如下圖。





採購資訊

露天[S&R] https://www.ruten.com.tw/item/show?21928053481766

露天[RWG] https://www.ruten.com.tw/item/show?21847044649032

蝦皮 https://shopee.tw/-RWG-Arduino-T101-P-%E5%B1%A5%E5%B8%B6%E8%BB%8A-%E5%9D%A6%E5%85%8B%E8%BB%8A-%E8%87%AA%E8%B5%B0%E8%BB%8A-%E5%BA%95%E7%9B%A4-%E5%A5%97%E4%BB%B6-i.14363185.2435042433?sp_atk=7eeac837-a045-49fb-928f-38c67c8e1ef2&xptdk=7eeac837-a045-49fb-928f-38c67c8e1ef2





2022年6月14日 星期二

[ESP32] ESP32-C3 開發板使用教學

 如下圖,是合宙LuatOS官方的ESP32C3-CORE開發板引腳圖。可以看到,在ESP32C3-CORE開發板上有1路I2C和1路SPI以及2路串口。ADC和PWM確實是少了些,但是考慮到這個價格,也並不奇怪,反倒安心了許多——畢竟一分錢有一分貨。

ESP32C3-CORE開發板 網站


不過,考慮到現在的模塊越來越數字化,這樣的布局在實際開發中也不是不能接受。像是DHT22溫濕度傳感器、TCS3472顏色傳感器、GY-30照度傳感器、PAJ7620手勢傳感器以及各種OLED屏幕,加起來也就用到了一個單總線和I2C,再配合上一些其他的驅動模塊,這塊開發板也是很能打的了。當然了,大部分開發者選擇ESP系列還是想在WiFi和藍牙上面下功夫,這些功能的一些基本形式在ESP32C3-CORE開發板上還是有的。

總而言之,若不考慮WiFi和藍牙的功能,硬件資源還是普通的STM32小藍板更勝一籌,但是在考慮到價格等綜合因素的話,這一塊板子還是很值得買的。


硬件準備

在本教程中,你會需要用到這些東西:

1、ESP32C3-CORE開發板——1

2、USB Type-C線——1


軟件準備

1、安裝串口驅動(CH343)

大家如果玩過單片機,電腦應該都有下載CH340驅動,但是ESP32C3-CORE開發板上搭載的是CH343。這也沒有關係,進入WCH官方網站的連接,直接點擊“下載”即可。


WCH官網驅動下載(點擊此處)


下載完成後運行該程序,全程傻瓜式操作,顯示安裝完成即可。


2、安裝Arduino IDE

Arduino IDE 是我們進行編程和調試的工具,如果接觸過 Arduino 的話應該都已經下載了,可以看下一步。Arduino IDE 可以在其官方網站下載,也可以用最簡單直接的辦法,在電腦自帶的Microsoft Store 一鍵下載。


該應用是免費的,點擊“獲取”下載安裝即可。

按下“win”按鍵,就能在開始菜單中找到Arduino IDE的軟件打開它,如果需要桌面快捷方式,直接從開始菜單裡拖出來即可。


3、添加ESP32C3開發板

本來筆者也用過ESP32-WROOM-32D的板子,但是那一個版本的開發板列表裡面好像沒有找到ESP32C3的板子。在添加開發板的時候我們統一用最新的這個版本。

首先打開Arduino IDE,點擊左上角的“文件>>首選項”,在“附加開發板管理器網址”一欄中填寫:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json


填好了就點擊“好”確定。

然後點擊“工具>>開發板>>開發板管理器”,搜索“esp32”,這邊只有一個選項冒出來。我原本就安裝了舊版,反正大家直接安裝其最新版本即可。


過程確實是有一點久,大家可以先掛在這邊去做別的事情。


下載完成後,就可以在開發板的選項中找到我們的板子了。



燒錄測試程序

1、編譯程序

新建程序,並將如下程序復制並 CTRL+A 粘貼在Arduino IDE中,覆蓋掉原本的新建程序模板。


//***************************************************************/ 

// 

//           -------------------------------------------

//           board: ESP32C3 Dev Module

//           Flash Mode: "DIO"

//           -------------------------------------------

//

//***************************************************************/ 

#define     LED_D4     12

#define     LED_D5     13


void setup() {

  Serial.begin(115200);

  pinMode(LED_D4, OUTPUT);

  pinMode(LED_D5, OUTPUT);

}



void loop() {

  Serial.println("Hello world!");

  digitalWrite(LED_D4, LOW);

  digitalWrite(LED_D5, HIGH);

  delay(500);

  digitalWrite(LED_D4, HIGH);

  digitalWrite(LED_D5, LOW);

  delay(500);

}


點擊左上角的“√”,軟件會提示你保存,進行命名並保存在你想要保存的位置即可。左下角顯示編譯完成,就沒有問題了,下一步。


2、連接 & 上傳

用USB Type-C線將ESP32C3-CORE開發板連接到電腦上。在Arduino IDE“工具>>端口”這一欄就有對應的COM口顯示了,選擇對應的COM口即可。

這個COM口會因為你插入的USB口不同而改變。你不告訴它,Arduino IDE是不知道你要用哪個口的。在我這裡是COM10,反正你看到有哪個,那就選哪個好了。



需要特別主要的是,合宙LuatOS在ESP32C3-CORE開發板的介紹網站頁尾給出了使用注意事項,其中第3條非常之重要。


使用注意事項(第3條):

IO12(GPIO12)、IO13(GPIO13)在QIO模式下為SPI信號SPIHD和SPIWP復用,為了增加可用GPIO數量,開發板選擇採用2線SPI的 DIO 模式,IO12、IO13並未連接flash,使用自己編譯的軟件時需要注意配置 flash 為 DIO模式。

這意味著,在Arduino IDE進行程序的燒錄時,必須要將Flash Mode配置為 "DIO"模式。


每次下載前,都要確認如下配置是否正確。筆者在上面給出的代碼中的注釋內容就是一個使用筆記,以防止長時間不用該開發板,忘記了開發板的配置。


准備完畢,點擊左上角的“→”圖標進行燒錄。燒錄過程中會在左下角看到燒錄進度的百分比,達到100%之後會有如下提示:


Leaving...

Hard resetting via RTS pin...


於是燒錄完成,就可以看到板子上的兩個指示燈D4和D5在間隔0.5秒地交替亮滅。

這裡需要提一嘴,雖然板子上標注的LED名稱是D4和D5,但在合宙LuatOS給出的資料中,D4對應的是IO12,D5對應的是IO13。筆者最開始在寫測試程序的時候就是沒有注意到這一點,結果調試了很久。


LED編號 對應GPIO 管腳功能 描述

D4 IO12 GPIO12配置 高電平有效

D5 IO13 GPIO13配置 高電平有效


在Arduino IDE內按下“CTRL+SHIFT+M”快捷鍵,打開串口監視器,可以在115200波特率下看到ESP32C3-CORE開發板傳來的“Hello world!”訊息。



至此,你就已經完成了ESP32C3-CORE開發板的“點燈儀式”,正式開啟了你學習和使用ESP32C3-CORE開發板的大門!祝你學習愉快!


採購資訊

露天[S&R] https://www.ruten.com.tw/item/show?22220093941846

露天[DWG] https://www.ruten.com.tw/item/show?22220093908760

蝦皮 https://shopee.tw/-RWG-%E5%85%A8%E6%96%B0-%E7%8F%BE%E8%B2%A8-ESP32C3-ESP32-C3-%E9%96%8B%E7%99%BC%E6%9D%BF-i.14363185.16869338479?sp_atk=b8da6dd4-27a4-45ed-a373-0c43165d8ec9&xptdk=b8da6dd4-27a4-45ed-a373-0c43165d8ec9