Stap 7: Het samenstellen van de elektronica
Nu dat we een Tweet trigger schakelaar dankzij de iPhone jack en LM339 comperator, is het tijd de delen om samen te trekken.- Spanning switch is aangesloten als een input pin op de Arduino
- Vogels en servo's zijn aangesloten als u wilt output pinnen
- 4 AA batterijvoeding
- De code horloges de invoer pin en wanneer de switch wordt gesloten, de vogels zingen, en de servo's zet 15 keer
Arduino code:
/*
#TFF twitter jurk
met veel inspiratie uit via het internet (Sweep, knop, Arduino kookboek)
*/#include < Servo.h >
Servo myservo; maken van servo-object om te bepalen van een servo
maximaal acht servo-objecten kan worden gemaakt
constanten niet gewijzigd. Ze gewend bent hier
pin-codes instellen
Const int headphonePin = 2; het nummer van de hoofdtelefoon vergelijkende pin
Const int ledPin = 13; het nummer van de LED-pin
Const int servoPin = 9; Servo's Pin (met behulp van een pin voor beide spiegel vleugel verkeer
Const int birdPin = 6;
variabelen zal veranderen:
int headphoneState = 1; variabele voor het lezen van de status van de hoofdtelefoon
int servoCounter = 0; teller voor het aantal knooppersen
int pos = 0; variabele op te slaan van de servo positie
VOID Setup {}
myservo.attach(servoPin); de servo op pin 9 hecht aan de servo-object
pinMode (ledPin, OUTPUT); LED test pin
pinMode (birdPin, OUTPUT); Birdsongs pin
pinMode (headphonePin, INPUT); initialiseren van de hoofdtelefoon Comparateur pin als input
voor het oplossen van--nemen in finale
Serial.begin(9600);
}
void loop {}
int val;
Val = digitalRead(headphonePin); voor het oplossen van over seriële
digitalWrite (birdPin, laag); verrekening van de vogels
Lees de staat van de hoofdtelefoons:
headphoneState = digitalRead(headphonePin); Is er een tweet-geluid, of is het stil?
/*
RUST STAAT ***
*/
In het circuit, wanneer er geen lawaai, is uitvoer HIGH
In deze rustige staat willen we niets geactiveerde, of laag
Als (headphoneState == HIGH) {}
functies weren
digitalWrite (ledPin, laag);
digitalWrite (birdPin, hoge);
}
/*
GEACTIVEERDE STAAT ***
*/
else {}
Anders betekent dat een tweet heeft geleid tot een waarschuwing
Hiervoor willen we een verrekening van de sequense van Vogelzang en servo vleugels
LED inschakelen:
digitalWrite (ledPin, hoge);
digitalWrite (birdPin, laag); de LED aangezet
delay(10000);
digitalWrite (birdPin, hoge);
Servo's (gebaseerd op Sweep)
voor (int servoCounter = 0; servoCounter < 15; servoCounter ++) {//repeat dit patroon 15 keer
voor (pos = 0; pos < 180; pos += 1) / / gaat van 0 graden tot 180 graden
{/ / in stappen van 1 graad
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(1); wacht 1ms - zeer snel voor de servo te bereiken de positie
}
voor (pos = 180; pos > = 1; pos-= 1) / / gaat van 180 graden tot 0 graden
{
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
delay(1); 11ms voor de servo te bereiken de positie wacht
}
}
}
}