Innholdsfortegnelse:

Persistence of Vision Fidget Spinner: 8 trinn (med bilder)
Persistence of Vision Fidget Spinner: 8 trinn (med bilder)

Video: Persistence of Vision Fidget Spinner: 8 trinn (med bilder)

Video: Persistence of Vision Fidget Spinner: 8 trinn (med bilder)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Juli
Anonim
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner

Dette er en fidget spinner som bruker Persistence of Vision -effekten, som er en optisk illusjon der flere diskrete bilder smelter sammen til et enkelt bilde i det menneskelige sinn.

Teksten eller grafikken kan endres via Bluetooth Low Energy -lenken ved å bruke et PC -program som jeg har programmert i LabVIEW eller ved å bruke en fritt tilgjengelig smarttelefon BLE -app.

Alle filer er tilgjengelige. Skjematisk og fastvare er knyttet til denne instruksjonsboken. Gerber -filer er tilgjengelige på denne lenken siden jeg ikke kan laste opp zip -filer her: Gerbers

Trinn 1: Forskjell mellom andre POV -enheter på markedet

Forskjellen mellom andre POV -enheter på markedet
Forskjellen mellom andre POV -enheter på markedet

En av de viktigste egenskapene er at den viste grafikken ikke er avhengig av rotasjonshastighet takket være den innovative løsningen for å holde rotasjonsvinkelen. Det betyr at den viste grafikken oppfattes den samme ved både høyere og lavere rotasjonshastigheter (for eksempel når fidget -spinneren bremser når den holdes i hånden). Mer om dette i trinn 3.

Dette er også en av hovedforskjellene mellom forskjellige POV -enheter på markedet (POV -klokker, etc.) som må ha en konstant rotasjonshastighet for at bildet skal vises riktig. Det er også verdt å merke seg at alle komponentene er valgt for å ha lavest mulig energibruk i et forsøk på å forlenge batterilevetiden

Trinn 2: Teknisk beskrivelse

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

Den bruker forbedret Microchip PIC 16F1619 mikrokontroller som kjerne. MCU har innebygd periferutstyr for vinkelklokker som bruker en omnipolar Hall-sensor DRV5033 og en magnet for å holde oversikten over gjeldende rotasjonsvinkel.

Grafikken vises med totalt 32 lysdioder, 16 grønne og 16 røde lysdioder (nominell strøm 2mA). Diodene drives av to 16 -kanals konstantstrømskiftregistreringsdrivere TLC59282 koblet til en daisy chain. For å ha ekstern tilgang til enheten, er det en Bluetooth Low Energy -modul RN4871 som kommuniserer til mikrokontrolleren via UART -grensesnitt. Enheten kan nås fra enten en personlig datamaskin eller en smarttelefon. Enheten slås på ved hjelp av en kapasitiv berøringsknapp som er innebygd under loddemasken på kretskortet. Utgangen fra den kapasitive IC PCF8883 mates til OR -logikkporten BU4S71G2. Den andre inngangen til OR -portene er et signal fra MCU. Utgangen fra ELLER-portene er koblet til Enable-pinnen til en nedtrappingsomformer TPS62745. Ved å bruke dette oppsettet kan jeg slå enheten på/av ved å bruke bare en berøringsknapp. Kapasitiv knapp kan også brukes til å skifte mellom forskjellige driftsmåter eller for eksempel å slå på Bluetooth -radioen bare når det er nødvendig for å spare energi.

Step down converter TPS62745 konverterer 6V nominelt fra batteriene til en stabil 3.3V. Jeg har valgt denne omformeren fordi den har høy effektivitet med lette belastninger, lav hvilestrøm, opererer med en liten 4,7uH spole, den har integrert inngangsspenningsbryter som jeg bruker til å måle batteriets kapasitet med minimalt strømforbruk og utgangsspenningen er bruker- velges med fire innganger i stedet for tilbakemeldingsmotstander (reduserer styklisten). Enheten sovner automatisk etter 5 minutters inaktivitet. Det nåværende forbruket i søvn er mindre enn 7uA.

Batteriene er plassert på baksiden som vist på bildet.

Trinn 3: Hold styr på rotasjonsvinkelen

Holde styr på rotasjonsvinkelen
Holde styr på rotasjonsvinkelen
Holde styr på rotasjonsvinkelen
Holde styr på rotasjonsvinkelen

Rotasjonsvinkelen spores "av maskinvare" snarere av programvare, noe som betyr at CPUen har mye mer tid til disposisjon for å utføre andre oppgaver. Til det har jeg brukt Angular Timer perifer som er innebygd i den brukte mikrokontrolleren PIC 16F1619.

Inngang til Angular Timer er et signal fra Hall -sensor DRV5033. Hall -sensoren vil generere en puls hver gang en magnet passerer forbi den. Hall -sensoren er plassert ved den roterende delen av enheten mens magneten er plassert på en statisk del som brukeren holder enheten for. Siden jeg bare brukte en magnet som betyr at Hall -sensoren vil produsere en puls som gjentas hver 360 °. Samtidig vil Angular Timer generere 180 pulser per omdreining der hver puls representerer 2 ° rotasjon. Jeg velger 180 pulser, og ikke 360 ° for eksempel, fordi jeg fant 2 ° for å være den perfekte avstanden mellom de to kolonnene i et trykt tegn. Angular Timer håndterer all den beregningen automatisk og justeres automatisk hvis tiden mellom de to sensorpulsene endres på grunn av rotasjonshastigheten endres. Positonen til magneten og Hall -sensoren er vist på vedlagte foto.

Trinn 4: Ekstern tilgang

Fjerntilgang
Fjerntilgang

Jeg ønsket en måte å endre visningsteksten dynamisk og ikke bare ved å hardt kode den inn i koden. Jeg har valgt BLE fordi den bruker en veldig liten mengde energi og den brukte brikken RN4871 er bare 9x11,5 mm i dimensjon.

Via BT -lenken er det mulig å endre teksten som vises og fargen - rød eller grønn. Batterinivået kan også overvåkes for å vite når det er på tide å bytte batterier. Enheten kan styres via dataprogrammer programmert i LabVIEW grafisk programmeringsmiljø eller ved å bruke en fritt tilgjengelig smarttelefon BLE -applikasjon som har muligheten til å skrive direkte til de valgte BLE -egenskapene til en tilkoblet enhet. For å sende informasjonen fra en PC/smarttelefon til enheten brukte jeg en tjeneste med tre egenskaper, hver identifisert med et håndtak.

Trinn 5: PC -applikasjon

PC -applikasjon
PC -applikasjon

I øverste venstre hjørne har vi kontroller for oppstart av National Instruments BLE-serverprogrammet. Det er en kommandolinjeapplikasjon fra NI som skaper en bro mellom BLE -modulen på en datamaskin og LabVIEW. Den bruker HTTP -protokoll for å kommunisere. Grunnen til å bruke dette programmet er at LabVIEW bare har innebygd støtte for Bluetooth Classic og ikke for BLE.

Etter vellykket tilkobling vises MAC -adressen til en tilkoblet enhet til høyre, og den delen er ikke nedtonet lenger. Der kan vi sette den bevegelige grafikken og fargen eller bare sende et mønster for å slå lysdiodene på eller av når enheten ikke snurrer. Jeg har brukt den til testformål.

Trinn 6: Font

Skrift
Skrift

Engelsk alfabetskrifttype ble generert ved hjelp av en fritt tilgjengelig programvare "The Dot Factory", men jeg måtte gjøre noen endringer før jeg lastet den opp til mikrokontrolleren.

Årsaken til det er PCB -layout som er "ikke i orden", noe som betyr at utgangen 0 fra LED -driveren kanskje ikke er koblet til LED 0 på PCB, OUT 1 er ikke koblet til LED 1, men heller til LED15 for eksempel, og osv. Den andre grunnen er at programvaren bare har lov til å generere 2x8bit skrift, men enheten har 16 LED for hver farge, så jeg trengte en 16bit høy skrift. Så jeg trengte å lage en programvare som ville skifte noen få biter for å kompensere for PCB -layout og kombinere dem til en 16 -biters verdi. På grunn av det utviklet jeg en egen applikasjon i LabVIEW som tar skriften som er generert i "The Dot Factory" som input og transformerer den for å passe behovene til dette prosjektet. Siden de røde og grønne LED -PCB -oppsettene er forskjellige, trengte jeg å bruke to fonter. Utgangen for den grønne skriften er vist på bildet nedenfor.

Trinn 7: Programmering av Jig

Programmering Jig
Programmering Jig

På bildet kan du se programmeringsjiggen som ble brukt til å programmere enheten.

Siden jeg etter hver programmering må plukke opp enheten og snurre den for å se endringene jeg ikke ønsket å bruke standard programmeringshoder eller bare lodde programmeringstrådene. Jeg brukte Pogo -pinner som har en liten fjær inni seg, slik at de passer veldig tett til viasene på PCB. Ved å bruke dette oppsettet kan jeg programmere mikrokontrolleren veldig raskt og trenger ikke å bekymre meg for programmering av ledninger eller loddetinnet etter å ha loddet disse ledningene.

Trinn 8: Konklusjon

Konklusjon
Konklusjon

For å oppsummere, vil jeg påpeke at ved å bruke periferienheten Angul Timer oppnådde jeg en POV -enhet som ikke er avhengig av rotasjonshastighet, så kvaliteten på den viste grafikken holdes den samme ved både høyere og lavere hastigheter.

Ved nøye design ble det klart å implementere en lavenergiløsning som vil forlenge batteriets levetid. Når det gjelder ulempene med dette prosjektet, vil jeg påpeke at det ikke er mulig å lade brukte batterier, så det er nødvendig å bytte batteri nå og da. Navnebatterier fra den lokale butikken varte i omtrent 1 måned med daglig bruk. Bruksområder: Denne enheten kan brukes i en rekke salgsfremmende formål eller som læremiddel i for eksempel elektroteknikk eller fysikk. Det kan også brukes som et terapeutisk hjelpemiddel for å øke oppmerksomheten for de med Attention Deficit Hyperactivity Disorder (ADHD) eller rolige symptomer på angst.

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

Førstepremie i PCB Design Challenge

Anbefalt: