Gör: it Robotics startkit - skicka Sensor Data trådlöst



Detta Instructable vi ska ta vad vi lärt oss i "Make: it Robotics Starter Kit – trådlös anslutning" och "Make: it Robotics Starter Kit – fånga sensordata" och kombinera dessa uppgifter för att fånga sensordata i realtid och skicka dessa data till ett program som körs på vår dator trådlöst.

Så om du inte har din robot som konfigurerats för att använda sändare och mottagare, ta en titt på blogginlägg "Make: it Robotics Starter Kit – fånga sensordata" och konfigurera din robot och FTDI kabel.

För att skicka sensordata till vår dator har vi igen att göra några små förändringar till vår lineFollow.ino Arduino program:

Kommentera ut följande rad, som vi inte längre behöver våra variabel.

int counter;

Kommentera ut variabelinitieringen counter variabel:

räknare = 0;

I funktionen loop() i programmet kommentaren ut följande rader:

mySerial.println (counter, DEC);

räknaren ++;

Tillägga den följande lina till funktionen loop():

mySerial.println (insats 1, HEX);

om (insats 1! = åtgärd2)

{

om (insats 1 == 3)

line_following.go_forward(50);

om (insats 1 == 1)

line_following.line_following_turn_left(50);

om (insats 1 == 2)

line_following.line_following_turn_right(50);

om (insats 1 == 0)

line_following.go_forward(50);

}

åtgärd2 = Åtgärd1;

}

När vi kör roboten våra sensordata kommer att skicka trådlöst till vår dator, men vi vill inte bara fånga seriella data med seriell bildskärmen med resultaten som visas som hexadecimala tal.

Vi vill visa i realtid faktiska anvisningarna roboten ges utifrån sensordata. Vi kan inte använda följetong bildskärmen för att göra detta.

Vi måste skriva ett program som har liknande logik som våra lineFollow.ino program. Så vi kommer att utveckla ett Python program som läser in serieporten data och skriva ut instruktionerna att roboten ges på ren svenska.

Bifogat är Python programmet, kommer vi att analysera programmet i lite. Om du inte gjort det, se tidigare blogginlägg "Make: it Robotics startkit-binära del 1″ och titta på Video på hur till setup Python på datorn.

importera följetong

Importera tid

Import-programsatser ge bibliotekets funktioner som vår Python program behöver för att kommunicera till den seriella porten.

def main ():

Uttrycket definierar en funktion som kallas main)

ser = följetong. Serial ("COM3", 1200, timeout = 0)

Detta uttalande skapar en seriell objekt och berättar objektet vilken serieport att lyssna på, vilken överföringshastighet som du använder och timeout = 0 används för att läsa data när den är tillgänglig utan att vänta.

medan 1:

Den medan 1: uttalande används för att starta en loop som upprepas och slutar inte som villkor för 1 är alltid sant.

värde = ser.read(1)

Här läser vi en byte av data från seriella porten och lagra detta värde till variabeln värdet.

om värde > = "0" och värdet < = "3":

Om innehållet i variabeln värdet är mellan 0 och 3 köra innehållet i if uttalande

om värdet == '0' eller värde == '3'

skriva ut "Gå fram"

Om variabeln värdet är köra antingen 1 eller 3 sedan print "gå framåt" meddelandet.

om värdet == '1':

skriva ut "Sväng vänster"

Om variabeln värdet är 1 och skriv sedan ut meddelandet "Sväng vänster"

om värdet == '2':

skriva ut "Sväng höger"

Om variabeln värdet är 2 sedan skriva ut meddelandet "Sväng höger"

om __name__ == "__main__": main)

Om detta program utföra som körs och inte en biblioteksfil då huvudfunktionen.

Kom ihåg Python är ett indrag känsliga känsliga språk. Om din indrag inte stämmer ditt program kommer att generera syntaxfel när du försöker utföra den. Räkna spaces indrag när coping koden i din texteditor.
Kom ihåg när du ansluter USB-kabeln in till programmet Arduino måste du se till att den seriella porten är korrekt för den seriella portinställningar i Arduino IDE.

Se blogginlägget "Make: it Robotics Starter Kit - fånga Sensor Data" för information om hur du avgöra rätt seriell Port och hur man ställer in Arduino IDE.

Om du använder en annan USB-Port för din FTDI USB kabel, blir din Serial Port annorlunda också.

Placera din readSerial.py program i en mapp på din dator och starta kommandotolken och ändra katalog till samma mapp i readSerial.py programmet.

Kör kommando från Kommandotolken:

Python runSerial.py

Om du stöter på fel, kontrollera att din runSerial.py program är inställd på rätt seriell port.

Kontrollera att du har din förare ombord och FTDI kabel wired korrekt.

Om du får konstiga tecken som skrivs ut till din befalla snabb, kontrollera att din baudfrekvens är densamma i den Arduino lineFollow.ino och readSerial.py programmen.

Om du gjorde allt korrekt, när din robot är efter den svarta linjen din Python programmet bör produktionen något visas i bilden ovan.

Relaterade Ämnen

Gör: it Robotics startkit-förare ombord förtrogenhet

I detta blogginlägg kommer vi ta en titt på den förare ombord som medföljer startpaketet gör: it Robotics. Det finns ingen dokumentation som kommer med Start kit om förare ombord än schematiskt.Om du inte har några erfarenheter läsa scheman i uppgift...

Gör: it Robotics startkit-trådlös Connectivity

I denna blogg inlägget vi ska ta den information som vi lärt oss i tidigare blogginlägg med titeln "Make: it Robotics startkit-programvara del 2″ och fånga realtid sensordata och skicka data trådlöst till vår dator.För att slutföra detta avsnitt behö...

Intellekten Edison: Ambient Sensor (data till molnet)

Jag var en av de stolta vinnarna att få i Intel IoT development kit. Detta kit ingår en Intel Edison och en Grove Starter Kit Plus.I detta instructables, kommer jag bygga en enkel ambient sensor som kommer att ladda upp data till molnet. Den omgivand...

Gör: it Robotics Starter Kit fånga Sensor Data

Senaste Instructable vi diskuterade lite om vad linefollow.ino programmet gör. Presenterade jag ett Python-skript som gör det möjligt att analysera den bitvisa om uttalanden att se hur värdet som returnerar metoden read_Optical() konverteras till vär...

Gör: it Robotics startkit - analysera LineFollowing.ino del 2

I senaste Instructable började vi analysera de bitvisa operationerna i lineFollow.ino skissen. Vi såg hur sensormätningar tolkas för att göra roboten gå framåt.I denna tutorial vi kommer att fortsätta vår analys ser hur lineFollow.ino programmet tolk...

Sensor Data övervakning med Edison (Intel IoT)

Detta instructable är för integrering av grove sensorer och ställdon med Intel Edison av NodeJS och övervaka data från sensorer som luftkvalitet, ljud, temperatur, ljus, beröring och LED, Buzzers.Detta kräver nod moduler:mraa: GPIO,ögonblick-timezone...

Gör: it Robotics startkit - förståelse bitvis Math

Detta blogginlägg är en fortsättning på min knorra med Make: it Robotics Kit. Förhoppningsvis kan jag förmedla den del av den information som jag har lärt mig så det kommer att göra det lättare för andra att komma igång på att arbeta med robotteknik...

DEL 1 - skicka Arduino data på webben (PHP / MySQL / D3.js)

Syftet med detta projekt var att använda och Arduino att läsa en sensor och skicka värden till internet, kan lagras i en webbserver och visas.Det består i en Arduino Uno med en Ethernet-Shield och en DHT 11 temperatur / fukt sensor, agerar som en web...

Hur till ta emot Arduino Sensor-Data på din Android-Smartphone

I standard är Arduino inte utrustad med en display att visualisera mätning-data, till exempel från din temperatur eller ditt tryck Sensor. Om du vill få de data som visas när du behöver en dator, skriva ut uppgifter till konsolen eller montering en d...

Gör: it Robotics startkit - analysera LineFollowing.ino Del1

I vår senaste blogginlägg fångade vi några sensordata från tre olika positioner vår robot kan stöta på när du följer den svarta linjen, (vänster sensor svart, vänster sensor/höger sensor vita, rätt sensor svart).I denna blogginlägget vi kommer att ta...

LÄTT Arduino OLED display med sensor data

Om du har någonsin arbetat med Arduino, har du förmodligen ville ha den att Visa sensormätningar.När du använder den gamla clasic Nokia 5110 LCD, kanske du har märkt att ansluta alla dessa sladdar är kladdigt och tar upp alltför många stift.Naturligt...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

AirStamp - interaktiv stämpling

Fysiska stämpling är kul. I detta projekt vill vi slå fysiska stämpling till digital display och tillåter manipulering av befinner sig display att göra stämplingen erfarenhet olika och ännu mer cool sådan som kontrollerar textstorleken med handrörels...

IoT Workshop: Lab 4 - skicka Data till molnet

I den här övningen kommer du bygga en enkel omgivande ljus upptäckt app (liknar Lab 2) och skicka data som samlas till molnet. Du kommer att använda kväve för att skicka data till en cloud gateway och du kommer att kunna kontrollera den messaging fun...

Ta emot och skicka data mellan Attiny85 (Arduino IDE 1.06) uppdaterad Nov 2015

Jag har kämpat mycket med att skicka RF data mellan två Attiny85 chips, så jag tänkte att det kan vara bra om jag bara förklara hur jag gjorde det. Det finns ett antal sådana projekt som beskrivs på internet, men ändå är det Visa inte sig vara ett så...

SensoDuino: Förvandla din Android till ett trådlösa sensorer nav för Arduino

Uppdateringar23 nov 2013: SensoDuino 0.160 får ett ansikte kvar.19 nov. 2031: yttrande: fantastiska synergin mellan Arduino & Android.19 nov 2013: SensoDuino 0.159 är ute. Sensorer som stöder Android telefon datum (y, m, d) och tid (h, m, s). Stöd fö...

Hur man bygger din egna DARPA Robotics Challenge Final Robot. Verkligen!

eller hur man inte ska vinna 2.000.000 och ha roligt gör det.IntroduktionDetta är först i en serie av instructables som är avsedd att vara fullständig dokumentation av hur vi byggt vår 2013/2015 DARPA Robotics utmaning Robot (heter Buddy i 2013 DARPA...

Arduino tid-och-Sensor-baserade Android musikspelare

Tänk dig din musikspelare som spelar för dig, en spelare den meningen det omgivande ljuset, temperatur och tid som påverkar stämningen i en person, och välja en låt kategorisera som stämningar. Eftersom jag inte har en sensor som kan översätta mänskl...

Geo Data Logger: Arduino + GPS + SD + Accelerometer att logga, tidsstämpel och geo-tag sensordata

uppdateringar17 okt 2013: Jag har publicerat en guide om hur du använder din Android-telefon kan utföra en liknande uppgift genom att utnyttja din Android enheten är inbyggd GPS och sensorer.6 feb 2013: Med på GeoAwesomeness http://geoawesomeness.com...