1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/*
* 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 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;u<num;u++){
bark(random(50,80)^2/100);
delay(random(50000,200000)^2/100000);
}
}
void bark(int ll) {
for(int j=500; j>200; 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);
}
}
|