Raspberry Pi ning GPIO bilan LEDni yoqing

Shu yil boshida siz Raspberry Pi ning GPIO turini tanladingiz va shuningdek, PIN raqamlarini aniqlash uchun ba'zi juda foydali sxemalarni tavsiya qildingiz. Bugun biz ushbu mavzuni davom ettirmoqdamiz va kodlar va apparat bilan birlashtirilib, bu pinlarni ishlatishni boshlaymiz.

GPIO, Raspberry Pi tashqi dunyoga qanday qilib gapiradi - "haqiqiy narsalar" - 40 pin boshli va signallardan signallarni va kuchlanishlarni kodlash uchun kodni ishlatish.

GPIO bilan kodlash, ayniqsa, LEDlar va chalg'ituvchi kabi boshlang'ich loyihalar uchun boshlash juda oson. Faqat bir nechta komponent va kodning bir necha qatori sizning loyihangizning bir qismi sifatida LEDni yoqish yoki o'chirishingiz mumkin.

Ushbu maqola sizga an'anaviy "RPi.GPIO" usuli yordamida Raspberry Pi-da Python kodidan foydalanib, LEDni qanday nurlanish kerakligini ko'rsatadi.

01dan 04gacha

Sizga nima kerak

Ushbu loyiha uchun oddiy va arzon qismlar kerak. Richard Saville

Mana bu kichik boshlang'ich loyiha uchun sizga zarur bo'lgan barcha narsalar ro'yxati. Siz ushbu mahsulotlarni sevimli maker do'konida yoki onlayn auktsion saytlarida topishingiz kerak.

02/04

Davrni yaratish - 1-qadam

Har bir pinni burilish simlari bilan panjara bilan ulang. Richard Saville

Biz ushbu loyiha uchun 2 ta GPIO pinini, LED yorug'lik oyog'i uchun er pinini (fizik pin 39) va LEDni quvvatlantirish uchun umumiy GPIO pinini (GPIO 21, fizik pin 40) ishlatamiz. biz qaror qabul qilamiz - kodning qayerda joylashgani.

Birinchidan, Raspberry Pi ni o'chiring. Keling, o'tish kabelidan foydalangan holda, tuproq pimini panjagingizda bir qatorga ulang. Keyinchalik GPIO pin uchun bir xil chiziqni boshqa yo'lga ulang.

03/04

Davrni yaratish - 2-qadam

LED va qarshilik devorni to'ldiradi. Richard Saville

Keyinchalik LEDni va qarshilik devorini qo'shamiz.

LEDlar polarizatsiyaga ega - demak, ular ma'lum bir tarzda simli bo'lishi kerak. Ular odatda anodik (oyoqli) oyog'ining uzunroq oyog'iga va odatda katot (salbiy) oyog'ini bildiradigan LED plastmassa boshidagi tekis chekkaga ega.

Bir qarshilik, LEDni juda ko'p oqimdan himoya qilish uchun ishlatiladi va GPIO pinini "berish" dan juda ko'p - bu har ikkala zarar keltirishi mumkin.

Standart yoritgichlar uchun 330 gacha bo'lgan umumiy qarshilik darajasi bir oz. Buning orqasida ba'zi matematikalar mavjud, ammo endi loyihaga e'tibor qaratsak - ohms qonuni va tegishli mavzularni keyinchalik ko'rib chiqishingiz mumkin.

Rezistorning bir oyog'ini sizning ustingizda GND qatoriga ulang va sizning LEDning qisqa oyog'iga ulangan chiziqqa qaragan boshqa qarshilik oyog'ini ulang.

LEDning uzunroq oyog'i endi GPIO piniga ulangan chiziqqa qo'shilishi kerak.

04/04

Python GPIO kodi (RPi.GPIO)

RPi.GPIO GPIO pinlarini ishlatish uchun ajoyib kutubxona. Richard Saville

Hozirgi paytda bizda simli va ketishga tayyormiz, biroq biz hali GPIO pinini hech qanday kuch yuborish uchun aytmadik, shuning uchun siz LEDni yoqishingiz kerak emas.

GPIO pinimizdan ma'lum bir kuchni 5 soniya yuborishini va keyin to'xtatishni bizga ma'lum qilish uchun Python faylini yarataylik. Raspbian ning so'nggi versiyasi allaqachon o'rnatilgan GPIO kutubxonalariga ega bo'ladi.

Terminal oynasini oching va quyidagi buyruqni kiritib yangi Python skriptini yarating:

sudo nano boshchiligida1.py

Bizning kodimizni kiritish uchun biz bo'sh faylni ochamiz. Quyidagi satrlarni kiriting:

#! / usr / bin / python # Kutubxonalarni import qilish RPi.GPIO importini GPIO import qilish vaqti kerak # GPIO rejimini o'rnatish GPIO.setmode (GPIO.BCM) # LED GPIO raqamini o'rnating = 21 # LED GPIO pinini GPIO.output (LED, GPIO.OUT) # GPIO.output (LED, True) ustiga GPIO pinini aylantiring. # 5 sekund kutib turing.Sleep (5) # GPIO pinini o'chirib qo'ying (LED, noto'g'ri)

Faylni saqlash uchun Ctrl + X tugmalarini bosing. Faylni ishlatish uchun terminalda quyidagi buyruqni kiriting va Enter ni bosing:

sudo python boshchiligida1.py

LED 5 soniyagacha yonib turishi kerak, keyin dasturni to'xtatib, o'chirib qo'yishi kerak.

Nima uchun LEDni turli vaqtlarda yoqish uchun 'time.sleep' raqamini o'zgartirmang yoki "GPIO.output (LED, to'g'ri)" ni "GPIO.output (LED, False)" ga o'zgartirishga urinib ko'ring va nima sodir bo'lishini ko'ring.