You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
775 B
Arduino
44 lines
775 B
Arduino
5 years ago
|
/*
|
||
|
ICE KING
|
||
|
*/
|
||
|
|
||
|
#define POT1 (0)
|
||
|
#define POT2 (1)
|
||
|
#define POT3 (2)
|
||
|
#define SPEAKER (11)
|
||
|
|
||
|
int t;
|
||
|
int u;
|
||
|
int tone_delay;
|
||
|
int tone_freq;
|
||
|
|
||
|
void
|
||
|
setup()
|
||
|
{
|
||
|
Serial.begin(9600); // DEBUG
|
||
|
pinMode(SPEAKER, OUTPUT);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
loop()
|
||
|
{
|
||
|
// 1CE C0DE
|
||
|
t++;
|
||
|
u = (t*t/256)&(t>>((t/1024)%16))^t%64*(0x1CEC0DE>>(t>>9&30)&t%32)*t>>18;
|
||
|
|
||
|
// Use bytebeat u value as tone frequency
|
||
|
// tone(pin, frequency) is provided by Arduino lib
|
||
|
tone_freq = u * (((1023 - analogRead(POT2)) / 10) + 1);
|
||
|
tone(SPEAKER, tone_freq);
|
||
|
|
||
|
// Use pot 1 to set the tone duration (0-31)
|
||
|
//tone_delay = analogRead(POT1) / 32; // meergranen v2
|
||
|
tone_delay = (1023 - analogRead(POT1)) / 32; // meergranen v1
|
||
|
delay(tone_delay);
|
||
|
|
||
|
// DEBUG
|
||
|
//Serial.println(tone_delay);
|
||
|
Serial.println(tone_freq);
|
||
|
}
|
||
|
|