Twitter kontrollerad sällskapsdjur mataren (18 / 19 steg)

Steg 18: Firmware



Denna firmware kommer att läsa inkommande twitter data så att om du tweet "feed me!" från användarnamn omnomnom arduino tänds upp två lampor kopplade till stift 2 och 3 i 1 sekund, orsakar mat leverans sekvensen att starta.

Jag använder Arduino 1.0 för detta projekt, jag rekommenderar att ladda ner denna version (eller senare) för detta projekt. Om du inte vill använda den nya versionen, kontrollera att du har följande Arduino bibliotek (de är kombinerade med v1.0):
- Ethernet (för Ethernet Shield)
- EthernetDHCP (för självkonfigurerande IP adress är du använder DHCP hemma)

Slå på strömbrytaren på botten av mataren, LCD bör flash 12:00 och motorerna ska köras igenom sekvensen mat leverans en gång. Se manualen om du vill ställa in klockan eller ange ytterligare mat timers, detta kommer inte att vara nödvändigt för projektet. Tryck på rec-knappen och spela in ett personligt meddelande för ditt husdjur, detta kommer att spela i slutet av varje mat leverans sekvens.

Här är Firmware:

< pre > / *
Twitter-klient med strängar

Denna skiss ansluter till Twitter med hjälp av en Ethernet shield. Analyserar det XML
återvänt, och ser detta är en tweet för < text > < / text >

Du kan använda Arduino Ethernet shield eller Adafruit Ethernet shield,
antingen en fungerar, så länge som den har fått en Wiznet Ethernet modul ombord.

I detta exempel används DHCP-rutiner i Ethernet-biblioteket som är en del av den
Arduino kärna från version 1.0 beta 1

I detta exempel används strängen biblioteket, som är en del av Arduino kärnan från
version 0019.

Krets:
* Ethernet shield bifogas stift 10, 11, 12, 13

skapad 21 maj 2011
av Tom Igoe
ändrat av Amanda Ghassaei juni 2012

Denna kod är i public domain.

*/
#include < SPI.h >
#include < Ethernet.h >

variabel för att förhindra övergödning
booleska justFed = 1;

Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01};
IP-adress ip(190,298,34,132); <<< Ange din IP-adress här!!!

initiera bibliotek instans:
EthernetClient klient;

CONST int requestInterval = 60000; fördröjning mellan begäranden = 1min

char servernamn [] = "api.twitter.com"; Twitter URL

Boolean efterfrågades; Om du har gjort en begäran sedan ansluter
lång lastAttemptTime = 0; förra gången du ansluten till servern, i millisekunder

String currentLine = ""; sträng till texten från servern
Sträng tweet = ""; sträng att hålla tweet
booleska readingTweet = false; Om du läser för närvarande tweet

void setup() {

pinMode (2, utgång);
pinMode (3, OUTPUT);

boka plats för strängarna:
currentLine.reserve(256);
Tweet.Reserve(150);

initiera följetong:
Serial.BEGIN(9600);
försök en DHCP-anslutning:
IF (!. Ethernet.BEGIN(Mac)) {
om DHCP misslyckas, börja med en hårdkodad adress:
Ethernet.BEGIN (mac, ip);
}
ansluta till Twitter:
connectToServer();

Testing();
}

void loop()
{
om (justFed) {
om (client.connected()) {
om (client.available()) {
Läs inkommande byte:
char inChar = client.read();

Lägg till inkommande byte till slutet av raden:
currentLine += inChar;

Om du får en ny rad, avmarkera raden:
om (inChar == "\n") {
currentLine = "";
}
om den aktuella raden avslutas med < text >, kommer det att
följas av tweet:
om (currentLine.endsWith ("< text >")) {
tweet börjar. Rensa tweet strängen:
readingTweet = sant;
Tweet = "";
}
Om du läser för närvarande byten i en tweet,
lägga till dem i tweet sträng:
om (readingTweet) {
om (inChar! = ' <') {
Tweet += inChar;
}
annat {
Om du fick en "<" karaktär,
du har kommit till slutet av tweet:
readingTweet = false;
Serial.println(tweet);

om (tweet == "> mata mig!") {
digitalWrite (2, hög).
digitalWrite (3, hög).
Serial.println ("LED på!");
fördröjning (1000); //turn på för 1 SEK
digitalWrite (2, låg).
digitalWrite (3, låg).
justFed = 0;
}
om (tweet! = "> mata mig!") {
digitalWrite (2, låg).
digitalWrite (3, låg).
Serial.println ("LED OFF!");
}

stänga anslutningen till servern:
client.stop();
}
}
}
}
annars om (millis() - lastAttemptTime > requestInterval) {
Om du inte är ansluten, och två minuter har gått sedan
din sista anslutning, sedan försök att ansluta igen:
connectToServer();
}
}
annars om (millis() - lastAttemptTime > 14400000) {//if fyra timmar har gått sedan senaste utfodring
justFed = 1;
}
}

void testing() {
digitalWrite (2, hög).
digitalWrite (3, hög).
Delay(1000);
digitalWrite (2, låg).
digitalWrite (3, låg).

}

void connectToServer() {
försök att ansluta, och vänta en millisekund:
Serial.println ("ansluter till server...");
om (client.connect (servernamn, 80)) {
Serial.println ("att göra HTTP-begäran...");
göra HTTP GET begära Twitter:
client.println ("GET /1/statuses/user_timeline.xml?screen_name=nomnomnomfeeder & count = 1 HTTP/1.1");
client.println ("HOST: api.twitter.com");
client.println();
}
Obs tiden för detta Anslut försök:
lastAttemptTime = millis();
}

Du kommer att behöva göra en två redigeringar innan denna firmware är klar att användas.

1. sätt in din IP-adress på raden överst i firmware:
IP-adress ip(190,298,34,132); << Ange din IP-adress här!!!
Om du inte vet din IP-adress öppna filen >> exempel >> Ethernet >> DhcpAddressPrinter, ladda upp här koden till din arduino med Ethernet-shield inkopplad (och ethernet-kabel ansluten) och öppna seriell övervaka Tools >> SerialMonitor

2. ändra användarnamnet för ditt twitterkonto på raden (från funktionen connectToServer():
client.println ("GET /1/statuses/user_timeline.xml?screen_name=nomnomnomfeeder& count = 1 HTTP/1.1");

Ladda upp firmware på din arduino ombord, koppla in Ethernet-modem/router. Tweet "feed me!" från din twitter-konto och du bör se din sällskapsdjur mataren avstå från mat i en minut eller mindre. Mataren kommer inte få någon ytterligare tweets i fyra timmar (för att förhindra över utfodring), under denna tid, tweet ett annat budskap att ersätta "feed me!" som ditt senaste meddelande.

Se Steg
Relaterade Ämnen

Arduino kontrollerade sällskapsdjur mataren

Detta projekt tillåter husdjur att matas med en konstant hastighet som inte involverar du lyfta mer än ett finger. Det finns en ramp i rutan som gör mat till ange hjulet som drivs av ett servo som distribuerar mat till din sällskapsdjur.Steg 1: lever...

Sällskapsdjur utegångsförbud: En Arduino kontrollerade sällskapsdjur dörr

Problemet: du vill begränsa den tid när ditt husdjur är tillåtet att gå utanför. Detta kan bero på att trakten inte är säkra för din katt eller liten hund på natten (plundringarna coyotes kommer att tänka på). Men du vill ha ditt husdjur för att kunn...

Automatisk Sällskapsdjur Mataren

jag behövde en pålitlig fisk feeder för min damm för när jag är borta. Detta instructable ger Detaljer om mataren som jag precis avslutat bygga och testa. Samma idé kan användas för utfodring av andra husdjur eller för ett inomhus akvarium. Jag gjord...

Automatisk Arduino Powered sällskapsdjur mataren

Detta är min Automatisk Sällskapsdjur Mataren. Drivs med arduino, med hjälp av en 3D tryckt skruv och programmerbar med två utfodring gånger med en användare ange mängd livsmedel, med batteri backas upp interna klocka.Min katt köra mig nötter i morgo...

@tweet_tree: twitter kontrollerad Christmas tree

är en julgran som alla kan styra från Twitter. Bara tweet en färg. En liten inbäddade server läser dina tweets och bleknar vår fiber optic träd till de färger som du skickar. Nya tweets är tog efter några sekunder.Live streaming video av är på USTREA...

Sällskapsdjur Mataren

detta är min digitalt fabricerade skruv baserat sällskapsdjur mat dispenser. Du laddar helt enkelt kannan med sällskapsdjur mat och det skjuts automatiskt med skruv skruv i skålen till mata dina husdjur. Detta har testats för att fungera med kattmat...

Göra en Cloud Control sällskapsdjur mataren

Jag har en härlig hund heter Lele, det betyder glad på kinesiska. När jag går till jobbet varje dag, oroa jag alltid sig om han är hungrig. Så gjorde jag den här enheten att hjälpa till att mata Lele när jag är utanför.Jag använder Grove Servo att öp...

LittleBits Remote sällskapsdjur mataren

Away, kontrollera när ditt husdjur (fisk, katt, hund) går aldrig hungrig med denna WiFi-aktiverad feeder. Med detta littleBits projekt, kan du antingen mata ditt husdjur distans genom att trycka på en knapp på telefonen eller automatisera utfodringen...

LEGO MINDSTORMS sällskapsdjur mataren Version 2.0

Att införa den nya LEGO MINDSTORMS sällskapsdjur mataren Version 2.0! Denna skapelse är en förbättring av sin föregångare. Det är samma enhet du känner och älskar, men nu är bättre än någonsin! Vad är nytt du frågar? Låt oss ta en titt!Vad är det sen...

LEGO MINDSTORMS sällskapsdjur mataren

Detta LEGO MINDSTORMS sällskapsdjur mataren är baserad på Pavlovian teorin om klassisk betingning. Klassisk betingning (också Pavlovian conditioning eller respondent betingning) är en typ av lärande som uppstår när en betingad stimulus är parkopplad...

IOT sällskapsdjur mataren (intel edison)

I detta projekt gör vi en iot aktiverat sällskapsdjur mataren. Kattmat och hundmat förvaras i en behållare och levereras i ett fack av en skruv skruv. Detta koncept kan skalas upp eller ändras för att passa dina speciella krav.Steg 1: 3d skriva ut sk...

Fat Cat automatiserad Arduino sällskapsdjur mataren

Alla säga hej till hertig! Han är en 24 pund Maine Coon som jag antog för tre år sedan. Duke har om i solen, titta på fåglarna utanför, och... vakna upp hans ägare klockan 5 på morgonen till frukost. Som ni kan föreställa er, om du har en 24 pund kat...

Semester sällskapsdjur mataren från återvunnet material

Om du är en sällskapsdjur ägare, kan gå på semester vara stressande. Du behöver vanligtvis, en vän eller granne att komma över varje dag och mata dina husdjur. Dock genom att förslava robotar kan du hålla din sällskapsdjur glad och njuta av en stress...

Croccolino!!! Smart sällskapsdjur mataren (förbättrat)

Lagt till kod förbättringar och kontroller. Nu kan mataren reagera med ljud när pet är i närheten.Maaaaaaaaaaaaaaaaaoooooooowwwwwwww!Har du någonsin varit utanför ditt hem för ett par dagar? Har du någon som kan mata din sällskapsdjur under din frånv...

RFID-sällskapsdjur mataren

om du har två katter och en av dem är på en diet men andra behöver gratis mat, kan du bygga en matare med RFID-förmåga som endast öppnar för katten som behöver fri tillgång. Gratis-mat katten bär en krage med en RFID-tagg.Funktioner:-En gammal CD-rom...

Oak topp kök Bar med sällskapsdjur mataren låda och rulla ut papperskorgen

min syster och hennes pojkvän är nya husägaren och hade en lista med projekt att slutföra innan de var redo att gå. De bad mig komma med en mångsidig användning för en skåp bar som inte var till specar. De behövde en sällskapsdjur utfodring station s...

Croccolino Sällskapsdjur Mataren!

Maaaaaaaaaaaaaaaaaoooooooowwwwwwww!Har du någonsin varit utanför ditt hem för ett par dagar? Har du någon som kan mata din sällskapsdjur under din frånvaro? Eller har du någonsin velat att automatisera utfodring av din sällskapsdjur?CROCCOLINO FEEDER...

CUSTOM sällskapsdjur MATAREN

jag har 3 katter och utfodra dem var ganska rörigt. Jag hade 3 uppsättningar av inkompatibla skålar och bordstabletter att skydda golvet, och oavsett hur hårt jag försökte hålla det snyggt, området var alltid en röra. Så jag bestämde mig att göra en...

Twitter kontrollerad Arduino utgångar - ingen PC - LCD-Display + sensordata till Twitter

kontroll digital ut PIN-koder genom Twitter-meddelanden. Sensormätningar skickas tillbaka till Twitter.ÄNDRAD av JOHN GÄLLNÖBY från Twitter2LCD ursprungligen skriven av Fabrizio GranelliSe * Du kan skicka textmeddelanden till Arduino LCD-skärmen från...