- Potrebni materijali:
- LDR:
- RGB LED:
- Kružni dijagram:
- Objašnjenje programiranja:
- Rad lampe za miješanje u boji Arduino:
Što ako možemo generirati različite boje pomoću jednog RGB LED-a i učiniti kut naše sobe ljepšim? Dakle, ovdje je jednostavna lampa za miješanje boja zasnovana na Arduinu koja može promijeniti boju kada dođe do promjene svjetla u sobi. Tako će ova svjetiljka automatski promijeniti boju u skladu sa svjetlosnim uvjetima u sobi.
Svaka boja je kombinacija crvene, zelene i plave boje. Tako možemo generirati bilo koju boju korištenjem crvene, zelene i plave boje. Dakle, ovdje ćemo mijenjati PWM, tj. Intenzitet svjetlosti na LDR-ovima. To će dodatno promijeniti intenzitet crvene, zelene i plave boje u RGB LED, a proizvodit će se različite boje.
Ispod tablice prikazane su kombinacije boja s odgovarajućom promjenom radnih ciklusa.
Potrebni materijali:
- 1 x Arduino UNO
- 1 x Breadboard
- 3 otpora od 220 ohma
- 3 otpornika od 1 kilohm
- Žice kratkospojnika
- 3 x LDR-a
- 3 x trake u boji (crvena, zelena, plava)
- 1 x RGB LED
LDR:
U ovom ćemo krugu koristiti fotootpornik (ili otpor ovisno o svjetlu, LDR ili foto-provodnu ćeliju). LDR-ovi su izrađeni od poluvodičkih materijala kako bi im omogućili njihova svojstva osjetljiva na svjetlost. Ovi LDR-ovi ili FOTOSPORNICI rade na principu „Vodljivosti fotografije”. Ovo što kaže ovo načelo je da, kad god svjetlost padne na površinu LDR-a (u ovom slučaju), provodljivost elementa se povećava ili drugim riječima, otpor LDR-a pada kad svjetlost pada na površinu LDR-a. Ovo svojstvo smanjenja otpora za LDR postiže se jer je svojstvo poluvodičkog materijala koji se koristi na površini.

Ovdje se koriste tri LDR senzora za kontrolu svjetline pojedinih crvenih, zelenih i plavih LED dioda unutar RGB Led-a. Ovdje saznajte više o kontroli LDR-a s Arduinom.
RGB LED:
Postoje dvije vrste RGB LED dioda, jedna je uobičajena vrsta katode (uobičajena negativna), a druga je uobičajena vrsta anode (uobičajena pozitivna). U CC (Common Cathode ili Common Negative) postojat će tri pozitivna terminala, svaki terminal koji predstavlja boju i jedan negativni terminal koji predstavlja sve tri boje.


U našem krugu koristit ćemo tip CA (Common Anode ili Common Positive). U tipu Common Anode, ako želimo da CRVENA LED dioda bude UKLJUČENA, trebamo uzemljiti crveni LED pin i napajati zajednički pozitiv. Isto vrijedi i za sve LED diode. Naučite ovdje kako spojiti RGB LED s Arduinom.
Kružni dijagram:

Kompletna shema sklopa ovog projekta dana je gore. Priključak + 5V i uzemljenje prikazan na shemi spojeva može se dobiti od 5V i uzemljenja Arduina. Sam Arduino može se napajati s vašeg prijenosnog računala ili putem DC utičnice pomoću 12V adaptera ili 9V baterije.
Upotrijebit ćemo PWM za promjenu svjetline RGB vodenog. Ovdje možete saznati više o PWM-u. Evo nekoliko primjera PWM-a s Arduinom:
- Varijabilno napajanje Arduino Uno
- Upravljanje istosmjernim motorom pomoću Arduina
- Generator tonova na bazi Arduina
Objašnjenje programiranja:
Prvo deklariramo sve ulazne i izlazne pinove kako je prikazano u nastavku.
bajt const red_sensor_pin = A0; bajt const green_sensor_pin = A1; bajt const blue_sensor_pin = A2; bajt const green_led_pin = 9; bajt const blue_led_pin = 10; bajt const red_led_pin = 11;
Početne vrijednosti senzora i led dioda deklarirajte kao 0.
nepotpisan int red_led_value = 0; nepotpisano int blue_led_value = 0; nepotpisano int green_led_value = 0; nepotpisan int red_sensor_value = 0; nepotpisan int blue_sensor_value = 0; nepotpisan int green_sensor_value = 0; void setup () { pinMode (red_led_pin, OUTPUT); pinMode (blue_led_pin, IZLAZ); pinMode (green_led_pin, IZLAZ); Serial.begin (9600); }
U odjeljku petlje uzet ćemo izlaz tri senzora s analogRead (); funkcioniraju i pohranjuju u tri različite varijable.
void loop () { red_sensor_value = analogRead (red_sensor_pin); kašnjenje (50); blue_sensor_value = analogRead (blue_sensor_value); kašnjenje (50); green_sensor_value = analogRead (green_sensor_vaine);
Ispišite te vrijednosti na serijski monitor radi uklanjanja pogrešaka
Serial.println ("Neobrađene vrijednosti senzora:"); Serial.print ("\ t Crveno:"); Serial.print (red_sensor_value); Serial.print ("\ t Plavo:"); Serial.print (blue_sensor_value); Serial.print ("\ t Zeleno:"); Serial.println (green_sensor_value);
Od senzora ćemo dobiti 0-1023 vrijednosti, ali naši Arduino PWM pinovi imaju 0-255 vrijednosti kao izlaz. Dakle, moramo pretvoriti svoje sirove vrijednosti u 0-255. Za to moramo podijeliti sirove vrijednosti sa 4 ILI jednostavno možemo koristiti funkciju mapiranja Arduina da pretvorimo ove vrijednosti.
crvena_vrijednost_vrijednosti = vrijednost_crvenice_senzora / 4; // definiramo crvenu LED diodu blue_led_value = blue_sensor_value / 4; // definiranje plave LED zelene_validnosti = zelena_senzorska vrijednost / 4; // definiraj Green Led
Ispišite mapirane vrijednosti na serijski monitor
Serial.println ("Mapirane vrijednosti senzora:"); Serial.print ("\ t Crveno:"); Serial.print (red_led_value); Serial.print ("\ t Plavo:"); Serial.print (blue_led_value); Serial.print ("\ t Zeleno:"); Serial.println (green_led_value);
Upotrijebite analogWrite () za postavljanje izlaza za RGB LED
analogWrite (red_led_pin, red_led_value); // naznačiti crvenu LED analogWrite (blue_led_pin, blue_led_value); // naznačiti plavu LED analogWrite (green_led_pin, green_led_value); // označiti zeleno
Rad lampe za miješanje u boji Arduino:

Kako koristimo tri LDR-a, tako se kod pada svjetlosti na ove senzore mijenja njegov otpor, što rezultira promjenom napona na analognim pinovima Arduina koji djeluje kao ulazni pinovi za senzore.
Kada se intenzitet svjetlosti promijeni na ovim senzorima, odgovarajuće LED u RGB svijetlit će s promjenom otpora, a mi imamo različito miješanje boja u RGB vodenom pomoću PWM-a.
