Агуулгын хүснэгт:

Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах: 4 алхам (зурагтай)
Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах: 4 алхам (зурагтай)

Видео: Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах: 4 алхам (зурагтай)

Видео: Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах: 4 алхам (зурагтай)
Видео: Raspberry Pi 3: OpenCV (#1) – установка библиотеки (Python 3) 2024, Долдугаар сарын
Anonim
Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах
Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах

Энэхүү зааварчилгаа нь RaspberryPi дээрх 4 LED -ийг асаахын тулд олон GPIO зүүг хэрхэн удирдахыг харуулсан болно. Энэ нь танд Python дахь параметрүүд ба нөхцөлт мэдэгдлүүдийг танилцуулах болно.

LED -ийг удирдахын тулд Raspberry Pi -ийн GPIO зүүг ашиглах талаар бидний өмнөх зааварчилгаа нь GPIO.output командыг ашиглан нэг LED -ийг хэрхэн асаах, унтраахыг харуулдаг. Энэхүү зааварчилгаа нь таны мэдлэгийг үндэслэн хэлхээнийхээ хяналтыг хэрхэн сайжруулах талаар зааж өгөх болно.

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл

- Raspbian -тай аль хэдийн суулгасан RaspberryPi. Та мөн Pi, Monitor, Mouse, Keyboard эсвэл Remote Desktop ашиглан хандах боломжтой байх шаардлагатай. Та Raspberry Pi -ийн ямар ч загварыг ашиглаж болно. Хэрэв танд Pi Zero загварын аль нэг загвар байгаа бол зарим толгойн голыг GPIO порт руу гагнах нь зүйтэй болов уу.

- Улаан, Цэнхэр, Шар, Ногоон LED

- Гагнуургүй прототип хийх талхны самбар

- 4 x 330 ом эсэргүүцэл

- Зарим эрэгтэй, эмэгтэй холбогч утас

Алхам 2: Хүрхээ бүтээх

Цахилгаан хэлхээгээ байгуул
Цахилгаан хэлхээгээ байгуул
Цахилгаан хэлхээгээ байгуул
Цахилгаан хэлхээгээ байгуул

Дээрх хэлхээг талхны тавцан дээрээ тавь, индикаторуудын аль нь ч хүрэхгүй байгаа бөгөөд LED -ийг зөв холбосон эсэхийг шалгаарай.

LED дээрх эерэг ба сөрөг туйлуудыг (туйлшрал) хэрхэн тодорхойлох вэ? Хэрэв та LED -ийг анхааралтай ажиглавал өнгөт бүрхүүл дотор хоёр жижиг металл хэсэг байгааг харах болно. Эдгээрийг анод ба катод гэж нэрлэдэг. Катод бол эдгээрийн хамгийн том нь бөгөөд LED -ийн сөрөг тугалгатай холбогддог.

Та хэлхээгээ шалгасны дараа дээрх диаграммыг дагаж Raspberry Pi -ийн GPIO зүү холбогч кабелийг холбоно уу.

Алхам 3: LED -ийг хянах, шалгах скрипт үүсгэнэ үү

LED -ийг хянах, турших скрипт үүсгэх
LED -ийг хянах, турших скрипт үүсгэх

Raspberry Pi дээрээ IDLE (Цэс> Програмчлал> Python 2 (IDLE)) -ийг нээнэ үү.

Шинэ төсөл нээхийн тулд Файл> Шинэ файл руу очно уу. Дараа нь дараах кодыг бичнэ үү (эсвэл хуулж буулгана уу):

RPi. GPIO -г GPIO болгон импортлох

импорт хийх хугацаа GPIO.setmode (GPIO. BCM) GPIO. тохиргоо (17, GPIO. OUT) GPIO. тохиргоо (18, GPIO. OUT) GPIO. тохиргоо (22, GPIO. OUT) GPIO. тохиргоо (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. гаралт (23, Худал)

Төслөө Raspberry Pis Documents хавтсанд multilights.py (Файл> Хадгалах) хэлбэрээр хадгална уу.

Raspberry Pi дээрээ Терминал (Цэс> Дагалдах хэрэгсэл> Терминал) -ийг нээгээд, баримт бичгүүдийнхээ хавтас руу орж дараах зүйлийг бичнэ үү.

cd/home/pi/Баримт бичиг

Та одоо дараах зүйлийг бичиж шинэ скриптээ ажиллуулж болно.

python multilights.py

Гэрлийг асаах, унтраахын тулд үүнийг ээлжлэн авах болно. Дээрх скрипт нь time.sleep командыг ашиглан алхам бүрийн хооронд завсарлага хийж, гэрэл тус бүрийг 3 секундын турш асааж, дараагийн гэрлийг асаахаасаа өмнө 1 секунд хүлээдэг.

Алхам 4: Параметр ба нөхцөлт мэдэгдлийг ашиглан уян хатан байдлыг нэмнэ

Параметр ба нөхцөлт мэдэгдлийг ашигласнаар бид дээрх скриптийг илүү уян хатан болгож чадна.

Параметр нь скриптэд ашиглах боломжтой утгыг хадгалах боломжийг танд олгоно. Хамгийн түгээмэл утгын төрөл бол тэмдэгт мөр (текст), бүхэл тоо (бүхэл тоо) эсвэл хөвөгч (аравтын бутархай тоо) юм.

Нөхцөлт мэдэгдэл нь тодорхой нөхцөл хангагдсан эсэхийг шалгах замаар кодын сегментийг гүйцэтгэх ёстой эсэхийг тодорхойлох болно. Нөхцөл байдал нь параметрүүдийг агуулж болно.

Raspberry Pi дээрээ IDLE -ийг нээгээд шинэ төсөл нээнэ үү (Файл> Шинэ файл). Дараа нь дараахь зүйлийг бичнэ үү. Tab товчлуурыг ашиглан бүх догол мөрийг (таб) оруулсан эсэхийг анхаарна уу.

RPi. GPIO -г GPIO болгон импортлох

sys -аас импортлох цаг 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) OUT) if ledaction == "off": ifled == "a": ifled == "a": GPIO.output (LEDa, False) if thatled == "b": GPIO.output (LEDb, False) ifled == "c": GPIO.output (LEDc, False) if if == "d": гаралт (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": ifled == "a": хэрэв == "b" байвал GPIO.output (LEDa, True): GPIO.output (LEDb, True) if ifled == "c": GPIO.output (LEDc, True) if if == "d": GPIO.output (LEDd, True) ifled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Төслөө Documents хавтсандаа controllight.py (Файл> Хадгалах) хэлбэрээр хадгалж, одоо Терминал (Цэс> Дагалдах хэрэгсэл> Терминал) -ийг нээгээд дараах тушаалыг бичнэ үү.

python controllight.py b асаалттай байна

Хоёр дахь LED асах ёстой. Одоо дараахь зүйлийг бичнэ үү.

python controllight.py b унтраасан

Хоёр дахь LED унтрах ёстой.

5, 6, 7, 8 -р мөрөнд бид аль LED -д холбогдсон GPIO зүүгээ хадгалах LEDa, LEDb, LEDc, LEDd параметрүүдийг бий болгодог. Энэ нь скриптэд томоохон өөрчлөлт оруулахгүйгээр өөр GPIO зүү ашиглах боломжийг бидэнд олгодог.

Жишээлбэл, хэрэв бид анхны LED залгуурыг Pin 3 (GPIO 2) руу залгах юм бол 5 -р мөрийг дараах болгож өөрчлөх шаардлагатай болно.

LEDa = 2

4 -р мөрөнд controllight.py -ийн дараа бичсэн утгуудыг (c) болон удирдамж (асаалттай) -д хадгална. Дараа нь скрипт нь эдгээр параметрүүдийг ашиглан хэд хэдэн нөхцөлт мэдэгдлийг ашиглан аль LED -ийг хянах, асаах, унтраах эсэхээ шийддэг.

16 -р мөр (хэрэв ledaction == "on":) бол нөхцөлт мэдэгдэл болно. Энэхүү мэдэгдлийг дагаж буй догол мөрүүд нь мэдэгдлийн нөхцөл хангагдсан тохиолдолд л ажиллана. Энэ хувилбарт удирдамж нь текстийг агуулсан байх ёстой.

Скриптийн бусад нөхцөлт мэдэгдлийг уншсанаар та дараах тушаалыг Терминал дээр бичихэд юу болохыг урьдчилан таамаглаж чадах уу?

python controllight.py бүгд асаалттай байна

Та яагаад үүнийг туршиж үзээд хариултаа доорхи сэтгэгдэл хэсэгт бичиж болохгүй гэж.

Зөвлөмж болгож буй: