Innehållsförteckning:

Stationär radar (LIDAR) Array med Arduino: 10 steg (med bilder)
Stationär radar (LIDAR) Array med Arduino: 10 steg (med bilder)

Video: Stationär radar (LIDAR) Array med Arduino: 10 steg (med bilder)

Video: Stationär radar (LIDAR) Array med Arduino: 10 steg (med bilder)
Video: Arduino Missile Defense Radar System in ACTION 2024, November
Anonim
Stationär radar (LIDAR) Array med Arduino
Stationär radar (LIDAR) Array med Arduino
Stationär radar (LIDAR) Array med Arduino
Stationär radar (LIDAR) Array med Arduino
Stationär radar (LIDAR) Array med Arduino
Stationär radar (LIDAR) Array med Arduino

När jag bygger en robot med tvåbentankar tänkte jag alltid på att ha någon form av cool gadget som kan spåra min motståndare och göra attacker med den. Massor av radar/lidar -projekt finns redan här. Det finns dock vissa begränsningar för mitt syfte:

  • Ultraljudsvågssensormoduler är ganska stora. Varje robot skulle se ut som WALL-E.
  • Nuvarande radarprojekt inkluderar alla en sensor (antingen ultraljudsvågor, IR, laser, …) och en servomotor i mitten. För att skanna miljön krävs det att servon rör sig från sida till sida. Att flytta saker fram och tillbaka skapar momentumförändringar, vilket är dåligt för biped balansering och promenader.
  • Skanningsfrekvensen begränsas av servohastigheten. Endast flera hertz kan uppnås, förmodligen. Även om skanningsfrekvensen kan ökas av någon super-servo, skulle detta resultera i kraftiga vibrationer.
  • [Central servomotor - sensor] -arrangemang begränsar också positionen för montering och design. Det är svårt att montera sådant annat än som ett huvud. Vilket får min biped att se ut som en skakande WALL-E varje gång. Inte coolt!
  • [Servosensor] -arrangemanget kan också byggas som en [motorsensor] -stil. Sensorn (eller sensorerna) roterar kontinuerligt längs en motoraxel. Detta kan eliminera momentum ryck och problem med låg skanning frekvens, men inte torso design begränsning. Kabelsvårigheter skulle också öka avsevärt.

Efter sökning stänkte den här lilla sensorn VL53L0X från ST in i mina ögon. Genom att göra anspråk på "världens minsta" tidssensor för flygning, är dimensionen endast 4,4 x 2,4 x 1,0 mm. Med

  • På chip IR lasersändare och detektor
  • Upp till 2 m räckvidd (1,2 m i snabbt läge)
  • Programmerbar I2C -adress
  • En GPIO -avbrytande utgångsstift
  • Ögonsäker

Alla dessa specialfunktioner kombinerade gjorde att jag kunde övervinna problemen ovan, om en rad VL53L0X -sensorer kunde fungera. Ursprungligen trodde jag att denna radar skulle kallas solidaritetsradar, men fick reda på att denna term användes för något annat. Därför betyder "Stationärt" ord i titeln att det inte finns några rörliga delar i denna radar -gadget. Även om LIDAR (ljusdetektering och intervall) är den tekniskt korrekta termen för detta chip, kallas RADAR här som en mer generisk term.

Anledningen till att programmerbar I2C -adress och GPIO -utgångsstift är avgörande för detta projekt förklaras senare.

Steg 1: Verktyg och delar

Verktyg och delar
Verktyg och delar
Verktyg och delar
Verktyg och delar

Verktyg

Följande verktyg krävs i detta projekt:

  • Lödkolv
  • Lödande hjälpande händer
  • Dupont crimpverktyg
  • 1,5 mm insexdrivning
  • Verktyg för borttagning av trådbeläggning
  • Avbitartång
  • Lim pistol
  • Pincett
  • Förstoringsglas (fysiskt eller appar i din telefon)
  • Platt tång

Delar

