Mục lục:

Điều khiển nhiều đèn LED với Python và các chân GPIO của Raspberry Pi của bạn: 4 bước (có hình ảnh)
Điều khiển nhiều đèn LED với Python và các chân GPIO của Raspberry Pi của bạn: 4 bước (có hình ảnh)

Video: Điều khiển nhiều đèn LED với Python và các chân GPIO của Raspberry Pi của bạn: 4 bước (có hình ảnh)

Video: Điều khiển nhiều đèn LED với Python và các chân GPIO của Raspberry Pi của bạn: 4 bước (có hình ảnh)
Video: Phân tích thanh ghi GPIO trên Raspberry Pi và demo điều khiển Led 2024, Tháng mười một
Anonim
Điều khiển nhiều đèn LED với Python và các Ghim GPIO của Raspberry Pi của bạn
Điều khiển nhiều đèn LED với Python và các Ghim GPIO của Raspberry Pi của bạn

Tài liệu hướng dẫn này trình bày cách điều khiển nhiều chân GPIO trên RaspberryPi của bạn để cấp nguồn cho 4 đèn LED. Nó cũng sẽ giới thiệu cho bạn các tham số và câu lệnh điều kiện trong Python.

Hướng dẫn trước đây của chúng tôi Sử dụng các chân GPIO của Raspberry Pi để điều khiển đèn LED trình bày cách bật và tắt một đèn LED duy nhất bằng cách sử dụng lệnh GPIO.output. Có thể giảng dạy này được xây dựng dựa trên kiến thức đó để dạy bạn cách có được nhiều quyền kiểm soát hơn đối với mạch của mình.

Bước 1: Những gì bạn sẽ cần

Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần

- Một RaspberryPi với Raspbian đã được cài đặt. Bạn cũng cần có thể truy cập Pi bằng Màn hình, Chuột và Bàn phím hoặc thông qua Máy tính Từ xa. Bạn có thể sử dụng bất kỳ mẫu Raspberry Pi nào. Nếu bạn có một trong các kiểu Pi Zero, bạn có thể muốn hàn một số chân tiêu đề vào cổng GPIO.

- Đèn LED đỏ, xanh dương, vàng và xanh lục

- Một bảng mô hình tạo mẫu không hàn

- Điện trở 4 x 330 ohm

- Một số dây nhảy từ Nam đến Nữ

Bước 2: Xây dựng mạch của bạn

Xây dựng mạch của bạn
Xây dựng mạch của bạn
Xây dựng mạch của bạn
Xây dựng mạch của bạn

Xây dựng mạch ở trên trên bảng mạch của bạn đảm bảo rằng không có dây dẫn thành phần nào chạm vào và các đèn LED được kết nối đúng cách.

Làm thế nào để bạn xác định các đạo trình tích cực và tiêu cực (cực) trên đèn LED của bạn? Nếu bạn quan sát kỹ một đèn LED, bạn sẽ thấy nó có hai miếng kim loại nhỏ bên trong vỏ màu. Chúng được gọi là cực dương và cực âm. Cathode là lớn nhất trong số hai và cũng được kết nối với dây dẫn âm của đèn LED.

Khi bạn đã kiểm tra mạch của mình, hãy kết nối cáp jumper với các chân GPIO của Raspberry Pi bằng cách làm theo sơ đồ trên.

Bước 3: Tạo tập lệnh để điều khiển và kiểm tra đèn LED

Tạo tập lệnh để điều khiển và kiểm tra đèn LED
Tạo tập lệnh để điều khiển và kiểm tra đèn LED

Trên Raspberry Pi của bạn, mở IDLE (Menu> Lập trình> Python 2 (IDLE)).

Mở một dự án mới, đi tới Tệp> Tệp Mới. Sau đó, nhập (hoặc sao chép và dán) mã sau:

nhập RPi. GPIO dưới dạng GPIO

thời gian nhập GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, Đúng) time.sleep (3) GPIO.output (17, Sai) time.sleep (1) GPIO.output (18, Đúng) time.sleep (3) GPIO.output (18, Sai) time.sleep (1) GPIO.output (22, Đúng) time.sleep (3) GPIO.output (22, Sai) time.sleep (1) GPIO.output (23, Đúng) time.sleep (3) GPIO. đầu ra (23, Sai)

Lưu dự án của bạn dưới dạng multilights.py (Tệp> Lưu Dưới dạng) trong thư mục Tài liệu Raspberry Pis của bạn.

Trên Raspberry Pi của bạn, mở Thiết bị đầu cuối (Menu> Phụ kiện> Thiết bị đầu cuối) và điều hướng đến thư mục Tài liệu của bạn bằng cách nhập như sau:

cd / home / pi / Documents

Bây giờ bạn có thể chạy tập lệnh mới của mình bằng cách nhập như sau:

python multilights.py

Các đèn sẽ thay đổi lần lượt để bật và tắt. Tập lệnh trên sử dụng lệnh time.sleep để tạo khoảng dừng giữa mỗi bước, làm cho mỗi đèn sáng trong 3 giây và đợi 1 giây trước khi bật đèn tiếp theo.

Bước 4: Thêm tính linh hoạt bằng cách sử dụng các tham số và câu lệnh điều kiện

Bằng cách sử dụng Tham số và Câu lệnh điều kiện, chúng ta có thể làm cho tập lệnh trên linh hoạt hơn nhiều.

Tham số cho phép bạn lưu trữ một giá trị mà bạn có thể sử dụng sau này trong tập lệnh. Các loại giá trị phổ biến nhất là chuỗi (văn bản), số nguyên (số nguyên) hoặc float (số thập phân).

Một câu lệnh có điều kiện sẽ xác định xem một đoạn mã có nên được thực thi hay không bằng cách kiểm tra xem một điều kiện nhất định có được đáp ứng hay không. Điều kiện cũng có thể liên quan đến các tham số.

Mở IDLE trên Raspberry Pi của bạn và mở một dự án mới (Tệp> Tệp mới). Sau đó gõ như sau. Hãy cẩn thận để đảm bảo rằng tất cả các thụt lề (tab) được bao gồm bằng cách sử dụng phím tab:

nhập RPi. GPIO dưới dạng GPIO

thời gian nhập từ sys import argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) if whichled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. output (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, Đúng) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Lưu dự án của bạn dưới dạng Controlllight.py (Tệp> Lưu Dưới dạng) trong thư mục Tài liệu của bạn. Bây giờ, hãy mở Thiết bị đầu cuối (Trình đơn> Phụ kiện> Thiết bị đầu cuối) và nhập lệnh sau:

python controlllight.py b on

Đèn LED thứ hai sẽ bật. Bây giờ gõ như sau:

python controlllight.py b tắt

Đèn LED thứ hai sẽ tắt.

Ở dòng 5, 6, 7 & 8, chúng ta tạo các tham số LEDa, LEDb, LEDc và LEDd để lưu trữ chân GPIO nào chúng ta đã kết nối với LED nào. Điều này cho phép chúng tôi sử dụng các chân GPIO thay thế mà không cần phải thực hiện các thay đổi đáng kể đối với tập lệnh.

Ví dụ: nếu chúng tôi kết nối các đèn LED đầu tiên với chân 3 (GPIO 2), chúng tôi sẽ chỉ cần thay đổi dòng 5 thành như sau:

LEDa = 2

Dòng 4 lưu trữ các giá trị bạn đã nhập sau khi Controlllight.py thành các tham số trong đó (c) và ledaction (bật). Sau đó, tập lệnh sử dụng các tham số này, cùng với một số Câu lệnh có điều kiện để quyết định đèn LED nào sẽ điều khiển và bật hay tắt đèn LED.

Dòng 16 (if ledaction == "on":) là một câu lệnh điều kiện. Các dòng thụt lề theo sau câu lệnh này sẽ chỉ chạy nếu điều kiện của câu lệnh được đáp ứng. Trong trường hợp này, điều kiện là ledaction có chứa văn bản trên.

Bằng cách đọc qua các Câu lệnh có điều kiện khác của tập lệnh, bạn có thể dự đoán điều gì sẽ xảy ra khi bạn nhập lệnh sau vào Terminal không?

python Controlllight.py tất cả trên

Tại sao không thử và đăng câu trả lời của bạn trong phần bình luận bên dưới.

Đề xuất: