Automatiserad Photo Booth tar en bild och inlägg på Twitter med Arduino och 1Sheeld (3 / 4 steg)
Steg 3: Arduino skiss
Faktiskt, som visas nedan koden är rakt fram. Vi kontrollerar alltid värdet av ultraljud sensorn och när det blir mindre än 40 cm, vi kommer att blinka våra AC lampa 3 gånger som en indikation för att fånga, då kameran kommer att fånga bilden och slutligen mobilen kommer att publicera bilden på twitter. Bara en rad med kod för att fånga och en annan för tweeting.
/ * Inkluderar 1Sheeld bibliotek. */
#include < OneSheeld.h >
CONST int trigPin = 2;
CONST int echoPin = 4;
CONST int ledPin = 13.
void setup() {
/ * Starta kommunikation. */
OneSheeld.begin();
pinMode (ledPin, produktionen);
pinMode (trigPin, produktionen);
pinMode (echoPin, ingång);
}
void loop()
{
lång varaktighet, cm;
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
konvertera tiden till ett avstånd
cm = microsecondsToCentimeters(duration);
om (cm < = 40) {
digitalWrite (ledPin, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(1000); vänta en sekund
digitalWrite (ledPin, låg); Inaktivera LED genom att spänningen låg
Delay(1000);
digitalWrite (ledPin, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(1000);
digitalWrite (ledPin, låg); Inaktivera LED genom att spänningen låg
Delay(1000);
digitalWrite (ledPin, hög); Aktivera LED (HIGH är spänningsnivån)
Delay(1000); vänta en sekund
digitalWrite (ledPin, låg); Inaktivera LED genom att spänningen låg
Delay(1000);
Camera.setFlash(ON);
/ * Ta bilden. */
Camera.rearCapture();
/ * Vänta i 10 sekunder. */
Delay(10000);
/ * Posta bilden på Twitter. */
Twitter.tweetLastPicture ("vi har roligt på Cairo mini #makerfaire, Foto taget av och
}
Delay(100);
}
lång microsecondsToCentimeters(long microseconds)
{
återvända mikrosekunder / 29 / 2;
}