Följande delar används i detta projekt:

  • 10x VL53L0X GY-530 breakout boards
  • En Arduino (Uno, Nano, Mega, Zero, Mini, … etc)
  • En brödbräda och några brödbrädetrådar
  • AWG #26 trådar med olika färger
  • AWG #30 enkelkärntråd
  • 5x Dupont hankontakter
  • 5x enkla stift Dupont -höljen
  • 10x 3D -tryckta hållare för utbrottskort
  • 1x 3D -tryckt cirkulär ram
  • 10x M2x10 plattskruvar
  • 10x 0804 LED (blå rekommenderas)
  • 10x SOT-23 AO3400 N-kanal MOSFET
  • En liten kondensator (10 ~ 100uF)

Breakout board

VL53L0X breakout board jag använde är GY-530. Det finns också Adafruit -version och Pololu -version. Om det är möjligt rekommenderar jag att du använder Adafruit eller Pololus produkt eftersom de gör fantastiska produkter, bra handledning och bra programvarubibliotek. Jag testade på Adafruits VL53L0X -bibliotek och använde en modifierad version av Pololus VL53L0X -bibliotek.

Dupont -kontakter

Dupont -kontakterna används för brödbrädan. Du kan använda alla andra typer av anslutningar du har i handen.

Skruvar och 3D -tryckta delar

M2 -skruvarna, hållarna och den cirkulära ramen används för att placera sensorerna i ett cirkulärt arrangemang. Du kan använda alla andra metoder, till exempel att använda kartonger, modellskogar, lera eller till och med limma dem på en burk.

Steg 2: Hacka Breadout Board

Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board
Hackar Breadout Board

Cone of Detection

Jag använde en enda modul för att rita detektionskonen. Använda en mestadels 3D -tryckt robot som mål. Avståndet visas på LED -displayen och mäts grovt. De uppmätta data registreras i en Microsoft Excel -fil och används kurvpassningsfunktionen. Den bästa passformen är en naturlig logaritmkurva, med ett effektivt avstånd från 3 cm till cirka 100 cm.

Vid 60 cm är detekteringskurvan för en enda sensor cirka 22 cm. Med ett 20 cm brett mål bör en cirkulär separation på 10 ~ 15 grader för radaruppsättningen ge en acceptabel skanningsupplösning.

I2C -adress

Medan VL53L0X I2C-enhetsadressen är programmerbar krävs fullständig kontroll av XSHUT-stiftet med mikrokontrollen. Sekvensen för att göra det är:

  1. Ström tillförs AVDD.
  2. Alla VL53L0X -chips förs till Hw Standby -läge (reset) genom att köra ALLA deras XSHUT -stift till LOW.
  3. Varje chip tas ur återställningsläget ett i taget. Standard I2C -adressen efter uppstart är 0x52.
  4. Chipadressen ändras till en ny adress genom ett I2C -kommando. Till exempel ändrades 0x52 till 0x53.
  5. Upprepa steg 3 och 4 för alla marker.

Teoretiskt kan max 126 enheter köras i samma buss för 7-bitars adressintervallet. I praktiken kan/bör dock busskapacitans och minskande strömbegränsning för mikrokontrollen begränsa det maximala enhetens antal.

Den nya I2C -adressen lagras inte i VL53L0X -chipet mot avstängning eller återställning. Således måste denna process göras en gång vid varje uppstart. Det betyder att en värdefull stift krävs för varje enhet i radaruppsättningen. Detta är alldeles för ovänligt för ledningar och förbrukning, för ett radarbälte med 10+ eller 20+ enheter.

Som nämnts i STEG1 är det tur att det finns en GPIO1 -stift på VL53L0X -chipet, som ursprungligen användes för avbrott, kan göra jobbet.

GPIO-XSHUTN daisy chain

GPIO -utgången är i hög impedansläge vid uppstart och öppen dränering till låg medan den är aktiv. GPIO- och XSHUT-stiften dras högt till AVDD på GY-530-brytkortet, enligt rekommendationerna i databladet. För att på ett tillförlitligt sätt sätta alla VL53L0X -chips i Hw Standby -läge (kör XSHUT lågt) behöver vi en logisk NOT -grind (inverter) för varje XSHUT -stift. Sedan ansluter vi GPIO-utgången från ett chip (Nth-chipet) till XSHUTN (XSHUT-NOT) på nedströms-chipet (N+1-chipet).

Vid påslagning dras alla GPIO-stift (inaktiva) upp, alla efterföljande XSHUT-stift körs lågt av NOT-grinden (förutom själva knytnätschipet där dess XSHUTN-stift är anslutet till mikrokontrollen). I2C -adressändringen och XSHUT -utgåvan av nedströmschipet görs i programvaran, en efter en.

Om du använder olika brytbrädor måste du se till om uppdragningsmotstånden är på plats eller inte, och göra lämpliga justeringar.

Lägger till en LED

I nästa steg kommer en liten 0805 SMD LED att läggas till brytkortet, anslutet från XSHUT -plattan till GND -terminalen på en angränsande kondensator. Även om LED i sig inte påverkar modulens funktion, ger det oss en bra visuell indikation på XSHUT -logiknivån.

Att koppla in LED: n i serie med uppdragningsmotståndet (10k i mitt fall) på XSHUT-stiftet kommer att introducera ett spänningsfall. Istället för en hög logisk nivå på 3,3v mäts framspänningsfallet för en röd 0805 LED 1,6v. Även om denna spänning är högre än den höga logiska nivån (1,12v) i databladet, är blå LED bättre för detta hack. Framspänningsfallet för blå LED mäts ca 2,4v, vilket är säkert över chipets logiska nivå.

Lägga till N-MOS Inverter (Logic NOT Gate)

En liten SOT-23 N-kanal MOSFET är staplad på lysdioden vi har lagt till. Två terminaler (D, S) måste lödas på utbrottskortet, och den återstående terminalen (G) ansluts till GPIO -stiftet uppströms kort med hjälp av kabel #26.

Anteckningar om att lägga till SMD -komponenter

Lödning av SMD -komponenter på en brytskiva som inte är avsedd för, är ingen lätt uppgift. Om du inte har hört talas om 0805, SMD, SOT-23 än så är chansen stor att du inte har lödt de små komponenterna tidigare. När du hanterar de små komponenterna för hand är det mycket vanligt att:

  • Det lilla släpptes och försvann för alltid,
  • De små kuddarna på den lilla saken skalade bara av.
  • De små benen på den lilla saken gick precis sönder.
  • Lödformen samlades precis i en klump och kunde inte separeras.
  • Och mer…

Om du fortfarande vill göra denna radar kan du:

  • Ändra komponenterna till ett större paket, till exempel DIP -stil.
  • Få fler komponenter än minimikravet, för övning och konsumtion.

Steg 3: Lödning av 0805 LED

Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED
Lödning av 0805 LED

Lödning av 0805 SMD LED

Lödning av en 0805 LED för hand, på en brytskiva som inte är avsedd för SMD, är ingen lätt uppgift alls. Följande steg är min rekommendation att löda lysdioden.

  1. Använd hjälphanden för att hålla din breakout -bräda.
  2. Lägg lite lödpasta på kanten av SMD -kondensatorn och "XSHUT" -plattan.
  3. Använd lödkolven för att lägga till ytterligare löd på kondensatorns kant.
  4. Sätt lite lödpasta i båda ändarna av 0805 LED.
  5. Använd lödkolven för att lägga lite tenn i båda ändarna av 0805 LED.
  6. Använd pincetten för att placera lysdioden enligt bilden. Katodänden har normalt en markerad linje. I mitt exempel finns det en grön linje på katodänden. Placera katodänden till kondensatoränden.
  7. Använd pincetten för att lägga till lätt tryck på lysdioden mot kondensatorn och löd lysdioden till kondensatoränden genom att lägga till värme till kondensatoränden samtidigt. Tryck inte för hårt på lysdioden. Locket kan gå sönder under värme och högt tryck. Efter lödning, lägg till ett försiktigt tryck på lysdioden i sidled för att testa om lysdioden är lödd på plats.
  8. Löd nu LED -lampan på XSHUT dip -pad. Detta steg bör vara enklare.

Obs! Kondensatoränden som visas på bilden är jordterminalen på detta brytkort. Och doppplattan XSHUT dras upp av ett motstånd.

Testar lysdioden

Lysdioden ska lysa när du sätter på strömmen (t.ex. 5V) och jordar till brytarkortet.

Steg 4: Lödning av N-Channel MOSFET

Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET
Lödning av N-kanal MOSFET

Lödning av AO3400 N-Channel MOSFET

Denna MOSFET finns i SOT-23-paketet. Vi måste "stapla" den på lysdioden och lägga till en tråd också:

  1. Lägg lite lödpasta och tenn alla tre terminaler.
  2. Använd en pincett för att placera MOSFET ovanpå 0805 LED. S -terminalen bör vidröra kondensatorns ovansida
  3. Löd S -terminalen med kondensatoränden, som visas på bilden.
  4. Skär en liten sektion AWG #30 enkelkärntråd och ta bort beläggningen ca 1 cm.
  5. Använd lödkolven för att smälta lödet i XSHUT -hålet underifrån och sätt in tråd #30 ovanifrån, som visas på bilden.
  6. Lödning av trådens övre ände till MOSFET D -terminalen.
  7. Klipp av extra tråd.

Obs: MOSFET S -terminalen är ansluten till kondensatoränden enligt bilden. Denna ände är jordterminalen. MOSFET D -terminalen är ansluten till den ursprungliga XSHUT -stiftet.

Terminal G är inte ansluten just nu. Dess position är precis ovanför några uppdragningsmotstånd. Se till att det finns ett gap mellan dem (N-MOS och motstånd) och inte kommer i kontakt med varandra.

Steg 5: Anslutning av sensorarray

Anslutning av sensorarray
Anslutning av sensorarray
Anslutning av sensorarray
Anslutning av sensorarray
Anslutning av sensorarray
Anslutning av sensorarray

Vanliga bussledningar

Vanlig buss inkluderar:

  • Vcc -ström. Rött på foto. Jag använder arduino nano med 5v logik. Breakout-kortet har LDO och nivåskiftare. Så det är säkert att använda 5v som Vin.
  • Jord. Svart på foto.
  • SDA. Grönt på foto.
  • SCL. Gult på bilden.

Dessa fyra rader är vanliga linjer. Klipp lämplig längd av trådarna och löd dem parallellt till alla sensormoduler. Jag använde 20 cm från arduino till den första sensorn och 5 cm var och en därefter.

XSHUTN och GPIO ledningar

Den 20 cm vita tråden är från arduino -kontrollstiftet till XSHUTN -stiftet på den första sensorn. Detta är kontrollinjen som krävs för att få det första VL53L0X -chipet att återställas och ändra I2C -adressen.

Den 5 cm vita tråden mellan varje modul är daisy chain -kontrollinjen. Uppströmschipet (till exempel chip #3) GPIO-pad är anslutet till nedströms (till exempel chip #4) XSHUTN-ben (N-Channel MOSFET G-terminal).

Var försiktig så att G -terminalen inte kommer i kontakt med motståndet nedan. Du kan lägga till en isoleringstejp i springan. Skyddsfodret som vanligtvis levereras med VL53L0X -chipet kan användas här.

Använd värmepistolen för att fästa styrtråden.

Hot Lim

Som du kan se på bilden finns det en klick varmt lim på den vita kontrolltråden, nära N-MOS G-terminalen. Detta steg är mycket viktigt och absolut nödvändigt. En flytande lödning direkt till SMD -komponentens ben är mycket svag. Även ett litet tryck på tråden kan bryta benet. Gör detta steg försiktigt.

Testar lysdioden

När du applicerar ström (ex. 3.3v-5v) och jordar till sensoruppsättningen, bör lysdioden på den första modulen svara med XSHUTN-trådlogiknivån. Om du ansluter XSHUTN till logic high (t.ex. 3.3v-5v) bör lysdioden vara släckt. Om du ansluter XSHUTN -kabeln till låg (jord), bör lysdioden på den första modulen vara tänd.

För alla efterföljande moduler ska lysdioden vara släckt.

Detta test utförs innan du ansluter till arduino.

Steg 6: Slutföra sensormatrisen

Image
Image
Slutför sensormatrisen
Slutför sensormatrisen
Slutför sensormatrisen
Slutför sensormatrisen
Slutför sensormatrisen
Slutför sensormatrisen

Daisy Chain Testing

Nu vill vi testa om I2C -adressändringen fungerar för alla sensorer i matrisen. Som nämnts styrs det första chipet av arduino. Det andra chipet styrs av det första chipet och så vidare.

  1. Sätt upp brödbrädan. 5V och markskena är direkt anslutna från adriano 5V och jord. Strömförbrukning för varje sensor är 19ma i databladet.
  2. Lägg till en kondensator på kraftskenan för att hjälpa till att stabilisera Vin.
  3. Anslut Vin och Ground från sensormatrisen till kraftskenan.
  4. Anslut SDA till arduino Nano pin A4 (kan vara annorlunda för andra mikrokontroller).
  5. Anslut SCL till arduino Nano pin A5 (kan vara annorlunda för andra mikrokontroller).
  6. Anslut XSHUTN -kabeln till arduino Nano -stift D2. (Detta kan ändras i skiss).
  7. Gå till github https://github.com/FuzzyNoodle/Fuzzy-Radar och ladda ner biblioteket.
  8. Öppna exemplet "Daisy_Chain_Testing" och ladda upp skissen.

Om allt fungerar bör du se status -lysdioderna tändas en efter en, liknande videoklippet ovan.

Du kan också öppna seriefönstret och se hur initialiseringen går. Utdata ser ut så här:

Öppningsport Port öppen Startskiss. Ställ chip 0 i återställningsläge. Alla status -lysdioder ska vara släckta. Nu konfigurerar sensorerna. LED bör lysa upp en efter en. Konfigurera chip 0 - Återställ I2C -adressen till 83 - Initiera sensorn. Konfigurera chip 1 - Återställ I2C -adressen till 84 - Initiera sensorn. Konfigurera chip 2 - Återställ I2C -adressen till 85 - Initiera sensorn. Konfiguration av radarmatris klar.

Montera hållaren och ramen

  1. Placera försiktigt varje GY-530-modul på hållaren med M2x10-skruven. Tryck inte på MOSFET eller dra i XSHUTN -trådarna.
  2. Placera varje hållare i den cirkulära ramen. Använd lite varmt lim för att binda delarna.

Återigen används M2 -skruvarna, hållarna och den cirkulära ramen för att placera sensorerna i ett cirkulärt arrangemang. Du kan använda alla andra metoder, till exempel att använda kartonger, modellskogar, lera eller till och med hetlimma dem på en burk.

De 3D -tryckta filerna som jag använde finns nedan. Den cirkulära ramen har 9 moduler och separerade med 10 grader vardera. Om du har ett skarpt öga fanns det 10 moduler i tidigare foton. Anledningen? Förklaras nedan …

Ta bort skyddsfodret

Om du följt stegen från början är det en bra tid nu att ta bort skyddsfodret på VL53L0X -chipet. På mina tidigare bilder har de redan tagits bort eftersom jag måste testa modulerna och se till att konceptet fungerar innan jag lägger ut dessa instruktioner.

Om skyddsfodret står det i databladet: "Det måste tas bort av kunden precis innan täckglaset monteras". De två små hålen (sändare och mottagare) på VL53L0X -chipet är sårbara för föroreningar, till exempel damm, fett, varmt lim osv …

När det är förorenat kan intervallet reduceras och avläsningarna kan vara avstängda med en uppenbar mängd. En av mina testmoduler är av misstag förorenad av limlera, räckvidden reduceras till 40 cm och avståndsmätningen förstoras felaktigt med 50%. Så var försiktig!

Steg 7: Skaffa data

Image
Image
Laser Tracer (demonstration)
Laser Tracer (demonstration)

Använda exemplet Raw_Data_Serial_Output

Nu gillar vi verkligen att se data från vår sensormatris. I arduino -biblioteket på GitHub:

https://github.com/FuzzyNoodle/Fuzzy-Radar

Det finns ett exempel som heter Raw_Data_Serial_Output. Detta exempel demonstrerar rådatautmatningen från sensormatrisen. Utgångsvärdena är i millimeter.

Efter att sensorerna har initierats, bör se något liknande i seriefönstret när du viftar med handen genom sensorerna:

Se videoklippet för en live demonstration.

Använda exemplet Fuzzy_Radar_Serial_Output

Nästa steg är att få användbar data ur dessa avståndsmätningar. Det vi ville ha från en RADAR är målobjektets avstånd och vinkel.

  • Avståndet är i millimeter, relaterat till sensorytan. Att returnera 0 betyder att målet ligger utanför intervallet.
  • Vinkeln är i grader, på det horisontella planet. Koden förväntas för närvarande att sensorerna är jämnt fördelade. Återgår 0 grader betyder att målet ligger i matrisens mittläge.

Vissa filtreringsalgoritmer tillämpas i biblioteket:

  • Bullerborttagning:

    • Korta (när det gäller provantal) betraktas som brus och tas bort.
    • Avläsningar som ligger långt från medelvärdet tas bort.
  • Viktvinkelberäkning (se illustrationen ovan)

    • Målobjektet antas vara en plan yta
    • Om flera sensorer har upptäckt objektet samtidigt beräknas en vikt för varje sensor.
    • Vikten för varje sensor är omvänt relaterad till dess avstånd.
    • Resultatängeln beräknas utifrån den viktade vinkeln för varje sensor.
  • Primärt målval:

    • Om det finns mer än en grupp avläsningar kvarstår den bredaste (med mer sensoravläsning).
    • Till exempel, om du lägger två händer framför sensoruppsättningen, kvarstår handen som upptäcks av fler sensorer.
  • Närmaste urval:

    • Om det finns mer än en upptäckt grupp med samma bredd kvarstår gruppen på närmaste avstånd.
    • Om du till exempel lägger två händer framför sensormatrisen och två detekterade grupper har samma sensortal, kvarstår gruppen närmare sensorn.

Utgångsavstånd och vinkel utjämnas genom lågpassfilter

I Raw_Data_Serial_Output omvandlas råavståndsavläsningarna till avstånd och vinkelvärde. När du har laddat upp skissen kan du öppna seriefönstret för att se resultatet som liknar detta:

Inget objekt har upptäckts. Inget objekt har upptäckts. Inget objekt har upptäckts. Avstånd = 0056 Vinkel = 017 Avstånd = 0066 Vinkel = 014 Avstånd = 0077 Vinkel = 011 Avstånd = 0083 Vinkel = 010 Avstånd = 0081 Vinkel = 004 Avstånd = 0082 Vinkel = 000 Avstånd = 0092 Vinkel = 002 Avstånd = 0097 Vinkel = 001 Avstånd = 0096 Vinkel = 001 Avstånd = 0099 Vinkel = 000 Avstånd = 0101 Vinkel = -002 Avstånd = 0092 Vinkel = -004 Avstånd = 0095 Vinkel = -007 Avstånd = 0101 Vinkel = -008 Avstånd = 0112 Vinkel = -014 Avstånd = 0118 Vinkel = -017 Avstånd = 0122 Vinkel = -019 Avstånd = 0125 Vinkel = -019 Avstånd = 0126 Vinkel = -020 Avstånd = 0125 Vinkel = -022 Avstånd = 0124 Vinkel = -024 Avstånd = 0133 Vinkel = -027 Avstånd = 0138 Vinkel = - 031 Avstånd = 0140 Vinkel = -033 Avstånd = 0136 Vinkel = -033 Avstånd = 0125 Vinkel = -037 Avstånd = 0120 Vinkel = -038 Avstånd = 0141 Vinkel = -039 Inget objekt detekteras. Inget objekt har upptäckts. Inget objekt har upptäckts.

Så nu har du en RADAR (LIDAR):

  • Mindre än ultraljudsgivarmoduler
  • Inga rörliga delar
  • Skannar vid 40 Hz.
  • Formad som ett bälte, kan monteras på en cirkulär ram
  • Använd endast tre styrtrådar, plus ström och jord.
  • Har ett intervall från 30 millimeter till cirka 1000 millimeter.

I de följande stegen kommer vi att visa dig några häftiga demonstrationer!

Steg 8: Laser Tracer (demonstration)

Image
Image
Laser Tracer (demonstration)
Laser Tracer (demonstration)

Detta är ett exempel på att använda den stationära radaren som vi har byggt från tidigare steg. Det här steget är inte skrivet i detalj, eftersom detta är en demonstrator av radarn. I allmänhet behöver du dessa ytterligare objekt för att bygga detta demonstrationsprojekt:

  • Två servon
  • En laserpenna som avger huvud
  • En MOSFET- eller NPN -transistor för att styra laserhuvudets utmatning
  • En strömkälla för servon. Den ska separeras från mikrokontrollen.

Koden kan laddas ner här.

Se den medföljande videon.

Steg 9: Staring Poopeyes (demonstration)

Image
Image

Demonstration av att använda radar bort för att spåra objektets placering och avstånd.

Rekommenderad: