Maak uw huisdier gerechten tweet! (6 / 7 stap)

Stap 6: Het hele programma


ik maakte deze video uit te leggen van de code.

De volledige broncode is hier, open source, met behulp van de Creative Commons Attribution-licentie en andere licenties overgenomen uit de Arduino IDE en aangesloten bibliotheken.

 /* Tweeting pet dishes ver 0.5b June 25, 2011 This code uses NeoCat's Twitter library and the Ethernet Shield. See the Instructable for more information by Daniel Gentleman for the Adafruit/Instructables Make It Tweet Challenge. */ #if defined(ARDUINO) && ARDUINO > 18 // Arduino 0019 or later #include #endif #include #include #include // The MAC address is on a sticker on the Ethernet shield. byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x3E, 0x28 }; byte ip[] = { 192,168,1, 222 }; // Your Token to Tweet (get it from http://arduino-tweet.appspot.com/) Twitter twitter("YOUR TOKEN HERE"); // Variables variables variables const int foodPin = A2; // Analog 0 for measuring the food weight const int ledPin = 3; // LED const int waterPin = 2; // digital 9 for water sensor int foodWeight; // Variable for storing food weight //const int ledPin = 13; // LED pin for water level int waterState = 0; // Variable for setting water state int lastWaterState = 0; // Variable for last water state const int lowFood = 25; // if the food level is below this, it will tweet int lastFoodWeight; // Last Food State placeholder int foodTweet = 0; // int foodValue = 0; // char msg[125]; // make a nice fat buffer (125 characters) for tweets int waterAlarmState = 0; // Have we reported water yet? int foodAlarmState = 0; // Have we reported an empty bowl? String tweet = "Starting Up" ; void setup() { delay(1000); Ethernet.begin(mac, ip); Serial.begin(9600); pinMode(waterPin, INPUT); pinMode(foodPin, INPUT); pinMode(ledPin, OUTPUT); delay(1000); foodWeight = getFood(); waterState = getWater(); } const int analogInPin = A2; // Analog input pin that the potentiometer is attached to const int analogOutPin = 13; // Analog output pin that the LED is attached to int sensorValue = 0; // value read from the pot int outputValue = 0; // value output to the PWM (analog out) void loop(){ lastFoodWeight = foodWeight; foodWeight = getFood(); if (foodWeight > (lastFoodWeight + 20)){ //If we fed the pets at least 20 String gotfed = "Thanks for feeding me! My bowl is now "; String tweet = gotfed + foodWeight + "% full!"; Serial.println(tweet); postTweet(tweet); foodAlarmState = 0; // Clears food alarm if it was below critical } if (foodWeight < (lastFoodWeight - 10)){ // If the pets ate at least 10 int ateweight = lastFoodWeight - foodWeight; if (ateweight > 100){ ateweight = 0; } String atefood = "I just ate "; String tweet = atefood + ateweight +"% of my food!"; Serial.println(tweet); postTweet(tweet); } if (foodWeight < lowFood){ // If the food is beneath the low threshold if (foodAlarmState != 1){ String foodwarning = "I am almost out of food! I have only "; String tweet = foodwarning + foodWeight + " percent left!"; Serial.println(tweet); postTweet(tweet); foodAlarmState = 1; } } if (getWater() == 0){ if (waterAlarmState != 1){ String waterPre = "My food is at "; String tweet = waterPre + foodWeight + "% but my water is low!"; Serial.println(tweet); postTweet(tweet); waterAlarmState = 1; // Sets water alarm state (so it won't tweet forever) } } if (waterState > lastWaterState){ String tweet = "Thanks for the water!"; Serial.println(tweet); postTweet(tweet); waterAlarmState = 0; // Clears water alarm state } delay(2000); // Regular loop delay } int getFood() { // read the analog in value: int foodValue = analogRead(foodPin); // first sample Serial.print(foodValue); if (foodValue >= 600) { foodValue = 599; } if (foodValue <= 582) { foodValue = 583; } int bowlPercent = map(foodValue, 583, 599, 1, 100); Serial.print("food level = " ); Serial.println(bowlPercent); return bowlPercent; } int getWater(){ lastWaterState = waterState; waterState = digitalRead(waterPin); if (waterState == HIGH) { Serial.println("Water is LOW"); waterState = 0; digitalWrite(ledPin, HIGH); return 0; } else{ Serial.println("Water is good"); waterState = 1; digitalWrite(ledPin, LOW); return 1; } } void postTweet(String tweet){ String termTweet = tweet + "\0" ;// Terminate the tweet with a null Serial.print(termTweet); Serial.println(" - Terminated tweet"); int twtlen = (termTweet.length()+3); // count the characters, add 3 just in case Serial.print(twtlen); Serial.println(" - Tweet length"); termTweet.toCharArray(msg,twtlen); // Convert it to an array called msg Serial.print("Attempted tweet "); Serial.println(msg); // tweet.toCharArray(msg,twtlen); Serial.println("connecting ..."); if (twitter.post(msg)) { // Specify &Serial to output received response to Serial. // If no output is required, you can just omit the argument, e.g. // int status = twitter.wait(); int status = twitter.wait(&Serial); if (status == 200) { Serial.println("OK."); delay (120000); // Wait two minutes before doing anything after a tweet (don't spam!) } else { Serial.print("failed : code "); Serial.println(status); } } else { Serial.println("connection failed."); } } 

Gerelateerde Artikelen

Maak een huisdier voederen Station

Maak een huisdier voederen Station

Dit is een nieuwe methode die ik kwam met voor het opzetten van mijn hond, Hank, voedsel en water gerechten. Hope u like it! XO Steph :)
Bloempot hond gerechten

Bloempot hond gerechten

Het wordt aanbevolen door velen dat grote honden een verhoogde hond schotel hebben te voeden van, en hoewel er sommige uitstekende degenen op de Instructables website, ik iets eenvoudig wilde te maken.Ik vond een paar plant potten op een plaatselijke
Hoe een grote foto van uw huisdier te nemen

Hoe een grote foto van uw huisdier te nemen

het kan moeilijk zijn om uw huisdier vrij te poseren voor een foto te krijgen. Mij beproefd welbeschouwd met mijn over actieve Holly monster hond en hier zijn enkele van mijn beste Fototips! -Woof!Snelle Tips:1. wassen pluizig de avond tevoren en nie
Sigaar vak gitaar met verborgen Whiskey Mini Bar

Sigaar vak gitaar met verborgen Whiskey Mini Bar

Cigar Box Guitars (CBG) zeer populair in de afgelopen jaren zijn geworden. Mijn theorie is dat het te wijten aan twee dingen: de economische neergang en de opkomst van de hipster-cultuur. Het CBG zijn erg goedkoop om te bouwen. En ze zijn leuk om te
Universele fiets licht batterij

Universele fiets licht batterij

deze pagina beschrijft de bouw van een universele fiets licht batterij met acht "C" cell oplaadbare NiMh batterijen. Het bestaat uit een Parmezaanse kaas container die sterk, lichtgewicht, splash proof, stof bewijs, past in de kooi van een fles
Aquarium Auto Refill met Arduino

Aquarium Auto Refill met Arduino

Deze Tutorial Arduino pomp toont een eenvoudig voorbeeld van het gebruik van een vlotterschakelaar en RobotGeek pompen Station te vullen een reservoir zodra het niveau te laag wordt. Voor ons voorbeeld gebruiken we een klein aquarium, maar deze hetze
Vuilnis Enzyme - multifunctionele toepassingen &amp; veiliger en schoner alternatief

Vuilnis Enzyme - multifunctionele toepassingen &amp; veiliger en schoner alternatief

mij zijn geweest using vuilnis enzym voor verscheidene maanden nu.Mijn boom papaya is bloeiende zo zijn andere planten (Opmerking: doen niet overmatig gebruik).Meng vuilnis enzym met mijn shampoo zodat de giftige stoffen worden geneutraliseerd door h
Kippensoep met knoedels Amazing

Kippensoep met knoedels Amazing

deze soep brengt de "oude chicken soup" naar het volgende niveau. Of u opwarmen van het koude weer wilt, misschien proberen te raken van de griep, of gewoon wilt gaan op een dieet, deze soep doet het allemaal en het smaakt geweldig! Je kinderen
Tweeting huisdier Bowl

Tweeting huisdier Bowl

heb je ooit liep langs uw huisdier water of voedsel kom en zie het lege; alleen voor vraag me af hoe lang uw huisdieren zijn geweest zonder water? Hier is mijn nemen over een oplossing voor dit probleem: een kom dat tweets wanneer het leeg of weinig
Hoe maak je een huisdier speelgoed uit huishoudelijke materialen

Hoe maak je een huisdier speelgoed uit huishoudelijke materialen

In dit instructable ik zal je laten zien hoe maak je een kat of hond speelgoed uit alledaagse materialen dat de meeste mensen zelf. Dieren liefde te jagen na het en speel mee. Dit kostte me slechts ongeveer 15 minuten te maken, dus het is een zeer sn
Tweet-a-watt - hoe maak je een gekwetter Energiemeter...

Tweet-a-watt - hoe maak je een gekwetter Energiemeter...

Tweet-a-watt - hoe maak je een gekwetter Energiemeter...Dit project documenten mijn avonturen in het leren hoe aan kabellengte tot mijn huis voor het toezicht op draadloze macht. Ik woon in een gehuurde appartement dus ik heb geen hacken-toegang tot
Maak een duct tape huisdier deur

Maak een duct tape huisdier deur

ik wilde een manier om te laten van mijn kat op onze veranda, zonder dat alle koude lucht. Hij houdt van zon op de veranda, en ik wilde te verplaatsen zijn kattenbak die er aan het vrijmaken van de kast in. Ik keek huisdier deuren van een paar plaats
Hoe maak je een huisdier bed in Minecraft PE 0.13.0 +

Hoe maak je een huisdier bed in Minecraft PE 0.13.0 +

deze gids zal u tonen hoe maak je een eenvoudige bed voor uw huisdier in Minecraft PE 0.13.0 +. Geniet van!?Stap 1: materialen u zult moeten 4 tegels van uw keuze, (heb ik gekozen acacia), 8 houten zijdeurtje, en een getemde kat of hond.Stap 2: Maken
Hoe maak je gerechten en kommen uit blikjes

Hoe maak je gerechten en kommen uit blikjes

blikken, die is wat blikjes zijn gemaakt van (vertinde staal) is een groot materiaal voor het maken van allerlei leuke dingen. U moet eerst plat uit de kan te krijgen van enkele bruikbare blikken voor uw project. Bekijk mijn video #4 voor instructies