Sisukord:

Värvisegisti Arduinoga: 9 sammu (piltidega)
Värvisegisti Arduinoga: 9 sammu (piltidega)

Video: Värvisegisti Arduinoga: 9 sammu (piltidega)

Video: Värvisegisti Arduinoga: 9 sammu (piltidega)
Video: Программирование Ардуино с нуля. Arduino для начинающих. 2024, Juuli
Anonim
Image
Image

Jälgi autori lisateavet:

Värvikera koos Arduinoga
Värvikera koos Arduinoga
Doodle Bot disainiprotsessiga
Doodle Bot disainiprotsessiga
Doodle Bot disainiprotsessiga
Doodle Bot disainiprotsessiga
Arduino puutetundlik klaver
Arduino puutetundlik klaver
Arduino puutetundlik klaver
Arduino puutetundlik klaver

Teave: Alati õpib ….. Veel tliguori330 kohta »

Värvisegisti on suurepärane projekt kõigile, kes töötavad ja kasvavad koos Arduinoga. Selle juhendi lõpuks saate 3 nuppu keerates segada ja sobitada peaaegu kõiki värve. Oskuste tase on piisavalt madal, et isegi täielik algaja suudab selle edukalt lõpetada, kuid samas ka piisavalt huvitav, et olla kogenud loomaarstile nauditav. Selle projekti maksumus on peaaegu midagi ja enamik Arduino komplekte on varustatud vajalike materjalidega. Selle koodi keskmes on mõned põhilised arduino funktsioonid, millest igaüks, kes kasutab arduinot, tahab aru saada. Me läheme sügavamale funktsioonide analogRead () ja analogWrite () kohta nagu teine tavaline funktsioon nimega map (). Need lingid viivad teid nende funktsioonide arduino viitelehtedele.

Samm: osad ja komponendid

Osad ja komponendid
Osad ja komponendid
Osad ja komponendid
Osad ja komponendid
Osad ja komponendid
Osad ja komponendid
Osad ja komponendid
Osad ja komponendid

Arduino Uno

Potentsiomeeter (x3)

RGB LED

220 oomi takisti (x3)

Jumper juhtmed (x12)

Leivalaud

2. samm: planeerige oma edusamme

Planeerige oma edusamme
Planeerige oma edusamme

See võib olla väga kasulik, kui plaanite oma projekti lõpule viia. Kodeerimine seisneb loogilises edenemises ühest sammust teise. Tegin vooskeemi, mis kirjeldab, kuidas ma soovin, et minu visand jookseks. Üldine eesmärk on 3 nuppu (potentsiomeetrit), mis juhivad RGB LED -i kolme värvi. Selle saavutamiseks peame koostama vooskeemile vastava visandi. Me tahame….

1) Lugege 3 erinevat potentsiomeetrit ja salvestage nende väärtused muutujateks.

2) Teisendame need väärtused vastavusse RGB LED -i vahemikuga.

3) Seejärel kirjutame need teisendatud väärtused igale RGB värvile.

Samm: potentsiomeetrite kasutamine

Kuidas kasutada potentsiomeetreid
Kuidas kasutada potentsiomeetreid
Kuidas kasutada potentsiomeetreid
Kuidas kasutada potentsiomeetreid

Elektroonikakomplektide üks põhilisemaid komponente, potentsiomeetrit saab kasutada paljudes erinevates projektides. potentsiomeetrid töötavad, võimaldades kasutajal füüsiliselt muuta vooluahela takistust. Potentsiomeetri kõige farmilaarsem näide on valguse dimmer. nupu libistamine või keeramine muudab ahela pikkust. pikem tee toob kaasa suurema vastupanu. Suurenenud takistus vähendab vastupidiselt voolu ja valgust. Neid võib olla erineva kuju ja suurusega, kuid enamikul on sama põhiseade. Üks õpilane palus abi oma kitarri parandamisel ja saime teada, et selle nupud on täpselt samad kui potentsiomeetrid. Üldiselt olid välisjalad ühendatud 5 volti ja maapinnaga ning keskmine jalg läheb analoogpinnile nagu A0

Samm 4: (3x) potentsiomeetri juhtmestiku skeem

(3x) potentsiomeetri juhtmestiku skeem
(3x) potentsiomeetri juhtmestiku skeem
(3x) potentsiomeetri juhtmestiku skeem
(3x) potentsiomeetri juhtmestiku skeem
(3x) potentsiomeetri juhtmestiku skeem
(3x) potentsiomeetri juhtmestiku skeem

Kõige vasak jalg ühendatakse 5v ja parem parem jalg GND -ga. Saate need kaks sammu tegelikult ümber pöörata ja see ei kahjusta projekti väga. Ainus, mis muudaks, on nupu lõpuni vasakule keeramine, mitte täieliku heleduse asemel. Keskmine jalg ühendatakse ühe Arduino analoogpistikuga. Kuna meil on kolm nuppu, tahame äsja tehtud tööd kolmekordistada. Iga nupp vajab 5v ja GND, nii et neid saab leivalaua abil jagada. Leivaplaadil olev punane riba on ühendatud 5 voltiga ja sinine riba on ühendatud maapinnaga. Iga nupp vajab oma analoognõela, nii et need on ühendatud A0, A1, A2.

Samm: AnalogRead () ja muutujate kasutamine

Kui potentsiomeeter on õigesti seadistatud, oleme valmis neid väärtusi lugema. Kui me seda teha tahame, kasutame funktsiooni analogRead (). Õige süntaks on analogRead (pin#); nii et meie keskmise potentsiomeetri lugemiseks oleksime analogRead (A1); Nupust Arduinole saadetavate numbritega töötamiseks tahame need numbrid ka muutujaga salvestada. Koodirida täidab seda ülesannet, kui loeme potentsiomeetrit ja salvestame selle praeguse numbri täisarvulises muutuja "val"

int val = analogRead (A0);

6. samm: jadamonitori kasutamine 1 nupuga

Image
Image

Praegu saame nuppudest väärtusi hankida ja neid muutujaga salvestada, kuid oleks kasulik, kui näeksime neid väärtusi. Selleks peame kasutama sisseehitatud jadamonitori. Allolev kood on esimene visand, mida me tegelikult Arduino IDE -s käitame ja mille saab nende saidilt alla laadida. Tühjuse seadistuses () aktiveerime sisendina iga keskmise jalaga ühendatud analoogpoldid ja aktiveerime jadakuva Serial.begin (9600) abil; järgmiseks loeme ainult ühte nuppudest ja salvestame selle muutujale nagu varem. Muudatus on see, et oleme lisanud rea, mis prindib muutujale salvestatud arvu. Kui koostate ja käivitate visandi, saate seejärel avada oma jadamonitori ja näha numbrite kerimist ekraanil. Iga kord, kui kood loeb, loeme ja prindime teise numbri. Kui keerate A0-ga ühendatud nuppu, peaksite nägema väärtusi vahemikus 0-1023. hiljem on eesmärk lugeda kõiki kolme potentsiomeetrit, mille salvestamiseks ja printimiseks oleks vaja veel 2 analooglugemist ja 2 erinevat muutujat.

tühine seadistus () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Seriaalne algus (9600); } void loop () {int val = analogRead (A0); Seeria.println (val); }

Samm: RGB LED -i kasutamine

RGB LED -i kasutamine
RGB LED -i kasutamine
RGB LED -i kasutamine
RGB LED -i kasutamine
RGB LED -i kasutamine
RGB LED -i kasutamine

4 jalaga RGB LED on üks minu lemmikkomponente Arduino jaoks. Leian, et viis, kuidas see suudab luua kolme põhivärvi segudest lõputuid värve, on põnev. Seade on sarnane mis tahes tavalisele LED -ile, kuid siin on meil põhimõtteliselt ühendatud punane, sinine ja roheline LED. Lühikesi jalgu juhib üks arduino PWM -tihvtidest. Pikim jalg ühendatakse 5 volti või maandusega, sõltuvalt sellest, kas teil on ühine anood või tavaline katood -LED. Selle probleemi lahendamiseks peate proovima mõlemat viisi. Meil on juba 5v ja GND leivaplaadiga ühendatud, seda peaks olema lihtne muuta. Ülaltoodud diagramm näitab ka kolme takisti kasutamist. Ma jätan selle sammu sageli vahele, kuna mul pole seda olnud ja LED -tuled põlevad mu peal.

