/* * SQRLS Audio Test */ int speakerOnePin = 5; int speakerTwoPin = 6; int volumePin = 9; int motionSensorPin = 7; int b = 0; int bb = 0; void setup() { pinMode(motionSensorPin, INPUT); pinMode(speakerOnePin, OUTPUT); pinMode(speakerTwoPin, OUTPUT); pinMode(volumePin, OUTPUT); // Set pins 5&6 to a 62500Hz PWM clock TCCR0B = TCCR0B & 0b11111000 | 0x01; TCCR1B = TCCR1B & 0b11111000 | 0x01; } void loop(){ //THIS IS THE ACTUAL LOOP OF THE SQUIRREL APPARATUS //barker(random(3)); analogWrite(volumePin,12); caw(300); } // Caw sound. eg, // caw(1000); // delay(200000); void caw(int ll) { for(int j=1800; j<1900; j+=1000/ll) { if(j<1816){ analogWrite(volumePin,(j-1815)*4/5+12); } if(j>1875){ analogWrite(volumePin,(1875-j)/4+12); } b++; if (b==10){ bb=1; b=0; } sawWave(j/8+500*bb+random(10)); bb=0; } } // Bark sound. eg, // barker(random(3)); void barker(int num) { for(int u=0;u200; j-=3000/ll) { sawWave(j+random(50)); } } // Generic triangle wave sound void triangleWave(int len) { for(int i = 0; i < len; i++) { analogWrite(speakerOnePin, i*255/len); } for(int i = 0; i < len; i++) { analogWrite(speakerOnePin, 255 - i*255/len); } } // Generic saw wave sound void sawWave(int len) { for(int i = 0; i < len; i++) { analogWrite(speakerOnePin, i); } }