600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 树莓派学习002_双色LED灯实验

树莓派学习002_双色LED灯实验

时间:2020-03-31 09:03:17

相关推荐

树莓派学习002_双色LED灯实验

一、实验流程

首先,通过运行一个简单的例程来感受一下树莓派编程烧录的过程。

S1、开机,新建名为CLBDEMO的文件夹。

使用VNC工具远程操作(注意:电脑和树莓派需连接同一个热点)。

S2、传输文件。

使用FileZilla软件传输电脑上的例程至树莓派中。

用户需填写主机的ip地址、树莓派的用户名和密码以及端口号,点击快速连接即可建立树莓派和电脑的文件传输的桥梁。如下图所示,左下角部分的文件夹是电脑内的文件夹,右下角的文件夹是树莓派内的文件夹,拖动,即可实现操作。

S3、用Geany打开C文件,设置生成命令(项目选项卡中)

S4、编译,生成,运行

S5、Ctrl+C,退出运行

S6、用mu软件打开python文件

S7、运行,停止

若忘记停止运行,可选择附件-任务管理器,右击-终止。

S8、关机

二、实验解析

1、双色LED灯模块原理图

2、树莓派管脚图

3、接线图

4、Python源代码

#!/usr/bin/env python3# -*- coding: utf-8 -*-# ----湖南创乐博智能科技有限公司----# 文件名:01_Dule_color_LED.py# 版本:V2.0# author: zhulin# 说明:双色LED实验#---------------------------------------import RPi.GPIO as GPIOimport timecolors = [0xFF00, 0x00FF, 0x0FF0, 0xF00F]makerobo_pins = (11, 12) # PIN管脚字典GPIO.setmode(GPIO.BOARD)# 采用实际的物理管脚给GPIO口GPIO.setwarnings(False)# 去除GPIO口警告GPIO.setup(makerobo_pins, GPIO.OUT) # 设置Pin模式为输出模式GPIO.output(makerobo_pins, GPIO.LOW) # 设置Pin管脚为低电平(0V)关闭LEDp_R = GPIO.PWM(makerobo_pins[0], 2000) # 设置频率为2KHzp_G = GPIO.PWM(makerobo_pins[1], 2000) # 设置频率为2KHz# 初始化占空比为0(led关闭)p_R.start(0)p_G.start(0)def makerobo_pwm_map(x, in_min, in_max, out_min, out_max):return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_mindef makerobo_set_Color(col): # 例如:col = 0x1122R_val = col >> 8G_val = col & 0x00FF# 把0-255的范围同比例缩小到0-100之间R_val = makerobo_pwm_map(R_val, 0, 255, 0, 100)G_val = makerobo_pwm_map(G_val, 0, 255, 0, 100)p_R.ChangeDutyCycle(R_val)# 改变占空比p_G.ChangeDutyCycle(G_val)# 改变占空比# 调用循环函数def makerobo_loop():while True:for col in colors:makerobo_set_Color(col)time.sleep(0.5)# 释放资源def makerobo_destroy():p_G.stop()p_R.stop()GPIO.output(makerobo_pins, GPIO.LOW) # 关闭所有LEDGPIO.cleanup()# 释放资源# 程序入口if __name__ == "__main__":try:makerobo_loop() # 调用循环函数except KeyboardInterrupt: # 当按下Ctrl+C时,将执行destroy()子程序。makerobo_destroy() # 释放资源

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。