Buller av ljus (5 / 7 steg)
Steg 5: Koden för buller
- Ändra ljus: hur snabbt
- längden på förändring.
Just nu använder skriptet bara: ändra ljusets: vara kreativ och experimentera att införa tid av förändring!
Jag är först läsa indatavärdet och jämföra den med tidigare indatavärdet ger mig skillnaden:
valueADC = adc_read(3);
diff = abs (valueADC - valueADC_old);
Puls
Då börja jag en puls beroende på skillnaden:
om (diff > 64) _delay_ms (20);
om (diff > 32) _delay_ms (4).
om (diff > 16) _delay_ms (10).
om (diff > 8) _delay_ms (3).
om (diff > 4) _delay_ms (2).
om (diff > 1) _delay_ms (1).
Fördröjningen ger mig tonen pitch kort fördröjning hög pitch
Du kan prova kombinationer av olika platser för olika diff
Långsam stoppa
De långsamt döende ur buller görs med:
medan (diff > 0) {
"puls"
diff = diff/2;
}
Så att få en längre buller, går igenom vissa platser, innan du slutar.
Ladda ner koden från: https://github.com/contrechoc/Noise