Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйл
- Алхам 2: Хүрхээ бүтээх
- Алхам 3: LED -ийг хянах, шалгах скрипт үүсгэнэ үү
- Алхам 4: Параметр ба нөхцөлт мэдэгдлийг ашиглан уян хатан байдлыг нэмнэ
Видео: Python болон Raspberry Pi -ийн GPIO зүү ашиглан олон LED -ийг удирдах: 4 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү зааварчилгаа нь 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 -ийг хянах, шалгах скрипт үүсгэнэ үү
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 бүгд асаалттай байна
Та яагаад үүнийг туршиж үзээд хариултаа доорхи сэтгэгдэл хэсэгт бичиж болохгүй гэж.
Зөвлөмж болгож буй:
Нэг аналог зүү ашиглан олон аналог утгыг хэрхэн унших вэ: 6 алхам (зурагтай)
Нэг аналог зүү ашиглан олон тооны аналог утгыг хэрхэн унших вэ: Энэхүү гарын авлагад би зөвхөн нэг аналог оролтын зүү ашиглан олон аналог утгыг хэрхэн уншихыг танд үзүүлэх болно
I2C: 9 алхам (зурагтай) бүхий олон тооны никси хоолойг удирдах олон талын I/O Extender ПХБ
I2C ашиглан олон тооны никси хоолойг удирдах олон талт I/O Extender ПХБ: Одоогийн байдлаар хувцасны чимэг хийх зориулалттай nixie хоолойг амьдралд нэвтрүүлэх сонирхол их байна. Nixie хоолойн цагны иж бүрдлийг зах зээл дээр худалдаанд гаргах боломжтой. Оросын хуучин никси хоолойн хуучин хувьцааны худалдаа идэвхтэй явагдаж байсан бололтой. Мөн энд байгаа Instructables дээр
Android болон Linux үйлдлийн системтэй DragonBoard 410c дээр GPIO зүү ашиглан програм хөгжүүлэх: 6 алхам
Android болон Линукс үйлдлийн системтэй DragonBoard 410c дээр GPIO зүү ашиглан програм хөгжүүлэх: Энэхүү гарын авлагын зорилго нь DragonBoard 410c бага хурдтай өргөтгөл дээр GPIO зүү ашиглан програм хөгжүүлэхэд шаардлагатай мэдээллийг харуулах явдал юм. Энэхүү гарын авлагад Андройд SYS -тэй GPIO зүү ашиглан програм хөгжүүлэх талаархи мэдээллийг толилуулж байна
Blynk програм ашиглан USB ашиглан ухаалаг гар утсыг ашиглан Arduino -г удирдах: 7 алхам (зурагтай)
Blynk програм ашиглан USB ашиглан ухаалаг гар утсыг ашиглан Arduino -ийг удирдах Arduino эсвэл c-ээ алсаас удирдах хамгийн энгийн шийдэл
Гэрийн цахилгаан хэрэгслийг ухаалаг гар утаснаасаа Blynk App болон Raspberry Pi ашиглан удирдах: 5 алхам (зурагтай)
Гэрийн цахилгаан хэрэгслийг ухаалаг гар утаснаасаа Blynk App болон Raspberry Pi ашиглан удирдах: Энэхүү төсөлд бид гэр ахуйн цахилгаан хэрэгсэл (кофе үйлдвэрлэгч, чийдэн, цонхны хөшиг гэх мэт) -ийг хянахын тулд Blynk болон Raspberry Pi 3 -ийг хэрхэн ашиглах талаар сурах болно. Тоног төхөөрөмжийн бүрэлдэхүүн хэсэг: Raspberry Pi 3 Relay Lamp Breadboard Wires Програм хангамжийн програмууд: Blynk A