Twitter dikt Box (4 / 8 steg)

Steg 4: Seeed och Twitter




1. Klipp ut hål för USB och Ethernet och kanske ett hål för ström-uttaget om du vill driva arduino ditåt.

2. skapa en 2.5 in av 2,5 tum av 2,5 i box av velum med 2,5 in av 5 in botten öppen

3. tejpa vellum till toppen av din box över BlinkM och säkra alla delar

4. data överför den TrueRandom http://code.google.com/p/tinkerit/wiki/TrueRandom,
NewSoftSerial http://arduiniana.org/libraries/newsoftserial/,
och Twitter http://www.arduino.cc/playground/Code/TwitterLibrary bibliotek

5. Ladda upp här koden till din Arduino

#include < TrueRandom.h >

#include < SPI.h >

#include < avr/pgmspace.h >

#include < Wire.h >

#include < BlinkM_funcs.h >

#include < Client.h >

#include < Ethernet.h >

#include < Server.h >

#include < Udp.h >

#include < EthernetDNS.h >

#include < Twitter.h >

/*
baserat på Kittty Twitty katt leksak v1.0
av Marc de Vinck
Den 6 januari, 2010
KittyTwitty katt leksak projekt finns i göra, volym 22

Sträng (tidigare TextString) bibliotek av Tom Igoe
http://www.Arduino.cc/en/tutorial/TextString
*/

på-knappen
#define pushBtn 6

Boolean tryckt = sant;

int färg;

flyktiga lång reader1 = 0;
flyktiga int reader1Count = 0;

#define blå 57337134
#define röd 23773468
#define grön 23805695

lång prevTime;
int card1;
int card2;
int count = 0;

långa dec;

int r = 0;
int g = 0;
int b = 0;

#define addr 0x09

används för att lagra status för stift (6)
int var;

lång randNum1;
lång randNum2;
lång randNum3;
lång randNum4;

Sträng dataString;
lång prevtime =-30000;

definiera den nätverk sättande för Ethernet Shield

Detta kan göras upp
byte [mac] = {
0x1a, 0x6F, 0x99, 0xCD, 0xFF, 0xFF};

får detta från inställningar, sedan ändra sista byte
byte ip [] = {
10,0,1,197}.

att få token: http://arduino-tweet.appspot.com/
Twitter twitter("[your_token_here]");

prog_char words1_0 [PROGMEM] = "Röd";
prog_char words1_1 [PROGMEM] = "Grön";
prog_char words1_2 [PROGMEM] = "Blå";
prog_char words1_3 [PROGMEM] = "Gult".
prog_char words1_4 [PROGMEM] = "Lila";
prog_char words1_5 [PROGMEM] = "Cyan";
prog_char words1_6 [PROGMEM] = "White";

prog_char words2_0 [PROGMEM] = "lights";
prog_char words2_1 [PROGMEM] = "konst";
prog_char words2_2 [PROGMEM] = "gaser";
prog_char words2_3 [PROGMEM] = "cirklar";
prog_char words2_4 [PROGMEM] = "nålar";
prog_char words2_5 [PROGMEM] = "dörrhandtag";
prog_char words2_6 [PROGMEM] = "sirenerna";

prog_char words3_0 [PROGMEM] = "sömn.";
prog_char words3_1 [PROGMEM] = "promenad.";
prog_char words3_2 [PROGMEM] = "live.";
prog_char words3_3 [PROGMEM] = "finnas.";
prog_char words3_4 [PROGMEM] = "uppfatta.";
prog_char words3_5 [PROGMEM] = "tror.";
prog_char words3_6 [PROGMEM] = "se.";

prog_char words4_0 [PROGMEM] = "Katter är awesome.";
prog_char words4_1 [PROGMEM] = "Täcken smak som pepparkakor.";

prog_char words4_2 [PROGMEM] = "Metall är mycket interaktiv.";
prog_char words4_3 [PROGMEM] = "Light är strålning.";
prog_char words4_4 [PROGMEM] = "Ljud är vinden.";
prog_char words4_5 [PROGMEM] = "Klockor gör en bra säng.";
prog_char words4_6 [PROGMEM] = "Glas är ogenomskinlig.";

