三色灯及蜂鸣器

一、实验目的

三色LED灯及蜂鸣器测试。

二、实验材料

2.1、LED灯的电路

三色灯及蜂鸣器

蜂鸣器和led灯

2.2、硬件

1)树莓派3b+ 主板  1块

2)扩展板                  1块

3)数据线                若干

4)三色led灯板        1个

三、硬件连接

3.1、树莓派扩展板图

三色灯及蜂鸣器

树莓派扩展板

注释含义:

1)序号,1,2,3,4.。。。。。,是对应J1的引脚序号,用这个序号可以在树莓派4上使用。

2)注释:每一个引脚对应的功能含义。

3)插针是每5个一组,横着联通,含义相同。

3.2、线路连接方法

1)三色灯板的VCC(电源+)连接到扩展的3.3V(1脚)上。

2)三色灯板 的Red(红色)连接到扩展的IO0(11脚)上。

3)三色灯板 的Greed(黄)连接到扩展的GPIO1(12脚)上。

4)三色灯板 的Blue(蓝色)连接到扩展的IO2(13脚)上。

四、电路及器件分析

4.1、

五、软件代码分析

5.1、软件配置

5.2、python 代码

#!/usr/bin/env python

import RPi.GPIO as GPIO

import time

colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF]

R = 11

G = 12

B = 13

def setup(Rpin, Gpin, Bpin):

global pins

global p_R, p_G, p_B

pins = {‘pin_R’: Rpin, ‘pin_G’: Gpin, ‘pin_B’: Bpin}

GPIO.setmode(GPIO.BOARD)      # Numbers GPIOs by physical location

for i in pins:

GPIO.setup(pins[i], GPIO.OUT)  # Set pins’ mode is output

GPIO.output(pins[i], GPIO.HIGH) # Set pins to high(+3.3V) to off led

p_R = GPIO.PWM(pins[‘pin_R’], 2000)  # set Frequece to 2KHz

p_G = GPIO.PWM(pins[‘pin_G’], 1999)

p_B = GPIO.PWM(pins[‘pin_B’], 5000)

p_R.start(100)      # Initial duty Cycle = 0(leds off)

p_G.start(100)

p_B.start(100)

def map(x, in_min, in_max, out_min, out_max):

return (x – in_min) * (out_max – out_min) / (in_max – in_min) + out_min

def off():

for i in pins:

GPIO.output(pins[i], GPIO.HIGH)    # Turn off all leds

def setColor(col):  # For example : col = 0x112233

R_val = (col & 0xff0000) >> 16

G_val = (col & 0x00ff00) >> 8

B_val = (col & 0x0000ff) >> 0

R_val = map(R_val, 0, 255, 0, 100)

G_val = map(G_val, 0, 255, 0, 100)

B_val = map(B_val, 0, 255, 0, 100)

p_R.ChangeDutyCycle(100-R_val)    # Change duty cycle

p_G.ChangeDutyCycle(100-G_val)

p_B.ChangeDutyCycle(100-B_val)

def loop():

while True:

for col in colors:

setColor(col)

time.sleep(1)

def destroy():

p_R.stop()

p_G.stop()

p_B.stop()

off()

GPIO.cleanup()

if __name__ == “__main__”:

try:

setup(R, G, B)

loop()

except KeyboardInterrupt:

destroy()

六、联系方式:

6.1、淘宝链接

https://shop33987716.taobao.com/shop/view_shop.htmracelog=twddp&user_number_id=38189558

6.2、  QQ群:

671854013(艺达的小车)

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208252 人正在系统学习中

来源:yidaCar

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月20日
下一篇 2021年8月20日

相关推荐