Mündəricat:

İkiqat Düyməli LED Dövrə: 5 addım
İkiqat Düyməli LED Dövrə: 5 addım

Video: İkiqat Düyməli LED Dövrə: 5 addım

Video: İkiqat Düyməli LED Dövrə: 5 addım
Video: 5 УДИВИТЕЛЬНЫХ ЖИЗНЕННЫХ ХАКОВ # 2 2024, Noyabr
Anonim
İkiqat Düyməli LED Dövrə
İkiqat Düyməli LED Dövrə

Proqramlaşdırmada və arduinolarla işləməkdə köhnə bir əl kimi səslənmək üçün əlimdən gələni əsirgəməyəcəyəm, amma doğrusunu deyim ki, əslində bu şeylərlə bir neçə gün əvvəl tanış oldum, buna görə də uğurla yaradıb proqramlaşdırmaqdan böyük sevincim var. tezliklə öz layihəsi.

Bu layihə əslində valideynlərimin bir mühəndis dostunun bir neçə gün təcrübə keçdiyim cəsarətindən başladı. Çətinlikləri sevirəm, çətinliyə düşməyimdə məni həyəcanlandıran və uğur qazandığım zaman mənə böyük məmnunluq hissi verən bir şey var və ümid edirəm ki, sən də bacaracaqsan.

İlk təlimatımda: D, sizə Mark One layihəm dediyim dövrəni necə bağlayacağınızı göstərəcəyəm, iki düymənin LEDin parlaqlığını idarə etdiyi bir dövrə (biri parlaqlığı artıracaq, ikincisi) azaldacaq) kimi proqramlaşdırmaq və nəticələrinizi serial monitor alətində necə əks etdirmək olar. Sizə tam olaraq nəyə ehtiyacınız olduğunu və necə qurulacağına dair addım-addım təlimatı göstərəcəyəm. Layihəm həm düyməni basdıran elementləri özündə birləşdirir, həm də öyrədilə bilən veb saytdakı fade dərsini özündə birləşdirir və həm sizin, həm də öz rahatlığım üçün çox şərh olunur. Proqramlaşdırma dili ilə hələ tanış deyilsinizsə, vaxt ayırın, buna dəyər.

Zövq alın!

Addım 1: Materiallar + Alətlər:

Alətlər və materiallar
Alətlər və materiallar

Materiallar:

1. Arduino lövhəsi (Mega 2560 istifadə etdim)

2. Çörək taxtası (ən azı 60 satır)

3. Bir LED (hər hansı bir rəng, qırmızı istifadə etdim)

4. İki standart düymə

5. Beş mavi tel (mənfi cərəyanı göstərmək üçün)

6. Üç qırmızı tel (müsbət cərəyanı göstərmək üçün)

7. Bir narıncı, yaşıl və sarı tel (3 əsas komponenti fərqləndirmək üçün PWM nəzarət telləri)

8. Dörd ağ tel (dövrəni birləşdirmək üçün)

9. Üç 10K ohm rezistor (Qəhvəyi, Qara, Narıncı, Qızıl)

Alətlər:

1. Noutbuk

2. Arduino IDE proqramı (Microsoft Play mağazasından endirilə bilər

OR

2. Arduino onlayn veb sayt yaradır (istədiyiniz budursa)

3. Sarsılmaz əllər

4. Google (öyrədilə bilən veb sayt mənə çox kömək etdi)

5. Səbir yükləri; D.

Addım 2: Analog dövrənizi qurun:

Analog dövrənizi qurun
Analog dövrənizi qurun

Analoq və Rəqəmsal sistemlər arasındakı fərq ondadır ki, Analog sistemlər bir LED -in fərqli parlaqlığı kimi fərqli vəziyyətləri kodlaşdırır, Rəqəmsal isə yalnız iki vəziyyət üçün (ya ON və ya OFF) kodlaşdırır.

Bu sxem bir Analogdur, çünki məqsədi işığın parlaqlığını dəyişdirmək idi, yalnız açmaq və ya söndürmək deyil.

Qurmaq üçün:

1. Bir mavi (mənfi üçün) tel götürün və (Arduino -da) GND (torpaq) portlarından birinə bağlayın və mavi mənfi torpağın yanındakı satırlarda çörək taxtasının istənilən yerinə bağlayın.

2. Bir qırmızı (pozitiv) tel götürün və güc portlarının 5V portuna (Arduino -da) qoşun və qırmızı pozitiv torpaq xəttinə bitişik çörək lövhəsindəki sıraya qoşun [Çörək taxtasının necə Layihə qurulub və hansı satırlar bağlıdır və s. Təlimatlar və Arduino veb saytının bunu etmək üçün çox səliqəli dərsləri var]

3. Çörək taxtasının əks tərəfində, torpaq xətlərini birləşdirmək üçün bir mavi və bir qırmızı tel istifadə edirsiniz.

4. Sonra dörd ağ teldən istifadə edərək həm müsbət, həm də mənfi yer sətirlərini ortanın 30 -cu sırasının hər iki tərəfinə bağlayın (kiçik bir boşluğu bağlamalıdırlar)

Addım 3: Düymələri qurun:

Düymələri təyin edin
Düymələri təyin edin

1. İndi düymələrinizi götürün və bağlayın ki, hər an çörək taxtasının orta boşluğunu sıxsın (əşyalarımı bir az sürətləndirməyi xoşlayıram, belə ki hər şeyi daha asan dəyişə və düzəldə bilərəm.

2. İki qırmızı tel götürün və sizə baxan düymələrin sağ ayağını pozitiv torpaq xətti ilə bağlayın.

3. İki mavi tel götürün və mavi mənfi torpaq xəttini mərkəzi satırlarla düymələrin sol ayaqlarından bir neçə satır qalana bağlayın və rezistorlar üçün yer buraxın.

4. İndi 10K rezistorları (Qəhvəyi, Qara, Portağal, Qızıl) bir ayağı mənfi mavi tellə eyni mərkəzdə, digər ayağı isə düymənin sol ayağı ilə eyni sırada birləşdirin.

[Bunların hamısı hələ də çörək taxtasının ortasındakı bölünmənin bir tərəfində bölünmüş düymələr və analoq qurulma üçün ağ, qırmızı və mavi tellər istisna olmaqla bağlıdır)

5. İndi sarı və yaşıl teli götürün və mərkəzin əks tərəfindəki sol ayağı 9 və 11 sancaqlar ilə bağlayın [NB: Analog yalnız pin 3, 5, 6, 9, 10 və 11 üzərində işləyir]. Bu tellər Arduino ilə ünsiyyət üçündür.

Addım 4: LED qurun:

LED qurun
LED qurun

1. LED -i (seçdiyiniz rəng) götürün və əlaqələrinizin çoxunun olduğu bölgənin kənarına qoyun.

2. Bir mavi tel götürün və mənfi mavi torpaq xəttini LED -in qısa ayağı (anod) ilə eyni sıra ilə birləşdirin [Dövrə yalnız mənfi mavi xətt LED i.o.w. -nin sağ ayağına qoşulduqda işləyəcək. anod.

3. Başqa 10K ohm müqavimətçi götürün və katodun (LED -in pozitiv uzun ayağı) bağlandığı sıranı mərkəzin eyni tərəfindəki yaxınlıqdakı bir sıra ilə bağlayın.

4. İndi narıncı tel götürün və rezistoru Arduino -da pin 3 ilə bağlayın

Dövrünüz artıq tamamlandı, qalan hər şeyi proqramlaşdırmaqdır

Addım 5: Dövrün Proqramlaşdırılması:

Bütün bunlara görə bir az yeniyəm, xahiş edirəm yalnız kodu kopyalayıb video yaratmadığım üçün üzr istəyirəm …

İşdə dövrə kodu:

// Mənim (Altus Lourens) ilk öz layihəm: // 29-30 iyun 2018 -ci il tarixləri arasında yaradılmışdır

// NB özüm üçün: AnalogWrite yalnız 3, 5, 6, 9, 10 və 11 -də işləyir

// Qeyd: Analoqun fərqli vəziyyətlərlə əlaqəsi var, Rəqəmsal yalnız (YÜKSƏK) və ya söndürmə (LOW) üçün işləyir.

// LED çıxacaq

// düymələr giriş olacaq

// pushButton1, hər basıldığında bir solma ilə birlikdə parlaqlığı artıracaq

// pushButton2, hər basıldığında bir solma ilə birlikdə parlaqlığı azaldacaq

// sabitlər dəyişməyəcək, PWM pin nömrələrini təyin edin

const int ledPin = 3; // PWM LED pininin sayı

const int fadeAmount = 50; // düyməni hər basmaqla parlaqlıq dəyişir

const int buttonPin1 = 11;

const int buttonPin2 = 9; // düymə pininin sayı

// dəyişəcək dəyişən:

int parlaqlıq = 5; // LED -lərin başlanğıc parlaqlığı

int düyməsiState1 = 0; // düyməni LOW olaraq göstərin

int düyməsiState2 = 0; // düyməni LOW olaraq göstərin

boş quraşdırma () {

// bir dəfə işə salmaq üçün quraşdırma kodunuzu bura qoyun:

// LED pinini çıxış olaraq başladın:

pinMode (ledPin, Çıxış);

// düymələri giriş kimi işə salın:

pinMode (düyməPin1, GİRİŞ);

pinMode (düyməPin2, GİRİŞ);

Serial.begin (9600); // dövrədə əlaqə sürəti

}

// buttonPin1 LED -in parlaqlığını artıracaq

// buttonPin2 LED -in parlaqlığını azaldacaq

boşluq döngəsi () {

// əsas kodunuzu bura qoyun, təkrar işləsin:

// pin 9 -un parlaqlığını təyin edin:

analogWrite (ledPin, parlaqlıq); // parlaqlıq = 5, LED yanır

parlaqlıq = məhdudlaşdırmaq (parlaqlıq, 0, 255); // parlaqlığı 0 ilə 255 arasında məhdudlaşdırın

// düymə dəyərinin vəziyyətini oxuyun:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// düymələrin basıldığını yoxlayın:

// əgər -> buttonState = HIGH:

// düymə1:

əgər (buttonState1 == HIGH) {

parlaqlıq = parlaqlıq + fadeAmount; // parlaqlığı artırın:

analogWrite (ledPin, parlaqlıq + fadeAmount);

}

başqa {// parlaqlıq eyni səviyyədə qalır və LED hələ də sönür:

analogWrite (ledPin, parlaqlıq);

}

// düymə2:

əgər (buttonState2 == HIGH) {

parlaqlıq = parlaqlıq - fadeAmount; // parlaqlığı azaldır:

analogWrite (ledPin, parlaqlıq - fadeAmount);

}

başqa {

// parlaqlıq eyni səviyyədə qalır, heç bir dəyişiklik baş vermir:

analogWrite (ledPin, parlaqlıq);

}

Serial.print ("parlaqlıq");

Serial.println (parlaqlıq); }

İndi ünsiyyət sürətini tənzimləyə və serial monitor aləti üçün mükəmməl işləyən bir sürət tapana qədər bir az oynaya bilərsiniz [9600 Baud sadəcə standart sürətdir]

Tövsiyə: