Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Det er tid for senga. Du står opp for å slå av lysene for natten, og etter at du har slått på bryteren, innser du at du har den mørke reisen tilbake til sikkerheten til sengen foran deg. Heldigvis ble nattlys oppfunnet, og du har kommet til rett sted for å finne et! Men … hvordan kan du sovne når det irriterende nattlyset er tent gjennom natten og belyser rommet ditt? I tillegg er du ikke lei av at dette tomme mørket får nattlyset til å lyse og kaste bort energi? Vel, du er fortsatt på rett sted, for vi har akkurat det du trenger!
Vi ønsker å gjøre livet ditt lysere ved å hjelpe deg med å lage et bærekraftig nattlys.
I denne opplæringen skal vi lede deg gjennom prosessen med å bygge et nattlys som slås av med en timer. Systemet vil kunne gjenkjenne når hovedlyset er slått av, via en lyssensor, og slå på lyset i en brukerinnstilt tid, og slå seg av etter at tiden har gått. Dette nattlyset er annerledes enn andre nattlys fordi det sløser med energi ved å forbli på når du sover og ikke trenger det. Dette prosjektet bruker to typer brett, Basys 3 og Arduino, og en lyssensor.
Skapere: Luke McDaniel, Erik Ramazzini, Monica Negrete, Hayley Young
Trinn 1: Materialer og programvare
Materialer
Basys 3 Artix-7 FPGA Trainer Board
store.digilentinc.com/basys-3-artix-7-fpga…
Arduino Uno Rev3
store.arduino.cc/usa/arduino-uno-rev3
Brødbrett
www.amazon.com/Elegoo-EL-CK-002-Electronic…
10k Ω motstand
Samme lenke som brødbrett
Jumper Wires
Samme lenke som brødbrett
Lyssensor (minifotocelle)
www.sparkfun.com/products/9088
Programvare
Vivado HL WebPACK Edition (vedlagt PDF inkluderer instruksjoner)
www.xilinx.com/products/design-tools/vivad…
Arduino IDE
www.arduino.cc/en/Main/Software
Trinn 2: Systemarkitektur
Det neste trinnet er å forstå systemarkitekturen. Vi laget et svart boksdiagram og en endelig tilstandsmaskin (vist ovenfor) for å organisere strukturen i designet før vi går inn i logistikken
Overordnet design
Innganger
Lyssensor: bestemmer mengden lys i rommet
Utganger
- Anoder: bestemmer hvilke 7-segmenters skjermer som skal brukes
- Segmenter: viser timeren
- LED: viser nattlysforholdene PÅ eller AV
Arduino
Inngang
Lyssensorsignal: analog verdi av mengden lys i rommet
Produksjon
Lysinngang (1 bit): signal som bestemmer rommets lysforhold
Grunnleggende 3
Inngang
- Lysinngang (1 bit): signal som bestemmer rommets lysforhold
- Brytere
- CLK
Produksjon
- Anoder: bestemmer hvilke 7-segmenters skjermer som skal brukes
- Segmenter: viser timeren
- LED: viser nattlysforholdene PÅ eller AV
Trinn 3: Maskinvare og Arduino -kode
Maskinvare
For å forstå Arduino -koden, må vi forstå maskinvaren som koden samhandler med. Kretsen på brødbrettet inkluderer en fotocelle, en lysdiode og flere ledninger og motstander for å fullføre den. Kretsen starter med å sende strøm til fotocellen, som deretter leser mengden lys som omgir den. Denne informasjonen overføres til den analoge pinnen, A0, noe som gjør den lesbar for Basys -kortet. Basys -kortet tar deretter denne informasjonen, begynner å telle og sender et signal for LED -en for å slå på.
Arduino -koden
Selve Arduino -koden kommuniserer med Basys -kortet ved å sende et signal når lyset rundt enheten er mørkere enn en spesifisert terskel. Dette signalet som utløses av et mørkt rom med ledning til LED -en, slås på. Vi fant gjennom eksperiment at gjennomsnittlig terskel for vår spesifikke fotocelle i mørke rom er 30 - 60. Hver fotocelle har en forskjellig følsomhet, så andre fotoceller kan ha forskjellige terskler. I vår publiserte kode gjorde vi terskelen 100 for demonstrasjonsformål.