Bygga en Arduino baserade termisk scanner (4 / 6 steg)

Steg 4: Programvara - Arduino portion

Okej! Nu när du är klar med hårdvara, låt oss gå vidare till programvaran.

Arduinoen används som ett gränssnitt i detta projekt. Det gör servon och IR-sensorn lätt kommunicera med datorn med enkla kommandon.

Detta är en "enkel" operation, finns det några kritiska områden som behöver åtgärdas. En av de frågor som jag stötte på en hel var kommunikation synkroniseras. I grund och botten när mikroprocessorn var redo att läsa kommandot, har datorn inte slutförts skickar den. En enkel lösning på detta är att tilldela en "kommando redo" karaktär. Jag valde ett semikolon som min terminator.
Se till att kommandona som finns i en seriell aspekt som kommer att stoppa datorn från att försöka läsa en temperatur medan IR-sensorn var i rörelse, behöver jag ett svar metod. En lösning att, gemensamma för kommunikation, kallas ack, eller bekräftelse. Låt oss säga att vi kör "p120;" (panorera till 120deg), vi vill att datorn ska vänta på att mikroprocessorn säga "AP120;" (ack pan 120). När ACK tas emot kan programmet fortsätta att hämta en temperatur eller nästa uppsättning kommandon.

En annan komplicerad del läser IR-data från den seriella porten på sensorn. Vi måste göra något som kallas "lite-bang" för att läsa data. Detta innebär att inrätta ett avbrott i utkanten klocka fallande för att läsa lite på data linjen. Varje "burst" som kommer i innehåller ett huvud och vissa data som behöver avkodas.
Läsa PDF-filen för ZyTemp-modulen (http://www.metrisinst.com/item_management/assets/files/TN9_UserManual_009.pdf ) på sidan kan 13 du se datamängd för varje utbrott av data. Istället för att spendera lite tid på detta, beslutat jag att göra en snabb sökning och hittade någon annan redan skrev detta för arduino (de gjorde en exakt kokplatta temperatur styrenhet). Källan dokumenteras i koden för referens och kredit för idéerna.

Allt i all Arduino kod, när sammanställt, tar 7982 byte av utrymme.

Kommandon att veta (alla kommandon måste avslutas med en ';':
p < n >; #pan till < n > deg
t < n >; #tilt till < n > deg
r; #read IR sensor objekt
a; #read IR sensor omgivande temp

använda dessa för att justera skyddszoner (inte tillåter ett pan/tilt kommando att arbeta om out of bounds - några servon kommer att tugga dem selfs upp om de försöker gå längre än max)
u < n >; #set övre servo gränsen (skydd) standard är 145 deg
l < n >; # Ställ in lägre servo gränsen (skydd) standard är 35 grader

Se Steg
Relaterade Ämnen

Mobile Robotics med repa: bygga en Arduino-baserad insekt-liknande Walker och programmera den med Scratch

Låt oss springa runt? Detta är en Arduino-baserad, lätt att bygga version av insekt-liknande walker med klädhängare tråd och ursprungligen skapades av Jerome Demers (se också detta instructable) och Gareth Branwyn. Det finns i två versioner:en fristå...

Bygga en Arduino Powered termisk Sensor!

Detta är det avslutande projektet av vad kommer vi att bygga idag! Att ge dig en snabb genomgång av vad vi gör. Vi bygger ett system som låter dig se exakt temperatur allt var 5 millisekunder!Steg 1: Steg ett: samla ditt material! För detta projekt b...

Låg höjd miljöövervakning med en Arduino baserade väder Instrument och Aeropod Remote Sensing plattform

ProjektöversiktStudenter på New Lothrop High School i Michigan har arbetat tillsammans för att bygga en plattform för remote sensing låg höjd som kallas en "Aeropod" och rummen har det med ett "Arduino" baserade väder instrument att sa...

Hur man bygger en Arduino Uno på en skärbräda

Om du är som och mig och njuta av elektroniska byggprojekten då du kanske har arbetat med Arduino Uno. Arduino uno är den mest populära micro controller i serien och har en stor samling bibliotek vilket göra att arbeta med det mycket lätt. Så det sku...

Att införa Climaduino - Arduino-baserad termostaten du styr från din telefon!

Uppdatering:Det finns en ny version av Climaduino och Climaduino Controller med några mycket väsentliga ändringar.Stöder flera zonerAnvänder Arduino YúnFungerar med Central luftkonditioneringKommunicerar med MQTT protokoll (kan integrera med andra sy...

Arduino-baserad Bi-color LED Matrix Flappy fågeln spel

Vi har byggt en hel del projekt med Bi-färg (rött och grönt) LED Matrix drivrutinsmodulen Kit från jolliFactory och har publicerat dem som instructables här. Var och en av dessa moduler använder två MAX7219 Display Driver ICs för att driva en Bi-colo...

Montering en Arduino baserade rök / värme larm

Som ni kan se från denna bloggpost jag utvecklat grunderna för det här projektet för två år sedan som ett larm / avstängning switch för RepRap 3D skrivare kit som jag bara hade samlat ihop... och som hade rökt!Första projektetSedan dess har jag haft...

Arduino-baserad robot med IR radar

robot prototypen i detta Instructable är min andra Arduino-baserad "slumbot" som är en autonom robot. Den är kopplad med husgeråd och skrotar. Roboten ser"" med en IR-scanning sensor roteras ett servo. Det ser vänster, framåt, och rätt...

DIY Arduino baserad MIDI fot Controller

Jag har velat prova en gitarr looper ett tag, men jag gillar inte idén att använda pengar på en looper specifika pedal när jag kan använda en dator för det och eftersom jag har fått lära arduino för kul var mycket meningsfullt att göra en en arduino...

Arduino-baserad byta spänningsregulatorer

DC till DC omvandlare används effektivt konvertera DC-spänningar. De har en verkningsgrad på upp till 95% vilket gör dem användbara för LED strips, CYKELLYSEN, batteriladdare och solar powered enheter. En spänningsomvandlare kräver en PWM källa som e...

BaW-Bot del 1: Bygga en Arduino på ett bräde

Detta är den första delen av våra BaW-Bot (klockor och visselpipor Bot) bygga-5 separata instructables som undersöka olika Arduino-relaterade tekniker, kombinera för att skapa en Bot med alla klockor-och-visselpipor.Del 1: Bygga en Arduino på ett brä...

Spåra din bil med en Arduino-baserad Lojack

Bilstölder är en verklig dra! Öka dina chanser att få tillbaka din bil genom att installera denna enkla Arduino-baserad tracker i bilen.Detta projekt är ganska enkel, och skulle vara ett bra projekt för nya Arduino programmerare letar efter något lit...

Arduino-baserad skugga larm

Shadow larm används vanligen för skydd mot stöld. En skugga larm är en enhet som avger ett larm när en skugga faller på den. Beskrivs här är en enkel krets larm arduino baserade skugga. Denna kompakta skugga larm enhet kan avkänning en rörlig skugga...

Bygga en Arduino

I detta instructable jag ska visa dig hur man bygger en Arduino använder en atmeg328 IC, jag vet att detta låter komplicerat men är ganska lätt att göra. Detta projekt är om du behöver en arduino i projektet men du inte vill använda arduino UNO eller...

Daves dans i en en Arduino baserade Motion känsliga ljus kostym

En Arduino baserad motion känsliga ljus kostymDet kan också Visa mönster och sådant även om det bara rörelse sensing i vid. Det använder en ADXL335 accelerometer känna bärare rörelse. Min vän Dave vänligt uttryckte det är dock steg med hans nya dans...

Arduino baserade Robotic Car(wireless controls+Autonomous)

Detta instructable handlar om en Arduino baserad robot bil som använder Arduino, Arduino programmeringsspråk, motor driver, en LCD-skärm visar aktuell status för bilen och även en Bluetooth-modul för trådlös kommunikation från en smartphone eller en...

Bygga en Arduino Shield för nRF24L01 + sändtagaren

NRF24L01 + sändtagaren är ett utmärkt låg kostnad sätt att lägga till trådlösa funktioner för alla projekt. Men den negativa sidan av den nRF24L01 + är det kan vara jobbigt att prototypen med. I detta instructable vi titta på hur man bygger en Arduin...

Sondering och fräsning ett kretskort med en Arduino-baserad CNC

Fram till nyligen PCB sondering genom att använda en Arduino var baserad CNC-maskin en ren dröm. Tack till folket på Chilipeppr.com vi har nu baserad ett webbaserat verktyg bänk för alla våra Arduino CNC produkter. Den bästa delen; Det är gratis och...

Arduino baserade Encrypter

vi alla vill göra detta cool Arduino projekt, som inte egentligen om flyttalsrenderingsmål, utan mer om programvaran. Väl är här en - Arduino baserad kryptering över Serial Monitor. Det var verkligen roligt att utforma. Det kan finnas otaliga tillämp...