LED va tugma
Kirish va chiqishdan foydalanish
Oldingi bobda biz Raspberry Pi va uning GPIO-dan qanday foydalanishni bilib oldik LED miltillashini hosil qiling.
Buning uchun biz "Chiqish" sifatida GPIO pinidan foydalandik.
Ushbu bobda biz "Kirish" sifatida boshqa GPIO pinidan foydalanamiz.
5 soniya miltillash o‘rniga, biz bosganingizda LED yonib turishini xohlaymiz non paneliga ulangan tugma.
Bizga nima kerak?
Ushbu bobda biz qaerda oddiy misol yaratamiz biz tugmachani bosish bilan LED chiroqni boshqaramiz.
Buning uchun sizga kerak:
- Node.js o‘rnatilgan Raspian, internet, SSH bilan Raspberry Pi
- Node.js uchun o‘chirish moduli
- 1 x Breadboard
- 1 x 68 Ohm qarshilik
- 1 x 1k Ohm qarshilik
- 1 x Teshik orqali LED
- 1 x Bosish tugmasi
- 4 x Ayoldan erkakka o‘tkazgich simlari
- 1 x Erkakdan erkakka o‘tkazgich simlari
Turli xil tavsiflar uchun yuqoridagi ro‘yxatdagi havolalarni bosing komponentlar.
Eslatma: Sizga kerak bo‘lgan rezistor siz foydalanadigan LED turiga qarab biz foydalanadigandan farq qilishi mumkin. Ko‘pgina kichik LEDlar faqat 200-500 ohm atrofida kichik qarshilikka muhtoj. Qaysi qiymatdan foydalanayotganingiz umuman muhim emas, lekin rezistorning qiymati qanchalik kichik bo‘lsa, LED shunchalik yorqinroq bo‘ladi. porlash.
Ushbu bobda biz oxirgi bobda qurgan sxema bo‘yicha quramiz, shuning uchun siz yuqoridagi ro‘yxatdagi ba’zi qismlarni taniydi.
Sxemani qurish
Endi bizning Breadboardimizda sxemani qurish vaqti keldi. Boshlanish nuqtasi sifatida biz oxirgi bobda yaratgan sxemadan foydalanamiz.
Agar siz elektronika uchun yangi bo‘lsangiz, quvvatni o‘chirishni tavsiya qilamiz Raspberry Pi. Bunga yo‘l qo‘ymaslik uchun antistatik mat yoki topraklama tasmasini ishlating unga zarar yetkazish.
Raspberry Pi-ni buyruq bilan to‘g‘ri o‘chiring:
pi@w3demopi:~ $ sudo shutdown -h now
Raspberry Pi’dagi LED’lar miltillashdan to‘xtagach, Raspberry Pi’dan quvvat vilkasini sug‘urib oling (yoki u ulangan uzatkichni o‘chiring).
To‘g‘ri o‘chirmasdan vilkadan tortib olish xotira kartasining buzilishiga olib kelishi mumkin.
Yuqoridagi sxema rasmiga qarang.
- Biz oxirgi bobda yaratgan sxemadan boshlab:
Raspberry Pi-da o‘tkazgich simining ayol oyog‘ini a ga ulang 5V quvvat pin. Bizning misolimizda biz Physical Pin 2 dan foydalandik (5V, 1-qator, o‘ng ustun) - Breadboardda ulangan o‘tish simining erkak oyog‘ini ulang uchun 5V quvvat Power avtobus o‘ng tomonda. Butun ustun non taxtasi ulangan, shuning uchun qaysi qator muhim emas. Bizning Misol uchun, biz uni 1-qatorga biriktirdik
- Breadboardda bosish tugmachasini bo‘ylab mos keladigan tarzda ulang Xandaq. Bizning misolimizda u 13 va 15-qatorlarga, E va F ustunlariga ulanadi
- Breadboardda 1k ohm rezistorning bir oyog‘ini Yer avtobusiga ulang. o‘ng tomonda ustun, va o‘ng tomonda boshqa oyoq Tie-Point qator bu yerda tugmachaning o‘ng yon oyoqlaridan biriga ulanadi. Bizning misolimizda biz biriktirdik bir tomoni Tie-Point qatorining 13-qatoriga, J ustuniga, ikkinchi tomoni esa eng yaqin Yer avtobusi teshigiga
- Breadboardda o‘ng tomondan erkakdan erkakka o‘tish simini ulang Power Bus, o‘ngdagi Bog‘lanish nuqtasi qatoriga ning boshqa oyog‘iga ulanadi tugmasini bosing. Bizning misolimizda biz biriktirdik bir tomoni Tie-Point qatorining 15-qatoriga, J ustuniga, boshqa tomoni esa eng yaqin Power Bus teshigiga
- Raspberry Pi’da jumper simining ona (female) uchini GPIO piniga ulang. Misolimizda biz 11-fizik pindan foydalandik (GPIO 17, 6-qator, chap ustun)
- Breadboardda o‘tish simining erkak oyog‘ini chapga ulang To‘g‘ridan-to‘g‘ri bo‘ylab joylashgan Bosish tugmasi oyog‘ini bog‘lang Yerga ulanish oyog‘i. Bizning misolimizda biz uni 13-qatorning A ustuniga biriktirdi
Sizning sxemangiz endi tugallangan bo‘lishi kerak va ulanishlaringiz ko‘rinishi kerak yuqoridagi rasmga juda o‘xshash.
Endi Raspberry Pi-ni ishga tushirish va Node.js skriptini yozish vaqti keldi u bilan o‘zaro aloqada bo‘ling.
Raspberry Pi va Node.js LED va tugma skripti
"Nodetest" katalogiga o‘ting va "buttonled.js" nomli yangi fayl yarating:
pi@w3demopi:~ $ nano buttonled.js
Fayl endi ochiq va uni o‘rnatilgan Nano muharriri bilan tahrirlash mumkin.
Quyidagilarni yozing yoki joylashtiring:
buttonled.js
var
Gpio = require('onoff').Gpio; //include onoff to interact with the GPIO
let
LED = new Gpio(4, 'out'); //use GPIO pin 4 as output
let pushButton = new
Gpio(17, 'in', 'both'); //use GPIO pin 17 as input, and 'both' button presses,
and releases should be handled
pushButton.watch(function (err, value) {
//Watch for hardware interrupts on pushButton GPIO, specify callback function
if (err) { //if an error
console.error('There was an
error', err); //output error message to console
return;
}
LED.writeSync(value); //turn LED on or off depending on the button state (0 or
1)
});
function unexportOnClose() { //function to run when exiting program
LED.writeSync(0); // Turn LED off
LED.unexport(); // Unexport LED
GPIO to free resources
pushButton.unexport(); // Unexport Button
GPIO to free resources
};
process.on('SIGINT', unexportOnClose); //function to
run when user closes using ctrl+c
Kodni saqlash uchun "Ctrl+x" tugmasini bosing. "y" bilan tasdiqlang va ismni "Enter" bilan tasdiqlang.
Kodni ishga tushiring:
pi@w3demopi:~ $ node buttonled.js
Endi siz tugmani bosganingizda LED yonishi va siz bosganingizda o‘chishi kerak uni qo‘yib yuboring.
Dasturni Ctrl+c bilan yakunlang.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
