Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Forstå, hvordan det fungerer
- Trin 2: Design og planlægning
- Trin 3: Opbygning af bestyrelsen
- Trin 4: Programmering af bestyrelsen
- Trin 5: Ansøgning
Video: Infrarød terningssensor: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Mit navn er Calvin, og jeg vil vise dig, hvordan du laver en infrarød terningssensor og forklarer, hvordan det fungerer.
Jeg er i øjeblikket en Taylor University -studerende, der studerer Computer Engineering og mit team, og jeg blev bedt om at designe og bygge en mekanisme, der kan sortere ethvert objekt, der kan passe i en 1in -firkant. Vi kunne have taget den lette rute og valgt at sortere m & m's ved hjælp af en enkel farvesensor, men vi besluttede at gå ud over og sortere terninger efter det viste tal. Efter utallige timers forsøg på at finde en guide til, hvordan man læser terningens ansigt, løb jeg ind på dette link her:
makezine.com/2009/09/19/dice-reader-versio…
Dette link gav mig imidlertid ikke meget mere end ideen om, hvordan man læser terningens overflade, så ved hjælp af den idé, der blev givet, gik jeg videre til at bygge og udvikle en sensor, der kan forbindes med en Arduino med lethed og kan læse terningens overflade så præcist som muligt og dermed give os denne infrarøde terningssensor.
Forbrugsvarer
Nu til forsyningerne:
Du får brug for:
1 x Arduino Uno
5 x IR -modtagere
5 x IR -emittere
www.sparkfun.com/products/241
5 x 270 ohm modstande
5 x 10k ohm modstande
1 x 74HC595N chip
forskellige mandlige overskrifter
1 x prototype bord (hvis du ikke får et brugerdefineret fræset bord)
Trin 1: Forstå, hvordan det fungerer
Denne sensor bruger 5 pip -steder til at aflæse terningerne. Det bruger infrarødt lys til at hoppe ud af terningerne på disse pip -steder og fortæller controlleren, om det er hvidt eller sort.
Du undrer dig måske over, hvorfor kun 5 pip -placeringer så? Ville du ikke have brug for alle 9 for at læse terningerne effektivt?
På grund af terningens symmetri kan brug af 5 specifikke placeringer på terningerne være nok til at fortælle forskellen mellem de forskellige tal på terningerne uanset orientering (billede 1). Dette gør terningssensoren mere effektiv, fordi den kun leder efter præcis, hvad den har brug for og ikke noget ekstra.
Emitteren går præcist under modtageren på sensoren på hvert af disse 5 pip -steder, sensoren udsender derefter IR -lyset, og derefter læser modtageren mængden af IR -lys, der hopper af terningens overflade. (billede 3) Hvis den modtagne værdi er større end de angivne kalibreringsnumre, vil sensoren se stedet som en prik, hvis ikke, er det hvidt mellemrum. (billede 2)
Trin 2: Design og planlægning
Det første trin til at bygge en terningssensor er at oprette skemaerne, dette kan enten være det sværeste eller det letteste trin i udviklingen. Du skal først bruge en software kaldet EAGLE af Autodesk, dette var den software, jeg brugte til at oprette skemaerne.
Jeg har inkluderet 2 forskellige former for skemaer, den ene skematisk har en skifteregisterchip, der hjælper med at gøre sensoren mere præcis, og den anden er en uden en skifteregisterchip, men denne skematik fungerer dog ikke med den kode, jeg vil give senere, så du bliver nødt til at udvikle noget på egen hånd.
Jeg har også inkluderet mit bordlayout til den sensor, som jeg har designet med skiftregistret.
For at begynde at designe tavlen har du 5 IR -modtagere og 5 IR -emittere, modtagerne kræver en 10k modstand, og emitterne kræver en 270 ohm modstand, så for hvert af disse elementer går du fra:
VCC (5V) -> Modstand -> Analog læsestift -> IR -modtager -> GND
VCC (5V) -> Modstand -> IR -sender -> GND
Den analoge læsestift kommer ud mellem modstanden og IR -modtageren som en anden gren og går til den analoge pin på Arduino. Du skal også sørge for, at senderen går direkte under modtageren, jeg lavede denne fejl første gang, jeg gjorde det, og jeg fik meget dårlige resultater, så sørg for, at modtageren går ovenpå.
I mit brugerdefinerede bord bruger jeg skiftregistret til at levere strøm til hvert af sender- og modtagerparene ad gangen for at undgå, at IR -lys bløder fra de andre emittere. Dette giver mig en endnu mere præcis aflæsning fra hver af pip -lokaliteterne, hvis du vælger ikke at bruge skiftregistret, fungerer det stadig for dig, det kan bare være lidt mindre præcist. På skifteregisteret kan du slutte stifter 3-4 og 7-8 sammen, da det ikke er helt nødvendigt at have dem som overskrifter. Jeg forlod dem som headers og satte jumpere på headers, hvis jeg ville lave udvikling i fremtiden.
Når du har designet skematikken, skal du lave et bordlayout af din skematisk. Denne del kan blive meget vanskelig, fordi du skal sørge for, at dine stier ikke overlapper hinanden og sørge for, at dine stier og huller opfylder specifikationerne for din maskine. Bordlayoutet, jeg vedhæftede, havde de specifikke størrelser til maskinen, som jeg brugte til at fræse mit bord. Jeg bruger et par timer på at lægge tavlen ud til at være så lille, som jeg kunne klare den. Der var stadig plads til forbedringer på dette bord, men det fungerede for mig, så jeg forlod det som det er. Der er en version med en kobber -GND, der forbinder alle jordelementerne, og en version uden vedhæftet fil.
Du kan også bruge din skematik til at bygge den på et brødbræt eller et prototypebræt, da disse er meget lettere at komme til og er en billigere løsning, da du ikke behøver at have et tilpasset bræt fræset.
Når du har pladedesignet, kan du gå videre til næste trin!
Trin 3: Opbygning af bestyrelsen
Denne del er helt afhængig af, hvordan du vil have tavlen oprettet. Jeg oprettede sensoren på et prototypekort for at teste, om konceptet fungerer, og hvor præcist det er, så jeg fulgte skematikken uden skiftregistret, og jeg oprettede tavlen. Du skal sørge for at lægge alt ud, så linjerne ikke overlapper hinanden, og at du ikke ved et uheld lodder linjer, der ikke skal forbindes. Når du gør det på et prototypebræt, skal du være meget forsigtig, så tag dig god tid og skynd dig ikke. Du bør også være forsigtig med åbne ledninger, fordi de kan bevæge sig og forårsage shorts i systemet.
Hvis du vælger at få brættet fræset, er denne proces enklere. Send tavlefilen til mølleren med de specifikke møllers indstillinger. Hvis du gør det selv, skal du sørge for, at alt kobberet er slebet ordentligt dybt nok, før du tager det ud, det første bræt, jeg havde lavet, blev kobberet ikke fræset dybt nok, og jeg måtte få et andet fræset.
Sørg for, at alt er loddet til brættet i det ønskede layout, og sørg for at tage dig god tid, og hvis lodning på printkortet, skal du sørge for at lodde på den korrekte side af brættet.
Når du tager IR -modtagere og -emittere på, skal du sørge for, at emitteren er nøjagtigt under modtageren. Du bliver nødt til at lege med at bøje benene på IR -komponenterne for at få dem på det rigtige sted. Hold også en terning ved hånden for at kontrollere, om pip -placeringer er, hvor de skal være.
Når du har alt loddet og tilføjet på tavlen, skal du programmere sensoren.
Trin 4: Programmering af bestyrelsen
Dette er den vanskelige del af at gøre sensoren så nøjagtig som muligt ved at programmere tavlen. Heldigvis har jeg oprettet et bibliotek, som du kan bruge med din nyoprettede sensor for at gøre det meget lettere at programmere den, men du bliver imidlertid nødt til at kalibrere sensoren afhængigt af belysningen, hvor denne sensor er placeret.
For at starte skal du have en Arduino for at interface med denne sensor. Den bruger 5 analoge stifter og 3 digitale ben.
Du har evnen til at bruge det bibliotek, jeg lavede, til at vælge dine egne analoge og digitale pins, men jeg vil forklare det ved hjælp af de pins, jeg lavede til at interface med sensoren. Jeg har markeret billedet, der er forbundet med pin -numre og farvede kasser omkring sætnålene for let at forklare, hvilken pin der sættes i hvor.
På sensoren går ben 1-5 rød til A0-A4, så rød 1 går til A0 og så videre. Stifter 1-8 Hvid kræver lidt mere forklaring.
Hvid 1 - Datastift, det er her Arduino sender dataene til skifteregistret. Jeg satte denne pin til digital pin 3 på Arduino
Hvid 2 - Q0, forældet i denne sag, jeg inkluderede det, hvis jeg overhovedet besluttede at udvide
Hvid 3 & 4 - Vil blive parret, du kan enten lodde disse to sammen eller bruge en jumper som jeg gjorde.
Hvid 5 - låsestift, en meget vigtig stift, der er det sidste trin i processen for at se, at kernerne tændes og slukkes. Jeg satte denne pin til pin 12 på Arduino
Hvid 6 - Urnål, Dette giver uret fra Arduino til skifteregisteret. Jeg indstillede dette til digital pin 13.
Hvid 7 & 8 - Vil blive parret, du kan enten lodde disse to sammen eller bruge en jumper som jeg gjorde.
Lige ved siden af den hvide boks har du Ground- og VCC -benene. Du skal levere 5v fra Arduino eller en anden kilde for at drive denne sensor.
PIP -placeringsnumre findes i koden.
Nu hvor du skal tilslutte den, skal vi kalibrere den. Mit mål var at oprette et script, der kunne kalibrere det for dig, men jeg løb tør for tid til at gøre det. Når du kalibrerer, skal du sørge for, at sensoren er i et kontrolleret belysningsmiljø, og at den er følsom over for udefrakommende lys. Du skal få en værdi fra hver pip -placering med en sort prik og en hvid prik og gennemsnittet af forskellen. Jeg brugte kun to sider af terningerne til at kalibrere, jeg brugte side 1, side 6 og side 6 drejet 90 grader. Når du har et tal for hvidt og sort for hver pip -placering, skal du gennemsnitlige dem og finde midten af de to tal. Så for eksempel, hvis jeg fik 200 for hvid fra den første pip -placering og 300 for den mørke værdi af den første pip -placering, så ville kalibreringsnummeret være 250. Når du gør dette for alle 5 pip -placeringer, er din sensor korrekt kalibreret, så kan du bruge dice. ReadFace (); for at få terningens nuværende ansigt.
Trin 5: Ansøgning
Du har nu med succes oprettet en terningssensor! Tillykke! Dette har været en lang vej med forsøg og fejl for mig at oprette denne sensor, så det er mit mål at hjælpe alle derude, der ønsker at oprette en terningssensor.
Jeg har inkluderet et par eksempler på det projekt, vi bygger, der brugte denne sensor. Det første billede, vi brugte et skovlhjul til korrekt at placere terningens ovenpå toppen af sensoren hver gang. Det andet billede var det endelige produkt af vores projekt, og basen vil rotere afhængigt af hvad terningens ansigt var, og det tredje billede er en displayboks, som jeg har designet og bygget for at vise disse sensorer.
Muligheden for denne sensor er uendelig, hvis du tænker på det. Jeg håber, at du finder denne tutorial sjov og lærerig, og jeg håber, at du prøver at lave en til dig selv.
Gud bevare!
Anbefalede:
Raspberry Pi - TMD26721 Infrarød digital nærhedsdetektor Java Tutorial: 4 trin
Raspberry Pi-TMD26721 Infrarød digital nærhedsdetektor Java Tutorial: TMD26721 er en infrarød digital nærhedsdetektor, der leverer et komplet nærhedsdetekteringssystem og digital interface-logik i et enkelt 8-benet overflademonteringsmodul. Nærhedsdetektering inkluderer forbedret signal-til-støj og nøjagtighed. En pro
Infrarød lampe: 4 trin
Infrarød lampe: Dette projekt viser en infrarød lampe, der tændes i et halvt minut, efter at den har modtaget et signal fra en TV -infrarød fjernbetjening. Du kan se kredsløbet arbejde i videoen. Jeg designede et kredsløb med BJT -transistorer efter at have læst denne artikel: https
Infrarød styret MP3 -afspiller: 6 trin (med billeder)
Infrarød styret MP3 -afspiller: Byg en infrarød fjernbetjening MP3 -afspiller til omkring $ 10 (usd). Den har de sædvanlige funktioner: afspil, pause, afspil næste eller forrige, afspil en enkelt sang eller alle sangene. Det har også equalizervariationer og volumenkontrol. Alt kan kontrolleres gennem en r
Infrarød sender: 4 trin
Infrarød sender: Denne artikel viser dig, hvordan du laver en infrarød analog sender.Dette er et gammelt kredsløb. I dag bruges laserdioder til at transmittere digitale signaler via optiske fibre. Dette kredsløb kan bruges til at transmittere lydsignal via infrarød. Du får brug for
Brug af infrarød sensor med Arduino: 8 trin (med billeder)
Brug af infrarød sensor med Arduino: Hvad er en infrarød (aka IR) sensor? En IR -sensor er et elektronisk instrument, der scanner IR -signaler i specifikke frekvensområder defineret af standarder og konverterer dem til elektriske signaler på sin output pin (typisk kaldet signal pin) . IR -signalet