Suara Burung Dengan Arduino
Suara Burung Dengan Arduino
Berikut ini contoh pembangkitan suara burung dengan menggunakan mikrokontroler Arduino Nano (ATmega328)
Kode diambil dari http://120.107.171.121/~tywua/sub/ISAR/Chirp.ino , nampaknya dari website dari seorang profesor di National Changhua University of Education , Taiwan.
Berikut ini contoh suara yang dihasilkan :
Berikut ini bentuk sinyal yang di aplikasi Audacity untuk 1 set kicauan saja:
Berikut source code (dari http://120.107.171.121/~tywua/sub/ISAR/Chirp.ino)
int piezopin =11; // select the pin for the speaker int angulo = 0; int counter = 0; void setup() { pinMode(piezopin,OUTPUT); } void loop() { angulo = random(10,50); counter = random(2,6); highChirp(5,angulo/10); delay(100); lowChirp(angulo*4,2); delay(100); tweet(counter,2); } void highChirp(int intensity, int chirpsNumber){ int i; int x; for(int veces=0; veces<=chirpsNumber; veces++){ for (i=100; i>0; i--) { for (x=0; x<intensity; x++) { digitalWrite (piezopin,HIGH); delayMicroseconds (i); digitalWrite (piezopin,LOW); delayMicroseconds (i); } } } } void lowChirp(int intensity, int chirpsNumber){ int i; int x; for(int veces=0; veces<=chirpsNumber; veces++){ for (i=0; i<200; i++) { digitalWrite (piezopin,HIGH); delayMicroseconds(i); digitalWrite(piezopin,LOW); delayMicroseconds(i); } for (i=90; i>80; i--) { for ( x=0; x<5; x++) { digitalWrite (piezopin,HIGH); delayMicroseconds (i); digitalWrite (piezopin,LOW); delayMicroseconds (i); } } } } void tweet(int intensity, int chirpsNumber){ int i; int x; //normal chirpsNumber 3, normal intensity 5 for(int veces=0; veces<chirpsNumber; veces++){ for (int i=80; i>0; i--) { for (int x=0; x<intensity; x++) { digitalWrite (piezopin,HIGH); delayMicroseconds (i); digitalWrite (piezopin,LOW); delayMicroseconds (i); } } } delay(1000); }