Interaktiva 1



behöver Life interaktion att leva. Maskiner måste program att interagera med oss. Program behöver anslutning att växa mer komplicerat. Seriell kommunikation är vad maskiner använder att växa. Seriell kommunikation är inbyggd i de flesta processorer. Det är hur du först programmera dem och felsöka dem. Seriella anslutningar Låt varje del av en maskin prata med de andra delarna att göra maskinen göra mer komplicerade uppgifter. Människor älskar interaktiva saker. Seriella anslutningar kan du göra din maskin interaktiv. Jag visar ett exempel på en interaktiv maskin med min EasyLights och knappar.

Jag hade problem med att få meddelanden mellan Basic Stamp 2(BS2) och Basic Stamp 1(BS1). BS2 är ungefär fyra gånger snabbare än BS1. BS1 låser upp väntar meddelande BS2. BS1 kan inte se BS2 meddelandet i fönstret 200 millisecond(ms) har att kontrollera om ett meddelande. Detta är exakt varför det finns så många flöde kontroll linjer kvar i en standard seriella anslutningar. Långsammare maskiner kan inte se snabbare ettor. Jag behövde flödeskontroll, men jag ville använda en annan port för det. Jag har en elektronisk bakgrund så jag tittade på Rx och Tx som portar inte bara som seriella anslutningar.

Steve's Flow Control använder Tx porten som flödesreglering. Du håller din Tx hamnar högt med ett motstånd på 47K till VDD och i din kod. Du övervaka din Rx port att upptäcka när någon lägre Tx hamnen. När du vill skicka ett meddelande som du tar din Tx hamn låg och sedan vänta tills mottagaren lägre Tx hamnen och du skicka ditt meddelande. Mottagaren ska bo i en snäv slinga väntar meddelandet. Efter meddelandet upp båda systemen deras Tx port hög och gå tillbaka till väntar.

För BS1 och långsammare system jag sänka min (Master) BS2 Tx port och paus ca 80 ms och sedan jag överföra mitt budskap. BS1 ser ut för en låg på sin Rx-port och pausar 1ms och sedan öppnar SerIn för meddelandet i två byte. Den första byten är adressen och den andra byten är lamporna. Om adressen inte är korrekt BS1 hoppar över meddelandet och går tillbaka till väntar. BS1 är för långsam för full handskakning. Det fungerar perfekt med rätt timing.

Jag kan bara skicka ett meddelande till BS1 i varje tio slingor av min BS2 kod. Jag kör EasyLights i min BS2 och skicka lampor byte till BS1 som bara har doLights och checkLights och meddelande slinga. Se mitt EasyLights artikel.

Jag kunde inte få BS1 att skicka en korrekt två byte meddelande. Den första byten är förvrängd och jag vet inte varför. BS1 kan inte använda min standard två byte messaging (adress, Data) så jag använder en separat seriell kanal för att hantera denna typ av slav. BS1 lägre dess Tx port och väntar tills Master sänka dess slav Tx port och sedan BS1 skickar en byte-meddelanden som innehåller knappen flaggorna till Master. De båda höja deras Tx portarna höga och gå tillbaka till väntar.

Arbeta med BS1 bestämde jag mig för att göra dem tillfrågade slavar. Jag helt enkelt hålla dem vid liv genom att ständigt skicka meddelanden. De gör allt deras arbete inne i deras meddelande loop. Det finns inget utrymme för mycket annat. De bara sitta där och vänta på ett meddelande så deras knappar och ljus är i praktiken döda. Polling dem håller sina knappar och ljus vid liv.

Som jag får saker gjorda kommer jag lägga upp en annan del till denna interaktiva artikel.

Planering är det första du måste göra för att skapa en interaktiv maskin. Jag skrev detta dokument först och använde den för att programmera min processorer. Eftersom vi behöver seriell kommunikation ser vi vad varje processor har för sin följetong funktioner SerIn och SerOut.
Arduino Uno Full följetong kval 9600
PicAxe 28 x 2-Full Serial kval 9600
BASIC Stamp 2(BS2) Full följetong kval 9600
BASIC Stamp 1(BS1) partiell följetong endast 2400 kval

Full följetong innebär in och ut standard följetong. Jag använder inte något komplicerat.

Kval kan adressering av processorer. Enheter som följetong e-proms ha fysiska adresser. Kvalet väntar på rätt nyckel innan du fortsätter med meddelandet och på vissa system kan detta ge upphov till ett fel som sparkar det av meddelandet. Kvalet kan du ha flera bakgrunder och hundratals slavar. På system som BS1 är för långsam för något annat än grundläggande två byte adress, datameddelande. Du kan fortfarande göra mycket med denna enkla form av meddelanden.

Baud Rate(9600) är hastigheten av flöde av data mellan enheterna. Processorer som den grundläggande stämpel 1 kan bara gå till 2400 så du måste använda det rusat med dem.

Den som sänder först är befälhavaren de andra är tar emot. En Master är bäst, men mer Masters är bättre. Kval och adresser kan du göra detta.

I mitt system är mitt Arduino Uno Master 1 min Picaxe 28 x 2 är Master 2. BS2s kan vara bra Masters för lampor och knappar, men de är Master/slavar här.

Jag har min Arduino Uno anslutna via programmering kabeln till min PC. Jag använder debug terminal att övervaka och styra andra processorer genom bara Rx och Tx och marken. Ett mycket enkelt sätt att skapa en interaktiv maskin.

Denna artikel växande.

Adressen är en number(qualifier) som du ställer in för varje processor och enhet du har. Min adress är en byte formaterat som denna typ Bits (7-6), antal Bits (5-0). Kval och adressen är den första byten du skickar till en annan processor eller enhet att öppna ett meddelande med den. Alla meddelanden säga helt efter sista byte skickas. För att skicka flera byte till en mottagare skicka du det ett kommando som berättar det att fler byte kommer. Grundläggande frimärken är från Parallax.com.

Typ Master(128), Master/Slave(64), Device(192), Slave(0)
Nummer 0 – 63 bitar 5-0
Arduino Uno 128 Master(128) + 0 Makezine.com/Store
PicAxe 28 x 2 65 Master/Slave(64) + 1 LetsMakeRobots.com
BS2 PJ1 66 Master/Slave(64) + 2 grundläggande stämpel 2 projektstyrelsen
BS2 SC1 67 Master/Slave(64) + 3 Basic stämpel 2 Super bärare
BS1 PJ1 4 Slave(0) + 4 Basic stämpel 1 projektstyrelsen
BS1 5 Slave(0) + 5 Basic Stamp 1

Anslutningar är TX(transmit data), RX(receive data) och marken. Om du driva din slav från din processor än du behöver makt också. De flesta seriella anslutningar behöver också dra upp motstånd på TX och RX på minst 20K. Vanligtvis dess 40K. Se din manual för din processor. Alla min styrelser är 5 volt. I mitt system använda Master/slavar som BS2 en annan seriekanal för att köra BS1 slavar. Detta håller den huvudsakliga seriekanal ren.

Kablarna måste vara tvinnade om två vändningar per tum. Om du går mer än cirka tio fötter sedan använda skärmade Partvinnade kablar. Undvika kraft/förlängningssladdar, transformatorer, motorer och andra elektriska saker. Data är asynkron dvs den har en intern klocka och det gör det mer känsliga för buller av något slag. Att ha ett bra nätaggregat och massor av stora kondensatorer hjälper mycket.

RX(SerIn) och Tx(SerOut) är de portar som du väljer på din processor styrelser:
Master flöde slav * PC min kabel
RX <<< Tx 22k resistor TD svart
TX >>> Rx 22k resistor RD vit
Marken G G grön
Power V + X Brown

Jag hålla de flesta av mina kablar rak Tx---Tx enligt min herre. Detta håller förvirring ur brödunderläggen och processor styrelser. För anslutningar till datorer och saker du ansluter Rx och Tx till den rätta stift och tråd att de tillhör för det systemet.

* PC seriell använder inverterad protokoll i de flesta fall.
Starta och stoppa bitars se deras bitposition i följetong strömmen som meddelandeflaggor och kontroll.

En nyckel till en maskin är en status byte eller ord som får alla pratar på samma sida. Jag använder en byte. Status kan vara den första byten skickas efter adressen. Status kan också vara grundläggande kommandon till andra processor eller enheten. Detta gör standard två byte meddelanden enkelt.

Status på skickat tillbaka
Bit0 OK upptagen D1
Bit1 meddelande gjort D2
Bit2 väntar kör D3
Bit3 läge vistelse D4
Bit4 Data ingen D5
Bit5 Reset D6
Bit6 Cmd1 mer
Bit7 Cmd2 gjort

Organisation är det första steget till en fungerande maskin. Arbeta med bitar är vilka processorer gör hela tiden. Vi behöver hjälp med bitar. Du använder de logiska operatorerna och, eller och Skift att arbeta med bitar. Något över 63 är en mästare. Först spara byten sedan skifta det rätt 6 bitar för typen. Spara adress efter adress = Anding det med % 00111111.
Typ = adress >> 6 adress = adress och % 00111111

Lägga allt detta in konstanter i början av varje program. Hålla allt uppdateras och du kommer att få en fungerande maskin. Dålig Serial programming visar du ingenting. Märk allt så att du vet vad den gör.

Relaterade Ämnen

Interaktiva veckokalender

HälsningarKonsten att tid förvaltning är ge entusiasm att göra vår levande mer meningsfullaBörja med enkel sak, vi vet vad vi ska göra i morgon och vad vi har gjort idag se det om vårt uppdrag idag, om inte gjort ännu så vi behöver klibbiga planen at...

85 tum bak projektion Wiimote IWB (interaktiva White Board)

detta Instructable visar hur du ställer in en Wiimote interaktiv Whiteboard med Johnny Lee teknik. Det finns andra Instructables tillägnad ställer in och använder Wiimoteboard, så jag inte kommer att täcka de grundläggande inrätta steg.Jag ursprungli...

Elektrisk cykel till elgenerator - enkel DIY mobila interaktiva vetenskapsmuseet

jag hör och jag glömmer. Jag ser och jag minns. Jag gör och jag förstår.Tillskriva Konfucius (~ 500 f.Kr.). Fortfarande är sant 2500 år senare.När jag var 7-8 år gammal på en eländig kall grå dag i februari mina föräldrar släppte min bror och systrar...

Interaktiva Instagram kostym

Halloween. Min favorit "holiday" år. ingen resa över hela landet på en av de värsta resa dagarna av året, inte oroa dig för vilken gåva att få för som, inte oroa dig för att vara "den killen/tjejen" utan ett datum (för oss enda folk dä...

HUR du VÄGGFÄSTE TV på en interaktiv TV MOUNT

Vissa saker verkar mycket komplicerat på grund av hur vi ser på dem. Vi har träffat många människor som älskar att se deras vackra TV på väggen vid den perfekta vinkeln men är rädd för montering av deras TV med hjälp av en interaktiv TV Väggfäste. De...

Interaktiv Multitouch skärm

mellan Apple iPhone och Microsofts interaktiv tabell, multi-touch visar är i ropet. Detta instructable visar dig hur du sätter din LCD-projektor till en interaktiv multi-touch display tabell med några billiga komponenter lätt tillgängliga från järnaf...

Interaktiva ledde bordlägger

här är en guidad instructable om hur man gör egna interaktiva LED tabell med hjälp av en av Kit från Evil Mad Sciencitst.Här är en video av min finalbordet i aktion i mörkret, och en bild av hur det ser ut:Steg 1: Välj din storlek och skapa en Ond ga...

Interaktiva spinner soffa

Katt formade jätte soffor har gjorts tidigare. Klappa en katt kan vara terapeutiskt och strök flurry tigrar är kända för att vara avkopplande. I det här projektet visar vi en soffa som spinner när det är linjerade med målet att utforska nya begrepp i...

4 ramar interaktiva visitkort Maker

jag skapade denna kreativa interaktiva visitkort för att få några ord ut mig och några saker jag gör. Jag tänkte jag vara snäll och lägga filen jag brukade göra det på nätet (du skulle aldrig gissa att det gjordes med hjälp av excel).Du behöver en tr...

Dalek interaktiva väggbonad med Chibitronics

Detta är en instructable för Wholigans (fans av brittiska sci-fi showen, Dr som) som vill piffa upp sitt inre med en smart och lustiga väggbonad. Listan över material är mycket enkel och tillgänglig. De är som följer...Skrivare (färgad föredras)Dator...

Interaktiv Beer Pong (Beirut) tabell

har du någonsin spelat befunnit dig i en lång, tråkig omgång öl Pong som önskar det fanns lite mer spänning i spelet? Jag vet att jag har så jag bestämde mig att försöka göra pong spel lite mer spännande i vårt hus genom att göra denna interaktiva öl...

3D interaktiv akvarium bakgrund

I detta instructable, jag kommer att visa dig hur man gör en 3D interaktiva bakgrund som har grottor, och en undervattens sand falla. Det är ganska lätt att göra, och är mycket billig. Det tar tid, men slutprodukten ser fantastisk och din familj och...

Avancerad lins Diffusion Canon 7D Video läge interaktiv handledning

tredje segmentet i nya interaktiva canon 7d / 5d video tutorial-serien som går över objektiv diffusion frågor för fotografering video på canon-kameror. Ingår saranwrap, takbergarter filter och anamorfisk linser....

Härlig interaktiv barn sked

BegreppetUtfodringen småbarn är ett problem för föräldrarna eftersom småbarn tenderar att förlora sitt intresse lätt. Därför de vägrar äta sin mat och få lockas av andra saker som omger dem.Härlig Spoon är en interaktiv barn sked som syftar till att...

Interaktiva Arduino Powered LED skidor

Trött på det tråkiga svart i Kvällsskidåkning? Frukta inte! Arduino programmerbara interaktiva LED skidor kommer att lysa upp din kväll.Dessa hem byggt skidor har lysdioder inbäddade under p-tex och underlakan. Arduino och accelerometer styr lamporna...

Skapa en recoiling kanon för en interaktiv Halloween display

varje år, vi prova på något nytt för Halloween. Dessa skärmar är grund-up bygger varje år och uppfyller detta villkor: kul, spännande, interaktiva för barnen, innefattar gameplay och erbjuda en möjlighet för mig att få electricuted. Kolla in vår uppv...

Arduino Lilypad interaktiva Passion Sensing halsduk

detta var första gången jag arbetar med en Arduino Lilypad. Jag har velat prova något som behandlats med mjuk kretsar under ett tag nu. Detta är vad jag kom med. Konceptet är baserat utanför min vän Ethan Dicks från theFusefactory.orgemergent får sku...

Flip Dot, en interaktiv kinetic wearable.

Mode är något mycket personlig och intim. Du kan inte alltid vara medveten om det men din kropp är beröring kläder eller textilier nästan hela tiden. Detta gör det den perfekta plattformen att integrera teknik, inte bara i form av funktionalitet men...

Bädda in interaktiva diagram på Bloggar och webbplatser

Detta Instructable visar du hur skapa och publicera vackra och gratis interaktiva diagram i din webbplats eller blogg.Det här exemplet vi ska införa plotly, ett gratis moln-baserade verktyg kan lätt göra många olika typer av vackra grafer. Plotly jav...

Interaktiva Halloween pumpa (Arduino baserat)

IDÉNEn pumpa som glöder, skakar och skriker... [video]Det är Halloween, så naturligt att vi var tvungna att ha ett projekt som.Tanken är att ha en pumpa, som känner av närvaron av en person som försöker komma till godis, och sedan använder olika "skr...