Stap 3: Software en maak je klaar om te beginnen met de jacht!
uw telefoon eerste.
Gelukkig Annikken Andee wordt geleverd met een gratis app die u van downloaden kunt
de Apple store voor iOS.
Annikken Andee App gebruiken om te zoeken naar uw apparaat. Eenmaal verbonden de wil van de telefoon begon op zoek naar het ei.
Verberg het op donkere plaatsen om te zien de kleuren veranderen als je dichter. Veel plezier met zoeken en gelukkig Eggster iedereen!
Hier zijn de lessen-plan dat wij hebben ontwikkeld voor gemakkelijke en snelle visuele informatie voor dit project.
Les 1: Het creëren van uw eerste Display dozen!
Les 4: Veranderende kleuren
Les 9: Met behulp van knoppen LED of Relais
Les 20: Gebruik Bluetooth signaalsterkte aan controle dingen
Meer informatie over Annikken Andee op
http://www.annikken.com/
Waar kan ik de nieuwste bibliotheek en firmware downloaden?
http://www.annikken.com/getstarted/
Afterwhich, dit arduino-broncode Kopieer en uploaden naar de arduino.
/************************************************************
[Annikken Andee - Easter Egg Hunt]
================
De sterkte van het signaal van de Bluetooth gebruiken de RGB LED-kleur aanpassen
Gebruik TTS te zingen een lied!
door Robin Ha < robin
Bekijk onze middelen sectie voor meer informatie en
ideeën over wat u met de Annikken Andee doen kunt!
http://resources.annikken.com
Bekijk onze Blog voor regelmatige updates en plezier!
http://annikken.com/blog
************************************************************/
#include < SPI.h >
#include < Andee.h >
We hebben een displaybox te tonen u de signaalsterkte van Bluetooth
AndeeHelper displaybox;
AndeeHelper displaybox2;
AndeeHelper de knop;
AndeeHelper speechObject; U wilt maken een speech-object voor de telefoon om te praten
AndeeHelper btnNotify;
int signalen [10] = {0,0,0,0,0,0,0,0,0,0};
int curSignalPos = 0;
int redPin = 13;
int greenPin = 11;
int bluePin = 10;
char strBuffer [30];
char signalStr [4];
int signalStrength;
int status;
De Setup-functie is bedoeld om de Arduino te vertellen wat te doen
alleen wanneer het wordt opgestart.
VOID Setup
{
Andee.begin(); Setup communicatie tussen Annikken Andee en Arduino
Andee.Clear(); Wissen van het scherm van een vorige displays
setInitialData(); Define objecttypen en hun verschijning
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
Serial.begin(9600);
}
Dit is de functie bedoeld om te bepalen welke typen en de apperance van
alle objecten op uw smartphone
VOID setInitialData()
{
displaybox.setId(0); Elk object moet beschikken over een uniek id-nummer
displaybox.setType(DATA_OUT); Dit bepaalt uw object als een vak weergeven
displaybox.setLocation (0,0, FULL); Hiermee stelt u de locatie en de grootte van uw object
displaybox.setColor(THEME_YELLOW);
displaybox.setTitleColor("50000000");
displaybox.setTitle ("Pasen HUNT");
displaybox.setTitleTextColor("FFFFFFFF");
displaybox.setData ("waar is het ei?");
displaybox2.setId(2);
displaybox2.setType(DATA_OUT);
displaybox2.setLocation(1,0,Full);
displaybox2.setColor(THEME_ORANGE);
displaybox2.setTitleColor("50000000");
displaybox2.setTitle ("ei Detector");
displaybox2.setUnit("");
button.setId(6); Vergeet niet om het toewijzen van een uniek id-nummer
button.setType(BUTTON_IN); Object gedefinieerd als een knop
button.setLocation(1,0,FULL);
button.setTitle ("laten we vieren met Easter Bunny lied!");
button.setColor("FFFFB6C1");
speechObject.setId(12);
speechObject.setType(TTS); Object definieert als een tekst naar spraak-object
}
int dcCounter = 3;
BOOL verbinding = false;
Arduino zal instructies hier herhaaldelijk uitvoeren totdat u het uitzetten.
void loop
{
Als (Andee.isConnected()) / / alleen wordt uitgevoerd wanneer aangesloten
{
dcCounter = 3;
if(Connection==false) {}
verbinding = true;
staat = 0;
Andee.Clear();
displaybox.setColor(THEME_YELLOW);
displaybox.update();
speechObject.updateData ("Welcome to the Easter Egg Hunt!");
delay(2500);
displaybox2.SetData("Initialising.");
speechObject.updateData ("ei Detector initialiseren");
displaybox2.update();
delay(700);
displaybox2.SetData("Initialising..");
displaybox2.update();
delay(700);
displaybox2.SetData("Initialising...");
displaybox2.update();
delay(700);
displaybox2.SetData("Initialising.");
displaybox2.update();
delay(700);
speechObject.updateData ("ei Detector Online");
displaybox2.SetData ("< Online >");
displaybox2.update();
delay(1500);
}
int str = getStrength();
updateState(str);
stateToBlinkPattern();
displaybox.update();
displaybox2.SetData(StateToText());
displaybox2.update();
if(State == 6) {}
speechObject.updateData ("u hebt gevonden het ei!");
displaybox2.SetData ("u hebt gevonden het ei!");
displaybox2.update();
spamRandomBlink(3500);
displaybox2.Remove();
displaybox.setData ('Easter Egg gevonden');
displaybox.update();
button.update();
speechObject.updateData ("Lets Sing a Song to celebrate!");
while(1) {}
setRGB(-1,-1,-1,1000);
Als (button.isPressed())
{
button.ack();
button.requireAck(false);
button.setTitle ("zingen ~ ~");
button.update();
speechObject.setUtteranceSpeed(0.65);
speechObject.setPitch(1.1);
speechObject.updateData ("Dit is de Bunny lied, zingen samen met mij!");
speechObject.updateData ("hebt aangedaan uw juiste poten");
speechObject.updateData ("u take uw juiste poten out");
speechObject.updateData ("hebt aangedaan uw juiste poten");
speechObject.updateData ("en je schud ze allemaal over");
speechObject.updateData ("jij de Pokey Bunny");
speechObject.updateData ("en u hop. alle. rond");
speechObject.updateData ("dat is wat");
speechObject.setUtteranceSpeed(0.45);
speechObject.updateData ("het is allemaal");
speechObject.setUtteranceSpeed(0.35);
speechObject.updateData("about!");
button.setTitle ("zingen ~ ~");
button.update();
spamRandomBlink(12000);
button.ack();
button.Remove();
displaybox.setUnit ("door Annikken");
displaybox.setData ("vrolijk Pasen 2014!");
speechObject.setUtteranceSpeed(0.5);
speechObject.setPitch(1.0);
speechObject.updateData ("vrolijk Pasen");
voor (int y = 0; y < 10; y ++) {}
displaybox.setColor(THEME_ORANGE);
displaybox.update();
spamRandomBlink(1500);
displaybox.setColor(THEME_GREEN);
displaybox.update();
spamRandomBlink(1500);
displaybox.setColor(THEME_PURPLE);
displaybox.update();
spamRandomBlink(1500);
}
}
}
}
}
anders
{
if(dcCounter>0)
{
dcCounter--;
}
if(dcCounter==0) {}
verbinding == false;
}
}
delay(50);
}
int getStrength() {}
Andee.sendCommand ("GET RSSI", signalStr);
signalStrength = atoi(signalStr); Converteren naar int waarde
Signalen van [curSignalPos] = signalStrength;
curSignalPos ++;
Als (curSignalPos > = 10) {}
curSignalPos = 0;
}
Return calAverageStrength();
}
VOID updateState (int averageStr) {}
if(averageStr == 0) {}
changeState(0);
}
else if (averageStr < -80) {}
changeState(1);
}
else if (averageStr < -72) {}
changeState(2);
}
else if (averageStr < -67) {}
changeState(3);
}
else if (averageStr <-62) {}
changeState(4);
}
else if (averageStr <-57) {}
changeState(5);
}
else {}
changeState(6);
}
}
char * StateToText() {}
if(State == 0) {}
retourneren "Calcalating...";
}
anders als (staat == 1) {}
retourneren "nog steeds vrij ver van het";
displaybox2.setColor("FFFF0000");
}
anders als (staat == 2) {}
retourneren "It's getting closer";
displaybox2.setColor("FF00FF00");
}
anders als (staat == 3) {}
terug "Binnen de vacature";
displaybox2.setColor("FF0000FF");
}
anders als (staat == 4) {}
retourneren "Around the Corner";
displaybox2.setColor("FFFF00FF");
}
anders als (staat == 5) {}
retourneren "waarschijnlijk naast je";
displaybox2.setColor("FF00FFFF");
}
anders als (staat == 6) {}
displaybox2.setColor(THEME_ORANGE);
retourneren "U hebt het ei gevonden!";
}
}
VOID changeState (int newState) {}
if(newState>State) {}
staat = newState;
}
}
ongeldig stateToBlinkPattern() {}
if(State == 0) {}
setRGB(10,10,10,2000);
}
anders als (staat == 1) {}
setRGB(255,0,0,2000);
}
anders als (staat == 2) {}
setRGB(0,255,0,1500);
}
anders als (staat == 3) {}
setRGB(0,0,255,1000);
}
anders als (staat == 4) {}
setRGB(255,0,255,1000);
}
anders als (staat == 5) {}
setRGB(0,255,255,1000);
}
anders als (staat == 6) {}
setRGB(-1,-1,-1,1000);
}
}
int calAverageStrength() {}
int numberOfValidSignal = 0;
int TotalStrength;
voor (int x = 0; x < 10; x ++) {}
if(signals[x]!=0) {}
TotalStrength = TotalStrength + signalen [x];
numberOfValidSignal ++;
}
}
if(numberOfValidSignal==0) {}
keren 0;
}
else {}
int str = TotalStrength/numberOfValidSignal;
return str;
}
}
int LR = 0;
int LG = 0;
int LB = 0;
zweven stepsize_R = 0;
zweven stepsize_G = 0;
zweven stepsize_B = 0;
VOID spamRandomBlink (int duur) {}
voor (int x = (duur) / (400); x > = 0; x--) {}
setRGB(-1,-1,-1,2000);
}
}
VOID setRGB (int R int G, int B, int uDelay) {}
if(R==-1) {}
R = random(100,255);
}
if(G==-1) {}
G = random(100,255);
}
if(B==-1) {}
B = random(100,255);
}
stepsize_R = (float)(R-LR) / (zweven) 200;
stepsize_G = (float)(G-LG) / (zweven) 200;
stepsize_B = (float)(B-LB) / (zweven) 200;
voor (int x = 1; x < 201; x ++) {}
analogWrite (redPin, LR+(x*stepsize_R));
analogWrite (greenPin, LG+(x*stepsize_G));
analogWrite(bluePin,LB+(x*stepsize_B));
delayMicroseconds(uDelay);
}
LR = R;
LG = G;
LB = B;
}