001-安裝及設定+驅動+載入模組+舵機+藍芽

回覆文章
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

001-安裝及設定+驅動+載入模組+舵機+藍芽

文章 cajhbb »

001-安裝及設定
001-A.Python 整合開發環境 Thonny
下載安裝 https://thonny.org/
2021-11-19_210546.png
2021-11-19_210546.png (44.75 KiB) 已瀏覽 1470 次
下載驅動程式http://www.wch.cn/downloads/CH341SER_EXE.html ESP32的驅動程式
2021-11-20_104627.jpg
2021-11-20_104627.jpg (38.15 KiB) 已瀏覽 1463 次
提供的版本為esp32-20210902-v1.17
2021-11-20_104747.jpg
2021-11-20_104747.jpg (42.99 KiB) 已瀏覽 1463 次
範例程式下載http://www.flag.com.tw/download?FM631A
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

LAB01-2(Led閃爍)+舵機

文章 cajhbb »

ESP32內建藍色LED燈(第五腳位)令其閃爍

代碼: 選擇全部

#從 machine 模組匯入 Pin 物件
from machine import Pin
#匯入時間相關的time模組
import time

#建立 5 號腳位的 Pin 物件, 設定為腳位輸出, 命名為 led
led = Pin(5,Pin.OUT)

while True:
    led.value(1)     #熄滅 LED 燈
    time.sleep(0.5)  #暫停 0.5 秒
    led.value(0)     #點亮 LED 燈
    time.sleep(0.5)  #暫停 0.5 秒
2021-12-28_164635.jpg
2021-12-28_164635.jpg (46 KiB) 已瀏覽 1432 次
數位輸入 Button 控制 LED bt_led.py
https://youtu.be/V95gu3xWHqU

代碼: 選擇全部

from machine import Pin
p16=Pin(16,Pin.OUT)
p17=Pin(17,Pin.IN,Pin.PULL_UP)
while True:
    if (p17.value()==0):
        p16.value(1)
    else:
        p16.value(0)
2021-11-20_213815.png
2021-11-20_213815.png (173.89 KiB) 已瀏覽 1445 次
模組的使用(class類別)-----舵機控制匯入模組的方法----
2021-11-20_113942.png
2021-11-20_113942.png (36.81 KiB) 已瀏覽 1458 次

代碼: 選擇全部

#從servo.py模組匯入Sero類別<--class Servo:
from servo import Servo
#從 machine 模組匯入 Pin 物件
from machine import Pin
##匯入時間相關的time模組
import time
while True:
    # 建立伺服馬達物件
    my_servo = Servo(Pin(22))
    # 轉至 0 度
    my_servo.write_angle(0)
    time.sleep(2)
    # 轉至 90 度
    my_servo.write_angle(90)
    time.sleep(2)
https://youtu.be/Bc-jjXhR_Fs
2079.jpg
2079.jpg (69.62 KiB) 已瀏覽 1453 次
2078.jpg
2078.jpg (19.86 KiB) 已瀏覽 1453 次
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

藍芽

文章 cajhbb »

藍芽簡介
經典藍芽:Bluetooth Classic

1.傳聲音
如藍芽耳機、藍芽音箱。藍芽設計的時候就是為了傳聲音的,所以是近距離的音訊傳輸的不二選擇。
現在也有基於WIFI的音訊傳輸方案,例如Airplay等,但是WIFI功耗比藍芽大很多,裝置無法做到便攜。
因此固定的音響有WIFI的,移動的如耳機、便攜音箱清一色都是基於經典藍芽協議的。

2.傳大量資料
例如某些工控場景,使用Android或Linux主控,外掛藍芽遙控裝置的,
可以使用經典藍芽裡的SPP協議,當作一個無線串列埠使用。速度比BLE傳輸快多了。
這裡要注意的是,iPhone沒有開放

BLE藍芽:Bluetooth Low Energy

耗電低,資料量小,如遙控類(滑鼠、鍵盤),感測裝置(心跳帶、血壓計、溫度感測器、共享單車鎖、智慧鎖、防丟器、室內定位)
是目前手機和智慧硬體通訊的價效比最高的手段,直線距離約50米,一節5號電池能用一年,傳輸模組成本10塊錢,遠比WIFI、4G等大資料量的通訊協議更實用。
藍芽-門鎖遙器
1.上傳藍芽模組-->上傳 ble_uart.py-->匯入 BLE_UART
2.Play商店 安裝nrf connect
2022-01-28_111100.png
2022-01-28_111100.png (45.55 KiB) 已瀏覽 1405 次
2022-01-28_110739.png
2022-01-28_110739.png (8.69 KiB) 已瀏覽 1405 次

代碼: 選擇全部

from ble_uart import BLE_UART
from servo import Servo
from machine import Pin

# 建立伺服馬達物件
my_servo = Servo(Pin(22))
# 建立藍牙物件
ble = BLE_UART("door_lock")

while True:
    getValue = ble.get()
    # 將取得的英文字母都更改為小寫
    getValue = getValue.lower()
    if(getValue == "open"):  
        # 轉至 0 度
        my_servo.write_angle(0)
        print("開啟")
    if(getValue == "close"):
        # 轉至 90 度
        my_servo.write_angle(180)
        print("關閉")
https://youtu.be/VXqbbYeTdwY
回覆文章