INHOUDSOPGAWE:

1,50 m maatstaf vir maatskaplike distansie: drie stappe (met foto's)
1,50 m maatstaf vir maatskaplike distansie: drie stappe (met foto's)

Video: 1,50 m maatstaf vir maatskaplike distansie: drie stappe (met foto's)

Video: 1,50 m maatstaf vir maatskaplike distansie: drie stappe (met foto's)
Video: Дэниел Шмахтенбергер: Уничтожат ли нас технологии? 2024, November
Anonim
Image
Image
Skematiese
Skematiese

In hierdie konstruksie pas ek 'n gewone maatband aan om te meet wanneer 'n afstand van 1,5 m afgelê is. Ek sal dan sê "anderhalf meter". Dit sal ook met 'n groen of rooi lig aandui as u bo of onder hierdie afstand is.

Hierdie projek is gedoen as gevolg van 'n uitdaging wat Henk Rijckaert in sy youtube -reeks De Koterij begin het, en ek wou dit koppel aan die huidige probleme van COVID19 en sosiale distansie. (Engelse onderskrifte word bygevoeg).

Gebruikte materiaal:

  1. 'N Meetband
  2. Optiese enkodeerder: e4p-100-079
  3. Oudio: DFPlayer Mini + sd-kaart
  4. Krag: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (enige ander arduino kan ook gebruik word, aangesien ek nie die BLE- of Wi -Fi -funksies in hierdie build gebruik nie)
  6. Neopixel
  7. Spreker
  8. Battery
  9. Aan/uit -skakelaar

Stap 1: Skematiese

Skematiese
Skematiese

Koppel die komponente soos aangedui in die skema. Die omhulsel is hergebruik en aangepas uit 'n ander gebou, maar u kan enige reghoekige boks gebruik wat groot genoeg is om by die komponente te pas. U benodig 'n geheel vir u luidspreker, die maatband en die aan/uit -knoppie (en ideaal vir die usb -min om die battery te laai).

Bevestig die metaalplaat met aanwysers aan die draaiende deel van die meetband, maak seker dat u dit so goed as moontlik sentreer.

Op die SD-kaart vir die DFPlayer moet u die mp3 wat u wil afspeel, kopieer wanneer die afstand wat u ingestel het afgelê word.

Stap 2: Kode

Kode
Kode

Alle kode kan op github gevind word.

Die ESP32 (enige ander arduino kan ook gebruik word) sal voortdurend die A en B -uitset van die encoder ondersoek en 'n teller verhoog of verlaag. As dit meer as -2150 is, weet ek dat dit volgens my maatband 1,5 meter oorskry het. U sal dit vir u meter moet kalibreer. Afhangende van die waarde word die led-kleur verander en word die DFPlayer beveel om die mp3 wat op die sd-kaart is, te speel.

Stap 3: Die encoder verduidelik

Die encoder verduidelik
Die encoder verduidelik

Hoe kan ons meet hoe ver ons die meter afgerol het?

Hierdie verduideliking is die transkripsie van die video:

Daarvoor gebruik ek 'n optiese encoder, naamlik 'n inkrementele roterende encoder. U het ook ander, byvoorbeeld absolute encoders. Hulle is baie geskik om die presiese posisie binne 1 rotasie te ken. Maar 'n inkrementeel, aan die ander kant, gee vaste pulse tydens 'n verplasing, sodat u die rotasie self kan meet, ook oor 'n reeks verskillende rotasies. Op hierdie manier kan u die rotasie self meet, selfs oor verskillende rotasies. Ek gebruik 'n kwadratuur -encoder, wat twee seine gee sodat die rigting ook bepaal kan word.

Hoe werk dit presies?

Daar is swart merke op die ronde skyf. Hierdie skyf word aan die maatband geheg en draai dus daarmee. Die sensor self bestaan uit 'n LED en twee fotodetektors wat meet of die lig weerkaats word. As die LED op die swart lyn skyn, sal minder of geen lig weerkaats as wanneer dit op die metaal tussen die swart punt skyn nie. Hierdie sein sal dan omgeskakel word na 'n vierkantgolf by die uitset. Die A- en B -uitset is so geplaas dat u kan sien uit watter kombinasie van die 2 die rigting gedraai word.

Kom ons kyk daarna in detail

Met elke randverandering van A kan u die waarde van B verander in watter rigting ons draai. In die encoder wat ek gebruik, begin die A -pols voor die B -pols as ons met die kloksgewys draai. En omgekeerd as ons linksom draai. Ons kan dus 3 pulse herken wat ons iets vertel oor hoeveel gedraai is. My encoder het 100 siklusse per omwenteling (KPR). in hierdie geval het dit amper 10,8 grade gedraai. As u na die gegewensblaaie kyk, let goed op wat met CPR bedoel word, soms is dit die aantal siklusse per omwenteling, soms die aantal tellings per omwenteling (of afsonderlik verskillende toestande per beurt). Elke pols bevat 4 verskillende toestande. Hoog of laag by A en B. Dit is 4 keer meer as met siklusse per omwenteling. PPR of pulse per omwenteling word tipies gebruik om die aantal pulse per volle omwenteling te meet. Maar 'n paar gegewensblaaie beteken hier die aantal verskillende polstoestande per omwenteling. Kyk dus ook hier deeglik in die datablad wat bedoel word. Ons sien hier dat die A -pols voor die B -pols kom.

'N Maklike manier om dit in kode te verwerk, is wanneer die A -sein verander om te sien wat die waarde van die B -sein is. As die B -sein nie die waarde van die A -sein het nie, draai ons kloksgewys en kan ons telkens 'n teller verhoog of verhoog.

Ons kry nou 200 randveranderings per volle draai, want ons het 2 per pols. Dus, as die toonbank op 200 staan, draai ons 'n volle draai. Of 360 grade gedraai Andersom as ons in die teenoorgestelde rigting draai, kan u sien dat die A -sein dieselfde 3 pulse sal genereer.

Dus, ons het ook hier dat dit 10,8 grade gedraai het. Maar hierdie keer het die B -sein dieselfde waarde as die A -sein, sodat ons weet dat die B -sein reeds voor die A -sein is. En daarom draai ons linksom. In hierdie geval kan ons dus die toonbank verlaag. Nou weet ons hoeveel keer die maatband gesny is. As ons 'n vaste afstand wil weet, is dit redelik eenvoudig.

Byvoorbeeld, hier, vir anderhalf meter, moet die toonbank -2150 wees. Met ander woorde, 3870 grade linksom.

As u altyd wil weet hoeveel daar uitgerol is, moet u in ag neem dat die deursnee met ander woorde kleiner word, daar is minder afstand op die maatband per volle omwenteling.

Aanbeveel: