Sadržaj:
- Korak 1: Dijelovi i komponente
- Korak 2: Planirajte svoj napredak
- Korak 3: Kako koristiti potenciometre
- Korak 4: Shema ožičenja za (3x) potenciometar
- Korak 5: Upotreba AnalogRead () i varijabli
- Korak 6: Upotreba serijskog monitora s 1 gumbom
- Korak 7: Upotreba RGB LED diode
- Korak 8: Upotreba potenciometara za kontrolu RGB LED diode (s jednom greškom)
- Korak 9: BONUS: Funkcija Map () i kod za čišćenje
Video: Mikser boja sa Arduinom: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Autor tliguori330Sledi Još autora:
O: Uvijek učite ….. Više o tliguori330 »
Mješalica boja odličan je projekt za svakoga tko radi i raste s Arduinom. Do kraja ovog uputstva moći ćete miješati i uskladiti gotovo svaku boju koju možete zamisliti okretanjem 3 gumba. Nivo vještine je dovoljno nizak da ga čak i potpuni početnik može uspješno završiti, ali i dovoljno zanimljiv da bude ugodan iskusnom veterinaru. Cijena ovog projekta je gotovo nikakva, a većina Arduino setova dolazi s potrebnim materijalima. U srži ovog koda nalaze se neke osnovne arduino funkcije koje bi svi koji koriste arduino htjeli razumjeti. Ući ćemo dublje u funkcije analogRead () i analogWrite () kao i mi kao druga uobičajena funkcija koja se zove map (). Ove vas veze vode na arduino referentne stranice za ove funkcije.
Korak 1: Dijelovi i komponente
Arduino Uno
Potenciometar (x3)
RGB LED
220 ohmski otpornik (x3)
Žice za kratkospojnike (x12)
Ploča za hleb
Korak 2: Planirajte svoj napredak
Može vam biti od velike pomoći planiranje načina na koji ćete dovršiti svoj projekt. Kodiranje je sve o logičkom napretku od jednog koraka do drugog. Napravio sam dijagram toka koji prikazuje kako želim da se moja skica izvodi. Opšti cilj je imati 3 dugmeta (potenciometra) za kontrolu svake od tri boje RGB LED diode. Da bismo to postigli, morat ćemo stvoriti skicu koja odgovara dijagramu toka. Mi ćemo htjeti….
1) Pročitajte 3 različita potenciometra i spremite njihove vrijednosti u varijable.
2) Pretvorit ćemo te vrijednosti u raspon RGB LED diode.
3) Zatim ćemo na kraju zapisati te konvertirane vrijednosti u svaku od boja RGB -a.
Korak 3: Kako koristiti potenciometre
Jedna od najosnovnijih komponenti u kompletu elektronike, potenciometar se može koristiti u mnogim različitim projektima. potenciometri funkcioniraju dopuštajući korisniku da fizički promijeni otpor kruga. Najfarmilarniji primjer potenciometra je prigušivač svjetla. klizanjem ili okretanjem dugmeta menja se dužina kola. duži put rezultira većim otporom. Povećani otpor obrnuto smanjuje struju i svjetlo se prigušuje. Mogu biti različitih oblika i veličina, ali većina ima iste osnovne postavke. Učenik je zatražio pomoć pri popravljanju gitare i otkrili smo da su gumbi na njoj potpuno isti kao i potenciometri. Općenito, vanjske noge bile su spojene na 5 volti i uzemljene, a srednja noga ide na analogni pin poput A0
Korak 4: Shema ožičenja za (3x) potenciometar
Krajnji lijevi krak bit će spojen na 5v, a krajnji desni krak na GND. Zapravo možete promijeniti ova dva koraka i to neće jako naštetiti projektu. Sve što bi se promijenilo je okretanje dugmeta skroz ulijevo bit će puna svjetlina, a ne skroz skroz. Srednji krak bit će spojen na jedan od analognih pinova na Arduinu. Budući da ćemo imati tri dugmeta, htjet ćemo utrostručiti posao koji smo upravo obavili. Svakom gumbu je potrebno 5V i GND pa se oni mogu dijeliti pomoću ploče za kruh. Crvena traka na ploči za kruh spojena je na 5 volti, a plava traka je spojena na masu. Svakom gumbu je potreban vlastiti analogni pin tako da su spojeni na A0, A1, A2.
Korak 5: Upotreba AnalogRead () i varijabli
S ispravno postavljenim potenciometrom spremni smo za čitanje tih vrijednosti. Kad god želimo to učiniti, koristimo funkciju analogRead (). Tačna sintaksa je analogRead (pin#); pa bismo za očitavanje našeg srednjeg potenciometra analizirali ReadRead (A1); Kako bismo radili s brojevima koji se šalju s gumba na Arduino, htjet ćemo i spremiti te brojeve u varijablu. Redak koda će ispuniti ovaj zadatak dok čitamo potenciometar i spremamo njegov trenutni broj u cjelobrojnu varijablu "val"
int val = analogRead (A0);
Korak 6: Upotreba serijskog monitora s 1 gumbom
Trenutno možemo dobiti vrijednosti iz gumba i pohraniti ih u varijablu, ali bilo bi korisno kada bismo vidjeli te vrijednosti. Da bismo to učinili, moramo koristiti ugrađeni serijski monitor. Kod ispod je prva skica koju ćemo zapravo izvesti u Arduino IDE -u i koju možete preuzeti na njihovoj web lokaciji. U postavci void () aktivirat ćemo analogne pinove povezane sa svakom srednjom nogom kao ULAZ i aktivirati serijski monitor pomoću Serial.begin (9600); zatim čitamo samo jedno dugme i spremamo ga u varijablu kao i prije. Promjena je sada u tome što smo dodali redak koji ispisuje koji je broj pohranjen u varijabli. Ako sastavite i pokrenete skicu, tada možete otvoriti serijski monitor i vidjeti kako se brojevi pomiču na ekranu. Svaki put kada se kôd petlja čitamo i ispisujemo drugi broj. Ako okrenete gumb spojen na A0, trebali biste vidjeti vrijednosti u rasponu od 0-1023. kasnije će cilj biti čitanje sva 3 potntiometra koji bi zahtijevali još 2 analogna čitanja i 2 različite varijable za spremanje i ispis.
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial.begin (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }
Korak 7: Upotreba RGB LED diode
Četveronožni RGB LED jedna je od mojih omiljenih komponenti za Arduino. Nalazim da je način na koji može stvoriti beskrajne boje iz mješavina 3 osnovne boje fascinira. Postavljanje je slično bilo kojoj uobičajenoj LED, ali ovdje u osnovi imamo crvenu, plavu i zelenu LED diodu zajedno. Svake kratke noge bit će kontrolirane jednim od PWM pinova na arduinu. Najduža noga bit će spojena na 5 volti ili uzemljenje, ovisno o tome je li vaša na zajedničkoj anodi ili na zajedničkoj LED katodi. Morat ćete isprobati oba načina da riješite problem. Već ćemo imati 5V i GND spojen na matičnu ploču, pa bi se to trebalo lako promijeniti. Gornji dijagram prikazuje i upotrebu 3 otpornika. Zapravo preskačem ovaj korak jer ga još nisam imao i LED dioda me je ugasila.
Za izradu boja koristit ćemo funkciju analogWrite () za kontrolu količine crvene, plave ili zelene boje za dodavanje. Da biste koristili ovu funkciju, morate reći s kojim ćemo pinom# razgovarati i brojem između 0-255. 0 je potpuno isključeno, a 255 je najveća količina jedne boje. Spojimo crvenu nogu na pin 9, zelenu na pin 10 i plavu na pin 11. Ovo može potrajati pokušajem i greškom da se ustanovi koja je noga koja boja. Da želim napraviti ljubičastu nijansu, mogao bih napraviti puno crvene, a ne zelene, a možda i pola snage plave boje. Ohrabrujem vas da se pozabavite ovim brojevima, zaista je uzbudljivo. Neki uobičajeni primjeri su na gornjim slikama
void setup () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}
Korak 8: Upotreba potenciometara za kontrolu RGB LED diode (s jednom greškom)
Vrijeme je da spojimo naša dva koda. Trebali biste imati dovoljno prostora na standardnoj ploči za postavljanje sva 3 gumba i RGB LED diode. Ideja je umjesto da unosimo vrijednosti za crvenu plavu i zelenu, mi ćemo koristiti vrijednosti spremljene sa svakog potenciometra za stalnu promjenu boja. u ovom slučaju će nam trebati 3 varijable. redval, greenval, blueval su sve različite varijable. Imajte na umu da ovim varijablama možete dati bilo koje ime. ako okrenete "zeleno" dugme i promijeni se crveni iznos, možete promijeniti imena da se pravilno podudaraju. sada možete okrenuti svaki gumb i kontrolirati boje !!
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void setup () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, greenVal); analogWrite (11, blueVal); }
Korak 9: BONUS: Funkcija Map () i kod za čišćenje
Možda ćete primijetiti da će, kako počnete okretati gumb za jednu boju prema gore, narasti, a zatim odjednom pasti dolje. Ovaj obrazac rasta i brzog isključivanja ponavlja se 4 puta dok okrećete gumb do kraja. Ako se sjećate, rekli smo da potenciometri mogu očitavati vrijednosti između 0 i 1023. Funkcija analogWrite () prihvaća samo vrijednosti između 0 i 255. kada potenciometar pređe 255, u osnovi počinje s 0. Postoji lijepa funkcija koja vam može pomoći pri greška zvana map (). možete pretvoriti jedan raspon brojeva u drugi niz brojeva u jednom koraku. pretvorit ćemo brojeve od 0-1023 u brojeve od 0-255. Na primjer, ako je dugme postavljeno na pola puta, trebalo bi da piše o 512. taj broj bi se promijenio u 126, što je upola jača dioda za LED. U ovoj završnoj skici nazvao sam pinove s imenima varijabli radi moje udobnosti. Sada imate kompletan mikser boja za eksperimentisanje !!!
// nazivi varijabli za pinove potenciometra
int redPot = A0; int greenPot = A1; int bluePot = A2 // imena varijabli za RGB pinove int redLED = 9; int zelenaLED = 10; int plavoLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (crveno, LED, OUTPUT); pinMode (greenLED, OUTPUT); pinMode (blueLED, OUTPUT); Serial, begin (9600); } void loop () {// čitanje i spremanje vrijednosti s potenciometara int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // pretvaramo vrijednosti od 0-1023 u 0-255 za RGB LED redVal = map (redVal, 0, 1023, 0, 255); greenVal = mapa (greenVal, 0, 1023, 0, 255); blueVal = mapa (blueVal, 0, 1023, 0, 255); // zapisujemo ove konvertirane vrijednosti u svaku boju RGB LED analogWrite (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // prikazuju vrijednosti na serijskom monitoru Serial.print ("red:"); Serial.print (redVal); Serial.print ("zeleno:"); Serial.print (greenVal); Serial.print ("plavo:"); Serial.println (blueVal); }
Preporučuje se:
3 KANALNI ZVUČNI MIKSER Integrisan sa FM radio predajnikom: 19 koraka (sa slikama)
3 KANALNI ZVUČNI MIKŠER Integriran sa FM radio odašiljačem: Hej svima, u ovom članku ću vas uputiti da izgradite svoj vlastiti 3 KANALNI ZVUČNI MIKŠER integriran s FM radio odašiljačem
Arduino RGB alat za odabir boja - odaberite boje iz objekata iz stvarnog života: 7 koraka (sa slikama)
Arduino RGB alat za odabir boja - Odaberite boje iz predmeta iz stvarnog života: Lako birajte boje s fizičkih objekata pomoću ovog Arduino birača boja zasnovanog na Arduinu, omogućavajući vam da na svom računaru ili mobilnom telefonu ponovno stvorite boje koje vidite u stvarnim predmetima. Jednostavno pritisnite dugme za skeniranje boje objekta pomoću jeftinog TCS347
Slika u više boja u boji (osjetljiv na dodir): 8 koraka (sa slikama)
Višebojni svjetlosni slikar (osjetljiv na dodir): Slikanje svjetlom je fotografska tehnika koja se koristi za stvaranje posebnih efekata pri malim brzinama zatvarača. Svjetiljka se obično koristi za "slikanje" slike. U ovom Instructable -u ću vam pokazati kako izgraditi sveobuhvatnog slikara svjetla dodirom
RGB LED miješanje boja sa Arduinom u Tinkercadu: 5 koraka (sa slikama)
RGB LED miješanje boja sa Arduinom u Tinkercadu: Naučimo kako kontrolirati LED u više boja koristeći Arduino analogne izlaze. Spojit ćemo RGB LED na Arduino Uno i sastaviti jednostavan program za promjenu boje. Možete ih pratiti virtualno koristeći Tinkercad kola. Ovo čak možete pogledati
Igračke sa prilagodbom: Play @ Home mikser dostupan! 7 koraka (sa slikama)
Switch-Adapt Toys: Play @ Home Mixer Made Accessible !: Adaptacija igračaka otvara nove načine i prilagođena rješenja koja djeci sa ograničenim motoričkim sposobnostima ili smetnjama u razvoju omogućuju samostalnu interakciju s igračkama. U mnogim slučajevima djeca kojima su potrebne prilagođene igračke nisu u mogućnosti