Acorn Chime (7 / 10 steg)
Steg 7: Inklusive trådlös anslutning
För att åstadkomma detta, har jag indelat till tutorial i flera delar:
Obs: följande åtgärder förutsätter att du redan har flashat arduino med vårt skript.
1. ställa in Bluetooth på Arduino och para samman den med en dator.
Detta steg kan vara den mest frustrerande, men förhoppningsvis med lite tålamod och detta tut, har du din Arduino parkopplad med datorn på nolltid.
Börja med att ansluta Bluetooth-modulen till Arduino via några kablar. För detta steg kommer du att ha ett nätaggregat som är redo att driva arduino, du kan använda batteriet vi beskriver i detta tut eller hacka den med ett 9v batteri, som är lätt att använda med clippers. För att programmera Arduino, behöver du inte använda dataledningar till Arduino, som datorn kommer bara att tala med Bluetooth-modulen vid denna tid. För nu, bara att ansluta den kraft och marken ledningar som så:
Arduino GND, stift 1 till BT GND Pin 3
Arduino 3.3V, stift 3 BT VCC Pin 2
När du har anslutit ledningarna, kan du bifoga Arduino till strömkällan och med lite tur, kommer du att se Bluetooth-kortet börjar blinka rött. Detta innebär att det får ström och du är på väg.
Nästa steg är att koppla ihop enheten med din dator. Detta gör så din OS/Bluetooth adapter protokoll för att upptäcka och para ihop en enhet. Du kommer att koppla ihop med ett lösenord och ge det lösenordet 1234 om du använder en helt ny BlueSmirf enhet. Annars om det har använts får lösenordet från föregående användare eller kolla manualen för standard om du använder ett annat märke.
Om allt går bra får du bekräftelsen av en framgångsrik ihopparning.
Nu, för Arduino och din dator utbyta information de måste båda köras vid samma bithastighet. För Lillypad är detta 9600 baud. Här är lite för svart ar: måste du logga in på bluetooth-enheten med en seriell terminal och ändra dess överföringshastighet för att matcha Lillypad. För att göra detta rekommenderar jag att använda ladda ner och installera ZTERM (http://homepage.mac.com/dalverson/zterm/) på mac eller termit på windows (http://www.compuphase.com/software_termite.htm). För att skapa denna handledning kommer vi att diskutera mac bara, men windows-sidan är mycket lik så om du är bekant med denna miljö bör du kunna räkna ut.
När du har din seriell terminal installerad, är du redo att prova att ansluta till Bluetooth-enheten.
Nu, för att få Zterm att ansluta till enheten måste du tvinga din mac för att upprätta en anslutning, du kan göra detta genom att välja din enhet från bluetooth-menyn och sedan på skärmen egenskaper att välja "Redigera serieportar". Här din protokollet ska anges till RS-232 (serial) och din tjänst bör vara SSP. Om allt går väl, enheten visar ansluten på yoru datorn och bluetooth kommer att erkänna en koppling. Nu vill du snabbt starta zterm och ansluta till den seriella porten där bluesmirf är ansluten. När terminalen kommer upp, skriv:
>$ $$
Detta sätter enheten i kommando-läge och får det redo att programmeras. Du måste göra detta inom 1 minut av koppling med enheten eller det kommer inte att fungera. Om du inte får meddelandet OK efter detta kommando och istället få en?, då du sprang ut för sent.
Om du får in i kommando-läge, kontrollera att du har en bra anslutning genom att skriva:
> D
Inställningarna visas på enheten. Kan du skriva:
> ST, 255
Detta tar bort tidsfristen för att konfigurera enheten.
Nu, du skriver:
> SU, 96
Detta anger överföringshastigheten till 9600.
Göra en annan
> D
Göra säker din inställning tog och nu är du redo att rocka.
Så här testar du ny anslutning. Sluta Zterm, koppla bort makten från Arduino, ansluta dataledningar till Bluetooth som så att du har följande anslutningar:
Arduino GND, stift 1 till BT GND Pin 3
Arduino 3.3V, stift 3 BT VCC Pin 2
Arduino TX, stift 4 till BT TX stift 4
Arduino RX, stift 5 till BT RX stift 5
Sätt tillbaka makten. Om du har hela klockljudet byggt som skulle vara bra, annars se bara till att det är flashad med programvaran och sedan helt enkelt trip sensorerna med en tråd. Lansera Arduino, kontrollera att den enhet och baud rate under menyn toools matchar du utrustning och klicka sedan på knappen seriell monitor. Med lite tur, bör du se anteckningarna ekade i terminalen när du utlösa sensorerna. Grattis!
Om du inte ser det, inte ge upp, Följ dessa steg noggrant igen och se vad du missat. En anmärkning är, ibland Arduino klagar den seriella porten är upptagen när dess inte. 1. se till att det är inte upptagen med ett annat program och sedan cykla Arduino (programvaran) att se till att problemet inte finns.
Här är en utmärkt referens till den BlueSmirf enheten och dess koder:
http://www.Sparkfun.com/Commerce/product_info.php?products_id=582
2. skicka data till Pachube
Nu när du har din Bluetooth-modul som fungerar som den ska, är du redo att skicka data till Pachube. Den bifogade uppförandekoden ska kommer att är fullt funktionell och visa dig hur, men låt oss titta på stegen här.
Innan vi börjar, kommer att du behöva hämta bearbetning (http://processing.org/) och skapa Pachube (http://pachube.com) konto. Eftersom de är fortfarande i stängd beta kan du behöva vänta en dag innan du får dina inloggningsuppgifter.
När du har din inloggning, skapa en feed i pachube, är här vår till exempel:
http://www.pachube.com/feeds/2721
Nu är vi nästan redo att skicka data till pachube, vi behöver bara en speciell kod bibliotek för bearbetning som kommer att strukturera data på det sätt som pachube gillar. Detta bibliotek kallas EEML (http://www.eeml.org/), som står för Extended miljöer Mark upp språk (ganska cool. va?).
När du har allt detta installerat, är du redo att skicka data! Lägg till din foder identitet info här:
>> dOut = nya DataOut (detta, "[FEEDURL]", "[YOURAPIKEY]");
och din feed specifik info här:
>> dOut.addData(0,"Frequency");
0 indictes som det är, i vårt fall är det enda foder som kommer från denna enhet, så blir det 0. "Frekvens" representerar namnet på det värde vi skickar och kommer att läggas till av pachube (blir det klasser med alla andra flöden med nyckelordet frekvensen), den utgör också vad enheterna sänder vi är.
Det finns en ytterligare samtal:
>> //dOut.setUnits (0, "Hertz", "Hz", "SI");
Som anger enheterna, men vid tidpunkten för detta skrivs det fungerade inte i Pachube så vi kommenterade ut. Men prova det. Det ska bli användbar när den börjar arbeta.
Nu är du ganska mycket allt klart, men det kan vara värt att nämna särskilt några andra rader i koden:
>> println(Serial.list());
Här koden skriver ut alla tillgängliga seriella portar
>> myPort = ny följetong (denna, Serial.list() [6], 9600);
och denna kod anger vilka en att använda i programmet. Kontrollera att du anger ett riktigt och korrekt baudhastighet för din enhet eller koden fungerar inte. Kan du köra det och om du har en priblem titta på produktionen av seriella portar och se till att du har den rätta som anges ovan.
När du har detta angetts, köra bara och du får se din feed kommer till liv.
>> delay(8000);
Jag lagt till denna fördröjning efter att skicka data från till pachube eftersom de införa en gräns på endast 50 begäranden till en feed (upp och ner) per 3 minuter. Sedan för denna demo jag läsning och skrivning feeds samtidigt i grund och botten, jag la en försening så att jag inte resa deras krets brytaren. Detta gör för en mycket försenad foder, men som deras tjänst utvecklas, de kommer att ta upp denna sorts naiv gränser.
Pachube cammunity hemsida har en trevlig Arduino Tut också, jag rekommenderar att läsa det om du fortfarande behöver mer information:
http://community.pachube.com/?q=Node/11
3. konsumerar data från Pachube (bonus)
Du kan konsumera Pachube datafeed via bearbetning och ganska mycket har det gör vad du vill. En annan-ord, du kan behandla frekvenserna som anteckningar (de mappas till en skala) och spela dem tillbaka eller bara använda dem som slumpgeneratorer och göra andra saker som visuella eller spela orelaterade prover. Med bifogade kodexempel spelar en sinusvåg baserat på hur ofta det drar från pachube och gör en färgad kub snurra runt. För att få pachube data, begära vi helt enkelt det på den här raden:
BULLEREN = nya DataIn (detta, "[PACHUBEURL]", "[APIKEY]", 8000);
liknar hur vi skickade data i steg 2.
Kanske är den mest intressanta delen av denna kod införandet av en enkel men ändå kraftfull musikbibliotek för bearbetning kallas Minim (http://code.compartmental.net/tools/minim/), där du kan enkelt arbeta med prover, generera frekvenser eller arbeta med ljudingången. Det har också många bra exempel.
Kom ihåg att om du vill att både skicka ett foder och konsumera en, behöver du 2 datorer (jag antar att du kunde detta praktiskt taget på en maskin). En ihopkopplad med bluetooth-enheten, skicka data ut och en annan dra matningen från pachube.
Om du vill verkligen testa fältet detta måste du bifoga en dongle till datorn via en lång USB-kabel och se till att du har raden av webbplats med din chime. Interna bluetooth antenner har inte mycket utbud, men kan du få 100" eller mer med en kvalitet dongel som kan placeras directionally.