Sadržaj:

Mikser boja sa Arduinom: 9 koraka (sa slikama)
Mikser boja sa Arduinom: 9 koraka (sa slikama)

Video: Mikser boja sa Arduinom: 9 koraka (sa slikama)

Video: Mikser boja sa Arduinom: 9 koraka (sa slikama)
Video: СЕКРЕТ пышного ОГРОМНОГО бисквита, который не опадает! Ручным миксером! Всегда получается! 2024, Novembar
Anonim
Image
Image

Autor tliguori330Sledi Još autora:

Sfera boja sa Arduinom
Sfera boja sa Arduinom
Doodle Bot sa procesom dizajna
Doodle Bot sa procesom dizajna
Doodle Bot sa procesom dizajna
Doodle Bot sa procesom dizajna
Arduino Touch klavir
Arduino Touch klavir
Arduino Touch klavir
Arduino Touch klavir

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

Dijelovi i komponente
Dijelovi i komponente
Dijelovi i komponente
Dijelovi i komponente
Dijelovi i komponente
Dijelovi i komponente
Dijelovi i komponente
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

Planirajte svoj napredak
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

Kako koristiti potenciometre
Kako koristiti potenciometre
Kako koristiti potenciometre
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

Shema ožičenja za (3x) potenciometar
Shema ožičenja za (3x) potenciometar
Shema ožičenja za (3x) potenciometar
Shema ožičenja za (3x) potenciometar
Shema ožičenja za (3x) potenciometar
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

Image
Image

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

Korištenje RGB LED diode
Korištenje RGB LED diode
Korištenje RGB LED diode
Korištenje RGB LED diode
Korištenje RGB LED diode
Korištenje 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)

Korištenje potenciometara za kontrolu RGB LED diode (s jednom greškom)
Korištenje potenciometara za kontrolu RGB LED diode (s jednom greškom)
Korištenje potenciometara za kontrolu RGB LED diode (s jednom greškom)
Korištenje potenciometara za kontrolu RGB LED diode (s jednom greškom)
Korištenje potenciometara za kontrolu RGB LED (s jednom greškom)
Korištenje potenciometara za kontrolu RGB LED (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: