Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Forstå hvordan det fungerer
- Trinn 2: Design og planlegging
- Trinn 3: Bygg styret
- Trinn 4: Programmering av styret
- Trinn 5: Søknad
Video: Infrarød terningssensor: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Mitt navn er Calvin, og jeg vil vise deg hvordan du lager en infrarød terningssensor og forklarer hvordan det fungerer.
Jeg er for tiden en Taylor University -student som studerer datateknikk og teamet mitt, og jeg ble bedt om å designe og bygge en mekanisme som kan sortere ethvert objekt som kan passe i en 1in -firkant. Vi kunne ha tatt den enkle ruten og valgt å sortere m & m -er ved hjelp av en enkel fargesensor, men vi bestemte oss for å gå utover og sortere terninger etter tallet som vises. Etter utallige timer med å prøve å finne en guide for hvordan jeg kan lese terningens ansikt, kjørte jeg på denne lenken her:
makezine.com/2009/09/19/dice-reader-versio…
Denne lenken ga meg imidlertid ikke mye mer enn ideen om hvordan jeg kan lese terningens ansikt, så ved å bruke ideen som ble gitt, fortsatte jeg med å bygge og utvikle en sensor som kan kobles til en Arduino enkelt og kan lese terningens ansikt så nøyaktig som mulig, og gir oss dermed denne infrarøde terningssensoren.
Rekvisita
Nå til utstyret:
Du vil trenge:
1 x Arduino Uno
5 x IR -mottakere
5 x IR -sendere
www.sparkfun.com/products/241
5 x 270 ohm motstander
5 x 10k ohm motstander
1 x 74HC595N -brikke
forskjellige mannlige overskrifter
1 x prototypebrett (hvis du ikke får et egendefinert frest brett)
Trinn 1: Forstå hvordan det fungerer
Denne sensoren bruker fem pipesteder for å lese terningene på terningene. Den bruker infrarødt lys til å sprette av terningen på disse pipestasjonene og forteller kontrolleren om den er hvit eller svart.
Du lurer kanskje på, hvorfor bare 5 pip -steder da? Ville du ikke trengt alle 9 for å lese terningene effektivt?
På grunn av terningens symmetri kan bruk av 5 spesifikke steder på terningen være nok til å fortelle forskjellen mellom de forskjellige tallene på terningene uavhengig av orientering (bilde 1). Dette gjør terningssensoren mer effektiv fordi den bare ser etter akkurat det den trenger og ingenting ekstra.
Emitteren går nøyaktig under mottakeren på sensoren på hvert av disse 5 pip -stedene, sensoren sender deretter ut IR -lyset og deretter leser mottakeren mengden IR -lys som spretter av terningens overflate. (bilde 3) Hvis verdien som mottas er større enn de spesifiserte kalibreringstallene, vil sensoren se dette stedet som en prikk, hvis ikke er det hvitt mellomrom. (bilde 2)
Trinn 2: Design og planlegging
Det første trinnet for å bygge en terningssensor er å lage skjemaene, dette kan enten være det vanskeligste eller enkleste trinnet i utviklingen. Du trenger først en programvare som heter EAGLE av Autodesk, dette var programvaren jeg brukte til å lage skjemaene.
Jeg har inkludert 2 forskjellige typer skjemaer, en skjematisk har en skiftregisterbrikke for å gjøre sensoren mer nøyaktig, og den andre er en uten skiftregisterbrikke, men denne skjematikken fungerer imidlertid ikke med koden jeg vil gi senere, så du må utvikle noe på egen hånd.
Jeg har også inkludert mitt brettoppsett for sensoren som jeg har designet med skiftregisteret.
For å begynne å designe brettet, har du 5 IR -mottakere og 5 IR -sendere, mottakerne krever en 10k motstand og emitterne krever en 270 ohm motstand, så for hvert av disse elementene går du fra:
VCC (5V) -> Motstand -> Analog lesestift -> IR -mottaker -> GND
VCC (5V) -> Motstand -> IR -sender -> GND
Den analoge lesepinnen kommer ut mellom motstanden og IR -mottakeren som en annen gren og går til den analoge pinnen på Arduino. Du må også sørge for at senderen går rett under mottakeren. Jeg gjorde denne feilen første gangen jeg gjorde det, og jeg fikk svært dårlige resultater, så sørg for at mottakeren går på toppen.
I det egendefinerte kortet bruker jeg skiftregisteret til å gi strøm til hvert av sender- og mottakerparene om gangen for å unngå IR -lysblødning fra de andre emitterne. Dette gir meg en enda mer nøyaktig avlesning fra hvert av pip -stedene. Hvis du valgte å ikke bruke skiftregisteret, vil det fortsatt fungere for deg, det kan bare være litt mindre nøyaktig. På skiftregisteret kan du feste pinnene 3-4 og 7-8 sammen, siden det ikke er helt nødvendig å ha dem som overskrifter. Jeg forlot dem som headers og satte hoppere på headers i tilfelle jeg ønsket å gjøre utvikling i fremtiden.
Etter at du har designet skjematikken, må du lage et brettoppsett av skjematikken. Denne delen kan bli veldig vanskelig fordi du må sørge for at banene ikke overlapper hverandre og sørge for at banene og hullene dine oppfyller spesifikasjonene til maskinen din. Brettoppsettet jeg vedlagte hadde de spesifikke størrelsene for maskinen som jeg brukte til å frese brettet mitt. Jeg bruker noen timer på å legge ut brettet for å være så liten som jeg kunne klare det. Det var fortsatt rom for forbedring på dette brettet, men det fungerte for meg, så jeg lot det være som det er. Det er en versjon med en kobber -GND som forbinder alle grunnelementene, og en versjon uten festing.
Du kan også bruke skjematikken din til å bygge den på et brødbrett eller prototypebrett, da disse er mye lettere å få tak i og er et billigere alternativ siden du ikke trenger å ha et tilpasset brett frest.
Når du har brettdesignet, kan du gå videre til neste trinn!
Trinn 3: Bygg styret
Denne delen er helt avhengig av hvordan du vil at brettet skal opprettes. Jeg opprettet sensoren på et prototypekort for å teste om konseptet fungerer og hvor nøyaktig det er, så jeg fulgte skjemaet uten skiftregisteret og jeg opprettet brettet. Du må sørge for å legge alt ut slik at linjene ikke overlapper hverandre, og at du ikke ved et uhell lodder linjer som ikke skal kobles til. Når du gjør det på et prototypebrett, må du være veldig forsiktig, så ta deg god tid og ikke haste det. Du bør også være forsiktig med åpne ledninger fordi de kan bevege seg og forårsake shorts i systemet.
Hvis du valgte å få brettet frestet, er denne prosessen enklere. Send tavlefilen til mølleren med de spesifikke freserens innstillinger. Hvis du gjør det selv, må du gjøre det før du tar det ut, og sørge for at alt kobberet er riktig frest dyp nok.
Sørg for at alt er loddet til brettet i ønsket layout og sørg for å ta deg god tid, og hvis lodding på kretskortet, må du lodde på riktig side av brettet.
Når du setter på IR -mottakere og sendere, må du kontrollere at senderen er nøyaktig under mottakeren. Du må leke med å bøye beina på IR -komponentene for å få dem på rett sted. Ha også en terning for hånden for å sjekke om pipene er der de må være.
Når du har alt loddet og lagt på brettet, er du i gang med å programmere sensoren.
Trinn 4: Programmering av styret
Dette er den vanskelige delen med å gjøre sensoren så nøyaktig som mulig, programmere brettet. Heldigvis har jeg opprettet et bibliotek som du kan bruke med din nyopprettede sensor for å gjøre det så enkelt å programmere den, men du må imidlertid kalibrere sensoren avhengig av belysningen hvor denne sensoren er plassert.
For å starte må du ha en Arduino for å koble til denne sensoren. Den bruker 5 analoge pinner og 3 digitale pinner.
Du har muligheten til å bruke biblioteket jeg laget til å velge dine egne analoge og digitale pinner, men jeg vil forklare det med pinnene jeg gjorde for å koble til sensoren. Jeg har merket bildet koblet med pin -tall og fargede bokser rundt settet med pins for enkelt å forklare hvilken pin som kobles til hvor.
På sensoren går pinne 1-5 rød til A0-A4, så rød 1 går til A0 og så videre. Pins 1-8 White krever litt mer forklaring.
Hvit 1 - Datapinne, det er her Arduino sender dataene til skiftregisteret. Jeg satte denne pinnen til digital pin 3 på Arduino
Hvit 2 - Q0, foreldet i denne saken, jeg inkluderte den i tilfelle jeg bestemte meg for å utvide i det hele tatt
Hvit 3 & 4 - Blir sammenkoblet, du kan enten lodde disse to sammen eller bruke en genser som jeg gjorde.
Hvit 5 - låsepinne, en veldig viktig pinne som er det siste trinnet i prosessen for å se at pipene slås av og på. Jeg satte denne pinnen til pinne 12 på Arduino
Hvit 6 - Clock Pin, Dette gir klokken fra Arduino til skiftregisteret. Jeg satte dette til digital pin 13.
Hvit 7 og 8 - Blir sammenkoblet, du kan enten lodde disse to sammen eller bruke en genser som jeg gjorde.
Rett ved siden av den hvite boksen har du bakken og VCC -pinnene. Du må levere 5v fra Arduino eller en annen kilde for å drive denne sensoren.
PIP -posisjonsnumre finnes i koden.
Nå som du må koble den til, må vi kalibrere den. Målet mitt var å lage et skript som kunne kalibrere det for deg, men jeg gikk tom for tid til å gjøre det. Når du kalibrerer, må du sørge for at sensoren er i et kontrollert lysmiljø, og føler at den er følsom for utsatt lys. Du må få en verdi fra hver pip -plassering med en svart prikk og en hvit prikk og gjennomsnittlig ut forskjellen. Jeg brukte bare to sider av terningen for å kalibrere, jeg brukte side 1, side 6 og side 6 rotert 90 grader. Når du har et tall for hvitt og svart for hvert pip -sted, må du gjennomsnittlig dem og finne midten av de to tallene. Så for eksempel, hvis jeg fikk 200 for hvitt fra det første pipestedet, og 300 for den mørke verdien til det første pipestedet, ville kalibreringsnummeret være 250. Når du gjør dette for alle 5 pipestasjonene, er sensoren din skikkelig kalibrert, så kan du bruke terning. ReadFace (); for å få terningens nåværende ansikt.
Trinn 5: Søknad
Du har nå opprettet en terningssensor! Gratulerer! Dette har vært en lang prøve og feiling for meg for å lage denne sensoren, så det er mitt mål å hjelpe alle der ute som ønsker å lage en terningssensor.
Jeg har tatt med noen eksempler på prosjektet som vi bygde som brukte denne sensoren. Det første bildet, vi brukte et padlehjul for å plassere terningene på toppen av sensoren riktig hver gang. Det andre bildet var det endelige produktet av prosjektet vårt, og basen vil rotere avhengig av hva terningen var, og det tredje bildet er en displayboks som jeg designet og bygde for å vise disse sensorene.
Muligheten for denne sensoren er uendelig hvis du tenker på det. Jeg håper du synes denne opplæringen er hyggelig og lærerik, og jeg håper du prøver å lage en selv.
Gud velsigne!
Anbefalt:
Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: 4 trinn
Raspberry Pi-TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: TMD26721 er en infrarød digital nærhetsdetektor som gir et komplett nærhetsdeteksjonssystem og digital grensesnittlogikk i en enkelt 8-pinners overflatemonteringsmodul. Nærhetsdeteksjonen inkluderer forbedret signal-til-støy og nøyaktighet. En proff
Infrarød lampe: 4 trinn
Infrarød lampe: Dette prosjektet viser en infrarød lampe som slås PÅ i et halvt minutt etter at den mottar et signal fra en TV -infrarød fjernkontroll. Du kan se kretsen som fungerer i videoen. Jeg designet en krets med BJT -transistorer etter å ha lest denne artikkelen: https
Infrarød kontrollert MP3 -spiller: 6 trinn (med bilder)
Infrarød kontrollert MP3 -spiller: Bygg en infrarød fjernkontroll MP3 -spiller for omtrent $ 10 (usd). Den har de vanlige funksjonene: spill, pause, spill neste eller forrige, spill en enkelt sang eller alle sangene. Den har også utjevningsvariasjoner og volumkontroll. Alt kan kontrolleres gjennom en r
Infrarød sender: 4 trinn
Infrarød sender: Denne artikkelen viser deg hvordan du lager en infrarød analog sender. Dette er en gammel krets. I dag brukes laserdioder til å overføre digitale signaler via optiske fibre. Denne kretsen kan brukes til å overføre lydsignal via infrarød. Du vil trenge
Bruke infrarød sensor med Arduino: 8 trinn (med bilder)
Bruke infrarød sensor med Arduino: Hva er en infrarød (aka IR) sensor? En IR -sensor er et elektronisk instrument som skanner IR -signaler i bestemte frekvensområder definert av standarder og konverterer dem til elektriske signaler på utgangspinnen (vanligvis kalt signalpinne) . IR -signalet