Đ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
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
Breadboard và dây nối
Sơ đồ kết nối chân
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
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)
Chân cảm biến chuyển động PIR
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 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