Innehållsförteckning:
- Tillbehör
- Steg 1: Ultrasonic VS infraröd sensor
- Steg 2: Schematisk
- Steg 3: Sensorkarakteristik
- Steg 4: Seriell kommunikation
- Steg 5: Qt -applikation
- Steg 6: Arduino -källkod
Video: Infraröd radar med Arduino: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
I det här lilla projektet skulle jag vilja visa dig hur du kan skapa en enkel radar hemma med Arduino. Det finns många liknande projekt på internet, men de använder alla en ultraljudssensor för att mäta avståndet. I detta projekt använder jag en infraröd sensor för avståndsmätning.
Mitt mål är att skapa ett mycket enkelt och billigt LIDAR -system med det och implementera en kartläggningsenhet.
Tillbehör
- Arduino (jag använde en Maple Mini)
- Sharp distanssensor (jag använde Sharp GP2Y0A02YK0F)
- Micro Servo (9g)
- Brödbräda, trådar
- Valfritt: 4,7k motstånd, 100nF kondensator
Steg 1: Ultrasonic VS infraröd sensor
Huvudskillnaden mellan ultraljuds- och infraröda avståndssensorer är att ultraljudssensorn mäter avstånd i ett större område. Därför kan den inte exakt lokalisera positionen för ett hinder. Det betyder att det mäter avståndet till det närmaste objektet som ligger inom ett ~ +-30 ° vinkelområde.
Det betyder naturligtvis inte att Sharp -sensorn är bättre. Ibland kan denna egenskap vara mycket användbar (t.ex. används av drönare för att mäta höjd från marken). Rätt val beror helt på kraven i ditt projekt.
Steg 2: Schematisk
Det är väldigt enkelt att göra kopplingen mellan delar. Välj en PWM -utgång och en analog ingång på ditt Arduino -kort och anslut Servo- och Sharp -avståndssensorerna till dessa stift. Jag använde följande stift för detta ändamål:
- PA0: Analog ingång för Sharp distanssensor
- PA9: PWM -utgång för Servo
Ibland kan Sharp IR -sensorn ha bullriga utgångar, därför måste du sätta ett enkelt lågpassfilter på det. Jag använde ett 4,7k motstånd och en 100nF kondensator för att minska bruset på den analoga stiftet. Förutom det filtrerade jag också det uppmätta värdet i koden genom att läsa det flera gånger och beräkna genomsnittet.
Steg 3: Sensorkarakteristik
Tyvärr har den använda infraröda avståndssensorn icke-linjär egenskap. Det betyder att för att få avståndet räcker det inte att multiplicera det uppmätta ADC -värdet med ett konstant värde och lägga till ett annat konstant värde till det.
Även om sensorns datablad ger karakteristiken, föredrar jag att mäta det själv i det specifika projektet (det kan bero på den använda spänningen). För detta gjorde jag par från det uppmätta ADC -värdet och avståndet för varje 10 cm. (Min sensor kunde mäta korrekt avstånd från 12 cm).
Jag använde dessa par i koden för att få rätt avstånd med Linear Interpolation.
Du hittar en enkel Arduino -kod i slutet av dokumentet för att mäta ADC -värde under karakteristisk mätning.
Steg 4: Seriell kommunikation
Jag använde seriell kommunikation för att skicka de uppmätta vinkelavståndsvärdena till datorn. Eftersom jag måste skicka flera byte och olika typer av meddelanden har jag utformat ett enkelt kommunikationsprotokoll.
Denna procotol gör det möjligt att definiera olika meddelandetyper på ett generiskt sätt. I detta projekt använde jag två meddelandetyper:
- Parametrar: Används för att skicka parametrar till PC -applikationer, definierade på Arduino som maximalt avstånd och antal hinder i en runda.
- Hinder: Används för att skicka ett upptäckt hinder. Det identifieras av servovinkeln och uppmätt avstånd. X-y-positionen beräknas med PC-applikation.
Steg 5: Qt -applikation
För att kommunicera med Arduino och rita de uppmätta punkterna som en radar gjorde jag en PC -applikation i Qt (C ++). Den tar emot några parametrar (definierade på Arduino) och de uppmätta avståndspunkterna.
Du kan också ladda ner programmet och dess källkod.
Steg 6: Arduino -källkod
Du kan anpassa några parametrar högst upp i koden med makron.
Observera att om du ändrar karaktäristiken för Sharp -distanssensorn måste du ändra distAdcMap array -värden!
- InfraRadar.c: Kod för radar. Kopiera och klistra in det i ditt Arduino -projekt.
- InfraRadarMeasurement.c: Kod för karakteristisk mätning. Kopiera och klistra in det i ditt Arduino -projekt. Använd seriekonsolen för att kontrollera ADC -värden.
Rekommenderad:
Använda infraröd sensor med Arduino: 8 steg (med bilder)
Använda infraröd sensor med Arduino: Vad är en infraröd (aka IR) sensor? En IR -sensor är ett elektroniskt instrument som skannar IR -signaler i specifika frekvensområden definierade av standarder och omvandlar dem till elektriska signaler på dess utgångsstift (kallas vanligtvis signalstift) . IR -signalen
Arduino laser infraröd termometer: 7 steg (med bilder)
Arduino laser infraröd termometer: I det här projektet kommer jag att visa dig hur man bygger en digital laser infraröd termometer med en anpassad 3D -tryckt kapsling
Arduino Infraröd termometerpistol MDF -fodral: 4 steg (med bilder)
Arduino Infraröd termometerpistol MDF-fodral: Detta projekt är för att göra infraröd termometer med Arduino, kretsen sätts i MDF-fodral som liknar en medicinsk infraröd termometer på marknaden. Sensorens infraröda termometer GY-906 används för att mäta objekttemperatur utan kontakt, det kan betyda
Arduino -baserad icke -kontakt infraröd termometer - IR -baserad termometer med Arduino: 4 steg
Arduino -baserad icke -kontakt infraröd termometer | IR -baserad termometer med Arduino: Hej killar i dessa instruktioner kommer vi att göra en kontaktfri termometer med hjälp av arduino. Eftersom temperaturen på vätskan/fastämnet ibland är för hög eller för låg och då är det svårt att komma i kontakt med den och läsa dess temperaturen då i den scen
Infraröd lasermärke med Raspberry Pi Zero: 6 steg (med bilder)
Infraröd lasertagg med Raspberry Pi Zero: Denna instruktionsbok går igenom processen för att skapa ett infrarött lasertaggspel med en basserver -dator och en Raspberry Pi -noll för varje spelare. Projektet är starkt beroende av en Wifi -anslutning för att kommunicera med servern vilket gör