Sisukord:

Kahe nupuvajutusega LED -ahel: 5 sammu
Kahe nupuvajutusega LED -ahel: 5 sammu

Video: Kahe nupuvajutusega LED -ahel: 5 sammu

Video: Kahe nupuvajutusega LED -ahel: 5 sammu
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, November
Anonim
Kahe nupuvajutusega LED -ahel
Kahe nupuvajutusega LED -ahel

Proovin anda endast parima, et programmeerimisel ja arduino -dega töötamisel kõlada nagu vana käsi, kuid ausalt öeldes tutvustati mulle neid asju alles paar päeva tagasi, seega on mul tohutu rõõm oma loomisel ja programmeerimisel nii kiiresti oma projekt.

See projekt sai tegelikult alguse minu vanemate insenerist sõbra julgusest, et olin paar päeva praktikal. Mulle meeldivad väljakutsed, väljakutses on midagi, mis mind erutab ja annab mulle edu ning valdava rahulolutunde, kui mul õnnestub, ja loodan, et ka teile.

Selles õpetatavas, minu esimeses elus: D, näitan teile, kuidas ühendada vooluahel, mida ma nimetasin oma Mark One'i projektiks-vooluahelaks, kus kaks surunuppu juhivad LED-i heledust (üks suurendab heledust ja teine vähendab seda), samuti seda, kuidas seda programmeerida ja tulemusi projitseerida jadamonitori tööriistale. Näitan teile täpselt seda, mida vajate, ja annan samm-sammult juhiseid selle ehitamiseks. Minu projekt sisaldab nii juhtnuppude kui ka fade-õppetunni elemente juhendmaterjalide veebisaidil ja seda kommenteeritakse tugevalt nii minu kui ka teie mugavuse huvides. Kui te pole veel programmeerimiskeelega kursis, võtke aega, see on seda väärt.

Nautige!

Samm: materjalid ja tööriistad:

Materjalid + tööriistad
Materjalid + tööriistad

Materjalid:

1. Arduino plaat (kasutasin Mega 2560)

2. Leivalaud (vähemalt 60 rida)

3. Üks LED (mis tahes värvi, ma kasutasin punast)

4. Kaks standardset nuppu

5. Viis sinist juhet (negatiivse voolu näitamiseks)

6. Kolm punast juhet (positiivse voolu näitamiseks)

7. Üks oranž, roheline ja kollane traat (PWM juhtjuhtmed kolme põhikomponendi eristamiseks)

8. Neli valget juhet (vooluahela ühendamiseks)

9. Kolm 10K oomi takistit (pruun, must, oranž, kuldne)

Tööriistad:

1. Sülearvuti

