Hacer que tu mascota platos tweet! (6 / 7 paso)

Paso 6: Todo el programa

Realizado este vídeo para explicar el código.

El código fuente todo, es open source, utilizando la licencia de Creative Commons Attribution y otro heredado de licencias desde el IDE de Arduino y bibliotecas.

 /* 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."); } } 

Artículos Relacionados

Hacer que una mascota alimentación estación

Hacer que una mascota alimentación estación

Este es un nuevo método que surgió para la configuración de mi perro, Hank, platos de comida y agua. Espero que les guste! XO Steph :)
Cómo hacer que tu esposa feliz (las tareas)

Cómo hacer que tu esposa feliz (las tareas)

Hola esposos! Aquí Eric de CheapAssReviews y hoy que vamos a mostrarle cómo usted puede hacer su sensación de esposa amaba después de un fin de semana. No echar a perder el resto del instructivo, pero es sobre todo las tareas. ¡ Espero que lo disfrut
Cómo hacer tu propia mascota fácilmente

Cómo hacer tu propia mascota fácilmente

es una manera fácil de hacer a su mascotacosas que necesitas para tu mascota:1 papel de carta [tamaño 18cm]2 grapadora3 colores4 lápiz5 tijeras6 escala dePaso 1: paso 1 1 tomar la carta y doblarla.2 tomar un lado de la tabla de plegado y nuevamente d
Cómo hacer que windows xp se parece a vista

Cómo hacer que windows xp se parece a vista

Cómo hacer que Windows Xp parezca Vista74tarifa o esta página de la bandera Tweet estePor hassamDespués del exitoso lanzamiento de windows XP, microsoft había fijado nuevo estándar para su sistema operativo 'Windows'. XP fue embalado con todas las ca
Cómo hacer que una Variable cabeza lente de Zoom de lente telescópica de cámaras

Cómo hacer que una Variable cabeza lente de Zoom de lente telescópica de cámaras

Para todos los fanáticos de lupa, precisión arte trabajadores, investigadores, biólogos, micro electrotechnicians, reparadores de joya, Borg y muchos más, mejoran la vida y alegría, construir un Variable Zoom cabeza lente.Tener ambas manos libres par
Cómo hacer que tus zapatos resistente al agua

Cómo hacer que tus zapatos resistente al agua

si el tiempo es lluvioso, y estás fuera de casa, por supuesto se mojará. Este Instructable le mostrará cómo hacer que tus zapatos impermeables. Al lado de los zapatos puede hacerlo también a tus otras cosas! Por lo tanto, vamos a empezar!Paso 1: Lo q
Cómo hacer que el sofá de Lego doble Decker por menos de $250

Cómo hacer que el sofá de Lego doble Decker por menos de $250

Todo es impresionante todo es genial!Todos excepto el sofá doble de Decker, una gran idea por una persona loca (o minifigura).La única manera de obtener correctamente una de estas maravillas de la ingeniería es a comprar un conjunto de $250 y viene c
Cómo hacer que un compañero de la soldadura (de plástico de la hoja)

Cómo hacer que un compañero de la soldadura (de plástico de la hoja)

[actualización - gracias a todos los que votaron en la! concurso de impresora 3D - tuve la suerte de ganar una! Más, así que ahora puedo proceder con soldadura Buddy Mark III (Mark II está mejorando Mark I con usted sugerencias abajo) y suelte los ar
Hacer que un controlador de NES USB

Hacer que un controlador de NES USB

este tutorial combina un controlador original de NES, USB teclado, alambre y tacto pasa a un controlador de NES USB adecuado para uso con NES y arcade emuladores. La idea básica es que la unidad de controlador de teclado está instalada en el controla
Cómo hacer que la Espada Maestra - Zelda: Ocarina of Time

Cómo hacer que la Espada Maestra - Zelda: Ocarina of Time

En el aprendizaje de hoy les enseñaré cómo hacer una lista con maestro espada de Zelda: Ocarina of Time con PVC y un apagado el estante termoplástico!Paso 1: Ver el videoVER VIDEO AQUÍ¿Estás listo para hacer un dulce espada maestra que no requiere de
Cómo hacer que tu habitación instantáneamente refrigerador

Cómo hacer que tu habitación instantáneamente refrigerador

esto te mostrará cómo hacer que su habitación más fresca en los calurosos días de verano!Paso 1: materiales Para este hack de vida súper rápida y fácil, todo lo que necesitas es una ventana y un mini ventilador.Paso 2: ventana Sólo Abra su ventana ha
Cómo hacer que el camión de Coca Cola

Cómo hacer que el camión de Coca Cola

cómo hacer que el camión de Coca Cola. Guía de bricolaje para dar vuelta la edad latas en un modelo del camión de coca cola de Navidad que realmente luces para arriba. Hecho famoso de los anuncios de Coca-Cola con la canción de vacaciones vienen de M
Hacer que una impresora 3D utilizando un router CNC - el "Deltabot"

Hacer que una impresora 3D utilizando un router CNC - el "Deltabot"

Otro título posible sería "Hacer una máquina 3D usando una máquina de 2D".Este Instructable es sobre el uso de un router CNC y diseños 2D para crear una impresora 3D de Delta.En mi investigación sobre impresoras 3D para aficionado he encontrado
Cómo hacer que su perro cantar

Cómo hacer que su perro cantar

esto es acerca de cómo hacer que su perro cantar.  Yo no puedo prometer que su perro va a cantar, pero planeo decirte cómo hemos llegado a mi perro para empezar a cantar.Mi Bichón Frisé, Pierre, no siempre va a hacer un perrito CD, pero sin duda entr