Utiliser twitter et le temps de poster des notes et la température de la porte du Bureau

Synopsis
========
L’objectif de ce projet est d’utiliser un compte Twitter pour envoyer
Notes de la porte de votre bureau, qui est équipé d’un 20 x 4 LCD
(affichage). Ce projet présente essentiellement une mise en œuvre de
l’idée abordée dans cet article de l’IEEE Spectrum :
http://Spectrum.IEEE.org/Geek-Life/Hands-on/Send-a-tweet-to-your-Office-Door
Comme une amélioration, il affiche également la température actuelle (lire dans
de weather.gov) dans un endroit donné. La mise en œuvre repose sur
la combinaison d’une carte Arduino Uno avec un Arduino Ethernet
Bouclier. Le coût total est d’environ 120 $. Il est supposé que vous
sont familiers avec les outils de l’Arduino.

Matériels et logiciels
=====================

Matériel
--------
$45.95 - Arduino Ethernet Shield : http://www.sparkfun.com/products/9026
$29.95 - Arduino Uno : http://www.sparkfun.com/products/9950
$14.95 - 20 x 4 LCD blanc sur bleu : http://www.hacktronics.com/LCDs/20-x-4-LCD-White-on-Blue/flypage.tpl.html (pourrait être semblable de sparkfun.com pour minimiser les frais de port)
$11.95 - armoire de projet Arduino : http://www.sparkfun.com/products/10088 (héberge le jury et le bouclier)
$3.95 - câble USB A à B - 6 pieds : http://www.sparkfun.com/products/512 (en option ; vous devriez avoir un déjà)
$2.99 - 9 échoués de conducteurs 24 AWG blindé 6FT: http://www.frys.com/product/3550794?site=sr:SEARCH:MAIN_RSLT_PG (pour accrocher l’écran LCD au Conseil d’administration)
$2.99 - 3 câble CAT6 FT: http://www.frys.com/product/5979924?site=sr:SEARCH:MAIN_RSLT_PG (pour accrocher le jury à votre routeur Internet)
1,90 $ - 6 broches à Angle droit femelle en-tête : http://www.sparkfun.com/products/9429 (deux d'entre eux ; pour la connexion de l’écran LCD)
1,90 $ projet boîte : http://www.futurlec.com/ProjectBoxes.shtml (pour affichage)
--------------
$116.53 - TOTAL

Logiciel
--------
--Arduino croquis : inclus à la fin de cette instructable. L’esquisse
doivent être modifiés afin de répondre à vos exigences individuelles. Il contient
Commentaires avec la description de chaque modification et comment cela peut être fait.
--Vous devez compiler et charger le croquis à la Commission avec les outils de l’Arduino : http://arduino.cc/en/Main/Software
Pour pouvoir compiler, vous devez également les bibliothèques suivantes pour vos outils Arduino :
--EthernetDHCP Arduino : http://gkaindl.com/software/arduino-ethernet/dhcp
--Bibliothèque de Finder texte : http://www.arduino.cc/playground/Code/TextFinder

Croquis de l’Arduino : bzdoor2lcd.pde
------------------------------

Get « sélectionné » dernier tweet du compte Twitter « BZDoor » et l’affiche sur la
Écran LCD, qui je l’ai fixé sur la porte de mon bureau. De certaines je veux dire que tweets
Démarrer avec la clé « BZD » seulement. J’utilise le compte Twitter de poster des notes sur mon
porte du Bureau sur les heures de bureau, être dehors pour le café, etc..:-)
//
Le circuit :
Écran LCD pins 1,3,5,16 à Arduino numérique broche GND
Broche 2 de LCD à broche numérique Arduino + 5V
Broche 15 de LCD via resistance 330 Ohms à la broche numérique Arduino + 5V
Broche de LCD 14 à Arduino broche numérique 2
Broche 13 de LCD à Arduino broche numérique 3
Axe de LCD 12 à Arduino broche numérique 4
Broche 11 de LCD à Arduino broche numérique 5
Broche 4 de LCD à Arduino broche numérique 9
Broche 6 de LCD à Arduino broche numérique 8

#include < SPI.h >
#include < Ethernet.h >
#include < EthernetDHCP.h >
#include < TextFinder.h >
#include < LiquidCrystal.h >

Innovente lcd (9, 8, 5, 4, 3, 2) ;

la mac de Byte [] = {0x90, 0xA2, 0xDA, 0 x 00, 0x4F, 0x8A} ;
la propriété intellectuelle de Byte [] = {192,168,1,177} ;
serveur de Byte = {199,59,148,10} ; Twitter.com
server_weather Byte = {140,90,113,200} ; Weather.gov

#define NUM_CHAR_USERNAME 7 / / "BZDoor:" nom d’utilisateur à 6 caractères + :
#define TWEET_OFFSET NUM_CHAR_USERNAME + 5 / / infos utiles de tweet pour être affiché apparaît après "BZDoor : BZD"
char tweet [NUM_CHAR_USERNAME + 140] ; 147 = "BZDoor:" + 140 pour réel tweet
Char [] old_tweet = {"BZDoor : BZD aucune mise à jour. Bonne Journee! Température actuelle : NA Cris "} ;
température de char [8] ;

Client client (serveur, 80) ;
TextFinder finder(client) ;
Client client_weather (server_weather, 80) ;
TextFinder finder_weather(client_weather) ;

void setup()
{
LCD.Begin(4,20) ;
LCD.Clear() ;
LCD.Print("BZDoor2LCD") ;
Serial.Begin(9600) ;
Serial.println("BZDoor2LCD") ;
Ethernet.Begin (mac, ip) ;
}

void loop()
{
(1) vérifier si nouveau tweet est présent dans le compte de BZDoor ;
check_for_new_valid_tweet() ;
(2) vérifier la température ; afficher également signature ;
check_for_new_temperature() ;
(3) nettoyer ;
client.Stop() ;
client.Flush() ;
client_weather.Stop() ;
client_weather.Flush() ;
(4) également effacer la matrice de stockage « tweet » ; sinon si le dernier tweet est plus courte
que le précédent, vestiges de l’ancien feront partie de la plus récente ;
pour (int i = 0; j’ai < NUM_CHAR_USERNAME + 140; i ++) tweet [i] = ' ' ;
(5) retard 2 minutes avant la prochaine mise à jour ;
Delay(120000) ;
}

void check_for_new_valid_tweet() {}
responsable de 1re et 2e rangées des 4 x 20 LCD ;
se connecter à Twitter (RSS d’utilisateur BZDoor : 316663659) et téléchargez le dernier tweet ;
Cette vérification s’effectuera tous les autres 2 minutes, donc si plus de tweets ont été affichés
ont été validées au sein de ces 2 minutes que seulement le dernier tweet sera traité ;
Si (client.connect()) {}
client.println (« GET http://www.twitter.com/statuses/user_timeline/316663659.rss HTTP/1.0") ; BZDoor ;
client.println() ;
} else {}
lcd.setCursor(0,0) ; LCD.Print ("connexion Twitter") ;
lcd.setCursor(0,1) ; LCD.Print ("failed!") ;
Serial.println ("Twitter connexion a échoué.") ;
}
Si (client.connected()) {}
obtenir le dernier tweet dans un compte de BZDoor simplement l’analyse les balises d’élément et titre ;
Si ((finder.find ("< élément >") & & (finder.getString (« < title > », "</title >", tweet, 140)! = 0))) {}
seulement tweets qui commencent par les trois caractères « BZD » s’affiche
sur l’écran LCD sur la porte du Bureau ; tous les autres seront imprimés uniquement à
serial monitor de l’Arduino
Serial.println(Tweet) ;
un tweet régulièrement compte de BZDoor est toujours dans l’un des deux formats :
1) "BZDoor : il s’agit d’un Hello World ! Tweet! ", qui n’est pas affiché sur le LCD ;
2) "BZDoor : BZD quelques mise à jour", qui s’affiche sur l’écran LCD car commence avec clé BZD ;
Si (tweet [8] == « B » & & tweet [9] == « Z » & & tweet [10] == avait ') {}
Il s’agit d’un tweet qui a une mise à jour de BZDoor à apposer sur la porte du Bureau ;
display_tweet(Tweet) ;
Copiez également cette dernière twit old_tweet tableau ;
strncpy (old_tweet, tweet, 80 + TWEET_OFFSET) ;
} else {}
display_tweet(old_tweet) ; première fois, cela ne dit aucune nouvelle mise à jour ;
}
} else {}
lcd.setCursor(0,0) ; LCD.Print ("Impossible de trouver le point") ;
lcd.setCursor(0,1) ; LCD.Print (« champ dans dernier twit ») ;
Serial.println ("Impossible de trouver champ d’élément en dernier twit ») ;
}
} else {}
lcd.setCursor(0,0) ; LCD.Print ("déconnecté du") ;
lcd.setCursor(0,1) ; LCD.Print ("twitter") ;
Serial.println ("déconnecté de twitter") ;
}
}

void display_tweet (char msg[]) {}
Affichez seulement 40 caractères sur les deux premières lignes de la
écran LCD de 20 x 4 ; les troisième et quatrième lignes sont utilisés pour
affichage température et signature ;
LCD.Clear() ;
afficher les 40 premiers chars tweet ;
lcd.setCursor(0,0) ;
pour (int i = TWEET_OFFSET; i < TWEET_OFFSET + 20; i ++) {}
Si (msg [i]! = 0) lcd.print(msg[i]) ;
d’autre lcd.print(' ') ;
}
lcd.setCursor(0,1) ;
pour (int i = TWEET_OFFSET + 20; i < TWEET_OFFSET + 40; i ++) {}
Si (msg [i]! = 0) lcd.print(msg[i]) ;
d’autre lcd.print(' ') ;
}
Imprimez aussi à serial monitor ;
char buffer_row [20] ;
strncpy (buffer_row, msg + TWEET_OFFSET, 20) ; buffer_row [20] = « \0 » ;
Serial.println(buffer_row) ;
strncpy (buffer_row, msg + TWEET_OFFSET + 20, 20) ; buffer_row [20] = « \0 » ;
Serial.println(buffer_row) ;
}

void check_for_new_temperature() {}
responsable avec les 3e et 4e rangs des 4 x 20 LCD ;
se connecter à www.weather.gov et obtenez la température pour Fargo Aeroport ;
Si (client_weather.connect()) {}
client_weather.println (« GET /xml/current_obs/KFAR.xml HTTP/1.0") ;
client_weather.println() ;
} else {}
lcd.setCursor(0,2) ; LCD.Print ("connexion météo") ;
lcd.setCursor(0,3) ; LCD.Print ("failed!") ;
Serial.println ("météo connexion a échoué.") ;
}
Si (client_weather.connected()) {}
Si ((finder_weather.getString (« < temp_f > »,"</temp_f > », température, 8)! = 0)) {}
lcd.setCursor(0,2) ;
LCD.Print ("Curr temp:") ; LCD.Print(temperature) ; LCD.Print ("F") ;
lcd.setCursor(0,3) ; LCD.Print ("Cris") ;
moniteur d’impression aussi de série
Serial.println ("Curr temp:") ; Serial.println(temperature) ; Serial.println ("F") ;
Serial.println ("Cris") ;
} else {}
lcd.setCursor(0,2) ; LCD.Print ("temp actuel : NA") ;
lcd.setCursor(0,3) ; LCD.Print ("Cris") ;
Serial.println ("Impossible de trouver temp_f dans les flux météo") ;
}
} else {}
lcd.setCursor(0,2) ; LCD.Print ("temp actuel : NA") ;
lcd.setCursor(0,3) ; LCD.Print ("Cris") ;
Serial.println ("déconnecté du temps ») ;
}
}

Articles Liés

Comment utiliser le capteur de température DS18B20 - Arduino Tutorial

Comment utiliser le capteur de température DS18B20 - Arduino Tutorial

Dans ce tutoriel, vous apprendrez comment utiliser le capteur de température DS18B20 avec Arduino.La température sera imprimée sur le moniteur série de Codebender ou IDE Arduino.Vidéo de présentation :Avant de commencer nous allons voir plus d'inform
Comment utiliser le capteur de température TMP36 - Arduino Tutorial

Comment utiliser le capteur de température TMP36 - Arduino Tutorial

Le TMP35/TMP36/TMP37 sont à basse tension, capteurs de température centigrade de précision. Ils fournissent une tension de sortie qui est linéairement proportionnelle à la Celsius (c) la température. Le TMP35 / TMP36/TMP37 ne nécessitent pas de n'imp
Thermomètre numérique à écran OLED utilisant le capteur de température de NodeMCU de ESP8266 ESP-12F et DS18B20

Thermomètre numérique à écran OLED utilisant le capteur de température de NodeMCU de ESP8266 ESP-12F et DS18B20

Dans mon précédent instructable j'ai donné une introduction à ESP8266 et en programmant avec notre IDE Arduino familier.Dans ce instructable je vais aller un peu plus loin, interfaçage d'un capteur de température DS18B20 et affichage de la températur
En utilisant le capteur de température LM335

En utilisant le capteur de température LM335

Le LM335 est un capteur de température facile à utiliser, relativement précis. C'est génial pour des choses comme les enregistreurs de température et régulateurs de température. Ce capteur est beaucoup plus facile à utiliser que les thermocouples, ca
Poster des Notes il

Poster des Notes il

Voici un rapide et un moyen facile de faire Post note qui fonctionnent mieux que les vrais, à mon avis. C'est moins cher que de les acheter et vous pouvez utiliser cette méthode pour n'importe quel petit bloc-notes ou vous pouvez faire votre propre b
Comment utiliser Twitter pour se connecter avec Victory Baptist Church

Comment utiliser Twitter pour se connecter avec Victory Baptist Church

Twitter est un service internet sur le World Wide Web (WWW) qui permet de courts messages texte à diffuser au monde entier, ou seulement vos amis, selon ce que vous voulez.Vous pouvez envoyer des messages à Twitter via email ou téléphone portable, et
Détecter la température ambiante et l’affichage sur écran LCD en utilisant Simulink et Arduino UNO

Détecter la température ambiante et l’affichage sur écran LCD en utilisant Simulink et Arduino UNO

Détection et affichage de la température ambiante en utilisant Arduino sont très fréquent, et vous y trouverez plein de tutoriel instructablesand autres sites similaires. Mais, je n'ai pas trouvé n'importe où, n'importe quel tutoriel Comment faire ce
Envoi des données de capteur de température à la base de données d’Azur

Envoi des données de capteur de température à la base de données d’Azur

Ce projet utilise une framboise de Pi B + joint à 2 capteurs de température et envoie des données à une source de données Azure qui peut être utilisée pour créer des graphiques.Un tas de mon code d'accès à des capteurs de température provient de la A
Affichage de température direct Edison Intel

Affichage de température direct Edison Intel

Salut là tout le monde !Il a été longtemps depuis que j'ai rien posté ici, et je pensais que la nouvelle version de Intel ITO serait une excellente idée de créer une instructable.-En quoi consiste l'ITO ?L'ITO est synonyme de « Internet des objets »,
Bureau enregistrement de température ambiante avec pcDuino et Yeelink serveur

Bureau enregistrement de température ambiante avec pcDuino et Yeelink serveur

pcDuino peut se connecter à Internet par Ethernet, WiFi, GPRS et 3G. Dans ce projet, nous voir un capteur de température TMP36 pour détecter la température de bureau et pousser vers le serveur yeelink et vérifiez la température à tout moment n'import
Comment mesurer la température très précisément avec un Arduino et un Conseil de capteur de température TSYS01.

Comment mesurer la température très précisément avec un Arduino et un Conseil de capteur de température TSYS01.

Alors qu'il étudiait à l'Université, nous avons été contestés dans le cadre d'un travail en cours dans la conception d'une boîte avec un contrôle très précis de la température. Si le projet devait réussir, plusieurs boîtes devaient être construits et
Enregistreurs de température rapide & facile

Enregistreurs de température rapide & facile

Je travaille comme développeur de logiciels pour un laboratoire de biologie où mon travail quotidien consiste à créer des applications pour faire face à la visualisation de données volumineuses. Récemment, un de mes collègues avait toutefois la néces
Tutoriel de capteur de température !

Tutoriel de capteur de température !

Ce qui est un capteur de température?Un capteur de température analogique est assez facile à expliquer, il s'agit d'une puce électronique qui vous indique quelle est la température ambiante !Ces capteurs utilisent une technique à l'état solide pour d
WiFi sous contrôle café COASTER avec couleur changeant température indicateur LED

WiFi sous contrôle café COASTER avec couleur changeant température indicateur LED

Savoir quand boire et déguster votre café a été explorée à bien des égards. L'un d'eux est le changement de température de café coaster de couleur de LED. LED s'allume si le seuil de température est atteint. En utilisant le tri-color LED avec constru