2. Arduino IDE rakendus (allalaaditav Microsoft Play poest

VÕI

2. Arduino loo veebisait (kui see teile meeldib)

3. Nõtked käed

4. Google (juhendatavate veebisait aitas mind palju)

5. Palju kannatust; D

Samm: seadistage oma analoogring:

Seadistage oma analoogring
Seadistage oma analoogring

Analoog- ja digitaalsüsteemide erinevus seisneb selles, et analoogsüsteemid kodeerivad erinevaid olekuid, näiteks LED -i erinevat heledust, samas kui digitaalne kodeerib ainult kahte olekut (kas sisse või välja).

See vooluahel on analoog, kuna eesmärk oli panna valgus muutma heledust, mitte ainult sisse või välja lülitama.

Selle seadistamiseks tehke järgmist.

1. Võtke üks sinine (negatiivse juhtme jaoks) juhe ja ühendage see (Arduino) toiteportide GND (maandus) ükskõik millisesse porti ja ühendage see sinise negatiivse maanduse kõrval asuvate ridade suvalises kohas.

2. Võtke üks punane (positiivne) juhe ja ühendage see (Arduino) toiteportide 5 V pordiga ja ühendage see leivalaua reaga, mis asub punase positiivse maandusjoone kõrval [Tutvuge leivalaua paigutus on seadistatud ja millised read on ühendatud jne. Juhenditel ja Arduino veebisaidil on selleks väga head õppetunnid]

3. Leivaplaadi vastasotsas kasutate maandusjuhtmete ühendamiseks ühte sinist ja ühte punast juhet.

4. Seejärel ühendage nelja valge juhtme abil nii positiivse kui ka negatiivse maandusrea keskosa 30. rea mõlemale poolele (need peaksid ületama väikese vahe)

3. samm: surunuppude seadistamine:

Surunuppude seadistamine
Surunuppude seadistamine

1. Võtke nüüd oma nupud ja ühendage need nii, et see ulatuks igal ajal leivalaua keskmise lõhe kohale (mulle meeldib oma asju natuke laiali ajada, et saaksin asju hõlpsamini muuta ja parandada.

2. Võtke kaks punast juhet ja ühendage enda poole suunatud nuppude parem jalg positiivse maandusjoonega.

3. Võtke kaks sinist juhet ja ühendage sinine negatiivne maandusjoon keskmiste ridadega paar rida vasakule surunuppude vasakust jalast, jättes ruumi takistitele.

4. Nüüd ühendage 10K takistid (pruun, must, oranž, kuldne) ühe jalaga samas keskmises reas negatiivse sinise juhtmega ja teine jalg samas reas surunupu vasaku jalaga

[Kõik see on endiselt ühendatud lehelaua keskele eraldusjoone ühele küljele, välja arvatud eraldusjoonel asuvad nupud ning valge, punane ja sinine juhtmed analoogseadistuse jaoks]

5. Nüüd võtke kollane ja roheline juhe ning ühendage vasak jalg keskjoone vastasküljel tihvtidega 9 ja 11 [NB: Analoog töötab ainult tihvtidel 3, 5, 6, 9, 10 ja 11]. Need juhtmed on mõeldud Arduinoga suhtlemiseks.

4. samm: LED -i seadistamine:

LED -i seadistamine
LED -i seadistamine

1. Võtke valgusdiood (teie valitud värv) ja asetage see vaheseina poole, kus on enamik teie ühendusi.

2. Võtke üks sinine juhe ja ühendage negatiivne sinine maandusjoon sama reaga, mis on LED -i lühikese jalaga (anood) [Ahel töötab ainult siis, kui negatiivne sinine joon on ühendatud LED -i parema jalaga i.o.w. anood.

3. Võtke veel üks 10K oomi takisti ja ühendage rida, millesse katood (LED -i positiivne pikk jalg) ühendatud, lähedalasuva reaga samal pool keskjoont.

4. Nüüd võtke oranž traat ja ühendage takisti Arduino tihvtiga 3

Teie ring on nüüd lõpule jõudnud, nüüd on jäänud ainult kõik programmeerida

Samm: vooluringi programmeerimine:

Ma olen selles kõnes natuke uus, nii et palun vabandust, et kopeerisin ainult koodi ja ei loonud videot…

Siin on ahela kood:

// Minu (Altus Lourens) esimene oma projekt: // Loodud 29. ja 30. juuni vahel 2018

// NB enda jaoks: AnalogWrite töötab ainult 3, 5, 6, 9, 10 ja 11 puhul

// NB: Analoog on seotud erinevate olekutega, digitaalne töötab ainult sisse (HIGH) või välja (LOW)

// LED väljastatakse

// nupud on sisendid

// pushButton1 suurendab heledust ühe fadeAmount iga vajutusega

// pushButton2 vähendab heledust ühe fadeAmount iga vajutusega

// konstandid ei muutu, määrake PWM -i pin -numbrid

const int ledPin = 3; // PWM LED -i tihvti number

const int fadeAmount = 50; // heleduse muutmine iga nupuvajutusega

const int nuppPin1 = 11;

const int nuppPin2 = 9; // vajutusnupu number

// muutuja, mis muutub:

int heledus = 5; // LED -ide heleduse algus

int nuppOlek1 = 0; // määrake nupp, mis algab LOW -ga

int nuppOlek2 = 0; // määrake nupp, mis algab LOW -ga

tühine seadistus () {

// pange oma seadistuskood siia, et üks kord käivitada:

// lähtestada LED -pin väljundina:

pinMode (ledPin, OUTPUT);

// lähtestada nupud sisenditeks:

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Seriaalne algus (9600); // suhtluskiirus ahelas

}

// buttonPin1 suurendab LED -i heledust

// buttonPin2 vähendab valgusdioodi heledust

void loop () {

// pange oma põhikood siia korduvaks käitamiseks:

// määrake tihvti 9 heledus:

analogWrite (ledPin, heledus); // heledus = 5, LED põleb

heledus = piirata (heledus, 0, 255); // piirata heledust vahemikus 0 kuni 255

// lugeda nupu väärtuse olekut:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// kontrollige, kas nuppe on vajutatud:

// kui see on -> buttonState = HIGH:

// nupp1:

if (buttonState1 == HIGH) {

heledus = heledus + fadeAmount; // suurendage heledust:

analogWrite (ledPin, heledus + fadeAmount);

}

else {// heledus jääb samale tasemele ja LED ei põle:

analogWrite (ledPin, heledus);

}

// pushbutton2:

if (buttonState2 == HIGH) {

heledus = heledus - fadeAmount; // heleduse vähendamine:

analogWrite (ledPin, heledus - fadeAmount);

}

muu {

// heledus jääb samaks, muutusi ei toimu:

analogWrite (ledPin, heledus);

}

Serial.print ("heledus");

Serial.println (heledus); }

Nüüd saate reguleerida suhtluskiirust ja sellega natuke mängida, kuni leiate kiiruse, mis sobib ideaalselt jadamonitori tööriista jaoks [9600 Baud on lihtsalt standardkiirus]

Soovitan: