Ryerson MEC830 Mechbot Custom seriell kommunikation (3 / 4 steg)

Steg 3: Algoritm för mottagande och överföring av data

För att överföra data, jag har skrivit två funktioner för att utföra denna process, de är: send_data(int num) och completion_Scan().

Jag har tilldelat variabler med koden för tabellen för de 2 första scenarierna kallas höger och vänster. Det här exemplet kommer vi bara fokuserar på kommunikation att bollen är på vänster eller höger sida. När platsen för bollen bestäms skickas värdet till funktionen send_data där heltalet delas upp i en matris och värden pulsad high(1) eller low(0). När alla värden är pulsade, funktionen completion_Scan() kallas och endast avslutas vid slutförande är en signal från ursprungliga Arduino som fick meddelandet.

pseudo kod:

int höger = 10100;
int vänster = 10010;

om (bollen är på vänster sida) {
send_data(Right);
completion_Scan();
}
om (bollen är på höger sida) {
send_data(Left);
completion_Scan();
}

När send_Data anropas, hackad heltalet passerade i en 5 bitmatris med hjälp av följande algoritm:

int send_data (int num) {
data [4] = num % 10.
data [3] = (num % 100 - data [4]) / 10;
data [2] = (num % 1000 - data [3] - data [4]) / 100;
data [1] = (num % 10000 - data [2] - data [3] - data [4]) / 1000;
data [0] = (num % 100000 - data [1] - data [2] - data [3] - data [4]) / 10000;

Med hjälp av den modulo funktion, jag har skapat en algoritm för att lagra de enskilda bitarna i en unik array position kallas data. Till exempel om 10100 skickas till send_data, lagrar sedan data [4] resten av 10100 divideras med 10.

data [4] = (10100 mod 10) = 0;

data [3] = ((10100 mod 100) - 0) / 10 = 0

data [2] = 1

data [1] = 0

data [0] = 1

Arrayen hela data behandlas genom ett "för" uttalande och när värdet 1 upptäcks, en hög signal är pulsade genom kabeln för 200ms. Omvänt, när värdet 0 upptäcks, en låg signal är pulsade genom kabeln för samma tid.

för (y = 0; y < 5; y ++) {
Skicka hög eller låg
om (data[y]==1) {
Aktivera PC5 hög
}
annat {
Aktivera PC5 låg
}
Delay(200);
}

För att ta emot data, väntar mottagande Arduino alltid en initial hög signal. Omedelbart efter det upptäcks, lagras meddelandet som skickas till en matris på ett liknande sätt. Den sista koden mottagen jämförs för att fastställa den önskad effekt.

Jag har tagit den fullständiga koden för både Mechbot och EVShield. Den enda skillnaden är att jag har tagit Serial.prints för felsökning, tryck-knappar för att skicka eller avsluta kommunikation, och blinkar en LED under överföringen. Obs: du kan ladda ner båda filerna eller högerklicka och välj "öppna i ny flik" att visa koden.

Se Steg
Relaterade Ämnen

Arduino Android USB-seriell kommunikation med OTG kabel

Jag har gjort en Arduino baserade natten lampa med hjälp av foto motstånd och problem med det är ljusnivåer var olika från plats till plats, när jag testar jag har använt ett värde som en tröskel för att slå på ljuset och efter att fastställa det i d...

Seriell kommunikation - Arduino och Linkit en

I detta instructable kommer jag visa dig hur du upprätta seriell kommunikation mellan arduino och Linkit en. Detta skulle hjälpa dig att göra ett mer komplexa projekt med dessa två styrelser.Steg 1: komponenterHär är en lista över alla de komponenter...

Färg sensorer och Arduino seriell kommunikation för nybörjare

Hej alla, jag ska prata om färg sensorer: hur man bygger och kalibrera en och hur man använder det med seriell kommunikation genom en Arduino ombord.Det sista steget förklarar hur jag använde detta projekt för en Gimp (står för "GNU Image Manipulatio...

NUC140 Seriell kommunikation

I detta projekt, kommer vi att göra en kommunikation mellan Arduino och Nuvoton NUC140 som överföra viktig information genom att skicka en databit i taget.Seriell kommunikation är avgörande för varje mikro-kontrollanter att kommunicera mellan mikro-d...

MSP430 Seriell kommunikation med ENERGIA och bearbetning

Hej alla. Jag är vigneshraja. här jag gjort den varierande färg beroende på analoga värdet läsa från 10 k potentiometer med hjälp av MSP430G2231. Jag använder Energia programvara för seriell kommunikationsprogram. för varierande färg på fönster använ...

Flytta en Motor med hjälp av Arduino och seriell kommunikation

har du någonsin undrat hur robotar flytta? Har du någonsin velat skriva ett program för att kontrollera en robot? I så fall kommer att denna handledning vara en utmärkt start plats att lära sig elektroniska kontroller med Arduino Microcontroller. Du...

Partikel fotonen och Linkit en seriell kommunikation

Linkit en är en stor styrelse och den bästa delen av det är det är bärbara och varelse transportabel är det, bra att designa bärbara enheter med hjälp av mikro-controller. En annan cool mikrokontroller som jag arbetar med är partikel fotonen, detta l...

Pyduino, gränssnitt Arduino med Python via seriell kommunikation

Lär dig hur gränssnittet arduino via seriell kommunikation med python med hjälp av pyduino biblioteket. Det finns några andra tutorials ute på instructables om hur gränssnittet arduino med python men de Visa inte dig hur man gör allt, där förhoppning...

Seriell kommunikation mellan android och arduino via telnet

KRÄVSPython 2.7 programvara med pyserial paketetAndroid mobil telnetprogramArduino programvaraSteg 1: IntroduktionHär, i detta instructable jag beskrev om seriell kommunikation mellan android-telefon och arduino via telnet. För att testa detta, jag a...

Raspberry PI USB vs seriell kommunikation med gsm sköld (itbrainpower.net a-gsm sköld)

Om hur manHur man refererar till den itbrainpower.net a-gsm sköld, har följande huvudfunktioner:Hela världen kompatibilitet - quad band modulGSM / GPRS / SMS / DTMF stödsTvå SIM uttag (enda SIM aktiv)Combo integrerad GSM-antenn och uFL anslutning för...

Raspberry Pi - Arduino seriell kommunikation

I detta projekt, kommer vi att göra en kommunikation mellan Arduino och Raspberry Pi som överföra viktig information genom att skicka en databit i taget.Seriell kommunikation är avgörande för varje mikro-kontrollanter att kommunicera mellan mikro-dom...

Seriell kommunikation mellan android och arduino via laptop bluetooth

Om:Detta instructable handlar om seriell kommunikation mellan android och arduino genom laptop inbyggd Bluetooth. Jag har inte separata Bluetooth-modul. så jag har beslutat att använda min bärbara dator inbyggd Bluetooth för seriell kommunikation.Ste...

Seriell kommunikation med Arduino

Källa: http://www.theorycircuit.com/serial-communication-with-arduino/Detta projekt visar här hur man kommunicerar med arduino seriell terminal? En ansökan har vi valt fyra lysdioder för att ange riktning.I ett bröd ombord är fyra lysdioder placerade...

Seriell kommunikation mellan Arduino, HTML & Chrome

Arbeta med Arduino är lätt, men att skapa projekt som innebär att programvaran kräver mer kunskaper i programmering. Till skillnad från andra lösningar är mitt projekt sätt att skapa HTML offline app - utan saker som Yun, Ethernet shield eller Node.j...

Arduino och Matlab: Låt dem prata med seriell kommunikation!

Hej alla!sedan när jag har börjat leka med Arduino, har jag alltid vandrat hur jag kunde göra det tala och interagera med Matlab miljön på ett enkelt och effektivt sätt. Jag stötte på många Instructables och tutorials med Arduino bibliotek och Matlab...

Arduino att bearbetning: seriell kommunikation utan Firmata

detta Instructable är avsedd för alla skicka direkt indatavärdena läser av Arduino behandling. Det används bäst för att skicka en till flera värden, till exempel några knappar, en styrspak eller accelerometer. För massa I/O kontroll i behandlingen är...

Tråd mindre seriell kommunikation

Detta projekt är för ett kommunikationsprotokoll. ITCJ.Steg 1: BeskrivningDetta projekt innehåller information om hur du utför en seriell kommunikation mellan två mikrokontrollanter med hjälp av en infraröd sensor, trådlös kommunikation.Steg 2: Serie...

Arduino trådlös seriell kommunikation

det finns många sätt att kommunicera med fjärransluten Arduinos. Jag har funnit att många av dem träffar en något högre prisläge än vad jag skulle vilja. Ethernet-sköldar (och wifi dito?) konsumerar också, många värdefulla hårdvara stift. Jag ska bes...

ATtiny85 & ATtiny84 Analog stift, seriell kommunikation, etc.

jag gillar att använda en ATtiny84 eller ATtiny85 på mina projekt. De kan spara några slantar och göra designen lite mindre. Den bästa instruktionen för hur du konfigurerar dessa marker för att användas med Arduino IDE är på MIT, hög låg Tech, hemsid...