Värvide loomiseks kasutame funktsiooni analogWrite (), et kontrollida, kui palju punast, sinist või rohelist lisada. Selle funktsiooni kasutamiseks peate ütlema, millise tihvtiga# me räägime ja numbri vahemikus 0–255. 0 on täielikult välja lülitatud ja 255 on ühe värvi suurim kogus. Ühendame punase jala nööpnõelaga 9, rohelise tihvtiga 10 ja sinise tihvtiga 11. See võib võtta mõne katse ja vea, et välja selgitada, milline jalg on mis värvi. Kui ma tahaksin lillat tooni teha, saaksin teha palju punast, mitte rohelist ja võib -olla poole tugevamat sinist. Soovitan teil nende numbritega nokitseda, see on tõesti põnev. Mõned tavalised näited on ülaltoodud piltidel

tühine seadistus () {

pinMode (9, VÄLJUND); pinMode (10, VÄLJUND); pinMode (11, VÄLJUND); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Samm: potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)

Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)
Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)
Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)
Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)
Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)
Potentsiomeetrite kasutamine RGB LED -i juhtimiseks (ühe veaga)

On aeg alustada meie kahe koodi ühendamist. Teil peaks tavalisel leivaplaadil olema piisavalt ruumi, et mahutada kõik 3 nuppu ja RGB LED. Idee on punase sinise ja rohelise väärtuste sisestamise asemel värvide pidevaks muutmiseks kasutada igast poteniomeetrist salvestatud väärtusi. sel juhul vajame 3 muutujat. punane, roheline, sinine on kõik erinevad muutujad. Pidage meeles, et saate neid muutujaid nimetada mida iganes soovite. kui keerate rohelist nuppu ja punane kogus muutub, saate nimesid õigesti sobitada. nüüd saate iga nuppu keerata ja värve juhtida !!

tühine seadistus () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, VÄLJUND); pinMode (10, VÄLJUND); pinMode (11, VÄLJUND); } void setup () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, rohelineVal); analogWrite (11, blueVal); }

9. samm: BONUS: Kaardi () funktsioon ja puhastuskood

Võite märgata, et kui hakkate ühe värvi nuppu üles keerama, siis see kasvab ja langeb äkki alla. See kasvamismuster ja seejärel kiire väljalülitamine kordub 4 korda, kui keerate nupu lõpuni üles. Kui mäletate, ütlesime, et potentsiomeetrid suudavad lugeda väärtusi vahemikus 0–1023. Funktsioon analogWrite () aktsepteerib ainult väärtusi vahemikus 0–255. Kui potentsiomeeter ületab 255, algab see põhimõtteliselt nullist. viga nimega kaart (). saate ühe numbrivahemiku ühe sammuga teisendada teisesse numbrivahemikku. teisendame numbrid 0-1023 numbriteks 0-255. Näiteks kui nupp oli poolenisti seatud, peaks see lugema umbes 512. see number muudetakse 126 -le, mis on LED -i poole tugevam. Selles viimases visandis nimetasin mugavuse huvides tihvte muutuvate nimedega. Nüüd on teil valmis värvimikser, millega katsetada !!!

// potentsiomeetri tihvtide muutujate nimed

int redPot = A0; int greenPot = A1; int bluePot = A2 // RGB tihvtide muutujate nimed int redLED = 9; int rohelineLED = 10; int sinineLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (punaneLED, VÄLJUND); pinMode (rohelineLED, VÄLJUND); pinMode (sinineLED, VÄLJUND); Seriaal, alusta (9600); } void loop () {// potentsiomeetrite väärtuste lugemine ja salvestamine int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // teisendada väärtused 0-1023 väärtuseks 0-255 RGB LED-i jaoks redVal = map (redVal, 0, 1023, 0, 255); greenVal = kaart (greenVal, 0, 1023, 0, 255); blueVal = kaart (blueVal, 0, 1023, 0, 255); // kirjutage need teisendatud väärtused igale RGB LED -i värvile analogWrite (redLED, redVal); anaogWrite (rohelineLED, rohelineVal); analogWrite (blueLED, blueVal); // näita väärtusi jadamonitoril Serial.print ("red:"); Serial.print (redVal); Serial.print ("roheline:"); Serial.print (greenVal); Serial.print ("sinine:"); Serial.println (blueVal); }

Soovitan: