Sisällysluettelo:

Värisekoitin Arduinolla: 9 vaihetta (kuvilla)
Värisekoitin Arduinolla: 9 vaihetta (kuvilla)

Video: Värisekoitin Arduinolla: 9 vaihetta (kuvilla)

Video: Värisekoitin Arduinolla: 9 vaihetta (kuvilla)
Video: Демидовы (1 серия) (1983) фильм 2024, Marraskuu
Anonim
Image
Image

Seuraa lisää tekijältä:

Väripallo Arduinolla
Väripallo Arduinolla
Doodle Bot suunnitteluprosessilla
Doodle Bot suunnitteluprosessilla
Doodle Bot suunnitteluprosessilla
Doodle Bot suunnitteluprosessilla
Arduino Touch Piano
Arduino Touch Piano
Arduino Touch Piano
Arduino Touch Piano

Tietoja: Aina oppii….. Lisätietoja tliguori330: sta »

Värisekoitin on loistava projekti kaikille, jotka työskentelevät ja kasvavat Arduinon kanssa. Tämän ohjeen loppuun mennessä voit sekoittaa ja sovittaa lähes kaikki kuviteltavissa olevat värit kääntämällä 3 nuppia. Taitotaso on riittävän alhainen, jotta jopa täydellinen aloittelija voi suorittaa sen onnistuneesti, mutta myös tarpeeksi mielenkiintoinen, jotta se olisi nautittavaa kokeneelle eläinlääkärille. Tämän projektin kustannukset ovat lähes mitään ja useimmat Arduino -sarjat tulevat tarvittavien materiaalien mukana. Tämän koodin ytimessä on joitain perustavanlaatuisia arduino -toimintoja, jotka kaikki arduinoa käyttävät haluavat ymmärtää. Menemme syvemmälle analogRead () - ja analogWrite () -toimintoihin, kuten toisena tavallisena funktiona nimeltä map (). Nämä linkit johtavat näiden toimintojen arduino -viitesivuille.

Vaihe 1: Osat ja komponentit

Osat ja komponentit
Osat ja komponentit
Osat ja komponentit
Osat ja komponentit
Osat ja komponentit
Osat ja komponentit
Osat ja komponentit
Osat ja komponentit

Arduino Uno

Potentiometri (x3)

RGB -LED

220 ohmin vastus (x3)

Hyppyjohdot (x12)

Leipälauta

Vaihe 2: Suunnittele edistymisesi

Suunnittele edistymistäsi
Suunnittele edistymistäsi

Se voi olla erittäin hyödyllistä suunnitella, miten saat projektisi päätökseen. Koodaus perustuu loogiseen etenemiseen vaiheesta toiseen. Tein vuokaavion, jossa kuvataan, miten haluan luonnoksen toimivan. Yleisenä tavoitteena on saada 3 nuppia (potentiometriä), jotka ohjaavat RGB -LEDin kolmea väriä. Tämän saavuttamiseksi meidän on luotava luonnos, joka vastaa vuokaaviota. Haluamme….

1) Lue 3 eri potentiometriä ja tallenna niiden arvot muuttujiin.

2) Muunnamme nämä arvot vastaamaan RGB -LED -alueen kantamaa.

3) Sitten lopuksi kirjoitamme nämä muunnetut arvot kullekin RGB -värille.

Vaihe 3: Potentiometrien käyttö

Potentiometrien käyttö
Potentiometrien käyttö
Potentiometrien käyttö
Potentiometrien käyttö

Yksi elektroniikkasarjojen peruskomponenteista, potentiometriä voidaan käyttää monissa eri projekteissa. potentiometrit toimivat sallimalla käyttäjän muuttaa fyysisesti piirin vastusta. Kaikkein farmilaarisin esimerkki potentiometristä on valon himmennin. nupin liu'uttaminen tai kääntäminen muuttaa piirin pituutta. pidempi polku lisää vastusta. Lisääntynyt vastus vähentää käänteisesti virtaa ja himmentää valoa. Näitä voi olla eri muotoisia ja kokoisia, mutta useimmilla on sama perusasetus. Opiskelija pyysi apua kitaransa korjaamisessa ja huomasimme, että sen nupit olivat täsmälleen samat kuin potentiometrit. Yleensä olit ulkopuoliset jalat kytketty 5 volttiin ja maahan, ja keskijalka menee analogiseen nastaan, kuten A0

Vaihe 4: Johdotuskaavio (3x) potentiometrille

Kytkentäkaavio (3x) potentiometrille
Kytkentäkaavio (3x) potentiometrille
Kytkentäkaavio (3x) potentiometrille
Kytkentäkaavio (3x) potentiometrille
Kytkentäkaavio (3x) potentiometrille
Kytkentäkaavio (3x) potentiometrille

Vasen suurin jalka on kytketty 5 V: iin ja oikea suurin jalka GND: hen. Voit itse kääntää nämä kaksi vaihetta, eikä se vahingoita projektia kovin paljon. Ainoa mikä muuttuisi, on nupin kääntäminen kokonaan vasemmalle, on täysi kirkkaus kokonaan pois päältä. Keskijalka kytketään yhteen Arduinon analogisista nastoista. Koska meillä on kolme nuppia, haluamme kolminkertaistaa tekemämme työn. Jokainen nuppi tarvitsee 5v ja GND, joten ne voidaan jakaa leipälevyn avulla. Leipälevyn punainen nauha on kytketty 5 volttiin ja sininen nauha maahan. Jokainen nuppi tarvitsee oman analogisen nastansa, joten ne on kytketty A0, A1, A2.

Vaihe 5: AnalogRead (): n ja muuttujien käyttäminen

Kun potentiometri on asetettu oikein, olemme valmiita lukemaan nämä arvot. Kun haluamme tehdä tämän, käytämme analogRead () -funktiota. Oikea syntaksi on analogRead (nasta#); joten keskimmäisen potentiometrin lukemiseksi olisimme analoginen (A1); Jotta voimme käsitellä nupista Arduinolle lähetettäviä numeroita, haluamme myös tallentaa nämä numerot muuttujaan. Koodirivi suorittaa tämän tehtävän, kun luemme potentiometrin ja tallennamme sen nykyisen numeron kokonaislukumuuttujaan "val"

int val = analoginen (A0);

Vaihe 6: Sarjamonitorin käyttö 1 nupilla

Image
Image

Tällä hetkellä voimme saada arvoja nuppeista ja tallentaa ne muuttujaan, mutta olisi hyödyllistä nähdä nämä arvot. Tätä varten meidän on käytettävä sisäänrakennettua sarjamonitoria. Alla oleva koodi on ensimmäinen luonnos, jonka todella käytämme Arduino IDE: ssä, jonka voi ladata heidän sivustoltaan. Void -asetuksessa () aktivoimme tulot ja kumpaankin keskijalkaan kytketyt analogiset nastat tuloksi ja aktivoimme sarjamonitorin Serial.begin (9600) -toiminnolla; seuraavaksi luemme vain yhden nupista ja tallennamme sen muuttujaan kuten ennen. Muutoksena on nyt lisätty rivi, joka tulostaa muuttujaan tallennetun numeron. Jos käännät luonnoksen ja suoritat sen, voit avata sarjamonitorin ja nähdä numerot vierivällä näytöllä. Joka kerta, kun koodisilmukka luetaan ja tulostetaan toinen numero. Jos käännät nuppia, joka on kytketty A0: een, näet arvot välillä 0-1023. myöhemmin tavoitteena on lukea kaikki kolme potentiometriä, joiden tallentamiseen ja tulostamiseen tarvitaan vielä kaksi analogista lukua ja kaksi eri muuttujaa.

void setup () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Sarja.alku (9600); } void loop () {int val = analoginen (A0); Sarja.println (val); }

Vaihe 7: RGB -LED -valon käyttö

RGB -LED -valon käyttö
RGB -LED -valon käyttö
RGB -LED -valon käyttö
RGB -LED -valon käyttö
RGB -LED -valon käyttö
RGB -LED -valon käyttö

4 -jalkainen RGB -LED on yksi suosikkikomponenteistani Arduinolle. Mielestäni tapa, jolla se voi luoda loputtomia värejä kolmen perusvärin seoksista, on kiehtova. Kokoonpano on samanlainen kuin mikä tahansa tavallinen LED, mutta täällä meillä on pohjimmiltaan punainen, sininen ja vihreä LED yhdistettynä yhteen. Lyhyitä jalkoja ohjataan kumpikin arduinon PWM -nastoista. Pisin jalka kytketään 5 volttiin tai maahan, riippuen siitä, onko sinulla yhteinen anodi tai yhteinen katodivalo. Sinun on kokeiltava molempia tapoja ratkaista ongelma. Meillä on jo 5v ja GND kytketty leipälautaan, jotta sen pitäisi olla helppo vaihtaa. Yllä oleva kaavio näyttää myös kolmen vastuksen käytön. Itse ohitan tämän vaiheen usein, koska minulla ei ole ollut ja LED -valo syttyy.

Värien luomiseksi käytämme analogWrite () -toimintoa ohjataksemme kuinka paljon punaista, sinistä tai vihreää lisätään. Jotta voit käyttää tätä toimintoa, sinun on sanottava, millä nastalla# puhumme, ja numero välillä 0-255. 0 on kokonaan pois päältä ja 255 on suurin määrä yhtä väriä. Yhdistetään punainen jalka nastaan 9, vihreä nastaan 10 ja sininen nastaan 11. Tämä saattaa kestää jonkin aikaa kokeilun ja erehdyksen selvittääksesi, mikä jalka on minkä värinen. Jos haluaisin tehdä violetin sävyn, voisin tehdä paljon punaista, ei vihreää ja ehkä puolet sinistä. Kehotan sinua huolehtimaan näistä numeroista, se on todella jännittävää. Joitakin yleisiä esimerkkejä on yllä olevissa kuvissa

void setup () {

pinMode (9, LÄHTÖ); pinMode (10, LÄHTÖ); pinMode (11, LÄHTÖ); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Vaihe 8: Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)

Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)
Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)
Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)
Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)
Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)
Potentiometrien käyttäminen RGB -LEDin ohjaamiseen (yhdellä virheellä)

On aika alkaa yhdistää kaksi koodia yhteen. Sinulla pitäisi olla tarpeeksi tilaa tavallisella leipälaudalla, jotta se mahtuu kaikkiin 3 nuppia ja RGB -LED -valoon. Ajatuksena on, että sen sijaan, että kirjoittaisit punaisen sinisen ja vihreän arvot, vaihdamme värejä jatkuvasti jokaisesta poteniometristä tallennettujen arvojen avulla. tarvitsemme tässä tapauksessa 3 muuttujaa. redval, greenval, blueval ovat kaikki erilaisia muuttujia. Muista, että voit nimetä nämä muuttujat mitä haluat. Jos käännät "vihreää" nuppia ja punainen määrä muuttuu, voit vaihtaa nimet vastaamaan oikein. voit nyt kääntää jokaista nuppia ja hallita värejä !!

void setup () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, LÄHTÖ); pinMode (10, LÄHTÖ); pinMode (11, LÄHTÖ); } void setup () {int redVal = analogRead (A0); int greenVal = analoginenLue (A1); int blueVal = analoginenLue (A2); analogWrite (9, redVal); analogWrite (10, vihreäVal); analogWrite (11, sininenVal); }

Vaihe 9: BONUS: Kartta () -toiminto ja puhdistuskoodi

Saatat huomata, että kun aloitat yhden värin nupin kääntämisen ylöspäin, se kasvaa ja putoaa yhtäkkiä alas. Tämä kasvumalli ja sitten nopea sammutus toistuu 4 kertaa, kun käännät nupin kokonaan ylös. Jos muistat, sanoimme, että potentiometrit voivat lukea arvoja välillä 0 ja 1023. AnalogWrite () -funktio hyväksyy vain arvot välillä 0 ja 255. Kun potentiometri ylittää 255, se alkaa periaatteessa nollasta. On mukava toiminto, joka auttaa vika nimeltään kartta (). voit muuntaa yhden numeroalueen toiseen numeroalueeseen yhdessä vaiheessa. muunnamme numerot 0-1023 numeroiksi 0-255. Esimerkiksi, jos nuppi on asetettu puoliväliin, sen pitäisi lukea noin 512. tämä luku muutetaan arvoon 126, joka on puolet vahvuus LEDille. Tässä viimeisessä luonnoksessa nimesin nastat vaihtelevilla nimillä mukavuuden vuoksi. Sinulla on nyt valmis värisekoitin kokeiltavaksi !!!

// potentiometrin nastojen muuttujien nimet

int redPot = A0; int vihreäPot = A1; int bluePot = A2 // RGB -nastojen muuttujien nimet int redLED = 9; int vihreäLED = 10; int sininenLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (punainen LED, LÄHTÖ); pinMode (vihreä LED, OUTPUT); pinMode (blueLED, OUTPUT); Sarja, aloita (9600); } void loop () {// lukea ja tallentaa potentiometrien arvot int redVal = analogRead (redPot); int greenVal = analoginenLue (greenPot); int blueVal - analoginenLue (bluePot); // muuntaa arvot 0-1023 arvoon 0-255 RGB-LEDille redVal = map (redVal, 0, 1023, 0, 255); greenVal = kartta (greenVal, 0, 1023, 0, 255); blueVal = kartta (blueVal, 0, 1023, 0, 255); // kirjoita nämä muunnetut arvot jokaiseen RGB LED analogWrite -väriin (redLED, redVal); anaogWrite (vihreäLED, vihreäVal); analogWrite (blueLED, blueVal); // näyttää arvot sarjamonitorissa Serial.print ("red:"); Serial.print (redVal); Serial.print ("vihreä:"); Serial.print (vihreäVal); Serial.print ("sininen:"); Serial.println (blueVal); }

Suositeltava: