Far / Datter Raspberry Pi-baseret State Poster Project - 💡 Fix My Ideas

Far / Datter Raspberry Pi-baseret State Poster Project

Far / Datter Raspberry Pi-baseret State Poster Project


Forfatter: Ethan Holmes, 2019

På vores dages skole samler alle 2. graders et "statsborger" projekt. De tilfældigt tildeles en stat (i vores datter tilfælde, Vermont) og eleverne arbejder for at sammensætte en plakat på et trefoldigt stykke pap. Fra det jeg har hørt, har projekterne ofte 3D-aspekter som dyr og produkter, der er vedhæftet, og flere har gennem årene haft knapper til at spille ting som statssangen. Vi brainstormede mulige elementer, vi kunne medtage på tavlen og tænkte på lyd, lys og endda betragtet EL-wire animerede floder. Jeg ville gerne sikre, at hvis vi valgte et mere udførligt design, at vores datter rent faktisk ville udføre det meste af arbejdet, og at vi dokumenterer det - så brugte jeg en flip videooptager til at filme det meste af processen. Med hensyn til elektronik hoppede vores datter ganske hurtigt i at have lært at lodde på den nylige Maker Faire i New York. Hun har bygget et par sæt siden da. Der var en hel del lodning på Perma-Proto. Videoen nedenfor viser, at vores datter arbejder på Perma-Proto og knapbrædderne.

For at få de ønskede lyd- og lyselementer måtte vi vælge en passende controller. Jeg diskuterede, om det ville være bedst at anbefale et Arduino-baseret design eller at bruge en Raspberry Pi. En Arduino tilgang kan bruge en Arduino og Wave Shield kombination. Det ville have fordelen af ​​hurtig opstart og nedlukning og ville have klar uafbrudt lyd.En Raspberry Pi ville muligvis være billigere, da den kunne afspille lyden fra sit eget filsystem, har netværk indbygget (Model B) og kan bruge Adafruit's WebIDE, hvilket ville forenkle vores datter Python-baserede programmeringsopgaver (Arduino ville ikke har været Python). Pi kunne multi-task som ville gøre nogle ting nemmere, men ville gøre jævn lydafspilning mere udfordrende. Da projektet skulle være på plads i skolen resten af ​​året, var strømstyring også vigtig - så en yndefuld auto-nedlukning ville være afgørende. Jeg havde lavet mange tidligere projekter med Arduino / Wave Shield-kombinationen, så jeg ønskede virkelig at se, hvor godt det kunne gøres med Raspberry Pi. WebIDE hjalp med at overbevise mig om, at det ville være lettere for vores datter at arbejde med (og hun havde lige begyndt at arbejde gennem Python for Kids).

Vi startede med en grov ide om, hvordan vi troede, at ting ville komme sammen. For det første skal vi have en oversigt over staten. Et af målene var at undgå at have mange ledninger og forbindelser på bagsiden af ​​trefoldet. For at opnå dette skal statens grænseoversigt være et særskilt stykke. Det er også tilfreds med at skabe et 3D-look for staten. Vi kunne have brugt skumbræt, men jeg troede, at kvart-tommer krydsfiner ville holde sig bedre og give mulighed for mere præcise nedskæringer. Planen var at bruge faktiske data fra statens grænser til at generere g-kode til vores CNC. Vi ville også planlægge den præcise placering af LED'erne og bore huller på disse steder på træet. Legenden ville også være træ og ville have huller til lysdioder og knapper. Håbet var, at en enkelt streng af RGB LED'er kunne dirigeres rundt om statens bagside og legendebrædder og ramte alle hullerne. Vi planlagde at bruge 50 LED'er i alt, 15 på legenden og 35 på kortet. Som det viste sig, burde vi have justeret hullerne noget, men vi spændte ganske godt kun 2 på strengen, som ikke nåede et hul og skulle tilføje 2 flere for at kompensere, som blev plugget i slutningen af ​​strengen (vi ønskede for at holde de to 25 LED-tråde vi brugte intakt).

Andre dele af vores plan omfattede brug af en trådløs fjernbetjening ud over de 8 knapper vi planlagde at bruge på tavlen. Da fjernbetjeningen blev betjent med 5 volt, havde vi brug for at introducere en niveauomformer til brug med 3,3 volt Raspberry Pi. Vi havde brug for et switch-modul, som kunne udløse en fuld effekt fra pressen af ​​en øjeblikkelig switch, mens der bruges meget lidt strøm til at overvåge kontakten. Vi havde også brug for at forstærke lyd fra Pi til at køre et lille sæt højttalere. Da Pi-lyden ikke altid er glat og med lejlighedsvis klik og popper (selv med nogle filtreringer) - det kan medføre problemer, hvis forstærkeren drives fra samme forsyning som Pi, da den kan tegne nok strøm til at kollidere Pi. Så forstærkeren skulle have sin egen strøm, som kunne tilsluttes, når hovedstrømmen kom op. Så alt sammen den nødvendige hardware bestod af:

  • Raspberry Pi Model B (Rev 1)
  • Adafruit Fuldformet Perma-Proto Hindbær Pi Breadboard PCB
  • Hindbær Pi GPIO Ribbon Cable
  • 2 strenge af 25 12mm diffuserede flad digitale RGB LED-pixel (og 2 LED'er klippet fra en anden WS2801-baseret 20 RGB LED-kæde fra Sparkfun, da jeg havde brug for 52 i alt)
  • 4-polet JST SM Plug Set (for at tilslutte / frakoble LED-strengen og i vores tilfælde at fastgøre et par ekstra lysdioder til kædeens ende)
  • Runde taktile knapper
  • Stereo 3,7 W klasse D Audioforstærker
  • 4-kanals bi-retnings logisk niveau konverter (til valgfri RF)
  • Enkel RF M4 Modtager - 315 MHz Moment Type (til valgfri RF)
  • Keyfob RF fjernbetjening - 315 MHz (til valgfri RF)
  • 4 D-Cell batteriholder (sammenføjet med 1 D-Cell holder nedenfor)
  • 1 D-Cell batteriholder
  • 4 AA-batteri batteriholder (konverteret til en 3-celle holder ved ledninger på tværs af en af ​​cellepositionerne)
  • 2 Dual Mini Boards (til at dække 4 knap områder)
  • Højre Vinkel Audio Adapter (til at passe ind i Pi's lyd ud)
  • Stereo Mini Plug
  • 5mm bredvinkel rød LED
  • Størrelse M Coaxial DC Power Plug (for sjov jeg vedhæftede en Fjern Before Flight tag til det udborede stik for at gøre det klart at trække stikket ud, når du vil bruge det)
  • Panel-Mount Size M Coaxial Power Jack
  • 2 2 "Paper Cone Midrange Tweeters (4 Ohm)
  • Pololu Step Down Spændingsregulator (til 5 volt, 3,5 Amps)
  • Pololu Pushbutton Strømafbryder SV
  • 5VDC SPDT Micro Relay
  • 9 2-Position PCB Terminals
  • Bordkantmonteringskit (til Pi Model B Rev 1, da det ikke har monteringshuller)
  • # 8 5/8 "Runde hovedskruer (med fenderskiverne nedenunder til fastgørelse gennem pap i træ)
  • 1/8 "x 1" Fender Washers
  • # 4 Maskinskruer, skiver, møtrikker (til fastgørelse af Perma-Proto og batteriholdere)
  • # 8 x 1/2 "Plademonteringsskruer (arbejde i stedet for skruerne i brættet til monteringskanten på bordet for at komme igennem 1/4" krydsfiner - måske med en vaskemaskine eller to for at mindske deres længde)

Vi brugte modulære 6-leder modulære telefoner stik og stik til at forbinde med knapperne. Legendpanelet brugte alle 6 ledere til de 5 knapper, og vi kunne finde 6-leder modulært telefonkabel på en lokal Radio Shack (dette er sværere at komme med end 4-leder). Til strøm og andre knapper har vi lige brugt to mere 4-leder modulære kabler. De billigste jacks var i 10-pakker hos Home Depot, men det modulære kabel, vi havde, var strandet, så det var ikke helt så nemt som bare at bruge et slag ned værktøj - vi var nødt til at arbejde for at sikre, at det gjorde kontakt - nogle gange tinning nogle af ledningen hvor den kom gennem kanalen. Det kan være nemmere, selv om det er lidt dyrere at bruge RJ45 og CAT5 til switch-ledninger.

Den færdige betjeningsboks, der er monteret på bunden af ​​midten af ​​trefoldet, er vist nedenfor.

Nu hvor vi har dækket et overblik over bygningen og givet de involverede materialer, lad os diskutere nogle af de store trin i detaljer.

Planlægning af LED-placering

En vigtig del af projektet planlagde placeringen af ​​alle lysdioder på kortet samt hvilke farver de burde være for at angive forskellige produkter på legenden. Da LED'erne kan skifte til enhver farve, kan enkelte LED'er bruges til at angive forskellige produkter på forskellige tidspunkter med forskellige farver. Så i planlægningen kunne man spare LED'er ved at bruge en LED til at repræsentere hver region i staten. Her er en video af vores datter planlægningsproces, herunder farvevalg og RGB-værdi bestemmelse:

Udskæring af din stat med en CNC

I vores tilfælde havde vi en lille CNC-maskine, vi kunne bruge til at skære statens omrids (laserskæring træet ville have været lettere). Da den ønskede størrelse af staten var større end CNC, var planen at skære den i 4 stykker og tilslutte dem sammen. I sidste ende kom det hele ned til, hvordan man genererede g-koden for CNC. Dette blev opnået med en blanding af nogle Python- og Java-kode og kunne tilpasses til andre statsgrænser. En millionskala amerikanske statsgrænser kan downloades her. Jeg har også lavet en lokal kopi af statep010_nt00798.tar.gz 2012 grænsen fil her. Arkivfilen har en formformatfil inde med grænsedata for alle stater. Et simpelt Python-program kan bruges til at kopiere længde-, længdeværdierne for grænsen for en given tilstand som følger:

import shapefile import sys r = shapefile.Reader ("statep010.shp") sr = r.shapeRecords () for s i sr: hvis s.record [3] == 'Vermont': form = sf = åben ("vermont. txt "," w ") for pt i form.shape.points: f.write (str (pt [0])) f.write (", ") f.write (str (pt [1]) f. skriv ("n") f.close ()

Python-programmet ovenfor skal bruge Python Shapefile-udvidelsen til at blive installeret. Den finder rekorden forbundet med den ønskede tilstand, i dette tilfælde Vermont, og skriver ud af breddegrad, længdeværdier for statens konturer til en ASCII datafile kaldet vermont.txt, der vil blive brugt af vores næste program. Det næste sæt af programmer (skrevet i Java og tilgængeligt i vermont.jar) genererer g-kode til forskellige dele af projektet. Disse giver alle grafiske eksempler på de dele, de vil skære. Det første program (kaldet Plot.java) tegner statsgrænsen fra filen vermont.txt, men bruger også ressourcefiler, der har placeringen af ​​lysene (som interpoleret fra et Vermont-produktkort) og nogle byområder (fra lat / lon ) for at hjælpe med at forstå, hvor man skal placere bymærker. Hullerne er groft i målestok, hvilket gav os en ide om, hvorvidt de var for tæt på kanten eller til grænserne for statskvarteret. Nogle polygon krydsninger blev brugt i Java til at producere de 4 mindre polygoner for de dele af staten, vi havde brug for at skære separat. Vi tweaked de afskårne grænser, indtil de ikke krydsede nogen af ​​de lyse hulpositioner, men alligevel holdt statskvartererne små nok til at skære på CNC. I sidste ende producerer programmet 4 g-kodefiler, en for hvert af de offentlige kvartaler (vermont1.nc, vermont2.nc, vermont3.nc og vermont4.nc).

Videoen herunder viser nogle eksempler på, at pilothullerne skæres til LED'erne, og grænserne skæres:

Klippetitelbrev

Vi brugte også CNC'en til at skære de enkelte bogstaver til Vermont. Jeg prøvede NCPlot, som fungerede ret godt for at generere g-kode til bogstaverne. Jeg var nødt til at ombestille nedskæringerne dog på bogstaver som "R" og "O", da jeg opdagede lidt for sent, at det ikke skar hullerne, før det skar båndgrænsen selv. Her er en video af titelbogstaverne, der skæres og slibes:

Planlægning / skæring af legen

Vi dimensionerede legenden panelet, så det kunne rumme de 15 produktindtastninger med LED huller i tilstrækkelig afstand. Det var også nødt til at passe ind i midten af ​​pappanelet til bunden til højre af staten. De primære kontrol knapper var også placeret på legenden panelet nederst. For det meste var CNC brugt til at bore legende pilothuller for alle lysdioder samt til 5 knapper og til at skære den rektangulære kant til panelet.

Og her bliver legendariske panel skåret:

Limning / Slibning / Maling af trædele

De fire kvartstykker af staten blev limet sammen med trælim. Disse sammenføjninger var langs lige kanter. Tynde strimler af træ blev brugt langs sømmen i ryggen for at styrke sømme (disse skulle skæres væk fra et par huller med en dremel). Staten, bogstaverne og legenden blev alle slibede og malede. Floderne og vandområderne på staten blev malet med blå glittermaling. Her er en video af maleriprocessen:

Også før vandfunktionerne blev malet, som vist i videoen ovenfor, blev de sporet ved hjælp af et projiceret overlag som vist nedenfor:

Fastgør LED'erne

Alle LED-hullerne blev boret, så LED'erne stikker gennem hullerne, og den flade del, der indeholder IC'erne, er flush mod træet på bagsiden. Hot-melt lim holder hver LED på plads. LED-kæden begynder på bunden af ​​legendariske panel, hvor LED'erne fylder alle hullerne fra bunden til toppen og så hopper de over til kortet, hvor de krydser de 35 huller der. I nogle tilfælde nåede en LED ikke et hul og måtte hoppes over (da vi ikke ønskede at skære de to 25 LED-tråde). Jeg debatterede om faktisk at skrive nogle kode for at finde den bedste måde at dække hullerne med et minimum af hoppede LED'er (et kendt algoritmer problem) - men manglende 2 var ikke så dårlig. Som følge heraf er vi nødt til at sammensætte en 2 LED-forlængelse (ved hjælp af den anden JST-stikket fra sætet) og tilføj det til kæden. Nedenstående billede viser et øverste billede af brættet, hvor du kan se kartonlaget, monteringsblokke og kortlag.

Knapper

Der er 4 områder, hvor knapper er nødvendige: nederst på legendariske panel er der en "on" -knap nederst til venstre af staten (som indeholder en strømlampe) og knapper til sangen og fuglen til venstre for den øverste del af staten. Alle disse er understøttet af små proto boards, hvis knapper og ledninger strækker sig gennem enten træet eller papen og som er smeltlimt på bagsiden. De 5 legende knapper er forbundet med en enkelt 6 ledermodulær telefonledning. Strømknappen / ledningen er forbundet med en 4-leder modulær telefonledning, og derefter bruger fugle- og sangknapper i fællesskab en anden 4-leder modulær ledning.

Montering af pladerne til trådet træt

Både stats- og fortolkningsbrædderne har træblokke, der er klæbet til dem i ryggen for at give plads til LED-strengen (og knapperne) bag dem, men foran pap. Fender skiver og træ skruer kommer gennem bagsiden af ​​pap i disse træ blokke, holder styrene sikkert på pap.

Udformning af kontrolboksindkapslingen

Elektronik kontrolboksen er fastgjort til bunden af ​​det centrale pappanel på bagsiden. Kassen er 24 "lang (for at matche det centrale trefoldige panel). Elektronik, batterier og højttalere lægges lineært langs hele 24 ". For at gøre adgangen nemmere anvendes en akryl glidende top, der kan åbnes helt for at give adgang til elektronik og batterier. Komponenterne selv er også monteret på en glidbar 1/4 "krydsfiner base, som er monteret lidt over bunden af ​​kassen. Bunden af ​​kassen kan derfor være flad uden de forskellige monteringsskruer for at bord og batterier bliver udsat. Det er også praktisk at kunne glide elektronikken ud. Et slutstykke på kassen har både en netstik og et eksternt stikkontakt. Oprindeligt brugte vi ekstern strøm, men når batterikredsen var helt på plads, blev det meget mere bekvemt, og vi brugte aldrig ekstern strøm igen under udvikling. Stikkontakten er ledningsnet, så batteriet slukker, når ekstern strøm er påtrykt (men en jumper skal fjernes, hvis du ønsker at levere reguleret 5 volt strøm via den eksterne stikkontakt - ellers skal en lidt højere spænding leveres som intern 5 volt regulator har brug for en lidt højere spænding - da 5 "D" -cellerne leverer, når den er på batteriet). En dummy plug indsat i den eksterne stikkontakt tjener som en effektiv "sikkerhed", så systemet ikke udilsigtet udløses under transport. I et nøgle til luftfartssamfundet syntes det at være rimeligt at vedhæfte et "Fjern før fly" -banner til dummypluggen for tydeligt at vise dens formål (og jeg har for nylig været vidne til forældre på vores datters skole, hvor stikket blev fjernet uden nødvendig forklaring for at prøve det ).

Nedenstående billede viser slutningen af ​​kabinettet, hvor netværks / strømforbindelsen er fjernet. Dette viser bunden, som komponenterne er forbundet med. Du kan se Pi bordet med kredsløbsklemmerne, som holder det til bunden. Pladeskruer af passende dybde blev brugt med klip for at muliggøre en montering på 1/4 "krydsfiner. Højttaleren optager normalt rummet i midten af ​​billedet. Et meget kort RJ45 mand-til-han-kabel blev skabt til at bygge broen mellem pi og den kvindelige RJ45, som blev brugt som netværksstikket på endepanelet.

Kontrolboksen er fastgjort til papen ved hjælp af samme fenderskive og træskruer som staten og legenden, medmindre de kommer igennem fra forsiden af ​​brættet og er dækket af klistermærker og ahornblad. Der er tre skruer, en til venstre, en i midten og en til højre. Kassen har et ledningshul, der kommer ud bag legendenes nederste side. Den 6-leder modulære ledning og 4-bens JST går gennem dette hul. Her er et klip af vores datter, der sliber styreboksen stykker forud for montage:

En sjov detalje var at skabe nogle lyd / ventilation huller i akryl dias cover til kabinettet. AcrylTop-klassen inkluderet i vermont.jar genererer g-koden for udluftningshullerne. Da disse var udluftede hulmønstre, behøver koden ikke faktisk at få adgang til stregerne for skrifttypens tegn. Koden gør tegnene til et lille billede og derefter gentager pixels af billedet for at bestemme, hvor pixlerne er fyldt. Placeringen af ​​disse skaleres og oversættes efter ønske til position og placering på omslaget.

Her er en video af hvordan lyd / ventilation huller blev skåret i akryl:

Med den slags akryl, som vi skarede, har materialerne en tendens til at smelte på møllens bit. Vi introducerede derfor pauser i programmet for at gøre det muligt for børsten at blive børstet efter hver boring af huller blev boret. Det løste problemet (på vores første gå rundt blev hullerne gradvist større som materialet akkumuleret på biten).

Software

Pi kører Occidentalis distributionen fra Adafruit (0,2 af denne skrivning). Projektet løber fra en enkelt Python rutine udviklet ved hjælp af Adafruit's WebIDE. Bortset fra Python-rutinen og datafilerne skulle der foretages nogle andre ændringer for at køre koden som en tjeneste og for at udføre automatisk nedlukning. Ved brug af websiden opbevares filerne til at køre Vermont i / usr / share / adafruit / webside / repositories / my-pi-projekter / Vermont på Pi. Vermont.py er hovedprogrammet. For at køre dette som en tjeneste, når Pi starter en / etc / init.d / vermont fil blev tilføjet som følger:

#! / bin / sh # /etc/init.d/vermont tilfælde "$ 1" i starten) ekko "Starting vermont" sudo /usr/share/adafruit/webide/repositories/my-pi-projects/Vermont/Vermont.py 2> & 1 & ;; stop) echo "Stop vermont" # kill applikation du vil stoppe LP_PID = `ps auxwww | grep Vermont.py | head -2 | awk '{print $ 2}'` kill -9 $ LP_PID ;; *) ekko "Anvendelse: /etc/init.d/vermont {start | stop}" exit 1; esac exit 0

Husk at bruge "update-rc.d vermont default" for at registrere tjenesten for at køre på boot.

Hvis du bruger IDE, kan du også gøre et "/etc/init.d/vermont stop" i shell for at sikre, at tjenesten ikke kører, mens du kører en anden fra IDE. Da vores kode havde tidsindstillet automatisk nedlukning indbygget, var vi nødt til at være forsigtige med at sætte timeout højere eller ikke køre koden meget længe under udvikling, eller det kunne lukke ned, hvis vi ikke havde ramt nogen knapper. Til automatisk nedlukning bruger vi et shutdown.py script på Pi som følger:

#! / usr / bin / python import RPi.GPIO som GPIO GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) GPIO.output (4, True)

Da vores bestyrelse bruger GPIO # 4-linjen for at fortælle Pololu-switchen at dræbe strøm, vil dette script straks slukke for strømmen. Men vi ønsker først en grasiøs nedlukning, så vi ændrede haltroutinen for at påberåbe den, da der blev anmodet om en strøm. Halt scriptet er ændret til at inkludere shutdown.py-opkaldet mellem linjen "Vil nu stoppe" og det aktuelle stopopkald:

... log_action_msg "Vil nu stoppe" / usr / bin / python /home/pi/shutdown.py stop -d -f $ netdown $ poweroff $ hddown ...

Opkaldet til at foretage en øjeblikkelig yndefuld nedlukning med sluk er så "shutdown -h nu". Dette er hvad vores ansøgning gør, når brugeren rammer "Off" -knappen.

Den fulde liste over Vermont.py ansøgningen er inkluderet her. Derudover blev der registreret adskillige wav-filer til brug og er placeret i en underkatalog kaldet "voice" under hoved "vermont" -kataloget. Filerne blev optaget / redigeret / fusioneret med det fremragende Audacity-værktøj. Nogle af de originale sange og lyde var i MP3-format. Mens Pi kan afspille dem fint med MPG321, blev det opdaget, at ydeevnen var lidt bedre, hvis de blev konverteret til WAV-format. MPG321 værktøjet kan faktisk bruges til at gøre konverteringen på Pi selv. Derefter brugte vi ensartet "aplay" -værktøjet til at spille WAV-filerne. For det meste afspilles lyd asynkront og afbrydes med vilje, hvis en anden lyd skal afspilles. Dette opnås med et opkald som:

os.system ("killall aplay; aplay mysound.wav &")

Dybest set dræber dette alle nuværende forekomster af aplay og baggrunde en ny. En synkron version ville bare udelade ampersand og blokere, indtil lyden spilles. Vi gør det på få steder for at forenkle logikken.

Evnen til baggrunds tråd lyden gør det muligt for os at afstemme knapper og forårsage LED ændringer, mens lyden afspilles (et alternativ ville have været at bruge afbrydelser til serviceknapper). På nogle steder forenklede vi den lyd, der skal baggrundes ved at slå sammen klip i en enkelt fil (ofte med "combo" i navnet). Det undgås, at baggrunden skal være en sekvens af spiloperationer.

Programmet har 4 driftsformer styret af "Mode" -knappen: manuel, automatisk, quiz og indstillinger. I manuel tilstand kan op- og nedpilene og markeringen bruges til at fremhæve elementer på legenden og vise, hvor de er på kortet. Ved at trykke på vælges afspilles lyd, der er forbundet med elementet. Automatisk tilstand cykler automatisk gennem legenden. Select vil stadig arbejde, men at slå op eller ned vil hoppe tilbage til manuel tilstand. Quiz mode vil quiz brugere på Vermont fakta, og de skal bruge op og ned og vælg for at vælge en af ​​legende elementer for at besvare hvert spørgsmål. Indstillingsfunktionen giver mulighed for automatisk afbrydelse fra 5 minutter til 60 minutter. Standard er 5 minutter for at spare strøm. Statens sang- og fuglesangeknapper kan vælges i manuel eller automatisk tilstand. "Off" -knappen lukker projektet ned (hvilket giver dig et par chancer for at kasse ud, før den virkelige nedlukning starter). Knappen "Til" bruges til at tænde (men det vil faktisk udføre en nødstop, hvis den trykkes igen - en artefakt af Pololu-switchmodulets funktion).

Applikationen er meget datadrevet med en "højdepunkter" liste, der giver lydene, farverne og tilhørende lys til at spille sammen. En "quiz" liste giver en liste over quiz spørgsmål og svar.

Strukturering af Python, så de fleste tilpasninger kan udføres ved at redigere data gør det mere tilgængeligt for børn, der kan oprette detaljerne selv (vores 2. grader gjorde, se videoen nedenfor, da hun bruger Adafruit WebIDE til at indtaste hendes brugerdefinerede data). At holde resten af ​​koden modulær (vi kunne sikkert have gjort det bedre) gør det nemmere for børn at bidrage med noget af logikken (siger til quiz-sektionen) uden at skulle tænke på de mere komplekse interaktioner.

Traditionelt plakatarbejde af optagelses- og limelementer til bestyrelsen

Ud over de elektroniske elementer havde plakaten alle de traditionelle aspekter af montering af fotos og trykte materialer til brættet. Vi inkjet trykte etiketterne på enten hvidt eller gennemsigtigt papir med fuld side og derefter skære dem op for legenden og produktetiketterne. Vores datter også kom med ideen om at lime Maple Leaves på plakaten (på grund af Sugar Maple og Maple Syrup i Vermont). Dette hjalp med at skjule et par skruehuller på bunden, og hvor ledningerne broede fra legenden til kortet. Her er en kondenseret video af nogle af elementerne i limning / limning af elementer til brættet:

Kigger på elektronikken i flere detaljer

Lad os se på layoutet af komponenter i kabinettet først. Til venstre er monteringspositionen til Pi, som direkte tilsluttes netværksstikket på ydersiden - hvilket er praktisk til justering af programmet med websiden. Den rigtige højttaler passer også der (det bliver det rigtige, når du står over for forsiden af ​​tavlen). Den eksterne strømstik er gemt under højttaleren overfor netstikket. Du kan også se hullet, der bærer LED-kablet og 6-lederens knapledning lige under legendariske panel.

I centrum er Perma-Proto bordet, der bestod af det meste af loddet arbejde. Vi ser på layoutet nedenfor. Du kan se til venstre er båndkablet forbundet til Pi.

På højre side har vi de to batteripakker. De 5 "D" -celler driver Pi og LED-strengen. De 3 "AA" -celler driver lydforstærkeren (for at være isoleret fra hovedforsyningen). Længst til højre er venstre højttaler. Samlet set er det en smuk pasform, men det holder pænt stallet stabilt - som en modvægt til træet og lysdioderne på forsiden - og holder tyngdepunktet lavt.

Billedet nedenfor viser et forstørret billede af Perma-Proto bordet. Lige til højre for båndstikket er niveauomformeren. RF-modtagerkortet, som sidder lodret lige over det, arbejder ved 5 volt, og niveauforskydningen konverterer de 4 digitale udgange fra RF-modtagerkortet til 3,3 volt niveauet for Pi. Pinouts passer fint sammen, så en 7 pin stikkontakt kan dele de samme stifter med niveauomformeren (se det andet foto af Perma-Proto med RF-modtager, forstærker og spændingsregulator fjernet).

I midten af ​​brættet er Pololu-switchemodulet, som gør det muligt for en øjeblikkelig kontakt at tænde for systemet. Det virker direkte ud fra spændingen, der leveres af enten den eksterne strøm eller de 5 "D" celler. En 5 volt regulator kan eventuelt patches ind gennem en jumper og printkortstik (grøn bord øverst). Det eneste tilfælde du ikke ville bruge det er, hvis du havde en reguleret ekstern 5 volt forsyning. For det meste fordi det var praktisk, bruges et 5 volt relæ (til højre for strømmodulet) til at tænde strømforsyningen til lydforstærkeren gennem den separate forsyning, når hovedstrømmen kommer op. Dette giver grundlæggende isolation, så lydforstærkerens potentielle strømspidser bringer ikke Pi ned. Forstærkeren selv passer ind i en stikkontakt til højre for relæet helt til højre på brættet. Socketing forstærkeren gør det nemt at fjerne højttalerne og forstærkeren som en enhed. Forstærkeren indbefatter også en jumper til styringsforstærkning.

På billedet er RF-antennen spolet op. Modtagelse blev forbedret ved at strække antennen ud til boksen hele længden - men området var stadig ret svagt. Jeg er ikke sikker på, at vi ville medtage RF-modtageren, hvis vi skulle gøre det igen. Det ville være nyttigt at designe et kort til Pi med denne kombination af funktioner (strøm, LED-strenge, forstærker og muligvis RF).

Da projektet allerede er på udstilling på skolen, har jeg ikke det handy, da jeg skriver dette. Jeg sammensætter et højt niveau Fritzing breadboard diagram nedenfor for at præcisere nogle af layoutet. Jeg erstattede en Pi Cobbler for hvad der virkelig er en samlet Pi Perma-Proto bord (men er ikke i Fritzing biblioteket endnu). Det omfatter ikke alle de modulære omskifter ledninger til knapperne. De to PCB-skrueterminaler øverst til venstre er til lydkanalerne fra Pi. De to andre på toppen er til den eksterne 5 volt regulator. De to nederst til venstre er til LED-båndet (selvom den vi brugte har 5V ved siden af ​​GND-linjen og dermed vores skrueterminallayout). Den næste terminal er hvor 5 "D" cellepakken forbinder. De næste 3 ledninger er, hvor den eksterne strøm forbinder - når intet er tilsluttet, er den grønne ledning forbundet til jord og aktiverer 7,5 volt batteriet. De to sidste ledninger er hvor forstærkeren forbinder. Diagrammet viser også ikke Pololu # 750-switchkablerne, der kommer fra midten af ​​modulet (hvor en kontakt normalt kan monteres). SPDT relæ pinout er sådan, at når den primære 5 volt strøm kommer op, er relæture og 4,5 V-forsyningen forbundet til forstærkeren. Forstærkeren hæves fra brættet på et par kvindelige hoveder, så det let kan fjernes. RF-modtagermodulet docker i terminalstrimlen vist ovenfor niveauomformeren. Modulets sidste tast bruges ikke og er bøjet væk for ikke at komme i kontakt med bordet.

Nå det konkluderer en af ​​mine længste writeups. Jeg håber, at jeg har givet nok detaljer til dem, der måske vil tackle noget lignende. At arbejde sammen med vores datter på et komplekst projekt som dette var en temmelig fantastisk oplevelse. Jeg er stadig forundret over den mangfoldighed af arbejde, hun gjorde for at se tilbage på de videoer, vi tog - men det er virkelig muligt, hvis arbejdet er spredt over et antal uger .

Oprindelige indlæg på SWB Labs


Scott Bennett er teknologiudvikler og softwareudvikler om dagen og en ivrig maker om natten. Med grader inden for elteknik genoplivede hans makerprojekter sin kærlighed til elektronik. Maker miljøet omkring hjemmet har også inspireret sin datter, da de ser frem til flere fælles projekter. Scott bor sammen med sin familie i det nordlige Virginia. Du kan finde sin blog på swblabs.com.

Indtast dit projekt i vores Raspberry Pi Design Contest

  • Over $ 3.500 i præmier fra MCM Electronics
  • Best In Show vinder en Printrbot Jr.
  • Fire kategorier: Kunstnerisk, Utility, Uddannelse og Indkapslinger
  • Indleveringer skal ske senest 11. april 2013
Indtast i dag!


Du Kan Være Interesseret

Interview med Stefanie Japel af Glampyre Knits og Author of Fitted Knits

Interview med Stefanie Japel af Glampyre Knits og Author of Fitted Knits


Strik dit eget teamlogo tørklæde

Strik dit eget teamlogo tørklæde


Flashback: Playable Pac-Man Costume

Flashback: Playable Pac-Man Costume


Strik Aviator Baby Hat

Strik Aviator Baby Hat