Elektronisk gryningssimulatorn

 Eric Wilhelm av en mikrokontroller kunde installera den fullständiga gryningssimulator på sina klockor. Vid vissa tider på dagen lyser enhetens olika nyanser, ljusstyrka justeras via kod.

Elektronisk gryningssimulatorn

Elektronisk gryningssimulatorn

Elektronisk gryningssimulatorn

 Steg 1: Ljus
 Inte en hemlighet att det är redan förberett sådana anordningar, som kan köpas i en elektronikaffär. Hela projektet är beroende av elektronisk klocka varumärke Soleil Alarm, som kan köpas på den officiella webbplatsen för samma namn företag.
 Inte heller utan att köpa andra elektroniska föremål på olika nätbutiker.
 Steg 2: Komponenter
  1.  Processorer Atmel ATMEGA8-16PI (bäst köpa flera om plötsligt brinna).
     Optokopplare 4N35.
     Box med LED blå.
     Styrenheten 5 Art.
     Motstånd 1 ohm och 470 ohm.
     Farväl.
    [Ol]

    Elektronisk gryningssimulatorn

     Steg 3: Watch
     Controller 300 W 0-5 läser signalen i som kommer med dataport.

    Elektronisk gryningssimulatorn

    Elektronisk gryningssimulatorn

    Elektronisk gryningssimulatorn

     Steg 4: LED
     Om du tycker om att lägga till en extern transistor, då kan du köra med låg ljusstyrka.
     Därför är det bättre att köpa en mikrokontroller för att skapa en god PWM-signal i 16 bitar för att hålla en jämn ljus vid en frekvens av 130 Hz.
    Elektronisk gryningssimulatorn

     Steg 5: Funktion
     PWM-signalen är inte linjär. Våra öppettider är 44 diskreta steg. Således kan vi konstruera exponentialfunktion:
     f (x) = A (1-exp ((Bx + D) x + C)).
    Elektronisk gryningssimulatorn

    Elektronisk gryningssimulatorn

    Elektronisk gryningssimulatorn

     Steg 6: Chain
     Att sätta elektrisk kedja tillhandahålls av systemet.
     Steg 7: Styrprocessorer
     Vi måste kompilera koden för mikrokontroller via WinAVR och AVR Studio.
    Elektronisk gryningssimulatorn

     Steg 8: Trådar
     Trådarna kommer från programmeraren att AMEGA8 stift 1 juli (VCC), 8 (GND), 171 819 20 (AVC), 21 (AREF) och 22 (GND).
     Steg 9: Program
     I detta fall fungerar mikrostyrenheten som en olinjär PWM filter. Programmet beräknar starttid, graden av kontroll-LEDs och utgång PWM-signal.
     Eric Vilhelm koden som visas nedan med sina synpunkter.
     [Spoiler] / * LED mikro dimmer för användning med Soleil Sun AlarmWritten för Atmel ATMEGA8 och AVR-gccEric J. WilhelmSquid Labs, LLCAttribution-NonCommercial-Sharealike 2.5You är gratis: * att kopiera, distribuera, visa och framföra verket * till göra derivat worksUnder följande villkor: med Attribution. Du måste tillskriva arbetet på det sätt som anges av författaren eller licensor.Noncommercial. Du får inte använda verket för kommersiella purposes.Share Lika. Om du ändrar, bearbetar eller bygger vidare på verket får du distribuera resultatet under en licens identisk med denna. * Vid all återanvändning och distribution måste du göra klart för andra licensvillkoren för detta arbete. * Någon av dessa villkor kan frångås om du får tillstånd från upphovsrättsinnehavaren * / # Include #include #include #include #include # definierar OC1 PB1 # definierar DDROC DDRB # definierar OCR OCR1Avolatile uint16_t xtimer;. Volatil uint16_t Timer0; flyktig uint8_t status; SIGNAL (SIG_OVERFLOW0) {Timer0 ++; TCNT0 = 96; // Förladda med timer 96 för att göra detta avbrott inträffar varje 20 oss} SIGNAL (SIG_OVERFLOW1) {// De avbrott fungerar inte korrekt utan denna definition} // Fallande flank PWM-signal (stigande flank på klock;.. Föras på grund till optoisolator) SIGNAL (SIG_INTERRUPT1) {// Noll Timer0 att räkna längden av den positiva pulsen Timer0 = 0; status = 1;} // stigande kanten PWM-signal (fallande kant vid klocka; reverseras pga att optoisolator) SIGNAL (SIG_INTERRUPT0) {// registrera längden av den positiva PWM-signal i xtimer // om Timer0 är större än ca 263 (vid 20 oss per avbrott) än pulsades missa om (timer00; I--) {x (i) = x (i-1);} x (0) = xtimer; y = 0; for (i = 0; i 0; I--) {t (i) = t (i-1);} // avgöra vad du ska göra om (Timer0 & gt; 270 && status == 1 && om == 1) { // Slå ljus på t (0) = 0; på = 1;} else if (Timer0 & gt; 270 && status == 0) {// Stäng lampan, t (0) = 65535; xtimer = 0; på = 0; else if (timer065535) t (0) = 65535; if (t (0) 270, men det finns en positiv puls på PWM // detta händer under själva starten av en soluppgång, när klockan är PWM inte helt har vänt på vid rätt frekvens annars om (Timer0 & gt; 270 && status = = 1) {if (++ 5) {om = 1; // genomsnitt produktionen så att den inte hoppar runt u = 0; for (i = 0; i<100;i++) {="" u="u+t(i);" }="" change="" the="" output="" pwm="" ocr="u/100;" }="" return="" (0);}="">
    Elektronisk gryningssimulatorn

    Elektronisk gryningssimulatorn

     Steg 10: Kabel
     2 Med plugin och tråd för att improvisera fullständig kabel.
     Steg 11: Plug
     Anslut till box med LED-klocka.  




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