This shows you the differences between two versions of the page.
pm:prj2023:vstoica:ambilight [2023/05/29 00:26] stelian.chioveanu [Software Design] |
pm:prj2023:vstoica:ambilight [2023/05/29 00:31] (current) stelian.chioveanu [Download] |
||
---|---|---|---|
Line 52: | Line 52: | ||
S-a utilizat o intrerupere pe pinul 2, care la apasarea butonului va incrementa variabila "mode" care reprezinta modul de functionare(bluetooth, ambilight, spectrum). Am utilizat un debouncer. | S-a utilizat o intrerupere pe pinul 2, care la apasarea butonului va incrementa variabila "mode" care reprezinta modul de functionare(bluetooth, ambilight, spectrum). Am utilizat un debouncer. | ||
+ | <code> | ||
ISR(INT0_vect) { | ISR(INT0_vect) { | ||
if((long)(micros() - lastDebounceTime) >= debounceDelay) { | if((long)(micros() - lastDebounceTime) >= debounceDelay) { | ||
Line 58: | Line 59: | ||
} | } | ||
} | } | ||
+ | </code> | ||
In functie de variabila "mode" modul de functionare va fi altul: | In functie de variabila "mode" modul de functionare va fi altul: | ||
+ | <code> | ||
void loop() { | void loop() { | ||
if(mode % 3 == 0){ | if(mode % 3 == 0){ | ||
Line 74: | Line 77: | ||
} | } | ||
} | } | ||
+ | </code> | ||
Am utilizat un timer pentru o functie delay custom. Acest timer incrementeaza o valoare, asteptand modificarea valorii intr-un while acolo unde aveam nevoie de delay. | Am utilizat un timer pentru o functie delay custom. Acest timer incrementeaza o valoare, asteptand modificarea valorii intr-un while acolo unde aveam nevoie de delay. | ||
+ | <code> | ||
ISR(TIMER1_COMPA_vect) { | ISR(TIMER1_COMPA_vect) { | ||
if (counter_time > 20000) { | if (counter_time > 20000) { | ||
Line 83: | Line 88: | ||
counter_time++; | counter_time++; | ||
} | } | ||
+ | </code> | ||
Functia "Light_RGB_LED" parseaza culorile primite prin bluetooth: | Functia "Light_RGB_LED" parseaza culorile primite prin bluetooth: | ||
+ | <code> | ||
void Light_RGB_LED(){ | void Light_RGB_LED(){ | ||
int SP1 = RGB_string.indexOf('.'); | int SP1 = RGB_string.indexOf('.'); | ||
Line 95: | Line 102: | ||
LEDS.showColor(CRGB(R.toInt(), G.toInt(), B.toInt())); | LEDS.showColor(CRGB(R.toInt(), G.toInt(), B.toInt())); | ||
} | } | ||
+ | </code> | ||
Functia "spectrum" cicleaza prin diferite culori(de la turcoaz la albastru si mov). | Functia "spectrum" cicleaza prin diferite culori(de la turcoaz la albastru si mov). | ||
Line 121: | Line 129: | ||
<note> | <note> | ||
- | {{pm:prj2023:vstoica:stelian_chioveanu.zip| Sursa si diagrame}} | + | {{pm:prj2023:vstoica:stelian_chioveanu_final.zip| Sursa si diagrame}} |
</note> | </note> | ||