Indholdsfortegnelse:

Persistence of Vision Fidget Spinner: 8 trin (med billeder)
Persistence of Vision Fidget Spinner: 8 trin (med billeder)

Video: Persistence of Vision Fidget Spinner: 8 trin (med billeder)

Video: Persistence of Vision Fidget Spinner: 8 trin (med billeder)
Video: How to Make a POV Display (Persistence of Vision) | Arduino Electronics Project 2024, Juli
Anonim
Vedholdenhed af Vision Fidget Spinner
Vedholdenhed af Vision Fidget Spinner
Vedholdenhed af Vision Fidget Spinner
Vedholdenhed af Vision Fidget Spinner
Vedholdenhed af Vision Fidget Spinner
Vedholdenhed af Vision Fidget Spinner

Dette er en fidget spinner, der bruger Persistence of Vision -effekten, som er en optisk illusion, hvorved flere diskrete billeder smelter sammen til et enkelt billede i det menneskelige sind.

Teksten eller grafikken kan ændres via Bluetooth Low Energy -link ved hjælp af et pc -program, som jeg har programmeret i LabVIEW eller ved at bruge en frit tilgængelig smartphone BLE -app.

Alle filer er tilgængelige. Skematisk og firmware er knyttet til denne instruktionsbog. Gerber -filer er tilgængelige på dette link, da jeg ikke kan uploade zip -filer her: Gerbers

Trin 1: Forskel mellem andre POV -enheder på markedet

Forskellen mellem andre POV -enheder på markedet
Forskellen mellem andre POV -enheder på markedet

En af de vigtigste egenskaber er, at den viste grafik ikke er afhængig af rotationshastighed takket være dens innovative løsning til at holde styr på rotationsvinklen. Det betyder, at den viste grafik opfattes det samme ved både højere og lavere rotationshastigheder (f.eks. Når fidget -spinneren bremser, når den holdes i hånden). Mere om dette i trin 3.

Dette er også en af de største forskelle mellem forskellige POV -enheder på markedet (POV -ure osv.), Som skal have en konstant rotationshastighed for at billedet kan vises korrekt. Det er også værd at bemærke, at alle komponenter er valgt til at have det lavest mulige energiforbrug i et forsøg på at forlænge batteriets levetid

Trin 2: Teknisk beskrivelse

Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse
Teknisk beskrivelse

Den bruger forbedret Microchip PIC 16F1619 mikrokontroller som kerne. MCU'en har indbygget kantet timerudstyr, der bruger omnipolar Hall-sensor DRV5033 og en magnet til at holde styr på den aktuelle rotationsvinkel.

Grafikken vises ved hjælp af i alt 32 lysdioder, 16 grønne og 16 røde lysdioder (nominel strøm 2mA). Dioderne drives af to 16 -kanals konstantstrømskiftregistreringsdrivere TLC59282 forbundet i daisy chain. For at have fjernadgang til enheden er der et Bluetooth Low Energy -modul RN4871, som kommunikerer til mikrokontrolleren via UART -interface. Enheden kan tilgås fra enten en personlig computer eller en smartphone. Enheden tændes ved hjælp af en kapacitiv berøringsknap, der er indlejret under loddemasken på printkortet. Outputtet fra den kapacitive IC PCF8883 føres til OR -logikporten BU4S71G2. Den anden indgang til OR -portene er et signal fra MCU'en. Outputtet fra ELLER-porte er forbundet til aktiveringsnålen på en trin-ned-konverter TPS62745. Ved at bruge denne opsætning kan jeg tænde/slukke for enheden ved kun at bruge en enkelt berøringsknap. Kapacitiv knap kan også bruges til at skifte mellem forskellige driftsmåder eller for eksempel kun at tænde for bluetooth -radioen, når det er nødvendigt for at spare energi.

Step down converter TPS62745 konverterer 6V nominelt fra batterierne til en stabil 3,3V. Jeg har valgt denne konverter, fordi den har høj effektivitet med lette belastninger, lav hvilestrøm, fungerer med en lille 4,7uH spole, den har integreret indgangsspændingsafbryder, som jeg bruger til at måle batteriets kapacitet med minimalt strømforbrug, og udgangsspændingen er bruger- vælges med fire indgange frem for feedbackmodstande (reducerer stykliste). Enheden går automatisk i dvale efter 5 minutters inaktivitet. Det nuværende forbrug i søvn er mindre end 7uA.

Batterierne er placeret på bagsiden som vist på billedet.

Trin 3: Hold styr på rotationsvinklen

Hold styr på rotationsvinklen
Hold styr på rotationsvinklen
Hold styr på rotationsvinklen
Hold styr på rotationsvinklen

Rotationsvinklen spores "af hardware" snarere af software, hvilket betyder, at CPU'en har meget mere tid til rådighed til at udføre andre opgaver. Til det har jeg brugt Angular Timer perifer, som er indbygget i den brugte mikrokontroller PIC 16F1619.

Input til Angular Timer er et signal fra Hall -sensor DRV5033. Hall -sensoren genererer en puls hver gang en magnet passerer forbi den. Hall -sensoren er placeret ved den roterende del af enheden, mens magneten er placeret på en statisk del, som brugeren holder enheden for. Da jeg kun brugte en magnet, der betyder, at Hall -sensoren vil producere en puls, der gentages hver 360 °. Samtidig vil Angular Timer generere 180 pulser pr. Omdrejning, hvor hver puls repræsenterer 2 ° rotation. Jeg vælger 180 pulser, og ikke 360 ° for eksempel, fordi jeg fandt 2 ° for at være den perfekte afstand mellem de to kolonner i et trykt tegn. Angular Timer håndterer al den beregning automatisk og justeres automatisk, hvis tiden mellem de to sensorimpulser ændres på grund af rotationshastigheden. Positonen på magneten og Hall -sensoren er vist på det vedhæftede foto.

Trin 4: Fjernadgang

Fjernadgang
Fjernadgang

Jeg ville have en måde at ændre den viste tekst dynamisk og ikke bare ved hårdt at kode den ind i koden. Jeg har valgt BLE, fordi den bruger en meget lille mængde energi, og den brugte chip RN4871 er kun 9x11,5 mm i dimension.

Via BT -link er det muligt at ændre den viste tekst og dens farve - rød eller grøn. Batteriniveauet kan også overvåges for at vide, hvornår det er tid til at udskifte batterierne. Enheden kan styres via computerprogram, der er programmeret i LabVIEW grafisk programmeringsmiljø eller ved hjælp af en frit tilgængelig smartphone BLE -applikation, som har mulighed for direkte at skrive til de valgte BLE -egenskaber for en tilsluttet enhed. Til at sende oplysningerne fra en pc/smartphone til enheden brugte jeg en tjeneste med tre karakteristika, der hver blev identificeret med et håndtag.

Trin 5: PC -applikation

PC -applikation
PC -applikation

I øverste venstre hjørne har vi kontrolelementer til opstart af National Instruments BLE-serverapplikationen. Det er en kommandolinjeapplikation fra NI, som skaber en bro mellem BLE -modulet på en computer og LabVIEW. Det bruger HTTP -protokol til at kommunikere. Grunden til at bruge denne applikation er, at LabVIEW kun har native support til Bluetooth Classic og ikke til BLE.

Efter en vellykket forbindelse vises MAC -adressen på en tilsluttet enhed til højre, og den del er ikke nedtonet længere. Der kan vi indstille den bevægelige grafik og dens farve eller bare sende et mønster til at tænde eller slukke lysdioderne, når enheden ikke drejer, det har jeg brugt til testformål.

Trin 6: Skrifttype

Skrifttype
Skrifttype

Engelsk alfabet skrifttype blev genereret ved hjælp af en frit tilgængelig software "The Dot Factory", men jeg var nødt til at foretage et par ændringer, før jeg kunne uploade den til mikrokontrolleren.

Årsagen til det er PCB -layout, der er "ikke i orden", hvilket betyder, at output 0 fra LED -driver måske ikke er forbundet til LED 0 på PCB, OUT 1 er ikke forbundet til LED 1, men snarere til LED15 for eksempel, og osv. Den anden grund er, at softwaren kun må generere 2x8bit skrifttype, men enheden har 16 LED for hver farve, så jeg havde brug for en 16bit høj skrifttype. Så jeg havde brug for at lave en software, der ville flytte et par bits for at kompensere for PCB -layout og kombiner dem til en 16bit værdi. Derfor udviklede jeg en separat applikation i LabVIEW, der tager skrifttypen genereret i "The Dot Factory" som input og transformerer den til at passe til dette projekts behov. Da de røde og grønne LED PCB -layout er forskellige, havde jeg brug for at bruge to skrifttyper. Outputtet til den grønne skrifttype er vist på billedet herunder.

Trin 7: Programmering af Jig

Programmering Jig
Programmering Jig

På billedet kan du se programmeringsjiggen, der blev brugt til at programmere enheden.

Da jeg efter hver programmering skal tage enheden op og dreje den for at se de ændringer, jeg ikke ønskede at bruge standard programmeringsoverskrifter eller bare lodde programmeringstrådene. Jeg brugte Pogo pins, der har en lille fjeder inde i dem, så de passer meget tæt til vias på printkortet. Ved at bruge denne opsætning er jeg i stand til at programmere mikrokontrolleren meget hurtigt og behøver ikke bekymre mig om programmering af ledninger eller det resterende loddemateriale efter aflodning af disse ledninger.

Trin 8: Konklusion

Konklusion
Konklusion

For at opsummere vil jeg gerne påpege, at jeg ved hjælp af Angul Timer -periferiudstyr har opnået en POV -enhed, der ikke afhænger af rotationshastighed, så kvaliteten af den viste grafik holdes den samme ved både højere og lavere hastigheder.

Ved omhyggelig design lykkedes det at implementere en lavenergiløsning, som forlænger batteriets levetid. Hvad angår ulemperne ved dette projekt, vil jeg gerne påpege, at der ikke er mulighed for at oplade de brugte batterier, så det er nødvendigt at udskifte batteriet nu og da. Ikke-navnebatterier fra den lokale butik varede cirka 1 måned med daglig brug. Anvendelser: Denne enhed kan bruges til forskellige reklameformål eller som undervisningsmiddel i f.eks. Elektroteknik eller fysik. Det kan også bruges som et terapeutisk hjælpemiddel til at øge opmærksomheden for dem med Attention Deficit Hyperactivity Disorder (ADHD) eller rolige symptomer på angst.

PCB Design Challenge
PCB Design Challenge
PCB Design Challenge
PCB Design Challenge

Første præmie i PCB Design Challenge

Anbefalede: