Innehållsförteckning:

Infraröd tärningssensor: 5 steg
Infraröd tärningssensor: 5 steg

Video: Infraröd tärningssensor: 5 steg

Video: Infraröd tärningssensor: 5 steg
Video: Infraröd 2024, Juli
Anonim
Infraröd tärningssensor
Infraröd tärningssensor
Infraröd tärningssensor
Infraröd tärningssensor

Mitt namn är Calvin och jag kommer att visa dig hur du gör en infraröd tärningssensor och förklara hur det fungerar.

Jag är för närvarande en Taylor University -student som studerar datateknik och mitt team och jag blev ombedd att designa och bygga en mekanism som kan sortera alla föremål som kan passa i en 1in kvadrat. Vi kunde ha tagit den enkla vägen och valt att sortera m & m med hjälp av en enkel färgsensor, men vi bestämde oss för att gå utöver och sortera tärningarna efter det visade numret. Efter otaliga timmar av att försöka hitta en guide om hur man läser tärningens ansikte stötte jag på denna länk här:

makezine.com/2009/09/19/dice-reader-versio…

Denna länk gav mig dock inte mycket mer än tanken på hur man läser tärningens ansikte, så med hjälp av den idé som gavs fortsatte jag med att bygga och utveckla en sensor som kan anslutas till en Arduino med lätthet och kan läsa tärningens ansikte så exakt som möjligt, vilket ger oss denna infraröda tärningssensor.

Tillbehör

Nu till förnödenheterna:

Du kommer behöva:

1 x Arduino Uno

5 x IR -mottagare

5 x IR -sändare

www.sparkfun.com/products/241

5 x 270 ohm motstånd

5 x 10k ohm motstånd

1 x 74HC595N -chip

olika manliga rubriker

1 x prototypkort (om du inte får en anpassad fräst bräda)

Steg 1: Förstå hur det fungerar

Förstå hur det fungerar
Förstå hur det fungerar
Förstå hur det fungerar
Förstå hur det fungerar

Denna sensor använder 5 pip -platser för att läsa tärningarna. Den använder infrarött ljus för att studsa från tärningens yta på dessa pipplatser och berättar för kontrollern om det är vitt eller svart.

Du kanske undrar, varför bara 5 pip -platser då? Skulle du inte behöva alla 9 för att läsa tärningarna effektivt?

På grund av tärningens symmetri kan det vara tillräckligt att använda 5 specifika platser på tärningarna för att se skillnaden mellan de olika siffrorna på tärningarna oavsett orientering (bild 1). Detta gör tärningssensorn mer effektiv eftersom den bara letar efter exakt vad den behöver och inget extra.

Sändaren går exakt under mottagaren på sensorn vid var och en av dessa 5 pipplatser, sensorn sänder sedan IR -ljuset och sedan läser mottagaren mängden IR -ljus som studsar av tärningens yta. (bild 3) Om det mottagna värdet är större än angivna kalibreringsnummer, kommer sensorn att se den platsen som en prick, om inte då är det vitt utrymme. (bild 2)

Steg 2: Design och planering

Design och planering
Design och planering
Design och planering
Design och planering
Design och planering
Design och planering
Design och planering
Design och planering

Det första steget för att bygga en tärningssensor är att skapa scheman, detta kan antingen vara det svåraste eller det enklaste steget i utvecklingen. Du behöver först en programvara som heter EAGLE av Autodesk, detta var programvaran jag använde för att skapa schemat.

Jag har inkluderat 2 olika typer av scheman, en schematisk har ett skiftregisterchip för att göra sensorn mer exakt och den andra är en utan ett skiftregisterchip, men den här schemat fungerar dock inte med koden som jag kommer att tillhandahålla senare, så du måste utveckla något på egen hand.

Jag har också inkluderat min brädlayout för sensorn som jag har designat med skiftregistret.

För att börja designa kortet har du 5 IR -mottagare och 5 IR -sändare, mottagarna kräver ett 10k -motstånd och sändarna kräver ett 270 ohm -motstånd så för vart och ett av dessa element går du från:

VCC (5V) -> Motstånd -> Analog lässtift -> IR -mottagare -> GND

VCC (5V) -> Motstånd -> IR -sändare -> GND

Den analoga lässtiftet kommer ut mellan motståndet och IR -mottagaren som en annan gren och går till den analoga stiftet på Arduino. Du måste också se till att sändaren går direkt under mottagaren, jag gjorde detta misstag första gången jag gjorde det och jag fick mycket dåliga resultat, så se till att mottagaren går överst.

I mitt anpassade kort använder jag skiftregistret för att ge ström till alla sändar- och mottagarpar ett i taget för att undvika att IR -ljus blöder från de andra sändarna. Detta ger mig en ännu mer exakt avläsning från var och en av piplägena. Om du valde att inte använda skiftregistret fungerar det fortfarande för dig, det kan bara vara lite mindre exakt. På skiftregistret kan du foga stiften 3-4 och 7-8 ihop, eftersom det inte är helt nödvändigt att ha dem som rubriker. Jag lämnade dem som rubriker och satte hoppare på rubrikerna om jag ville göra utveckling i framtiden.

Efter att du har utformat schemat måste du göra en skisslayout av ditt schema. Den här delen kan bli väldigt knepig eftersom du måste se till att dina vägar inte överlappar varandra och se till att dina banor och hål uppfyller specifikationerna för din maskin. Brädlayouten som jag bifogade hade de specifika storlekarna för maskinen som jag använde för att fräsa min bräda. Jag lägger några timmar på att lägga ut brädan så att jag kan klara den. Det fanns fortfarande utrymme för förbättringar på denna tavla men det fungerade för mig så jag lämnade det som det är. Det finns en version med en koppar -GND som ansluter alla markelementen, och en version utan bifogad.

Du kan också använda din schema för att bygga den på en brödbräda eller prototypbräda, eftersom dessa är mycket lättare att få tag på och är ett billigare alternativ eftersom du inte behöver fräsa en anpassad bräda.

När du har designat brädet kan du gå vidare till nästa steg!

Steg 3: Bygga styrelsen

Bygga styrelsen
Bygga styrelsen
Bygga styrelsen
Bygga styrelsen
Bygga styrelsen
Bygga styrelsen

Denna del är helt beroende av hur du vill att styrelsen ska skapas. Jag skapade sensorn på ett prototypkort för att testa om konceptet fungerar och hur exakt det är, så jag följde schemat utan skiftregistret och jag skapade kortet. Du måste se till att lägga ut allt så att linjerna inte överlappar varandra, och att du inte råkar löd ut linjer som inte ska anslutas. När du gör det på en prototypbräda måste du vara mycket försiktig, så ta dig tid och skynda dig inte. Du bör också vara försiktig med öppna ledningar eftersom de kan röra sig och orsaka kortslutningar i systemet.

Om du väljer att låta brädet fräsas är denna process enklare. Skicka kortfilen till fräsaren med de specifika fräsarens inställningar. Om du gör det själv, gör det innan du tar ut det, se till att allt koppar är ordentligt malet tillräckligt djupt.

Se till att allt är lödt på brädet i den önskade layouten och se till att ta dig tid, och om du lödde på kretskortet, se till att du lödde på rätt sida av brädet.

När du sätter på IR -mottagare och sändare, se till att sändaren är exakt under mottagaren. Du måste leka med att böja benen på IR -komponenterna för att få dem på rätt plats. Håll en tärning till hands också för att kontrollera om piplägena är där de behöver vara.

När du har allt lödt och lagt till på kortet kan du programmera sensorn.

Steg 4: Programmering av styrelsen

Programmering av styrelsen
Programmering av styrelsen
Programmering av styrelsen
Programmering av styrelsen

Detta är den knepiga delen med att göra sensorn så exakt som möjligt, programmera kortet. Lyckligtvis har jag skapat ett bibliotek som du kan använda med din nyskapade sensor för att göra programmeringen så mycket enklare, men du måste dock kalibrera sensorn beroende på belysningen där sensorn är placerad.

För att starta måste du ha en Arduino för att ansluta till denna sensor. Den använder 5 analoga stift och 3 digitala stift.

Du har möjlighet att använda biblioteket jag skapade för att välja dina egna analoga och digitala stift, men jag kommer att förklara det med hjälp av stiften som jag gjorde för att ansluta till sensorn. Jag har markerat bilden som är länkad med stiftnummer och färgade rutor runt uppsättningen nålar för att enkelt förklara vilken nål som ansluts till var.

På sensorn går stift 1-5 rött till A0-A4, så röda 1 går till A0 och så vidare. Pins 1-8 White kräver lite mer förklaring.

Vit 1 - Datastift, det är här Arduino skickar data till skiftregistret. Jag ställde in denna stift till digital stift 3 på Arduino

Vit 2 - Q0, föråldrad i det här fallet, jag inkluderade det om jag bestämde mig för att utöka alls

Vit 3 & 4 - Kommer att paras ihop, du kan antingen löda ihop dessa två eller använda en bygel som jag gjorde.

Vit 5 - spärrstift, en mycket viktig stift som är det sista steget i processen för att se piparna slås på och av. Jag ställde in denna stift till stift 12 på Arduino

Vit 6 - Klocknål, Detta ger klockan från Arduino till skiftregistret. Jag ställde in detta på digital pin 13.

Vit 7 & 8 - Kommer att paras ihop, du kan antingen lödda ihop dessa två eller använda en bygel som jag gjorde.

Precis bredvid den vita rutan har du marken och VCC -stiften. Du måste tillhandahålla 5v från Arduino eller en annan källa för att driva den här sensorn.

PIP -platsnummer finns i koden.

Nu när du måste ansluta den måste vi kalibrera den. Mitt mål var att skapa ett skript som kunde kalibrera det åt dig men jag fick slut på tid att göra det. När du kalibrerar måste du se till att sensorn befinner sig i en kontrollerad belysningsmiljö och känner av att den är känslig för yttre ljus. Du måste få ett värde från varje pip -plats med en svart prick och en vit prick och genomsnittet ut skillnaden. Jag använde endast två sidor av tärningarna för att kalibrera, jag använde sida 1, sida 6 och sida 6 roterade 90 grader. När du har ett nummer för vitt och svart för varje pip -plats måste du genomsnitta dem och hitta mitten av de två talen. Så till exempel, om jag fick 200 för vitt från den första pipplatsen och 300 för det mörka värdet för den första pipplatsen, skulle kalibreringsnumret vara 250. När du har gjort detta för alla 5 pipplatser är din sensor korrekt kalibrerad, då kan du använda dice. ReadFace (); för att få tärningens nuvarande ansikte.

Steg 5: Ansökan

Ansökan
Ansökan
Ansökan
Ansökan
Ansökan
Ansökan

Du har nu lyckats skapa en tärningssensor! Grattis! Detta har varit en lång väg med försök och fel för mig att skapa den här sensorn, så det är mitt mål att hjälpa alla där ute som vill skapa en tärningssensor.

Jag har inkluderat några exempel på projektet som vi bygger som använde denna sensor. Den första bilden, vi använde ett paddelhjul för att korrekt placera tärningens ovansida på sensorn varje gång. Den andra bilden var den slutliga produkten av vårt projekt, och basen kommer att rotera beroende på vad tärningsytan var, och den tredje bilden är en displaybox som jag designade och byggde för att visa dessa sensorer.

Möjligheten för denna sensor är oändlig om du tänker på det. Jag hoppas att du tycker att denna handledning är trevlig och lärorik, och jag hoppas att du försöker göra en själv.

Gud välsigna!

Rekommenderad: