Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Atėjo laikas miegoti. Atsikeli, kad išjungtum šviesą nakčiai, ir, pasukęs jungiklį, supranti, kad tavęs laukia niūri kelionė atgal į savo lovos saugumą. Jums pasisekė, kad buvo išrastos naktinės lemputės, ir jūs atėjote į tinkamą vietą, kad jas rastumėte! Bet … kaip galite užmigti, kai per naktį dega ši erzinanti naktinė šviesa, apšviečianti jūsų kambarį? Be to, ar nenusibodo ši tuščia tamsa, dėl kurios naktinės lemputės lieka įjungtos ir eikvoja energiją? Na, jūs vis dar esate tinkamoje vietoje, nes mes turime būtent tai, ko jums reikia!
Mes norime praskaidrinti jūsų gyvenimą padėdami jums sukurti tvarią naktinę šviesą.
Šioje pamokoje mes supažindinsime jus su naktinio apšvietimo, kuris išsijungs su laikmačiu, kūrimo procesu. Sistema per šviesos jutiklį galės atpažinti, kai pagrindinė lemputė yra išjungta, ir įjungti šviesą vartotojo nustatytam laikui, o pasibaigus šiam laikui. Ši naktinė lemputė skiriasi nuo kitų naktinių lempučių, nes ji eikvoja energiją likdama įjungta, kai miegate ir jums to nereikia. Šiame projekte naudojamos dviejų tipų plokštės - „Basys 3“ir „Arduino“bei šviesos jutiklis.
Kūrėjai: Luke McDaniel, Erik Ramazzini, Monica Negrete, Hayley Young
1 žingsnis: medžiagos ir programinė įranga
Medžiagos
Basys 3 Artix-7 FPGA trenerių lenta
store.digilentinc.com/basys-3-artix-7-fpga…
„Arduino Uno Rev3“
store.arduino.cc/usa/arduino-uno-rev3
Bandomoji Lenta
www.amazon.com/Elegoo-EL-CK-002-Electronic…
10 kΩ rezistorius
Ta pati nuoroda kaip ir duonos lenta
Trumpieji laidai
Ta pati nuoroda kaip ir duonos lenta
Šviesos jutiklis (mini fotoelementas)
www.sparkfun.com/products/9088
Programinė įranga
„Vivado HL WebPACK Edition“(pridėtame PDF dokumente yra instrukcijos)
www.xilinx.com/products/design-tools/vivad…
„Arduino IDE“
www.arduino.cc/en/Main/Software
2 žingsnis: sistemos architektūra
Kitas žingsnis - suprasti sistemos architektūrą. Mes sukūrėme juodosios dėžės schemą ir baigtinės būsenos mašiną (rodomą aukščiau), kad galėtume sutvarkyti savo dizaino struktūrą prieš pradėdami logistiką
Bendras dizainas
Įėjimai
Šviesos jutiklis: nustato šviesos kiekį kambaryje
Išėjimai
- Anodai: nustato, kurie 7 segmentų ekranai bus naudojami
- Segmentai: rodo laikmatį
- LED: rodo įjungto arba išjungto naktinio apšvietimo sąlygas
Arduino
Įvestis
Šviesos jutiklio signalas: analoginė šviesos kiekio patalpoje vertė
Išvestis
Šviesos įvestis (1 bitas): signalas, lemiantis kambario šviesos būklę
Basys 3
Įvestis
- Šviesos įvestis (1 bitas): signalas, lemiantis kambario šviesos būklę
- Jungikliai
- CLK
Išvestis
- Anodai: nustato, kurie 7 segmentų ekranai bus naudojami
- Segmentai: rodo laikmatį
- LED: rodo įjungto arba išjungto naktinio apšvietimo sąlygas
3 žingsnis: Aparatūra ir „Arduino“kodas
Techninė įranga
Norėdami suprasti „Arduino“kodą, turime suprasti aparatinę įrangą, su kuria kodas sąveikauja. Mūsų duonos lentos grandinėje yra fotoelementas, šviesos diodas ir keli laidai bei rezistoriai. Grandinė prasideda siunčiant energiją fotoelementui, kuris nuskaito jį supančios šviesos kiekį. Ši informacija perkeliama į analoginį kaištį A0, todėl jį galima perskaityti „Basys“plokštėje. Tada „Basys“lenta paima šią informaciją, pradeda skaičiuoti ir siunčia signalą, kad šviesos diodas įsijungtų.
Arduino kodas
Pats „Arduino“kodas bendrauja su „Basys“lenta, siunčiant jai signalą, kai prietaisą supanti šviesa yra tamsesnė už nurodytą slenkstį. Šis signalas, kurį sukelia tamsus kambarys su šviesos diodu, įsijungs. Eksperimento metu mes nustatėme, kad vidutinė mūsų specifinio fotoelemento slenkstis tamsiuose kambariuose yra 30–60. Kiekvienas fotoelementas turi skirtingą jautrumą, todėl kiti fotoelementai gali turėti skirtingus slenksčius. Savo paskelbtame kodekse demonstravimo tikslais nustatėme 100 ribą.