Persistens av vision



den ursprungliga idén till projektet kom från David Bjanes som har många projekt i hans Projektkön lysande sinne. Inspirationen kom när David såg en video av en liknande POV display på Youtube.com. Vi kontaktade Bruce Land, vår professor, för att diskutera huruvida detta faktiskt skulle vara en livskraftig projektidé. Därefter började vi brainstorming om inriktningen av vår POV display. Några idéer som vi hade sett orienterade skärmen på en propeller eller cirkulär klockan, medan andra snurrade displayen runt en cylinder. Vi valde att bygga kolumn stil POV display för att minska komplexiteten i mappa ett Cartesian koordinerat system (finns i de flesta rektangulära bildskärmar) till en polär koordinatsystem.
Logiken bakom vårt projekt är mycket enkel. Vår programvara måste beräkna rotationer per minut (RPM) och release och tidsfristen tider som ange tidslängden för att visa varje "pixel" i displayen (förklaras i programvara avsnitt). Från en hög nivå design, vi helt enkelt mäta perioden av varje rotation, delar tid av uthänget tar för att rotera genom det avsnittet av antalet pixlar vill vi Visa och sedan beräkna hur lång tid varje pixel upptar under rotationen. Genom att aktivera en lysdiod (LED) för bara den tid tid, kan vi Visa pixeln. Således har vi kartlagt hela visningsområdet till en 14 av 90 matris där varje element i matrisen är en pixel som kan ha något rött, grönt och blått (RGB) värde. Arten av vår design kan mjukvaran och järnvaror design ska vara oberoende av varandra när det gäller avvägningar. Ju mer robust vår hårdvara blir (knyta ner ledningar och säkra styrelser), desto säkrare vårt projekt blir. Ju mer robust vi göra vår programvara (robust tillståndsdator och LED mappning), mer optimerad och felfri vårt projekt blir. Det enda fallet där våra beslut om vilken hårdvara vi använde drabbade programvara beslut var när vi mötte minnesproblem i RAM-minnet när upplösningen på vår visning blev för stor. På våra mikrokontroller, ATmega644, för att öka upplösningen på displayen (dvs. att lagra en större matris som innehöll den pixel informationen), skulle vi behöva ytterligare minnesmoduler att tillhandahålla denna funktion. Vi bestämde oss mot detta på grund av tid och utrymme begränsningar på armen för sig själv. Vårt projekt använder två standarder, seriell perifera gränssnitt (SPI) och IEEE 802.11 för våra trådlös radiokommunikation. Standarden för SPI består av en 4-tråd seriell buss som gör en master/slav kommunikationsläget. Ledningarna är följande: SCLK: serial clock (utgång från master) MOSI: master slave input (utgång från master)-utdata MISO: master input, slave output (output från slav) SS: slav Välj (utgång från master) The IEEE 802.11-standarden är för den trådlösa radion som kontrolleras av FCC-reglerna för radiofrekvens enheter. Denna förordning kan hittas under titeln 47 del 15 243 på webbplatsen FCC förordningar. Eftersom vår radio transceiver ritades i FCC-reglerna, uppfyller det alla specifikationer som nämnts i avsnittet, särskilt 500 mikrovolt/meter på 30 meter. Våra projekt omfattar inte alla befintliga patent, upphovsrätt eller varumärken. Vi har utformat all hårdvara från början och all programvara är våra originalverket med viss hjälp från klasskamrater och Professor mark. Utforma topp elkonstruktion de elektriska komponenter som används är: figur 2. ombord ATmega644 mikrokontroller. Fordonsbaserade ATmega644 mikrokontroller (ombord utveckling) stillastående ATmega644 mikrokontroller (ombord utveckling) 5 MAX 6966 controller chips14 RGB LEDs1 9V battery1 par IR-sändare och receiver2 WI.232FHSS-25-R radio sändtagare från Radiotronix2 WI.232FHSS-25-FCC-R bryta ut bräder från RadiotronixLP2951 linjär RegulatorLM340-15 linjära RegulatorVarious motstånd och capacitorsVarious ledningar och huvudet pinsThere är två huvudsakliga elektriska mönster till detta projekt, ombord (bifogas spinning arm) och det stationära systemet. Det primära syftet med ombord är att faktiskt sätta på och stänga LED är baserat på en två dimensionell matris (beskrivs ytterligare i avsnittet software). Onboard kretsen består av en ATmega644 (figur 2) mikrokontroller som drivs av ett 9V batteri (också ombord). För att vända på lysdioderna, mikrokontroller kommer att fungera som en ledar-SPI och MAX 6966 kommer att fungera som SPI slavar. Master, mikrokontroller, kommunicerar till slav flis via SPI bussen. Det kommer att sända följetong kommandon att skriva registren på MAX6966 marker. På slav slutet får target MAX 6966 chip en 4-bitars värde som det motsvarar en PWM duty cycle mata på specifik port anslutna till ett mål LED. Onboard kretsen Schematisk visar alla fem MAX 6966 marker kontrollera 14 RGB (röd, blå och grön) LED'S. Max marker drivs av en 3V3 regulator från 5V tåg från mikrokontroller och lysdioder kommer att drivas från att järnvägen. Dessutom ombord mikrokontroller kommer vara beräkningen av RPM (varv per minut) vid varje rotation att justera skärmen beroende på hur snabbt armen snurrar. Slutligen kommer ombord mikrokontroller kommunicera med stationära mikrokontroller via radio enheter. Figur 3. Onboard MAX 6966 chips som styr lysdioderna. Varje MAX6966 chip (figur 3) har 10 utgångsstift och en SPI input bus. Eftersom varje LED kontrolleras av 3 stift, varje MAX6966 chip kan styra 3 lysdioder. SPI kontroll bussen kommer från mikrokontroller (master) och väljer vilken MAX 6966 chip (slav) att prata med och kontrollera pin utgångar. Varje stift på MAX6966 chip kan väljas för att aktivera eller inaktivera en färg för en särskild LED. Eftersom vi har 14 lysdioder (behöver 42 förare stift), beslutade vi att använda 5 MAX6966 marker (motsvarande 50 utgångar), alla med sin egen chip Välj. För att samla in RPM data som behövs för våra beräkningar av timing, har vi mikrokontroller ansluten till en infraröd (IR) kretskort. Denna krets består av en IR-sändare och mottagare som vetter nedåt. Varje gång kretskortet passerar genom den vita pappersark, skickar det en signal till mikrokontroller att utlösa ett avbrott för att beräkna omloppstiden. Trådlösa sändtagarna används för att skicka bilder är anslutna till sina respektive microcontroller styrelser med UART TX och RX stift. RX- och TX stiften på trådlösa sändtagaren är anslutna till sina motsvarigheter TX och RX, respektive, på mikrokontroller. Figur 4. Stationär sändare ansluten till datorn. All den kraft som krävs av elektriska komponenter (inte inklusive mikrokontroller) är från VCC från mikrokontroller. För att möjliggöra mikrokontroller att tillhandahålla tillräcklig ström för att driva alla 14 lysdioder, 5 MAX 6966 marker, IR krets och trådlösa sändare, har vi en hög nuvarande (1A) LM340-15 linjär regulator på mikrokontroller att begränsa 9V från batteriet till 5V. Vi har dessutom eftersom MAX 6966 chips ta 3.3V, en LP2951 linjära regulatorn att begränsa 5V VCC utdata från mikrokontroller till 3.3V. Den primära uppgiften för stationära kretsen är att fungera som användargränssnittet så att användaren kan ladda upp oavsett vilken bild som visas (bild 4). En annan funktion av stationära kretsen är att välja olika funktioner ombord styrelsen att utföra som animationer, clearing display, etc. Eftersom vår motor är en AC-motor som snurrar på 1600 RPM så snart den är ansluten till vägguttaget, är detta för snabb för vår ansökan. Således använder minska hastigheten och att förhindra att motorn går från 0 till 1 600 RPM omedelbart, vi en variabel nätadapter. Det är faktiskt en ljus dimmer från Lutron elektronik, men det är i huvudsak en variabel AC, och den har en ratt för att välja hur mycket amplitud vill vi ge motorn. Detta gjorde det möjligt för oss att utföra säkrare test, utan oroande omkring bitar flyga bort av spinning armen. Hardware Design Bodine Electric Company AC motorBase stöd plateVertical stöd platePlexiglas stöd armPlastic arm (för LED) flera 3M dubbla locksElectrical tapeHot glueVarious storlek screwsThe viktigaste komponenter av vår hårdvara design är en AC-motor, en Monteringsfäste för motorn, och den snurrande arm som består av en Plexiglas bit och en plast bit. Plexiglas fungerar som det huvudsakliga stödet för armen och är ansluten till spinning skaftet på motorn, medan den plast bit har för 90 graders böj i ena änden att tillhandahålla en plattform för montering av lysdioder. Vår AC-motor har inte någon självbärande komponent att stå upprätt. Således har vi byggt en monteringskonsol som kommer att hålla för att se till att motorn står upprätt. Fästet består av basen lappa och vertikalt stöd lappa. Båda delar är ungefär en tum tjock. Den vertikala stöd pjäsen är ansluten till basen lappa i 90 graders vinkel med två storlek 8-32-skruvar. Nästa, motorn fästs vertikalt stöd lappa med fyra storlek 10-32-skruvar i en fyrkantig läggning. De fyra gängade skruv uttagen på motorn var från början redan där, så vi fick bara borra fyra hål i det vertikala stödet som är uppradade med de medföljande uttagen på motorn. Detta fäste ger bra stabilitet medan motorn snurrar på höga priser. Belastningsutjämning av spinning uthänget är den främsta orsaken till stabilitet under spinning. Som ett tillägg försiktighetsåtgärd, användaren bör klämmas fast fästet till en tabell under spinning. Figur 5. Spinning arm kopplad till rotorn. För spinning armen bifogas en bit plexiglas 1/4 tum bred och 1/2 fot lång snurrande axeln av motorn. Denna axel är ungefär storleken N hål med en liten platt kant. För att säkra Plexiglas fast till axeln utan att det glider längs skaftet på något sätt, borrade vi ett hål storlek som är lite mindre än storleken N (att göra det en mycket snäv passform) och borrade ett litet hål på sidan för att infoga en skruv som kommer att driva mot platt kant. Vi beslutade att använda Plexiglas eftersom det är en stark men lätt material. Slutligen, en tunn plast bit var böjda i 90 grader nära ena änden och fäst i Plexiglas. Vi använder denna plast bit mest för att det är enkelt böjbar medan också ljus. För att se till att vi inte får för mycket vinglar när spinning på höga priser, placerade vi elektriska komponenter på spinning armen att tillhandahålla bra motvikt på båda sidor (figur 5). Software Design software utformningen av detta projekt är relativt enkel. Vi kör tre uppgifter; task1 att spela in och beräkna den aktuella RPM på varje revolution, task2 att skriva lämpliga data (baserat på matrix) till den respektive MAX6966 chip porten via SPI och Aktivitet3 köra animationer. Frekvensen av task2 utförs beror på RPM mätvärden genom att den utgåvan och tidsfristen till mängden tid per "segment" (varje kolumn i vår matris). Varje "pixel" av bilden representeras av ett element i matrisen. För närvarande har vi en 14 x 90 matris visar bara på hälften av en cirkel, men det går att expandera resolutionen i framtiden. Varje element i matrisen är dessutom ett 16-bitars nummer där de första 4 bitarna är för röda värdet, den nästa 4 är för det gröna värdet och de sista 4 bitarna är för en LED blå värde. Dessa 4 bitar värden mappas till 8 bit värden faktiskt ange vilken intensitet lampa. Den största svårigheten av programvaran var att installera SPI kommunikationen mellan mikrokontroller och MAX6966 marker. MAX6966 har 10/o-portar, varje kan mata en 8-bitars PWM-signal. Varje hamn styrs som registrerar ombord chip. SPI bussen används för att kommunicera med MAX6966 och ställa in både explicita registren som styr portarna och de implicita register som kontrollerar staten av gå i flisor (power upp sekvenser, Avslutningsläge, köra lägen, etc). MAX6966 är en nuvarande sync vilket betyder att slå på en LED, vi kort Port PIN-koden för att slutföra kretsen och vrida på gemensamma anoden RGB LED. För att programmera chip, vi skickar kommandon till registret att tillåta maximal ström dra igenom varje pin (20ma) och ställa in varje port hög (lysdioder kopplas låg logik). Vi placera markern i körningsläge och sedan är vi redo att ställa utgångarna för varje stift och styra tre RGB lysdioder (per MAX6966 chip). För att visa något, måste en sändare skicka pixlar till den inbyggda mottagaren som befolkar sedan display matrix i mikrokontroller med skickade pixlar. Det finns alltså två komponenter: kodens sändaren och mottagaren koden. Sändaren koden är mycket enkel; Vi skickar varje pixel i taget som ett paket. Innan vi skickar varje paket, måste vi sända en SYNC byte och sedan en adress byte. SYNC byte kommer att synkronisera sändaren och mottagaren och den ADDR byten låter mottagaren ta emot data från en sändare med den förväntade ADDR byten. Efter dessa 2 byte skickas kan skicka vi den kolumn- och byten. Därefter bryter vi 16-bitars data till 3 byte som innehåller de första 3 nibbles 16-bitars data och skicka dem över. Avslutningsvis skickar vi en antisync byte att låta mottagaren vet att det är färdigt skickar data. Koden för mottagaren är lite mer komplicerat. Det handlar om en tillståndsdator med staterna WAIT_SYNC, WAIT_ADDR och WAIT_DATA. Statliga WAIT_SYNC väntar den SYNC byten från sändaren och när den ser att det går till det WAIT_ADDR tillståndet. Statliga WAIT_ADDR väntar den ADDR byten och när man ser det, går till det WAIT_DATA tillståndet. Annars går det tillbaka till WAIT_SYNC tillstånd. I WAIT_DATA tillstånd, processorn väntar på att få data för kolumnen och raden byte och sedan data-byte. När alla data-byte och den antisync byten mottas, kommer Tillståndsmaskinen vidare att kompilera om de enskilda byte tillbaka till en 16-bitars data och lägga den i matrisen elementet på den mottagna raden och kolumnen. Vi har också lagt till animationer till vårt projekt. Denna särskilda animation var hårdkodade att flytta s "i"SEXY"tillbaka och tillbaka flera gånger. Vi gjorde detta genom att stänga av lysdioder i den tidigare platsen för 'S' och slå sedan på lysdioder i nästa läge 'S ". Från och med nu, vår animation kod återstår vara hårdkodad och en eventuell förlängning för det här projektet kan vara en mer användarvänliga interaktiva animation. Testa top hårdvara provning de strukturella delarna av konstruktionen var mycket enkel; Vi behövde en design som tillåter motorn att stå upprätt istället för liggande. Således, vi kom så småningom upp med L formade montering struktur. Egentligen bearbetningsprocessen för detta stycke tog tid eftersom varken jag eller min sambo har haft mycket bearbetning praxis. Det var dock bara att borra två hål genom den vertikala plattan som ställde upp med två hål i bottenplattan. Det viktiga steget var att peka på bottenplattan, men använder en kropp borr för vertikala plattan för samma storlek. Detta gör att skruven att driva den vertikala plattan mot bottenplattan tätt. Våra ursprungliga ansträngningar hade båda hål i den vertikala och bas plattan knackade, orsakar gemensamt att fästas mycket svagt. Efter med kroppen borr borrades hål på den vertikala plåten, blev gemensamt mycket stark. Efter fästa spinning armen (den sista strukturella komponenten), testade vi snurrar motorn. Det första testet visade att det var nödvändigt att slå berget i tabellen medan spinning. Detta berodde på att eftersom motorn var bara en AC-motor med uttaget som strömkällan, motor inställningarna var antingen av eller på vid högsta hastighet. Även med fästet spänns ner, när motorn var påslagen, motorn skulle skaka hela bänken. Detta var klart för farligt att faktiskt testa med alla elektriska apparater kopplade till armen. För att en variabel hastighet för motorn har använt vi en ljus dimmer som är i princip bara en variabel AC styrenhet. Detta gör att vi kan justera hastigheten på motorn successivt, tillåter oss att testa med mycket lägre varvtal. Nästa, elektriska komponenter har lagts till i armen. Elektriska komponenter som vi använde i vår första ljus test bestod av ett 9V batteri, styrelsens mål, IR-sensor, en genomgående hål styrelse med en MAX6966 marker och en annan hålmontering ombord med tre LED. Förutom målet styrelsen fästes alla andra komponenter i ena änden av armen. Detta var det enda hållbara alternativet för spinning armen var ansluten till axeln i bara ena änden av armen, så det fanns inget utrymme att lägga till motvikter. Således, när vi började spinning på en långsam 200 varvtal, systemet blev mycket instabil och började skaka i tabellen. Denna långsam hastighet, men var det tillräckligt för att visa ett bevis på konceptet eftersom vi fortfarande kan urskilja bilden. När detta var gjort framgångsrikt, vi började expandera vår design att inkludera 14 lysdioder och förbättra belastningsutjämning. Med 14 LED design var vi också kunna flytta den nedre Plexiglas bit mer till andra sidan att ge utrymme att sätta mikrokontroller och batteriet. Denna design tillåter oss att snurra armen på nära maximal hastighet på motorn utan några tecken på strukturella instabiliteten. Den bara viktigaste frågan som vi hade kvar var att räkna ut ledningarna av alla elektriska komponenter. Eftersom vi använde 14 lysdioder, som innebär att vi behövde fem MAX 6966 chips, monterade på två genomgående hål styrelser. När allt var ansluten, isolerade och testat, var vända för att testa programvaran. Mjukvarutestning den första bit kod som skrevs och testade var SPI koden. När detta testades och arbetar framgångsrikt, kunde vi skriva kod baserad på TRT operativsystem. Nästa, vi lagt till koden för att mäta VARVTALET på systemet. Otroligt, vår kod fungerat utan några stora buggar med tre lysdioder. Vår största oro var att TRT möjligen kunde hoppa till en annan aktivitet medan mitt skriva SPI till en marker. Detta visade sig dock inte vara ett problem efter att ha testat. En fråga som inte ansågs var på denna punkt visar alla tre färger för varje LED. För snabb kontroll, vår matris bestod endast av antingen på eller av för varje LED, där är bara max intensitet i röd färg. Vår nästa expansion design inkluderar användning av alla färger för varje pixel. Ett stort problem i uppdaterade koden för 14 LED var ett problem med att ha tillräckligt med minne. Skapa en uint32_t matris med storlek 14 av 180 orsakar oss att använda fyra gånger mängden minne som vi har. Således fortsatte vi att minska antalet pixlar som kolumnen till 90 samtidigt hålla resolutionen samma. Detta innebar bara klippa våra display till bara halva cirklar i stället för det helt cirklar. Också, istället för att använda uint32_t, vilket är 32 bitar, vi använde uint16_t och använda 4 bitar för intensitet för varje LED färg. Dessa 4 bitar blir logaritmisk skalas till en 8-bitars nummer. Ett annat stort problem vi stötte på var intermittent mottagare misslyckande. Dock skulle återställa makt på både mottagaren och sändaren lösa problemet. Andra fel som stänga av sändaren medan det i mitten av skickar data till mottagaren skulle också orsaka mottagaren att frysa (LED är fortfarande visas bilden rätt innan det frös eftersom MAX chips kontroll lysdioder, således, hårt för att felsöka). Vi har kunnat begränsa problemet ner till våra mottagare tillståndsdator, eftersom det hade flera hål som kan orsaka ombord mikrokontroller att frysa. Till exempel kunde stänga av sändaren i mitten överföring lämna mottagaren fastnat i den WAIT_DATA staten eftersom det aldrig fått den antisync byten. Ett annat problem var att vi inte kontrollera för att se om rad och col var inom våra gränser som användbar. Således, om vi skulle få blandas ihop data och ange col till ett nummer större än 89, då vår kod skulle krasch eftersom det skulle försöka få tillgång till ett index som är out of bounds (vi har 90 kolumner). Resultat topp vårt projekt träffade alla våra krav i vårt förslag. Vi har framgångsrikt kunnat snurra en endimensionell matris med lysdioder genom en två dimensionell rymd (en cylinder) på en hög nog frekvens så att en fullständig 14 x 90 pixlar RGB visar kan ses. Vi kan framgångsrikt kommunicera trådlöst till spinning ombord microcontroller att uppdatera skärmen och ändra någon av pixlarna när som helst. Vårt inbyggda system knoppades omkring 500 rpm. Detta var definitivt snabb nog för det mänskliga ögat att behålla informationen som visas, men det presentera en bestämd flimmer för ögat. Uppdateringsfrekvensen (för spinning lysdioder) är uppenbart. Dock genom att vrida ut lamporna, eller Visa i ett mörklagt rum, kan vi hjälpa minska flimmer och öka intensiteten i displayen. Säkerhet är en angelägenhet för vårt projekt. Spinning i huvudsak ett blad på 500 rpm är farliga nog, och vi montering flera PCB boards, ett 9V batteri, en transceiver och en rad med lysdioder till vår spinning blad. Vi började genom att montera varje komponent på fribärande med eltejp. Detta tyvärr låt oss har inte enkel tillgång till hårdvara för testning och felsökning ändamål och vi kunde inte ta bort maskinvaran lätt för uppgraderingar, ändringar eller reparationer. Att ta bort tejpen kunde producera spänningstoppar så hög som 5000V över våra kretsar så med risk för att blåsa ut marker och skada hårdvaran, vi försiktigt bort tejpen och övergett denna metod för att fästa vår hårdvara till uthänget. Vi använde dubbla lås, en 3M produkt liknar kardborreband, som har en hög friktionskoefficient och skulle tillåta oss att ta bort våra styrelser för reparationer och ändringar samt har håll dem medan intensiv g krafter hotar att kasta dem off spinning fribärande. Som en försiktighetsåtgärd bar vi skyddsglasögon för att skydda våra ögon bör allt hända. Före varje gång vi vände på vår motor, kollade vi varje bräda för att säkerställa det var ordentligt fastsatta. Vi använde också variabel AC varvtalsregulator att långsamt bygga upp hastigheten. Detta bidragit till att minska allvarliga acceleration (båda från spinning och snabbt öka hastigheten). Vi har använder radio sändtagarna identisk med de flera grupperna i labbet. Vi förhindra störningar från annan radiokommunikation genom att lägga till en fast adress i början av paketstruktur. Både mottagaren och sändaren hade denna fast adress hårdkodade och kollade varje paket för att säkerställa att de innehöll det. Om paketet hade denna adress, vi kan vara säkra på att detta var våra paket som vi fått, om en annan adress lästes, vi kunde vara säker på att det var någon annans paket vi har råkat fått. När det gäller ett användargränssnitt, måste metoden för att skicka pixlar i nuläget göras manuellt. Kommandon måste skickas till varje pixel beskriver exakt vilken färg som ska visas. Sändaren behöver också programmeras varje gång ett nytt paket eller paket som behöver överföras. Detta leder ett omständligt användargränssnitt, eftersom användaren måste vara bekant med programmering mikrokontroller och bekant med vår kod. I framtiden, vill vi ansluta UART (i stället för UART för att skicka data till sändtagaren) till datorn, och Anslut sändaren till en manuellt skriftliga UART på ett separat I/O stift. Detta skulle tillåta seriell kommunikation mellan datorn och mikrokontroller, göra möjligheten för alla typer av användargränssnitt som ska byggas. En idé för framtida utforskning skulle skriva ett program som tolkar en *.bmp eller *.jpg och skickar dem över UART till mikrokontroller kan sedan överföras via radio till onboard mikrokontroller och visas på lysdioder. Slutsatser topp medan vi mötte alla specifikationer beskrivs i vårt förslag och nöjd med det resultat vi uppnått, vi har många planer för att bygga på den första grunden och fortsätter med ytterligare förfining av projektet. Vi lyckats bygga ett proof of concept, på bänken, en robust design; vårt projekt är dock endast en grund på medan många andra intressanta projekt kunde byggas. Förbättringar och områden för framtida utforskning inkluderar uppgradera till en snabbare motor att eliminera den "uppdateringen" eller blinkar på displayen. Detta skulle innebära några större ändringar av konstruktion inklusive räkna ett bättre sätt att fixa PCB brädor och batteri till spinning fribärande. Kanske vore det bättre att bara design vår egen PCB där alla komponenter skulle vara yta monterad. Detta skulle eliminera mycket av den tunga sladdar och extra PCB ombord bidra till vikten på armen samt drastiskt minska databasutrymmet (eftersom varje komponent skulle vara ytmontering) innehåller alla komponenter. Att minska storlek och vikt skulle också göra det lättare att snurra av uthänget snabbare. RGB lysdioder har gjort ett bra jobb, men jag skulle vilja antingen få desarmerat lysdioder (vi använde en tydlig LED hölje) eller lysdioder i vilken varje färg diod i inhysa för LED var närmare tillsammans. Ibland, beroende på betraktningsvinkel, kan det vara svårt att säga att två olika färg dioder i samma LED är inte två sida vid sida LED. Sammanfattningsvis är visat detta projekt verkligen kompetens kombinerar en svårt integration av de mekaniska och elektriska system att bygga en ihållande vision display. Vi byggde ett allmänt fristående system som kan ta emot indata från valfri enhet trådlöst att skriva ut en skärm baserad på pixel inkomna. Vi visat detta genom att ansluta med alfabetet karaktär erkännandesystem. Den ombord är ett komplett system, kan mata displayen vid varierande varvtal hastigheter och inte bär om vad systemet samverkar med det så länge det följer ett standardiserat trådlöst protokoll som utvecklats av oss. Detta projekt har också så mycket utrymme att utforska ytterligare spännande utveckling och tillägg till de många enheter som kunde det gränssnitt. Intellektuell egendom överväganden vi vill tacka Seonwoo Lee (sl787) för att förse oss med exempelkod för sändtagarna. Vi använde hans bas kodexempel när lärande i protokollet för inställningen upp UART och transceivers och som ett test för att bekräfta sändtagarna arbetade. Vi sedan byggt våra egna paketstruktur och för överföringen trådlöst från stationärt till spinning ombord systemet som bäst passar våra behov (Sänd i matrisen med pixlar så fort som möjligt samtidigt bibehålla integriteten av data). Vi vill tacka Bruce Land för brainstorming idéer om vårt projekt, specifikt: hans hjälp att få SPI bussen till jobbet, inblick i fästa modulerna på spinning armen för användning av hans labb och dess resurser (inklusive förse oss med en fri motor och två sändare) och hans stora samling av kunskap - som delade han lätt - på nästan varje ämne som vårt projekt omfattas. Hans föreläsningar om mikrokontroller och korrekt kodning metoder var ovärderlig. Vi vill tacka Pavel Vasilev för hans hjälp i allmänhet kodning frågor och allmänna lab kunskap som han förmedlade till oss genom många timmar av förklaringar och exempel. Vi vill tacka Joe från Rhodes Hall verkstad för att hjälpa oss design och bygga maskinvarukomponenter för motorn. Vi inte bakåtkompilera någon patenterad eller varumärkesskyddade mönster. vår inspiration kom dock från att titta på YouTube klipp av andra som har försökt att uppnå samma sak vi gjorde. Vi inte kontakta någon för att ta reda på hur de gick om lösning av detta speciella problem eller se någon av deras bokförda lösningar, så långt för att se deras video demos på Youtube.com. I partnerskap med Stephen Wu och Justin Churchill i deras projekt för alfabetet teckenigenkänning från Beröring gräns flat, är vi intresserade av att tillsammans med dem, följa ett patent för en ihållande vision display får realtid skärm tryckinmatning. Vi gav dem protokollet paket för att skicka information till uppdateringen displayen och de lagt till funktionaliteten i deras projekt att skicka informationen som de redan skriver ut till en LCD-skärm visar, till våra POV displayen istället. De har också lagt till funktioner för att rita frihandsfigur och skicka oavsett bild dras upp på pekplattan, till våra POV display. Om en patenterad begreppen är tilltalande, kan ett papper också komma från en kombination av projekt. Etiska överväganden enligt IEEE kodifiera av etik, vi strävade efter att göra vårt bästa för att upprätthålla och följa andan och bokstaven i koden. Med beaktande av oro för säkerheten nämnts ovan, vi var försiktig under våra tester faser inte äventyra andra medlemmar i labbet och såg till att någon i närheten av vårt projekt bar skyddsglasögon samt. Vi gjorde inte medvetet eller omedvetet pirat någons intellektuella idéer och krediteras alla som hjälpt oss, från dem som medföljande insiktsfulla synpunkter i vårt projekt till dem som bidragit till att felsöka vår kod och bygga vår hårdvara. Vi sökte ivrigt råd från våra TA och professor på nästan varje aspekt av projektet. Vi strävade för att hjälpa dem som arbetade tillsammans med oss genom att göra allt från att svara hårdvara frågor om lödning till att bli ett andra par ögon felsökning envisa program när det är möjligt. Vi har skrivit exakt om vårt projekt, inte utelämnar några detaljer om vår utveckling eller provning faser. Vi har lagt fram vårt projekt i ett objektivt ljus så mycket som möjligt och strävade att ge läsaren informationen som behövs för att bedöma det för nödvändiga säkerhetshänsyn. Vi har bibehållit alla lagar känd för oss, särskilt de som rör FCC-reglerna om överföring av uppgifter via radio. I god tro, kan jag lugnt säga vi har värnat IEEE kodifiera av etik. Rättsliga överväganden vi använde en icke-licensierade sändare som överensstämmer med FCC-reglerna för liten, låg effekt sändare. Vår sändare har FCC etiketter identifiera deras överensstämmelse med FCC-reglerna. Vår sändare är inte kontinuerligt sänder och inte är modifierade för att fungera i en rad utanför frekvenser eller effektnivåer för vilka de klassificeras. Tillägg övre MAX6966 styrelsen Schematisk Schematisk styrelsens MAX6966 ansluten till lysdioderna. MicroController och RF Schematisk Schematisk av mikrokontroller med radio och RF transceiver kretsar.
Se Steg
Relaterade Ämnen

