Indholdsfortegnelse:

1,50 m socialt distancemål: 3 trin (med billeder)
1,50 m socialt distancemål: 3 trin (med billeder)

Video: 1,50 m socialt distancemål: 3 trin (med billeder)

Video: 1,50 m socialt distancemål: 3 trin (med billeder)
Video: Мошенничество в Instagram, о котором вам следует знать 2024, November
Anonim
Image
Image
Skematisk
Skematisk

I denne konstruktion tilpasser jeg et almindeligt målebånd til måling, når en afstand er blevet tilbagelagt på 1,5 m. Jeg vil så sige "halvanden meter". Det vil også indikere med et grønt eller rødt lys, hvis du er over eller under denne afstand.

Dette projekt blev udført på grund af en udfordring, som Henk Rijckaert startede i sin youtube -serie De Koterij, og jeg ønskede at knytte det til de aktuelle problemer med COVID19 og social distancering. En hollandsk talt youtube -film om denne build kan findes på Youtube Weyn. Tech (Engelske billedtekster tilføjes).

Brugte materialer:

  1. Et målebånd
  2. Optisk encoder: e4p-100-079
  3. Lyd: DFPlayer Mini + sd-kort
  4. Strøm: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (enhver anden arduino kan også bruges, da jeg ikke bruger BLE- eller Wi -Fi -funktionerne i denne build)
  6. Neopixel
  7. Højttaler
  8. Batteri
  9. Tænd/sluk -kontakt

Trin 1: Skematisk

Skematisk
Skematisk

Tilslut komponenterne som vist i skematisk. Kabinettet blev genbrugt og tilpasset fra en anden bygning, men du kan bruge enhver rektangulær boks, der er stor nok til at passe til komponenterne. Du har brug for en helhed til din højttaler, målebåndet og tænd/sluk -knappen (og ideelt for usb min. For at oplade batteriet).

Fastgør metalpladen med indikatorer til målebåndets roterende del, sørg for at centrere den så godt som muligt.

På SD-kortet til DFPlayer skal du kopiere den mp3, som du vil afspille, når den indstillede afstand er tilbagelagt.

Trin 2: Kode

Kode
Kode

Al kode kan findes på github.

ESP32 (enhver anden arduino kan også bruges) vil kontinuerligt polle A en B -output fra encoderen og øge eller reducere en tæller. Når det overstiger -2150, ved jeg for mit målebånd, at det oversteg 1,5 meter. Du bliver nødt til at kalibrere dette for din måler. Afhængigt af værdien ændres LED-farven, og DFPlayer beordres til at afspille den mp3, der er på sd-kortet.

Trin 3: Encoder forklaret

Koderen forklaret
Koderen forklaret

Hvordan kan vi måle, hvor langt vi har rullet måleren ud?

Denne forklaring er udskriften af videoen:

Nå, til det bruger jeg en optisk encoder, nemlig en inkrementel roterende encoder. Du har også andre, for eksempel absolutte encodere. De er meget velegnede til at kende den nøjagtige position inden for 1 rotation. Men en inkrementel giver derimod faste impulser under en forskydning, så du selv kan måle rotationen, også over en række forskellige rotationer. På denne måde kan du måle selve rotationen, selv over forskellige rotationer. Jeg bruger en kvadraturkoder, som giver to signaler, så retningen også kan bestemmes.

Hvordan fungerer det nøjagtigt?

Der er sorte markeringer på den runde skive. Denne disk er fastgjort til målebåndet og vil derfor rotere med den. Selve sensoren består af en LED og to fotodetektorer, der måler, om lyset reflekteres. Hvis lysdioden skinner på den sorte linje, vil mindre eller intet lys reflektere, end når det skinner på metallet mellem det sorte mærke. Dette signal vil derefter blive konverteret til en firkantbølge ved udgangen. A- og B -udgangen er placeret på en sådan måde, at du kan se fra hvilken kombination af de 2 retningen drejes.

Lad os se nærmere på det

For hver kantændring af A kan du ændre værdien af B i hvilken retning vi drejer. I den encoder, jeg bruger, starter A -pulsen før B -pulsen, hvis vi drejer med uret. Og omvendt, hvis vi drejer mod uret. Så vi kan genkende 3 impulser, der fortæller os noget om, hvor meget der er vendt. Min encoder har 100 cyklusser pr. Omdrejning (CPR). i dette tilfælde har den vendt næsten 10,8 grader. Hvis du ser på datablade, skal du være meget opmærksom på, hvad der menes med HLR, nogle gange er dette antallet af cyklusser pr. Omdrejninger, nogle gange antallet af tællinger pr. Omdrejning (eller individuelt forskellige tilstande pr. Tur). Hver puls indeholder 4 forskellige tilstande. Høj eller lav ved A og B. Hvilket er 4 gange mere end med cyklusser pr. Revolution. PPR eller pulser pr. Omdrejning bruges typisk til at måle antallet af pulser pr. Fuld omdrejning. Men nogle datablade her betyder antallet af forskellige pulstilstande pr. Omdrejning. Så også her, se grundigt i databladet, hvad der menes. Vi ser her, at A -pulsen kommer før B -pulsen.

En let måde at behandle dette i kode er, når A -signalet ændres for at se, hvad værdien af B -signalet er. Hvis B -signalet ikke har værdien af A -signalet, drejer vi med uret, og vi kan øge eller øge en tæller hver gang.

Vi får nu 200 kantskift pr. Fuld sving, fordi vi har 2 pr. Puls. Så hvis tælleren er på 200, drejede vi en hel omgang. Eller roteret 360 grader Omvendt, hvis vi drejer i den modsatte retning, kan du se, at A -signalet genererer de samme 3 pulser.

Så vi har også her, at det er vendt 10,8 grader. Men denne gang har B -signalet den samme værdi som A -signalet, så vi ved, at B -signalet allerede er foran A -signalet. Og derfor drejer vi mod uret. I dette tilfælde kan vi derfor reducere tælleren. Nu ved vi, hvor mange gange målebåndet er skåret. Hvis vi vil kende en fast afstand, er det ret simpelt.

For eksempel her, for halvanden meter, skal tælleren være -2150. Med andre ord 3870 grader mod uret.

Hvis du altid vil vide, hvor meget der er rullet ud, skal du tage højde for, at diameteren bliver mindre med andre ord, der vil blive mindre og mindre afstand på målebåndet pr. Fuld rotation.

Anbefalede: