“杨晨-2018013294-2021A-M08-92-WW8”版本间的差异
来自iCenter Wiki
(相同用户的4个中间修订版本未显示) | |||
第1行: | 第1行: | ||
20211102 | 20211102 | ||
+ | |||
1. 快速利用树莓派创建智能硬件的网站:http://www.smartpi.cn/#/SdkVersionList | 1. 快速利用树莓派创建智能硬件的网站:http://www.smartpi.cn/#/SdkVersionList | ||
2. Win-SCP可以把写好的程序导入树莓派的板子(记得提前与树莓派连接同一个wifi) | 2. Win-SCP可以把写好的程序导入树莓派的板子(记得提前与树莓派连接同一个wifi) | ||
− | 3. | + | 3. RGB LED三色灯的程序(书52页)经过漫长debug后终于成功运行,主要的问题有:小括号中括号不分,大小写不分,缺失关键语句等等。运行的语句为:python RGB-yc.py。最终成功的程序如下: |
− | + | *Python版本 | |
− | + | import RPi.GPIO as GPIO | |
− | import RPi.GPIO as GPIO | + | import time |
− | import time | + | colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF] |
− | colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF] | + | makerobo_R = 11 |
− | makerobo_R = 11 | + | makerobo_G = 12 |
− | makerobo_G = 12 | + | makerobo_B = 13 |
− | makerobo_B = 13 | + | def makerobo_setup (Rpin, Gpin, Bpin): |
− | def makerobo_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) | |
− | + | GPIO.setwarnings(False) | |
− | + | for i in pins: | |
− | + | GPIO.setup(pins[i], GPIO.OUT) | |
− | + | GPIO.output(pins[i], GPIO.LOW) | |
− | + | p_R = GPIO.PWM(pins['pin_R'],2000) | |
− | + | p_G = GPIO.PWM(pins['pin_G'],1999) | |
− | + | p_B = GPIO.PWM(pins['pin_B'],5000) | |
− | + | p_R.start(0) | |
− | + | p_G.start(0) | |
− | + | p_B.start(0) | |
− | + | def makerobo_pwm_map(x, in_min, in_max, out_min, out_max): | |
− | 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_min |
− | + | def makerobo_off(): | |
− | def makerobo_off(): | + | GPIO.setmode (GPIO.BOARD) |
− | + | for i in pins: | |
− | + | GPIO.setup(pins[i], GPIO.OUT) | |
− | + | GPIO.output(pins[i], GPIO.LOW) | |
− | + | def makerobo_set_Color(col): | |
− | def makerobo_set_Color(col): | + | R_val = (col & 0xff0000) >> 16 |
− | + | G_val = (col & 0x00ff00) >> 8 | |
− | + | B_val = (col & 0x0000ff) >> 0 | |
− | + | R_val = makerobo_pwm_map (R_val, 0, 255, 0, 100) | |
− | + | G_val = makerobo_pwm_map (G_val, 0, 255, 0, 100) | |
− | + | B_val = makerobo_pwm_map (B_val, 0, 255, 0, 100) | |
− | + | p_R.ChangeDutyCycle(100-R_val) | |
− | + | p_G.ChangeDutyCycle(100-G_val) | |
+ | p_B.ChangeDutyCycle(100-B_val) | ||
+ | def makerobo_loop(): | ||
+ | while True: | ||
+ | for col in colors: | ||
+ | makerobo_set_Color(col) | ||
+ | time.sleep(1) | ||
+ | def makerobo_destoy(): | ||
+ | p_R.stop() | ||
+ | p_G.stop() | ||
+ | p_B.stop() | ||
+ | makerobo_off() | ||
+ | GPIO.cleanup() | ||
+ | if __name__ == "__main__": | ||
+ | try: | ||
+ | makerobo_setup(makerobo_R, makerobo_G, makerobo_B) | ||
+ | makerobo_loop() | ||
+ | except KeyboardInterrupt: | ||
+ | makerobo_destroy() | ||
− | + | 4. 智能台灯:在网站上设计后把SDK文件下载解压,烧入智能台灯的语音识别板块。以下文件需要先导入树莓派才能正常使用: | |
− | + | *Python版本的程序 | |
− | + | import RPi.GPIO as GPIO | |
− | + | import time | |
− | + | GPIO.setmode(GPIO.BCM) | |
− | + | GPIO.setup(25,GPIO.IN) | |
− | + | GPIO.setup(26,GPIO.IN) | |
− | + | GPIO.setup(5,GPIO.OUT) | |
− | + | GPIO.setup(6,GPIO.OUT) | |
− | + | while True: | |
− | + | input1 = GPIO.input(25) | |
− | + | input2 = GPIO.input(26) | |
− | + | if(input1 == True): | |
− | + | GPIO.output(5,GPIO.HIGH) | |
− | if | + | else: |
− | + | GPIO.output(5,GPIO.LOW) | |
− | + | if(input2 == True): | |
− | + | GPIO.output(6,GPIO.HIGH) | |
− | + | else: | |
− | + | GPIO.output(6,GPIO.LOW) |
2021年11月2日 (二) 05:34的最后版本
20211102
1. 快速利用树莓派创建智能硬件的网站:http://www.smartpi.cn/#/SdkVersionList
2. Win-SCP可以把写好的程序导入树莓派的板子(记得提前与树莓派连接同一个wifi)
3. RGB LED三色灯的程序(书52页)经过漫长debug后终于成功运行,主要的问题有:小括号中括号不分,大小写不分,缺失关键语句等等。运行的语句为:python RGB-yc.py。最终成功的程序如下:
- Python版本
import RPi.GPIO as GPIO import time colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x00FFFF] makerobo_R = 11 makerobo_G = 12 makerobo_B = 13 def makerobo_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) GPIO.setwarnings(False) for i in pins: GPIO.setup(pins[i], GPIO.OUT) GPIO.output(pins[i], GPIO.LOW) p_R = GPIO.PWM(pins['pin_R'],2000) p_G = GPIO.PWM(pins['pin_G'],1999) p_B = GPIO.PWM(pins['pin_B'],5000) p_R.start(0) p_G.start(0) p_B.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_min def makerobo_off(): GPIO.setmode (GPIO.BOARD) for i in pins: GPIO.setup(pins[i], GPIO.OUT) GPIO.output(pins[i], GPIO.LOW) def makerobo_set_Color(col): R_val = (col & 0xff0000) >> 16 G_val = (col & 0x00ff00) >> 8 B_val = (col & 0x0000ff) >> 0 R_val = makerobo_pwm_map (R_val, 0, 255, 0, 100) G_val = makerobo_pwm_map (G_val, 0, 255, 0, 100) B_val = makerobo_pwm_map (B_val, 0, 255, 0, 100) p_R.ChangeDutyCycle(100-R_val) p_G.ChangeDutyCycle(100-G_val) p_B.ChangeDutyCycle(100-B_val) def makerobo_loop(): while True: for col in colors: makerobo_set_Color(col) time.sleep(1) def makerobo_destoy(): p_R.stop() p_G.stop() p_B.stop() makerobo_off() GPIO.cleanup() if __name__ == "__main__": try: makerobo_setup(makerobo_R, makerobo_G, makerobo_B) makerobo_loop() except KeyboardInterrupt: makerobo_destroy()
4. 智能台灯:在网站上设计后把SDK文件下载解压,烧入智能台灯的语音识别板块。以下文件需要先导入树莓派才能正常使用:
- Python版本的程序
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(25,GPIO.IN) GPIO.setup(26,GPIO.IN) GPIO.setup(5,GPIO.OUT) GPIO.setup(6,GPIO.OUT) while True: input1 = GPIO.input(25) input2 = GPIO.input(26) if(input1 == True): GPIO.output(5,GPIO.HIGH) else: GPIO.output(5,GPIO.LOW) if(input2 == True): GPIO.output(6,GPIO.HIGH) else: GPIO.output(6,GPIO.LOW)