Mundarija:

Ikkita tugmachali LED sxemasi: 5 qadam
Ikkita tugmachali LED sxemasi: 5 qadam

Video: Ikkita tugmachali LED sxemasi: 5 qadam

Video: Ikkita tugmachali LED sxemasi: 5 qadam
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Noyabr
Anonim
Ikkita tugmachali LED sxemasi
Ikkita tugmachali LED sxemasi

Men dasturlash va arduinolar bilan ishlashda eski qo'l kabi gapirishga harakat qilaman, lekin rostini aytsam, aslida men bu narsalar bilan bir necha kun oldin tanishganman, shuning uchun men o'zimni muvaffaqiyatli yaratish va dasturlashdan juda katta quvonchim bor. yaqinda o'z loyihasi.

Bu loyiha aslida ota -onamning muhandis -do'stidan bir necha kun stajyor bo'lganimdan boshlandi. Men qiyinchiliklarni yaxshi ko'raman, qiyinchiliklarga duch kelganda meni hayajonlantiradi va muvaffaqiyat qozonganimda katta qoniqish hissini beradi va umid qilamanki siz ham shunday qilasiz.

Men birinchi marta ko'rsatma beraman: D, men sizga Mark One loyihasi deb nomlangan sxemani qanday ulash kerakligini ko'rsataman, bu erda ikkita tugmachali LEDning yorqinligini boshqaradi (biri yorqinligini oshiradi, ikkinchisi) uni kamaytiradi), shuningdek uni qanday dasturlash va natijalaringizni ketma -ket monitor vositasida aks ettirish. Men sizga nima kerakligini aniq ko'rsataman va uni qanday qurish bo'yicha bosqichma-bosqich ko'rsatma beraman. Mening loyiham tugmachalarning elementlarini o'z ichiga oladi, shuningdek ko'rsatma beriladigan veb-saytdagi yo'qolgan dars va o'zim uchun ham, sizga ham qulay bo'lishi uchun izohlanadi. Agar siz dasturlash tili bilan hali tanish bo'lmagan bo'lsangiz, vaqt ajrating, bunga arziydi.

Xursand bo'ling!

1 -qadam: Materiallar + asboblar:

Materiallar + asboblar
Materiallar + asboblar

Materiallar:

1. Arduino kartasi (men Mega 2560 dan foydalanardim)

2. Non paneli (kamida 60 qatorli)

3. Bitta LED (har qanday rang, men qizil ishlatardim)

4. Ikkita standart tugma

5. Beshta ko'k sim (manfiy oqimni ko'rsatish uchun)