Hard Drive persistens av Vision (HDPOV)

tallrik av en hårddisk snurrar bra över sextio gånger per sekund. Om en smal springa var skuren i tallrik så att lamporna lysa igenom, kan vi uppnå flimra fusion och lura ögat att se en stabil bild. Detta fenomen kallas persistens av vision (POV). De...

GÖR Controller persistens av Vision effekt med lysdioder

Hej, detta är min första instructable och jag hoppas du gillar den. Det är ett enkelt projekt, göra styrenhet (en mycket användbar controller från www.makezine.com), som gör en uthållighet-av-vision-effekt med hjälp av lysdioder. När du flyttar styre...

Arduino persistens av Vision visar

en vision (PoV) display är en rad med lysdioder som flash ut kolumnerna i ett meddelande. När matrisen med lysdioder flyttas, som när monterad på ett cykelhjul, kan meddelandet läsas som om det var många LED hela, i stället för en enda rad.Maskinvaru...

En LED persistens av Vision namnbricka

detta Instructable visar en namnbricka som jag har byggt för min dotter.Jag har sett Defcon märken, och trodde att de var cool. Varför kan mina barn har också - men speciellt byggd för dem?Så här går du - en enkel märke som använder en PIC 16F88, och...

HDD klocka - persistens av vision

1. en hel POV klockor ute, varför är detta speciella?Jo, främst eftersom det är min. Det finns en hel del POV klockor ute på webben med alla möjliga display mekanismer, chassi, styrenheter. Det som jag bestämde mig för att bygga är inte precis en av...

Ultra låg kostnad sol-uppladdningsbara persistens av vision display

denna enhet ger en ljusstark och iögonfallande Visa för att skriva text och små bilder genom luften. Det använder under £2 (ca $3,20 USA på i skrivande stund) i delar, och är en trevlig liten helg projekt att imponera på dina vänner och familj.Det an...

Persistens av Vision trollstav för Arduino

i detta instructable, jag visar dig hur du skapar en trollstav (slags) så att du kan skriva i luften, som bilden ovan visar.Steg 1: Hårdvara Behöver du:-Lödkolv-Löda-5 3v gröna lysdioder-fästa startkablarObs: I stället för lödning, du kan göra detta...

Ihållande Vision (POV)-2 sätt att spela -

efter trött på att söka POV handledning som inte klart och komplicerad, jag hittade till slut det bästa en. I detta instructable jag kommer att återskapa en POV (persistens av Vision) trollstav inspirerad av amandaghassaei's ursprungliga design. När...

(POV) Ihållande Vision världen

! Uppdatera! Jag har lagt till ett excel-program som gör det mycket lättare att rita och kod nya bilder!En enkel persistens av vision klot. Spela upp VIDEODetta är ett projekt som jag haft i åtanke under en längre tid och "Göra det Glow" tävling...

3D POV Clock from a HDD

I detta Instructable kommer vi att omvandla en gammal hårddisk till en 3D persistens av Vision klocka.POV klockor använder en enkel metod för att Visa tid på ett riktigt snyggt sätt. En POV klocka snurrar en uppsättning av lysdioder riktigt snabbt, v...

ESP8266 Desktop Clock (WiFi synkroniserad!)

ESP8266 är en awesome chip; med integrerad WiFi, 80MHz klockfrekvens, totalt 160kb RAM, 512kb flash-minne, och massor av andra funktioner, gör det en regelbunden Arduino ser ut som ett skämt. Projektet visas i detta Instructable är enbart baserad på...

Magic Wand POV (ännu en POV leksak)

NY! (11/14/2014) Detta kit har uppgraderats till ett professionellt tillverkade kretskort och priset har sänkts till endast $9 per kit. (Och för lärare, ett rabatterat pris på endast $8.00 per kit.)Denna persistens av Vision (POV) leksak är enkel att...

MiniPOV3 Kit

detta är en billig leksak persistens av Vision (POV), som är avsedd för nybörjare i elektronik. Du svingar denna lilla sak runt för att avslöja en anpassningsbar meddelande eller bild genom det är 8 röda lysdioder. Den har 4 hål för montering på cykl...

3 lätt ATTiny Holiday gåvor

varje år semesterperioden rullar runt och jag fastnar på vad man ska ge för mina vänner och familj. Folk säger alltid att det är bättre att göra gåvan själv än att köpa det i en butik så i år jag gjorde just detta. Först visar ett namn eller en grund...

3D LED Cube

3D LED kuben är en riktigt cool enhet som gör att du kan se i tre dimensioner, få vissa djupseende och har 512 lysdioder eller 512 pixlar. Den är baserad på en arduino uno vilket är en Atmel AVR microcontroller en utveckling ombord med vissa standard...

En kartong televisor (med arduino och lysdioder)

Nyligen såg jag en dokumentär om historien om TV-apparaten. Och till min förvåning de visade att det fanns en mekanisk television för de välkända CRT TV-apparater.Dessa mekaniska TV-apparater eller televisors var ganska smart och enkel.En CRT är helt...

12-pin 7 Segment Display ledningar handledning

Den 12-poliga 7 segment displayen verkade ganska svårt att hitta tutorials eller en bra datablad för när jag började arbeta med den. Alltså, jag bestämde mig för att en instructable om hur tråd det upp och några grunderna om hur du koden i MPIDE (ock...

En bild av sitt forna jag

detta instructable handlar om en synvilla som jag har upptäckt, och det är ganska realistiska när görs på rätt sätt! Jag har kommit att kalla det, "en bild av sin tidigare själv." eftersom det är precis vad illusionen är. Även om det kanske cool...

Dansa Messenger

kul persistens av vision leksak. Bifoga det till din sko och skriva meddelanden eller mönster medan du gå, köra eller dansa!Denna artikel kommer till dig genom MonkeyLectric och Monkey ljus cykel ljusSteg 1: Kretskort jag använde ett ganska generisk...