PROGMEM const char * words1_table [] = {
words1_0,
words1_1,
words1_2,
words1_3,
words1_4,
words1_5,
words1_6};

PROGMEM const char * words2_table [] = {
words2_0, words2_1, words2_2, words2_3, words2_4, words2_5, words2_6};

PROGMEM const char * words3_table [] = {
words3_0, words3_1, words3_2, words3_3, words3_4, words3_5, words3_6};

PROGMEM const char * words4_table [] = {
words4_0, words4_1, words4_2, words4_3, words4_4, words4_5, words4_6};

char words1_buffer [7];
char words2_buffer [10];
char words3_buffer [10];
char words4_buffer [30];

void reader1One(void) {
reader1Count ++;
reader1 = reader1 << 1.
reader1 | = 1;
}

void reader1Zero(void) {
reader1Count ++;
reader1 = reader1 << 1.
}

void setup() {
kör den här koden en gång
BlinkM_beginWithPower();

definiera btn som indata så vi kan läsa det
pinMode (pushBtn, ingång);

börjar seriell kommunikation så kan du felsöka lättare
Serial.BEGIN(9600);

DATA0 till stift 2
attachInterrupt (0, reader1Zero, RISING);

Data1 till stift 3
attachInterrupt (1, reader1One, stiger).

för (int jag = 2; jag < 4; i ++) {
pinMode (i, matas);
digitalWrite i, hög. Aktivera inre dra upp orsakar en
digitalWrite (i, låg); Inaktivera inre dra upp orsakar noll och thus ett avbrott
pinMode (i, ingång);
digitalWrite i, hög. Aktivera inre dra upp
}

reader1 = 0;
reader1Count = 0;

börjar Ethernet-anslutningen från den lagrade informationen
Ethernet.BEGIN (mac, ip);

connectToTwitter();

Serial.println("Waiting"); skriva ut, för felsökning
}

void connectToTwitter() {
skriva ut en tom rad, för felsökning
Serial.println ("ansluter till Twitter..."); skriva ut, för felsökning

char testFN1[4]={int(random(4000,5000))};

om (twitter.post(testFN1)) {/ / Twitter att vi är igång
int status = twitter.wait (& följetong); vänta på ett svar från twitter
om (status == 200) {/ / om Twitter svarar 200
Serial.println ("Tweet OK!"); skriva ut framgång / / skriva ut en tom rad, för felsökning

} annat {
Serial.Print ("Tweet misslyckades: koden");
Serial.println(status); skriva ut felkoden
connectToTwitter(); skriva ut en tom rad, för felsökning
}
} annat {
Serial.println ("Anslutning misslyckades.");
connectToTwitter();
}
}

void loop() {
kör om och om igen, sluta aldrig
readCard();
displayColor();

Kontrollera status för wire sensor
checkState();
}

void getString() {
sammanfogar dikt
dataString = strcpy_P (words1_buffer, (char *) pgm_read_word (&(words1_table[color])));
dataString = dataString + strcpy_P (words2_buffer, (char *) pgm_read_word (&(words2_table[int(randNum2)])));

dataString = dataString + strcpy_P (words3_buffer, (char *) pgm_read_word (&(words3_table[int(randNum3)])));

dataString = dataString + strcpy_P (words4_buffer, (char *) pgm_read_word (&(words4_table[int(randNum4)])));

dataString = dataString + "-1000000000";
}

void tweet() {
funktionen tweet, detta kallas om status = 1
char filnamn [88].

dataString.toCharArray (filnamn, 88).

Serial.println ("ansluter till Twitter..."); skriva ut, för felsökning
Serial.println(); skriva ut en tom rad, för felsökning
om (twitter.post(filename)) {
Tweet den avslutade datastring av ord
Serial.Print ("Tweeting--"); skriva ut, för felsökning
Serial.println(dataString); skriva ut, för felsökning
Serial.Print ("--Status:"); skriva ut, för felsökning
int status = twitter.wait();
om (status == 200) {
Serial.println("successful!");
Serial.println();
} annat {
Serial.Print ("Tweet misslyckades: koden"); skriva ut felkoden
Serial.println(status); skriva ut felkoden
}
} annat {
Serial.println ("anslutning till Twitter misslyckades."); skriva ut felkoden
}
}

void readCard() {
IF(Count<2) {
om (reader1Count > = 26) {
int serialNumber = (reader1 >> 1) & 0x3fff;
int siteCode = (reader1 >> 17) & 0x3ff;
dec = (reader1 & 0xfffffff);
IF(Count==0) {
r = 0;
b = 0;
g = 0;
}

Serial.Print("dec=");
Serial.println(DEC);

Switch(DEC) {
fall röd:
r = 255;
bryta;

pärlemor grön
g = 255;
bryta;

fall blå:
b = 255;
bryta;

standard:
färg = 0;

Serial.Print ("nya tag");
Serial.Print(reader1& 0xFFFFFFF);
}

reader1 = 0;
reader1Count = 0;
tryckt = false;
} annat if(reader1Count == 0) {

}
om (millis ()-prevTime > 2000) {
greve ++;
prevTime=millis();
}

} annat {
Count = 0;
}

} //readCard()

void checkState() {/ / kontrollera status för wire funktion
IF(!printed) {
doStuff();
tryckt = sant;
}
}

void displayColor() {
om (r == 255 & & g == 0 & & b == 0) {
färg = 0;
} else om (r == 0 & & g == 255 & & b == 0) {
Färg = 1;
} else om (r == 0 & & g == 0 & & b == 255) {
färg = 2;
} else om (r == 255 & & g == 255 & & b == 0) {
färg = 3;
} else om (r == 255 & & g == 0 & & b == 255) {
färg = 4;
} else om (r == 0 & & g == 255 & & b == 255) {
färg = 5;
} else om (r == 255 & & g == 255 & & b == 255) {
färg = 6;
}
BlinkM_fadeToRGB(addr,r,g,b);
}

void doStuff() {
randNum2 = random(7);
randNum3 = random(7);
randNum4 = random(7);
getString();
Tweet();
}

5. Anslut din Arduino till ethernet

6. test.

Se Steg
Relaterade Ämnen

Arduino sprinkler ventiler + wifi + twitter

[redigera: Jag gjorde järnvaror del mer kompakt med hjälp av en relay sköld. Om du planerar att använda 4 reläer eller mindre, sedan ta en titt här...]Detta är mitt första inlägg så... vara brutal!Jag har en liten trädgård med en mycket udda form, ja...

Blue Peter återvinning Box (ingen klibbig tillbaka plast krävs)

vi alla delar en stor papperskorgen mellan våra block av lägenheter men vad är du tänkt att göra med den tomma flaskor och burkar innan du kan orkar ta ut dem/som du väntar regn att stoppa? I månader har jag kämpat med bärkassar av plast från stormar...

Garduino uppgraderingen, nu med mer Twitter!

Ett par månader sedan kom jag över två stora instructables. Först var Garduino, en arduino kontrollerade trädgård som hjälper dig att odla växter i hemmet. Andra var den Tweet-a-watten, ett projekt som lär dig att övervaka ditt hem makt användning me...

Kamera fälla ladda upp Twitter med Intel Edison

Kamera fällor är specialdesignade kameror för att fånga bilder av djur i ett djurliv. Det syftar till att studera ekosystemet i dessa djur i skogen. Denna kamera är utrustad av motion cencors som använder censor pir. Om det finns en rörelse från plat...

Förvandla din IPhone emballering Box till en virtuell verklighet Headset

Låt oss gå DIY. Här är ett enkelt och elegant sätt att förvandla alla behållare till ett vr headset.Steg 1: Använd dessa materialI denna tutorial använder vi iPhone emballering box. Du kan också använda någon liknande tvådelad låda som passar din tel...

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...

Origami Christmas Gift Box - handledning

DIY Hur man gör origami julklapp box - lättSötnos Cadou Craciun - Tutorial Scatola regalo nataleVi inbjuder dig att prenumerera på denna kanal att titta på framtida videor!http://xly.us/XI9s4Glöm inte att gilla, kommentera och dela denna video :)Tack...

Trans * älskar keepsake box

Min partner och jag är mycket stolt över att vara transpersoner. Denna jul bestämde jag mig för att kombinera min kärlek till dem samt transpersoner samhället med en romantisk keepsake box.Steg 1: Saker du behöver Du behöver:kartong källa (jag använd...

Hemgjord Assorted Candy Box

Jag verkar alltid ha en aldrig sinande lista av behandlar jag vill prova runt helgdagar men aldrig hitta tid. I år bestämde jag mig tidigt att göra tid för det genom att införliva dem som gåvor. Att vara neurotiska ungen jag jag klev upp ett pinnhål...

Ta itu med Box örhängen #1 handledning

http://www.JewelryLessonVideos.com presenterar: Tackle Box örhängen #1 handledning. Kimra Reed ägare till Just de gropar smycken och Design i Columbia City, Indiana instruerar sin första smycken lektion från sin "Tackle Box smycken serien". I de...

Ta itu med Box örhängen #2 handledning

http://www.JewelryLessonVideos.com presenterar: Tackle Box örhängen #2 Tutorial. Kimra Reed ägare till Just de gropar smycken och Design i Columbia City, Indiana lär en annan tutorial från sin "Tackle Box smycken serien". Än en gång, kommer du a...

Däck-Boxing Bag

Hey guys jag tillbaka med min andra instructable, "The Tire Boxing Bag". Om du är som mig din för billigt att köpa en boxning väska och skulle hellre göra en själv, eller om du tycker att återvinna är detta bara för dig. Denna väska är otroligt...

Super Sculpey Buddha i en Shadow Box

Oh Hej.Detta är ett hantverk som jag för några år sedan att jag kunde hitta några bilder på. I detta instructable, jag ska visa dig hur lätt det är att göra en anständig letar skulptur och sätta en fin pricken på den. I detta instructable, jag ska gå...

Tool Box Tote

I denna tutorial kommer jag att göra ett verktyg låda eller tote skrot trä jag har hittat på lagerplatserna på den lokala Chandler TechShop under en viss tidsperiod. Annat än återvunnet naglar är det 100% trä. Det tog inte mig mer än ett par dagar at...

CARDSTOCK tryffel/present BOX

Jag kan inte vänta med att visa dig hur man gör en candy box i 6 enkla steg och sedan följa upp det med några box dekoration idéer och Smaskiga recept! Jag är beroende av att göra dessa lätt ännu bedårande hemlagad lådor och du kan vara alltför när d...

Enkel Origami Box - handledning

Enkel Origami Box - handledning - lätt Origami - Candy BoxCutie Origami - handledning - Origami pentru incepatori - Cutie BomboaneI den här videon Visa jag dig hur man gör en Origami Candy Box.Vi inbjuder dig att prenumerera på denna kanal att titta...

Rökt bringan på BBQ grop utan rökare Box

jag har aldrig träffat en köttätare som inte älskar en god rökt bringan. Det är den vackraste kategorin rökning tävlingar bär lika mycket prestige som hel hog.Detta är en handledning på röka en bringan med en vanlig Grill grill. Jag kommer vara så de...

Wi-Fi Twitter vattennivån Sensor

IntroduktionFick inomhus VVS? Japp. Fick city vatten? Nope. Då är du på rätt plats. Om du har en väl, då har du sannolikt en vattentank. Detta projekt är ett sätt att mäta hur mycket vatten finns kvar i tanken. Du kan använda detta projekt för andra...

Vattentät Solar Powered Boom Box

detta är en gå någonstans, driva något, musik sprängning stereo som kommer att hålla festen gunga även i hällande regn. Denna stereo ligger inuti en vattentät, crushproof, kittenproof inhägnad, och använder en vattentät marin huvudenheten och vatten...