6. Uchta qizil sim (musbat tokni ko'rsatish uchun)

7. Bitta to'q sariq, yashil va sariq sim (PWM boshqaruv simlari 3 ta asosiy komponentni farqlash uchun)

8. To'rtta oq sim (sxemani ulash uchun)

9. Uchta 10K ohmli qarshilik (jigarrang, qora, to'q sariq, oltin)

Asboblar:

1. Noutbuk

2. Arduino IDE dasturi (Microsoft Play do'konidan yuklab olish mumkin)

YoKI

2. Arduino onlayn veb -sayt yaratadi (agar bu sizga yoqsa)

3. Yengil qo'llar

4. Google (ko'rsatiladigan veb -sayt menga ko'p yordam berdi)

5. Sabr -toqat; D

2 -qadam: Analog davrangizni o'rnating:

Analog davrani sozlang
Analog davrani sozlang

Analog va raqamli tizimlarning farqi shundaki, analog tizimlar har xil holatlar uchun kodlanadi, masalan, LEDning yorqinligi. Raqamli faqat ikkita holatni (ON yoki OFF) kodlaydi.

Bu sxema analog hisoblanadi, chunki uning maqsadi - yorug'likni faqat yoqish yoki o'chirish emas, balki uning yorqinligini o'zgartirish edi.

Uni sozlash uchun:

1. Bitta ko'k (manfiy) simni oling va uni (Arduino -da) quvvat portlaridagi GND (tuproqli) portlaridan biriga ulang va uni ko'k taxtaning istalgan joyiga, ko'k manfiy tuproq yonidagi qatorlarga ulang.

2. Bitta qizil (musbat) simni oling va quvvat portlaridagi 5V portiga (Arduino -ga) ulang va uni qizil musbat chiziq chizig'iga ulashgan taxtadagi qatorga ulang. tartib o'rnatildi va qaysi qatorlar bog'langan va hokazo. Instructables va Arduino veb -saytida buning uchun juda yaxshi saboqlar bor]

3. Non taxtasining qarama -qarshi uchida, er chiziqlarini ulash uchun bitta ko'k va qizil sim ishlatiladi.

4. Keyin to'rtta oq simdan foydalanib, ham musbat, ham manfiy qatorlarni o'rtadagi 30 -qatorning har ikki tomoniga ulang (ular kichik bo'shliqni to'ldirishlari kerak).

3-qadam: tugmachalarni o'rnating:

Bosish tugmachalarini o'rnating
Bosish tugmachalarini o'rnating

1. Endi tugmachalarni oling va ulang, shunda ular har qanday vaqtda non taxtasining o'rtasiga to'g'ri keladi.

2. Ikkita qizil simni oling va sizga qaragan tugmalarning o'ng oyog'ini musbat tuproq chizig'i bilan ulang.

3. Ikkita ko'k simni oling va ko'k manfiy chiziqni markaziy qatorlar bilan tugmachalarning chap oyoqlaridan bir necha qator chapga ulang va rezistorlar uchun joy qoldiring.

4. Endi 10K rezistorlarni (jigarrang, qora, to'q sariq, oltin) bir oyog'i manfiy ko'k sim bilan bir qatorda, ikkinchi oyog'i esa tugmachaning chap oyog'i bilan bir qatorda ulang.

[Bularning barchasi hali ham taxtaning o'rtasida joylashgan bo'linishning bir tomonida, taqsimlash tugmachalari va analog o'rnatish uchun oq, qizil va ko'k simlar bundan mustasno)

5. Endi sariq va yashil simni oling va markaziy bo'linishning qarama -qarshi tomonidagi chap oyog'ini 9 va 11 -pinlar bilan ulang [NB: Analog faqat 3, 5, 6, 9, 10 va 11 -pinlarda ishlaydi]. Bu simlar Arduino bilan aloqa qilish uchun mo'ljallangan.

4 -qadam: LEDni o'rnating:

LEDni o'rnating
LEDni o'rnating

1. LEDni (siz tanlagan rang) oling va ulanishning ko'p qismi bo'linadigan tomonga qo'ying.

2. Bitta ko'k simni oling va manfiy ko'k tuproq chizig'ini LEDning qisqa oyog'i (anod) bilan bir qatorga ulang. anod.

3. Boshqa 10K ohmli rezistorni oling va katod (LEDning musbat uzun oyog'i) ulangan qatorni markaziy bo'linishning o'sha tomonidagi yaqin qator bilan ulang.

4. Endi to'q sariq simni oling va qarshilikni Arduino -dagi 3 -pin bilan ulang

Sizning davringiz tugadi, endi hamma narsani dasturlashgina qoldi

5 -qadam: sxemani dasturlash:

Men bularning hammasiga bir oz yangiman, shuning uchun uzr so'rayman, faqat kodni nusxa ko'chirganim va video yaratmaganim uchun …

Bu erda kontaktlarning zanglashiga olib keladigan kod:

// Mening (Altus Lourens) birinchi shaxsiy loyiham: // 2018 yil 29-30 iyun kunlari yaratilgan

// O'zim uchun eslatma: AnalogWrite faqat 3, 5, 6, 9, 10 va 11 da ishlaydi

// NB: Analog har xil holatlarga bog'liq, Raqamli faqat yoqilgan (YUQORI) yoki o'chirilgan (LOW) uchun ishlaydi.

// LED chiqadi

// tugmalar kirish bo'ladi

// pushButton1 yorqinligini har bosish bilan bir fadeAmount bilan oshiradi

// pushButton2 har bir bosish bilan bir fadeAmount bilan yorqinlikni pasaytiradi

// doimiylar o'zgarmaydi, PWM pin raqamlarini o'rnating

const int ledPin = 3; // PWM LED pinining raqami

const int fadeAmount = 50; // tugmani har bosish bilan yorqinligini o'zgartirish

const int buttonPin1 = 11;

const int buttonPin2 = 9; // tugmachali pin raqami

// o'zgaradigan o'zgaruvchi:

int yorqinligi = 5; // LEDlarning boshlang'ich yorqinligi

int tugmasiState1 = 0; // tugmani LOW deb belgilang

int tugmasiState2 = 0; // tugmani LOW deb belgilang

bo'sh o'rnatish () {

// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying:

// LED pinini chiqish sifatida boshlang:

pinMode (ledPin, OUTPUT);

// tugmachalarni kirish sifatida ishga tushiring:

pinMod (tugmaPin1, Kirish);

pinMod (tugmaPin2, Kirish);

Serial.begin (9600); // sxemadagi aloqa tezligi

}

// buttonPin1 LEDning yorqinligini oshiradi

// buttonPin2 LEDning yorqinligini pasaytiradi

void loop () {

// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying:

// 9 -pin yorqinligini o'rnating:

analogWrite (ledPin, nashrida); // nashrida = 5, LED yoniq

nashrida = cheklash (yorqinlik, 0, 255); // yorqinlikni 0 dan 255 gacha cheklash

// tugma qiymatining holatini o'qing:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// tugmalar bosilganligini tekshiring:

// agar bo'lsa -> buttonState = HIGH:

// tugma1:

agar (buttonState1 == HIGH) {

yorqinlik = yorqinlik + xira bo'ladigan; // yorqinlikni oshirish:

analogWrite (ledPin, nashrida + fadeAmount);

}

aks holda {// yorqinlik bir xil darajada qoladi va LED hali ham o'chirilgan:

analogWrite (ledPin, nashrida);

}

// tugma 2:

agar (buttonState2 == HIGH) {

yorqinlik = yorqinlik - fadeAmount; // yorqinlikni pasaytirish:

analogWrite (ledPin, yorqinligi - fadeAmount);

}

boshqa {

// yorqinlik bir xil darajada qoladi, hech qanday o'zgarish bo'lmaydi:

analogWrite (ledPin, nashrida);

}

Serial.print ("yorqinlik");

Serial.println (yorqinlik); }

Endi siz ketma -ket monitor vositasi uchun juda mos keladigan tezlikni topmaguningizcha aloqa tezligini sozlashingiz va u bilan biroz o'ynashingiz mumkin [9600 Baud - bu oddiy tezlik]

Tavsiya: