STEM STUDY

Nghiên cứu & phát triển (R&D) về các lĩnh vực IoT, Robotics, Trí tuệ nhân tạo (AI), 3D Printing, ứng dụng website và các ứng dụng di động. Website: http://www.itr.com.vn

6. October 2018 23:24
by ĐÀO TƯỜNG SƠ
0 Comments

Raspberry Pi - Dự án 06: Điều khiển Led RGB bằng giao diện thanh trượt

6. October 2018 23:24 by ĐÀO TƯỜNG SƠ | 0 Comments

1. Linh kiện:

- 1 bộ Raspberry Pi

- 1 con Led RGB có cực chung âm

- 1 cái bo cắm và dây cắm

2. Sơ đồ kết nối

- Chân Red nối với cổng 18 của RPi

- Chân Green nối với cổng 23 của RPi

- Chân Blue nối với cổng 24 của RPi

- Cổng chung nối với GND của RPi

Lưu ý: Chân dài nhất của Led RGB là chân chung. Thứ tự các chân như sau: Red, Com, Green, Blue

3. Mã lệnh Python: tạo file mới có tên gui_sliderRGB.py

from Tkinter import *
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)

pwmRed = GPIO.PWM(18, 500)
pwmRed.start(100)

pwmGreen = GPIO.PWM(23, 500)
pwmGreen.start(100)

pwmBlue = GPIO.PWM(24, 500)
pwmBlue.start(100)

class App:

     def __init__(self, master):
          frame = Frame(master)
          frame.pack()
          Label(frame, text='Red').grid(row=0, column=0)
          Label(frame, text='Green').grid(row=1, column=0)
          Label(frame, text='Blue').grid(row=2, column=0)
          scaleRed = Scale(frame, from_=0, to=100orient=HORIZONTAL, command=self.updateRed)
          scaleRed.grid(row=0, column=1)
          scaleGreen = Scale(frame, from_=0, to=100, orient=HORIZONTAL, command=self.updateGreen)
          scaleGreen.grid(row=1, column=1)
          scaleBlue = Scale(frame, from_=0, to=100orient=HORIZONTAL, command=self.updateBlue)
          scaleBlue.grid(row=2, column=1)

     def updateRed(self, duty):
          pwmRed.ChangeDutyCycle(float(duty))

     def updateGreen(self, duty):
          pwmGreen.ChangeDutyCycle(float(duty))

     def updateBlue(self, duty):
         pwmBlue.ChangeDutyCycle(float(duty))

root = Tk()
root.wm_title('RGB LED Control')
app = App(root)
root.geometry("200x150+0+0")
root.mainloop()

 

4. Chạy chương trình

sudo python gui_sliderRGB.py

Yesterday, while I was at work, my sister stole my iPad and tested to see if it can survive a 30 foot drop, just so she can be a youtube sensation. My iPad is now broken and she has 83 views. I know this is totally off topic but I had to share it with someone!

Add comment