国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP32(MicroPython) RGB點(diǎn)陣+多功能顯示+可交互超聲波云臺

這篇具有很好參考價(jià)值的文章主要介紹了ESP32(MicroPython) RGB點(diǎn)陣+多功能顯示+可交互超聲波云臺。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

ESP32 RGB點(diǎn)陣+多功能顯示+可交互超聲波云臺

本程序通過LCD1602顯示濕度和距離數(shù)據(jù)。超聲波云臺在超聲波傳感器檢測到距離小于15厘米時(shí)順時(shí)針轉(zhuǎn)動,距離大于15厘米時(shí)逆時(shí)針轉(zhuǎn)動實(shí)現(xiàn)交互。WS2812點(diǎn)陣每320ms顯示隨機(jī)顏色(每個(gè)燈的顏色分開取值),通過五向?qū)Ш桨存I控制亮度和開關(guān)。

代碼如下文章來源地址http://www.zghlxwxcb.cn/news/detail-514597.html

'''
  舵機(jī)-->(22)
  (Trig)-->(5)
  (Echo)-->(18)
  SCL-->16
  SDA-->17
  DS-->27
   WS-->(13)
'''

#導(dǎo)入Pin模塊
from machine import Pin
import time
from servo import Servo
from machine import Timer
from hcsr04 import HCSR04
from neopixel import NeoPixel
import random
from machine import ADC
from machine import Pin,I2C
from i2c_lcd import I2cLcd
import dht

#定義HCSR04控制對象
hcsr04=HCSR04(trigger_pin=5, echo_pin=18)
#定義SG90舵機(jī)控制對象
servo = Servo(Pin(22))
#定義DHT22控制對象
dht22=dht.DHT22(Pin(27))
#定義RGB控制對象
#控制引腳為13,RGB燈串聯(lián)5個(gè)
pin=13
rgb_num=64
rgb_led=NeoPixel(Pin(pin,Pin.OUT),rgb_num)
# LCD 1602 I2C 地址
DEFAULT_I2C_ADDR = 0x27
# 初始化GPIO口
# def setup():
# global lcd
i2c = I2C(1,sda=Pin(17),scl=Pin(16),freq=400000)
lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16)  # 初始化(設(shè)備地址, 背光設(shè)置)
#定義按鍵控制對象
key1=Pin(12,Pin.IN,Pin.PULL_UP)
key2=Pin(14,Pin.IN,Pin.PULL_UP)
key3=Pin(26,Pin.IN,Pin.PULL_UP)
key4=Pin(25,Pin.IN,Pin.PULL_UP)
key5=Pin(33,Pin.IN,Pin.PULL_UP)
key6=Pin(32,Pin.IN,Pin.PULL_UP)

key_en=1
#按鍵掃描函數(shù)
def key_scan():
    global key_en
    if key_en==1 and (key1.value()==0 or key2.value()==0 or key3.value()==0 or key4.value()==0 or
                      key5.value()==0 or key6.value()==0  ):
        time.sleep_ms(10)
        key_en=0
        if key1.value()==0:
            return 1
        elif key2.value()==0:
            return 2
        elif key3.value()==0:
            return 3
        elif key4.value()==0:
            return 4
        elif key5.value()==0:
            return 5
        elif key6.value()==0:
            return 6
    elif (key1.value()==1 and key2.value()==1 and key3.value()==1 and key4.value()==1 and
          key5.value()==1 and key6.value()==1  ) :
        key_en=1
    return 0

brightness=18
delay=40
mode=1
def key_get(): #獲取鍵值并改變變量的值
    global brightness
    global delay
    global mode
    key=key_scan()
    if key==1 and brightness<60 :
        brightness+=6
    elif key==2 and brightness>6 :
        brightness-=6
    elif key==3 and delay<90 :
        delay+=10
    elif key==4 and delay>10 :
        delay-=10
    elif key==5 and mode<1 :
        mode+=1
    elif key==6 and mode>0 :
        mode-=1     

b=0
c=120
g=0
h=0
humi=99
k=0
l=0
m=0
servo.write_angle(c)
#定時(shí)器0中斷函數(shù)
def time0_irq(time0):
    global b
    global c
    global g
    global h
    global k
    global l
    global m
    global humi
    global brightness
    global delay
    global mode
    key_get()
    distance=hcsr04.distance_cm()
    if distance>15 and c<=120:  
        c+=2
        servo.write_angle(c)
    if distance<15 and distance>=0 and c>=60:
        c-=2
        servo.write_angle(c)
    g+=1
    m+=1
    if g==8 : #每8個(gè)周期RGB燈隨機(jī)變色,屏幕刷新
        g=0
        if mode==1 :
            for i in range(rgb_num):
                d=random.randint(0,brightness)
                e=random.randint(0,brightness)
                f=random.randint(0,brightness)
                rgb_led[i]=(d, e, f)
            rgb_led.write()
        if mode==0 :
            for i in range(rgb_num):
                rgb_led[i]=(0, 0, 0)
            rgb_led.write()
        lcd.putstr("humidity=%.1f"%humi)       
        lcd.putstr("%  ")
        lcd.putstr("distance=%3d"%distance)
        lcd.putstr("cm  ")

    if m==45: #每45個(gè)周期測量濕度
        m=0
        dht22.measure()  #調(diào)用DHT類庫中測量數(shù)據(jù)的函數(shù)
        humi = dht22.humidity()
       
#程序入口
if __name__=="__main__":
    time0=Timer(0)  #創(chuàng)建time0定時(shí)器對象
    time0.init(period=40,mode=Timer.PERIODIC,callback=time0_irq)
    while True:
        pass

到了這里,關(guān)于ESP32(MicroPython) RGB點(diǎn)陣+多功能顯示+可交互超聲波云臺的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 多功能透明屏,在智能家居領(lǐng)域中,有哪些功能特點(diǎn)?顯示、連接

    多功能透明屏,在智能家居領(lǐng)域中,有哪些功能特點(diǎn)?顯示、連接

    多功能透明屏是一種新型的顯示技術(shù),它能夠在透明的表面上顯示圖像和視頻,并且具有多種功能。 這種屏幕可以應(yīng)用于各種領(lǐng)域,如商業(yè)廣告、智能家居、教育等,為用戶提供更加便捷和多樣化的體驗(yàn)。 首先,多功能透明屏可以用于商業(yè)廣告。傳統(tǒng)的廣告牌通常是單一的

    2024年02月09日
    瀏覽(16)
  • ESP32(MicroPython) 矩陣鍵盤電子琴+RGB燈

    ESP32(MicroPython) 矩陣鍵盤電子琴+RGB燈

    ?本程序相比上一個(gè)矩陣鍵盤電子琴程序增加了一個(gè)矩陣鍵盤,并把三個(gè)矩陣鍵盤的同一行相連,掃描周期縮短到40ms。增加RGB燈帶,每個(gè)周期刷新一個(gè)燈(隨機(jī)顏色)。 代碼如下 #導(dǎo)入Pin模塊 from machine import Pin import time from machine import PWM from neopixel import NeoPixel import random #揚(yáng)聲

    2024年02月09日
    瀏覽(28)
  • 基于STM32的智能門鎖/智能門禁多功能系統(tǒng)

    基于STM32的智能門鎖/智能門禁多功能系統(tǒng)

    本次設(shè)計(jì)是基于STM32F103C8T6(以下C8T6等同)開發(fā)的智能鎖,支持多種方式對系統(tǒng)進(jìn)行操作:藍(lán)牙、指紋、RFID刷卡、4x4鍵盤輸入,擁有友好的藍(lán)牙收發(fā)界面和LCD交互界面。 藍(lán)牙:作為總系統(tǒng)的管理員,有主管理和次管理,主管理只能有一個(gè),副管理員可以有多個(gè)。主管理員擁有

    2024年02月08日
    瀏覽(31)
  • 【Proteus仿真】【STM32單片機(jī)】多功能智能臺燈

    【Proteus仿真】【STM32單片機(jī)】多功能智能臺燈

    本項(xiàng)目使用Proteus8仿真STM32單片機(jī)控制器,使用LCD1604液晶、按鍵、蜂鳴器、語音識別模塊、PCF8591 ADC模塊、DHT11溫濕度傳感器、光線傳感器、臺燈、人體紅外傳感器等。 主要功能: 系統(tǒng)運(yùn)行后,LCD1604液晶顯示溫濕度和光線強(qiáng)度、時(shí)間日期,系統(tǒng)工作模式;系統(tǒng)默認(rèn)為自動模式

    2024年02月07日
    瀏覽(27)
  • 2021校賽基于stm32f103多功能臺燈

    2021校賽基于stm32f103多功能臺燈

    起源 又到了一學(xué)期一次的校內(nèi)電子設(shè)計(jì)大賽,又到了激動人心的時(shí)刻每次電子設(shè)計(jì)大賽都會出現(xiàn)各種大佬展現(xiàn)他們的作品,對于我這種菜鳥也只能默默觀望,但是呢,積極參與還是要有的,記得上一次參加做的基于51的避障小車直接買的套件焊好 然后在燒入程序就直接上戰(zhàn)場

    2023年04月20日
    瀏覽(40)
  • 硬件課程設(shè)計(jì):基于STM32的多功能播放器之MP3音樂播放

    硬件課程設(shè)計(jì):基于STM32的多功能播放器之MP3音樂播放

    3.1.1 設(shè)計(jì)思路 ? ? ? ? 音樂播放是手機(jī)等電子產(chǎn)品最常見的功能,也是最具娛樂性的功能,在該模塊中,我先從SD卡中讀取已存放的MP3音樂文件,然后將讀取的字節(jié)流依次送人VS1053中進(jìn)行解碼和播放,同時(shí)從VS1053相關(guān)的寄存器中讀取音樂播放時(shí)間,在LCD上實(shí)時(shí)顯示歌曲信息。

    2023年04月08日
    瀏覽(17)
  • 基于STM32的多功能門禁系統(tǒng)(AS608指紋識別、密碼解鎖、刷卡解鎖)

    基于STM32的多功能門禁系統(tǒng)(AS608指紋識別、密碼解鎖、刷卡解鎖)

    目錄 一、項(xiàng)目功能 二、視頻 三、原理圖 4、材料選擇 5、部分程序 1、AS608指紋解鎖;可以錄入、刪除、驗(yàn)證指紋; 2、密碼解鎖;可以密碼驗(yàn)證、修改密碼和保存密碼; 3、刷卡解鎖; 4、OLED液晶顯示; 基于STM32的多功能門禁系統(tǒng)(AS608指紋識別、密碼解鎖、刷卡解鎖) AS608指紋

    2024年02月12日
    瀏覽(24)
  • 基于stm32作品設(shè)計(jì):多功能氛圍燈、手機(jī)APP無線控制ws2812,MCU無線升級程序

    基于stm32作品設(shè)計(jì):多功能氛圍燈、手機(jī)APP無線控制ws2812,MCU無線升級程序

    作品嗶哩嗶哩視頻:https://www.bilibili.com/video/BV1Yb4y1a7AQ#reply5536921990 資料鏈接: 藍(lán)牙彩燈v1.01資料鏈接: CSDN: https://download.csdn.net/download/mbs520/25149435 百度網(wǎng)盤: https://pan.baidu.com/s/14Vout7Q2P6JBDZCCd8Gm6w 提取碼:b7it 藍(lán)牙彩燈v1.03資料鏈接: https://download.csdn.net/download/mbs520/25150035 取

    2024年02月09日
    瀏覽(26)
  • ESP32(MicroPython) 四足機(jī)器人(五)功能補(bǔ)充

    本次更新增加了前后傾斜(每次動作交換前部和后部高度)、蹲起與抬腳動作,均位于用于連續(xù)執(zhí)行動作的function函數(shù)中,但實(shí)測抬腳動作需要先啟動function函數(shù)的另一項(xiàng)功能才能正常開啟,代碼檢查無誤,應(yīng)該是MicroPython固件的bug。另外,對于判斷功能,增加了elif語句的使用

    2024年02月15日
    瀏覽(31)
  • 微信小程序 - 超詳細(xì)小程序接入騰訊地圖的完整流程,提供地圖顯示、IP 屬地定位、地理位置名稱、獲取經(jīng)緯度等超多功能示例(可一鍵復(fù)制并運(yùn)行的功能源代碼,詳細(xì)的注釋及常見問題匯總)小白直接上手!

    微信小程序 - 超詳細(xì)小程序接入騰訊地圖的完整流程,提供地圖顯示、IP 屬地定位、地理位置名稱、獲取經(jīng)緯度等超多功能示例(可一鍵復(fù)制并運(yùn)行的功能源代碼,詳細(xì)的注釋及常見問題匯總)小白直接上手!

    網(wǎng)上的教程代碼太亂了,第一次接觸的朋友極其難搞,更別說把功能改造移植到自己的項(xiàng)目中去。 本文站在小白的角度, 實(shí)現(xiàn)了微信小程序開發(fā)中,集成騰訊地圖的詳細(xì)流程及使用方法教程,提供了地圖顯示、IP 屬地定位、當(dāng)前定位的地理位置名稱、當(dāng)前定位的經(jīng)緯度等等

    2024年02月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包