Elektronska dawn simulator

 Eric Wilhelm od mikrokrmilnika lahko namestite celoten zore simulator na svoje ure. Ob določenih urah dneva naprava sveti različnih odtenkov, svetlost nastavi preko kode.

Elektronska dawn simulator

Elektronska dawn simulator

Elektronska dawn simulator

 Korak 1: Lahka
 Ni skrivnost, da se je že pripravila take naprave, ki jih je mogoče kupiti v trgovini z elektroniko. Celoten projekt je odvisen od elektronskih znamko ura Soleil Alarm, ki jih je mogoče kupiti na uradni spletni strani istoimenska podjetja.
 Prav tako ne brez nakupa drugih elektronskih elementov na različnih spletnih trgovin.
 Korak 2: Sestavni deli
  1.  Mikrokontrolerji Atmel ATMEGA8-16PI (najbolje kupiti nekaj, če nenadoma gorijo).
     Optokoppler 4N35.
     Škatla z LED modro.
     Krmilnik 5 Art.
     Upori 1 ohm in 470 ohm.
     Slovo.
    [Ol]

    Elektronska dawn simulator

     Korak 3: Watch
     Krmilnik 300 W 0-5 prebere signal, ki prihaja z-vmesnika.

    Elektronska dawn simulator

    Elektronska dawn simulator

    Elektronska dawn simulator

     4. korak: LED
     Če menite, da o dodajanju zunanji tranzistor, potem lahko teče z nizko svetlostjo.
     Zato je bolje, da kupite mikrokrmilniška ustvariti dober PWM signala na 16 bitov obdržati stalno svetlobo s frekvenco 130 Hz.
    Elektronska dawn simulator

     Korak 5: Funkcija
     PWM signala ni linearna. Naš čas je 44 diskretnih korakov. Zato lahko skonstruiramo eksponentno funkcijo:
     f (x) = A (1-exp ((Bx + D) x + C)).
    Elektronska dawn simulator

    Elektronska dawn simulator

    Elektronska dawn simulator

     Korak 6: Chain
     Prenos električne verigo, ki jo sheme.
     Korak 7: Microcontrollers
     Moramo se zbrati kodo za mikrokrmilniška prek WinAVR in AVR Studio.
    Elektronska dawn simulator

     Korak 8: Žice
     Žice, ki prihajajo iz programerja AMEGA8 nožice 1 julija (VCC), 8 (GND), 171 819 20 (AVC), 21 (Aref) in 22 (GND).
     Korak 9: Program
     V tem primeru, mikrokrmilnik deluje kot nelinearen PWM filtra. Program izračuna čas vklopa, raven nadzora LED in izhod PWM signala.
     Eric William kodo prikazano spodaj s svojimi pripombami.
     [Spojler] / * LED mikrokrmilnik dimmer za uporabo z Soleil ne AlarmWritten za Atmel ATMega8 in AVR-gccEric J. WilhelmSquid Labs, LLCAttribution-Nekomercialno-Deljenje pod enakimi pogoji 2.5You so brezplačno: * reproduciranje, distribuiranje, prikazovanje in opravlja delo * k da worksUnder derivat naslednje pogoje: s avtorstva. Morate navesti izvirnega avtorja na način, ki ga določi izvirni avtor oziroma licensor.Noncommercial. Ne smete uporabljati to delo za komercialne purposes.Share Alike. Če spremenite, pretvorite ali gradite na tem delu, lahko distribuirate predelavo dela le pod licenco, ki je enako tej. * Pri vsaki uporabi ali distribuciji morate jasno drugim licenčne pogoje tega dela. * Vsaka od teh pogojev se lahko razveljavi, če dobite dovoljenje imetnika avtorskih pravic * / # Include #include #include #include #include # opredeliti OC1 PB1 # opredeliti DDROC DDRB # opredeliti OCR OCR1Avolatile uint16_t xtimer;. Nestanovitno uint16_t timer0; volatile uint8_t Stanje; SIGNAL (SIG_OVERFLOW0) {timer0 ++; TCNT0 = 96; // Prednaloži s timerjem 96, da bi to prekinitev zgodi vsakih 20 nam} signala (SIG_OVERFLOW1) {// Prekinitve ne delujejo pravilno, ne da bi to definicijo} // Falling rob PWM signal (naraščajoče rob na uro;.. Obrnil zaradi da optoisolator) signala (SIG_INTERRUPT1) {// Zero timer0 računati dolžino pozitivnega impulza timer0 = 0; Status = 1;} // zemljo rob PWM signala (padajoči bok na uro, obrnil zaradi optoisolator) signala (SIG_INTERRUPT0) {// evidentira dolžino pozitivne PWM signala v xtimer // če je timer0 večja od približno 263 (pri 20 nas na prekinjenem), kot je impulz zgrešil če (timer00; i--) {x (i) = x (i-1);} x (0) = xtimer; y = 0; za (i = 0; i 0; i--) {t (i) = t (i-1);} // ugotoviti, kaj storiti, če (timer0 & gt; 270 && stanje == 1 && na == 1) { // Vključite luč na t (0) = 0; o = 1;} else if (timer0 & gt; 270 && stanje == 0) {// Turn off svetlobo, t (0) = 65535; xtimer = 0; o = 0; else if (timer065535) t (0) = 65535; če (t (0) 270, vendar pa je pozitiven impulz na PWM // to zgodi v samem začetku sončnim vzhodom, ko je PWM Ura ni povsem vklapljati na pravi frekvenci else if (timer0 & gt; 270 && status = = 1) {if (++ 5) {o = 1; // povprečju izhod, tako da ne skačejo okrog U = 0; za (i = 0; i<100;i++) {="" u="u+t(i);" }="" change="" the="" output="" pwm="" ocr="u/100;" }="" return="" (0);}="">
    Elektronska dawn simulator

    Elektronska dawn simulator

     Korak 10: Cable
     2 Uporaba vtič in kabel improvizirati polni kabel.
     Korak 11: Plug
     Povežite se škatla z LED uro.  




Яндекс.Метрика