Chủ Nhật, 5 tháng 11, 2023

ĐIỀU KHIỂN ĐÈN LED BẰNG RASPBERRY PI VÀ PYTHON

 

ĐIỀU KHIỂN ĐÈN LED BẰNG RASPBERRY PI VÀ PYTHON


Phần cứng

  • Raspberry Pi 4B được cài đặt hệ điều hành Raspberry Pi

  • LED (1 cái)

  • Điện trở 330 Ohms (1 cái)

  • Dây nối

  • Breadboard


https://www.circuitbasics.com/wp-content/uploads/2021/08/connecting-an-led-to-rpi-2.png




https://www.circuitbasics.com/wp-content/uploads/2021/08/connecting-an-led-to-rpi-conn-1.png

Chương trình mẫu

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

GPIO.setwarnings(False)

GPIO.setup(14,GPIO.OUT)

# While loop

while True:

        # set GPIO14 pin to HIGH

        GPIO.output(14,GPIO.HIGH)

        # show message to Terminal

        print ("LED is ON")

        # pause for one second

        time.sleep(1)

        # set GPIO14 pin to HIGH

        GPIO.output(14,GPIO.LOW)

        # show message to Terminal

        print ("LED is OFF")

        # pause for one second

        time.sleep(1)

Bảng kết quả

Raspberry Pi: Đo độ ẩm và nhiệt độ với DHT11 / DHT22


Phần cứng

 Sơ đồ kết nối chân

Cấu tạo cảm biến độ ẩm / nhiệt độ Raspberry Pi

  • Chân kết nối data là chân GPIO4

Cài đặt và kiểm tra phần mềm độ ẩm Raspberry Pi

sudo apt-get update

sudo apt-get install build-essential python-dev python-openssl git


Cài đặt thư viện cảm biến Adfruit

sudo pip3 install adafruit-circuitpython-dht 

sudo apt-get install libgpiod2



Tạo tệp tin DHT11.py

import time

import board

import adafruit_dht

# Initial the dht device, with data pin connected to:

# dhtDevice = adafruit_dht.DHT11(board.D4)

# you can pass DHT11 use_pulseio=False if you wouldn't like to use pulseio.

# This may be necessary on a Linux single board computer like the Raspberry Pi,

# but it will not work in CircuitPython.

dhtDevice = adafruit_dht.DHT11(board.D4, use_pulseio=False)

 

while True:

    try:

        # Print the values to the serial port

        temperature_c = dhtDevice.temperature

        temperature_f = temperature_c * (9 / 5) + 32

        humidity = dhtDevice.humidity

        print(

            "Temp: {:.1f} F / {:.1f} C    Humidity: {}% ".format(

                temperature_f, temperature_c, humidity

            )

        )

    except RuntimeError as error:

        # Errors happen fairly often, DHT's are hard to read, just keep going

        print(error.args[0])

        time.sleep(2.0)

        continue

    except Exception as error:

        dhtDevice.exit()

        raise error

    time.sleep(2.0)


Kết quả trả về 




Sơ đồ chân LCD Rasberry PI


i2cdetect doesn't catch ANY address (no device detection) - Raspberry Pi  Forums



Cài đặt thư viện

sudo pip3 install rpi_lcd

Chương Trình Mẫu


from signal import signal, SIGTERM, SIGHUP, pause

from rpi_lcd import LCD

lcd = LCD()

def safe_exit(signum, frame):

    exit(1)

try:

    signal(SIGTERM, safe_exit)

    signal(SIGHUP, safe_exit)

    lcd.text("Hello,", 1)

    lcd.text("Raspberry Pi!", 2)

    pause()

except KeyboardInterrupt:

    pass

finally:

    lcd.clear()

s

Kết quả


Hiển thị ngày giờ trên LCD


from signal import signal, SIGTERM, SIGHUP, pause

from rpi_lcd import LCD

lcd = LCD()

import time

def safe_exit(signum, frame):

    exit(1)

try:

    signal(SIGTERM, safe_exit)

    signal(SIGHUP, safe_exit)

    lcd.text("Time: %s" %time.strftime("%H:%M:%S"), 1)

    lcd.text("Date: %s" %time.strftime("%m/%d/%Y"), 2)

    pause()

except KeyboardInterrupt:

    pass

finally:

    lcd.clear()


GIAO TIẾP GIỮA CẢM BIẾN CHUYỂN ĐỘNG PIR VỚI GPIO ĐẦU VÀO CỦA RASPBERRY PI

Đọc ngay bây giờ , chúng ta có thể thử đọc đầu ra từ cảm biến chuyển động PIR. Cảm biến xuất ra tín hiệu CAO (5V) kỹ thuật số khi phát hiện có người. Sao chép và dán mã sau vào Raspberry Pi của bạn và lưu nó dưới dạng tệp Python: pirtest.py: 

import RPi.GPIO as GPIO

import time

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.IN)         #Read output from PIR motion sensor

GPIO.setup(3, GPIO.OUT)         #LED output pin

while True:

i=GPIO.input(11)

if i==0:                 #When output from motion sensor is LOW

print "No intruders",i

GPIO.output(3, 0)  #Turn OFF LED

time.sleep(0.1)

elif i==1:               #When output from motion sensor is HIGH

print "Intruder detected",i

GPIO.output(3, 1)  #Turn ON LED

time.sleep(0.1)

https://maker.pro/storage/EzxREB4/EzxREB4bXOA0oJSqedw9TS24cUz9bPJPFpcdVldA.jpeg


https://maker.pro/storage/xO4cooX/xO4cooX8woFXbeNrsRGK4U0cBbvLJgZxKWwrJrOX.jpeg

Chân cảm biến chuyển động PIR

https://maker.pro/storage/JwIzkUi/JwIzkUiuQaigCJWD8AyzNwDDt5Urtg0UAsi8R7WT.jpeg

Núm điều chỉnh cảm biến chuyển động PIR


Cài đặt Arduino IDE trên Raspberry Pi


Cài đặt Arduino IDE trên Raspberry Pi

Cài đặt Arduino IDE trên Hệ điều hành Raspberry Pi

sudo apt install Arduino

Kết quả


Mở giao diện Arduino

Mở chương trình Arduino IDE trên hệ điều hành Raspberry Pi

 Giao diện Arduino IDE


Giao tiếp Arduino với Raspberry Pi


Sau khi kết nối đã được thực hiện, bạn có thể kiểm tra các thiết bị được kết nối với cổng nối tiếp bằng cách nhập lệnh trong thiết bị đầu cuối:

lsusb

dmesg | grep "tty"

Cài đặt phiên bản cao hơn

mkdir ~/Applications cd ~/Applications wget https://downloads.arduino.cc/arduino-1.8.9-linuxarm.tar.xz tar xvJf arduino-1.8.9-linuxarm.tar.xz cd arduino-1.8.9/ ./install.sh rm ../arduino-1.8.9-linuxarm.tar.xz


Không có nhận xét nào:

Đăng nhận xét