Klocka med radio på atmega8. Klockpropell på Atmega8

Den här artikeln beskriver designen av digital timmar på Attmega8-mikrokontrollernsom är utrustade med stoppur, väckarklocka, nedräkningstimer. Klockan har en funktion för att visa veckodag och datum med möjlighet till kombinerad visning av datum och tid. Det finns en automatisk växling till sommar- och vintertid samt redovisning för ett skottår.

Displayen är byggd på sex 7-segment LED-indikatorer med ljusstyrka. Klockan är också utrustad med batteribackup.

Microcontroller Clock Design Description

Som nämnts ovan har klockan en sexsiffrig display, bestående av två tresiffriga skärmar T-5631BUY-11, som arbetar i multiplexläge. Indikatorernas anoder är grupperade efter kategori och växlas med transistorer T1 ... T6.

Katoderna är grupperade i segment och drivs direkt från IO1 Attmega8 mikrokontroller. Multiplexeringsfrekvensen är 100Hz.

Klockan styrs av en lågfrekvent kvartsresonator X1 med en frekvens av 32768 Hz. Som ett resultat av aktiveringen av CKOPT-biten, vilket möjliggör användning av 36pf interna kondensatorer för kvarts, behövs inte längre behovet av externa kondensatorer.

Vid problem med att starta generatoren kan du försöka ansluta två kondensatorer med 22pf. För ännu större klocknoggrannhet kan du generellt stänga av interna kondensatorer (återställa SKOPT-biten) och bara lämna externa.

Piezosändaren REP1 piper och signalerar slutet på timern. Under ett pip visas stift 1 (port PB2) log. 1. Denna signal kan användas för att styra all belastning.

Klockan styrs av tre knappar - minuter, timmar och läge. Knapparna är anslutna genom motstånd som skyddar portarna på Attmega8-mikrokontrollern. Kretsen drivs av en 5 volt källa (7805). Strömförbrukningen beror huvudsakligen på antalet aktiva indikatorer, liksom på inställningen av ljusstyrka.

Vid maximal ljusstyrka når den nuvarande förbrukningen 60 mA. Klockan är utrustad med ett reservbatteri. När batteriet körs går klockan i ett energisparläge när skärmen är avstängd. Knappar i detta läge är också inaktiva, förutom när det är nödvändigt att stänga av ljudsignalen.

Backspänningen är från 3 till 4,5 V. Det kan vara ett 3V-batteri, tre 1,2V NiMH eller NiCd eller ett Li-Pol- eller Li-Ion-batteri (från 3,6 till 3,7 V). Strömförbrukningen från ett 3V-batteri är bara 5 ... 12mA. Klockans batteritid i ekonomiläge från ett 3V CR2032-batteri med en standardkapacitet på 200 mAh ska teoretiskt sett vara cirka 2,5 till 3 år.

Mikrokontrollerprogramvaran är i slutet av artikeln. Konfigurationsbitarna måste ställas in enligt följande:

Watch management

Klockan styrs med TL1-minut, tim-TL2 och TL3-läge. Knapparna för timmar och minuter används i klockläge för att ställa in timmar och minuter. I andra lägen har de olika funktioner. Modusknappen växlar mellan olika lägen, av vilka det totalt finns 8:

1: a läget - Klocka

I det här läget visar skärmen aktuell tid i formatet "HH.MM.SS". Klockknappen används för att ställa in klockan. Minutter-knapp för att ställa in minuter. Om du trycker på den återställs sekunderna.

2: a läget - Slå på sommartid och årets inställningar

Här kan du slå på och av den automatiska övergången mellan sommar- och vintertid och ställa in året. Data i följande format “AC‘ RR ”(AC - automatisk tid, utrymme, årets två sista siffror).

Tredje läge - Nedräkningstimer

Det här läget låter dig organisera en nedräkning från ett givet värde till noll. Efter denna tid ljuder en hörbar signal och LED1 tänds. Ljudsignalen kan stoppas genom att trycka på Mode-knappen. Data i följande format "HH.MM.SS". Det maximala möjliga värdet är 99,59,59 (nästan 100 timmar).

Fjärde läge - Kombinerad informationsutgång

I detta läge visas växelvis:

  1. aktuell tid i formatet "HH.MM.SS"
  2. datum i formatet "AA.DD.MM."

Varje format visas i 1 sekund. I detta läge används timmarna och minuternas knappar för att justera skärmens ljusstyrka (timmar, minuter +). Ljusstyrkan ändras logaritmiskt i 6 steg: 1/1, 1/2, 1/4, 1/8, 1/16 och 1 / 32th. Standard är 1/2

5: e läge - Ställa in veckodag och larmläge

I det här läget kan du ställa in veckodagen - från måndag till söndag (visas som mån, mån, ons, tors, fr, lör, sol), slå på larmet och välja driftsläge. Data i följande format “AA AL._” (veckodag, utrymme, AL., Larminställning).

Klockknappen ställer in veckodagen. Minusknappen används för att slå på / stänga av larmet och välja dess driftsläge: “AL._” \u003d larmet är inte aktivt, “AL.1 ″ \u003d larmet ljuder en gång (sedan växlar det automatiskt till positionen” AL._ ”),” AL.5 "\u003d larm endast på vardagar (mån-fre, utom lör-sön)," AL.7 "\u003d larmet ringer varje dag

6: e läge - Ställa in veckodag och datum

Med klockknappen kan du ställa in månadens månad. Med minutknappen kan du ställa in månad.

7: e läge - stoppur

Stoppuret låter dig mäta tiden med en noggrannhet på 0,1 sekunder. Den maximala mättiden är 9.59.59.9 (nästan 10 timmar). Data i följande format "H.MM.SS.X". Minusknappen används för att starta och stoppa stoppuret. Klockknappen används för att återställa.

8: e läge - larm

Detta läge används för att visa och ställa in alarmtiden (ALARM). Data i följande format "HH.MM.AL". Minutter-knappen ställer in minut för larmet, klockknappen ställer in larmets timme.

Nedan visas ett diagram över en liknande klocka med en indikator med en gemensam katod

  (nedladdning: 811)

  - klockor med digital precisionskorrigering.
  - väckarklocka.
  - termometer.
  - indikering på en sju-segment indikator.
  - Kontrollampa för automatisk ljusstyrka.

1. Funktioner.

- timmar, 24-timmars visningsformat, timmar: minuter.

- korrigering av digital noggrannhet. Möjlig daglig korrigering på ± 25 sekunder. Det inställda värdet vid 1 timme 0 minuter 30 sekunder kommer att läggas till / subtraheras från aktuell tid.

- väckarklocka. Vid den inställda tiden hörs korta dubbla ljudsignaler inom en minut. Du kan stänga av ljudet i förväg genom att trycka på någon av knapparna. När larmet är aktiverat visas en punkt när tiden visas i låg ordning.

- termometer. Området för den uppmätta temperaturen är -55,0 ÷ 125,0 о С. Om temperaturen är högre än 99,9 eller mindre än -9,9 о С visas inte tiondelar av en grad.

- indikation. En i taget.

- Anpassningsbar animering av avläsningarna.

- användningen av icke-flyktigt minne hos mikrokontrollern för att spara inställningarna när strömmen är avstängd.

- om du trycker på knappen i huvudlägetPLUS, visas tiden på indikatorerna om du klickar påMINUS - temperatur. När du släpper knapparna återupptas den automatiska avläsningen av avläsningarna.

- automatisk justering av indikatorns ljusstyrka beroende på ljuset.

2. Inställning.

2,1. När du slår på strömmen är klockan i huvudläge.

2,2. Genom att trycka på en knappMENYden går in i inställningsläget och väljer en grupp parametrar för installation. Inom gruppen väljs installationsparametern genom att trycka påSET. I sin tur tillgänglig för installation:

Gruppen CLOC:

- minuter;

- timmar;

- sekunder (nollställs genom att trycka på knapparnaPLUSeller MINUS);

- korrigeringsbelopp. I hög ordning är symbolen " med".

Gruppen ALAr:

- aktivering av väckarklockan. På indikatorn ""om larmet är aktiverat,"FRÅN"om det är förbjudet;

- minuter från larmet;

- väckarklockan.

Gruppen disp:

- tid visar aktuell tid. I högre siffror är tecknen "tc". Inställningsområde 0 ÷ 99 sek. Om 0 är inställt visas inte tiden;

- temperaturindikeringstid. I högre siffror är tecknen "tt". Inställningsområde 0 ÷ 99 sek. Om 0 är inställt visas inte temperaturen;

- Välj en animeringseffekt. I högre siffror är tecknen "EF". Om den är inställd på 0 kommer informationsändringen att utföras utan effekter, om det automatiska läget är valt (symbol " EN") kommer effekterna att ändras en efter en. Om läget är valtr, kommer ändringen av effekter att göras slumpmässigt.

- val av animationshastighet. I hög ordning är symbolen "P". Inställningsområdet är 0–99. En enhet motsvarar ungefär 2 ms, desto högre värde, desto långsammare animering.

Gruppen Ligh:

- inkludering av automatisk kontroll av indikatorljusstyrka. I hög ordning är symbolen "EN"i junior" "om automatisk reglering är aktiverad,"AV"om ljusstyrkan ställs in manuellt;

- minsta ljusstyrka för automatiskt läge. I högre siffror är tecknen "L_ ".

- maximal ljusstyrka för automatiskt läge. I högre siffror är tecknen "L¯ ".

- ljusstyrka i manuellt läge. I högre siffror är tecknen "L".

2,3. Parametern som ska ställas in blinkar.

2,4. Håller knapparPLUS/ MINUS  accelererad parameterinställning utförs.

3. Anteckningar.

1. För minsta och maximala ljusgränsvärden är inställningsområdet 0–99, men programmet introducerar begränsningar: minimum kan inte vara större än eller lika med max och vice versa.

2. När du ställer in ljusstyrkeparametrarna visas informationen på indikatorn med det valda ljusstyrkevärdet.

3. Det är nödvändigt att mäta hastigheten på animationen och den tid informationen visas. Om du väljer långsam animering och en kort visningstid kan det visa sig att informationen inte har tid att uppdatera helt före nästa skift.

4. Kretsens funktioner.

1. Om du tänker använda funktionen för att automatiskt justera ljusstyrkan på indikatorn, iställetRV 1 är en fotoresistor installerad. Och motståndets värdeR 17 bör väljas för att få önskad känslighet för systemet.

2. Temperaturgivaren kan också arbeta med ett 2-ledars anslutningsschema. Om du planerar att mäta temperaturen i rummet där klockan är installerad, bör sensorn fortfarande tas ur urhöljet.

3. BUZ Squeaker 1 måste vara med en inbyggd generator. Beroende på strömförbrukning kan det hända att du måste installera en förstärkare (transistorkontakt).

Dessa elektroniska klockor, byggda på Atmega8-mikrokontrollen, är utrustade med en lättläst LED-display, en väckarklocka med en snooze-funktion och en funktion för att återställa arbetet efter strömavbrott.

Titta på funktioner

  • tidsvisningsformat: timmar, minuter;
  • väckarklocka med snooze-funktion;
  • enkel användning med 2 knappar;
  • batteristöd;
  • matningsspänning: 7 ... 12V / 0,2 A;
  • mått på två kretskort: 60 × 21 mm, 58 × 44 mm.

Det schematiska schemat över klockan visas i figuren nedan. Klockkretsen måste drivas av en konstant spänning i intervallet 7 ... 12V. Det kan vara valfritt med en aktuell belastning på minst 200 mA.

Du kan ansluta en summer med en generator till CON5-kontakten på kortet, som fungerar som ett alarmljud. Knapparna som är anslutna till terminalerna SA1 och SA2 på kretskortet används för att ange inställningarna och upprätthålla klockan.

Ställ in tid och larm

När du trycker på SA1-knappen kommer vi till ”Set1” -klockmenyn, där vi har möjlighet att ställa in aktuell tid, och ytterligare ett korttryck på SA1-knappen tar oss till “Set2” -alarmtidmenyn.

Använd SA2-knappen för att välja och ändra inställningarna. När du har valt både i tidsinställningsläge och i larminställningsläge blinkar den första siffran på displayen, varefter du kan ställa in dussintals timmar med knappen SA2.

Om du trycker på SA1 igen får den andra siffran att blinka och med SA2 kan du ställa in timmenheter. De nästa två tryck av SA1 gör att du kan ställa in tiotals minuter och enheter av minuter. När du ställer in timmar och minuter ställs alltid endast en siffra in. En femte tryckning av SA1 återgår klockan till normal drift. En lång tid utan knapptryckning slutför också installationsproceduren.

Under driftstiderna slår ett långt tryck på SA2-knappen larmet på / av. När larmet är aktiverat visas tiden det startar i några sekunder. Alarmtillståndet signaleras av en punkt i den fjärde kategorin. Om larmet är aktivt är denna indikator på.

När du har slagit på larmet genom att trycka på valfri knapp kan du stänga av det i cirka 5 minuter och snooze-funktionen är aktiverad. Detta faktum indikeras av en blinkande punkt på indikatorns fjärde siffra. Efter 5 minuter startar larmet igen. Genom att trycka på valfri knapp igen kan den skjutas upp ytterligare 5 minuter osv.

En fullständig avstängning av larmet sker efter ett långt tryck på SA2-tangenten, eller ungefär en och en halv minut av brist på reaktion från användaren.

Klockan är testad i Proteus:

Om det visar sig att klockan är betydligt bakom eller i bråttom under driften av klockan kan du försöka minska eller öka värdet på kondensatorn C1.

(34,7 Kb, nedladdat: 1 923)

  - klockor med digital noggrannhetskorrigering, kalender
  - väckarklocka med inställning efter veckodag.
  - två termometrar.
  - Indikation av en 8-bitars sju-segment indikator. Animerad ändring av indikation.
  - indikator för automatisk justering av ljusstyrka.

Beskrivning av klockan.

1. Funktioner.

- timmar, 24-timmars visningsformat, timmar-minuter-sekunder. Ett kort pip ("gök") utlöses varje timme, om det är aktiverat i inställningarna. Signalen fungerar inte i nattläge.

- kalender, visningsformat DD-MM-GG.

- korrigering av digital noggrannhet. Möjlig daglig korrigering på ± 25 sekunder. Det inställda värdet vid 1 timme 0 minuter 30 sekunder kommer att läggas till / subtraheras från aktuell tid.

- väckarklocka. Vid den inställda tiden hörs korta dubbla ljudsignaler inom en minut. Du kan stänga av ljudet i förväg genom att trycka på någon av knapparna. Om ljudet inte är avstängt kommer larmet att slås på igen i en minut efter 5 minuter. bara5   upprepas, sedan ljudet stängs av tills nästa larm slocknar. När larmet är aktiverat visas en punkt när tiden visas i låg ordning. Valet av veckodagar för larmet.

- termometer, två sensorer. Området för uppmätta temperaturer är -55,0 ÷ 125,0 ungefär C.

- indikation. En i taget.

- Anpassningsbar animering av avläsningarna.

- användningen av icke-flyktigt minne hos mikrokontrollern för att spara inställningarna när strömmen är avstängd.

- i huvudläget med knappen SET Manuell växling av visad information utförs.

- Växla mellan ljus- och dagsljuslägen vid en viss tidpunkt.

- automatisk justering av indikatorns ljusstyrka beroende på belysningen.

2. Inställning.

2,1. När du slår på strömmen är klockan i huvudläge.

2,2. Genom att trycka på en knapp MENY  den går in i inställningsläget och väljer en grupp parametrar för installation. Inom gruppen väljs parametern för installation med knappen SET. I sin tur tillgänglig för installation:

Gruppen CLOC:

- sekunder (nollställs genom att trycka på knapparnaPLUS  eller MINUS);

- minuter;

- timmar;

- veckodag.

Gruppen dAtE:

- år;

- månad;

- datum.

Gruppen Corr:

- korrigeringsbelopp.

Gruppen ALAr:

- larmtid, i högsta ordning, symbolen EN;

- global larmaktivering Al på  - larmet är aktivt, AL AV- arbetslarm är förbjudet;

- Aktivering av larmet vid veckodagarna. På indikatorn " "om larmet är aktiverat," FRÅN"om det är förbjudet.

Gruppen disp:

- tidsvisande temperatursensor "Street". I högre siffror är tecknen " tu

- tid för indikering av temperaturen på sensorn "House". I högre siffror är tecknen " td". Inställningsområde 0 ÷ 99 sek. Om det är inställt på 0 visas inte indikatorerna.

- tid visar aktuell tid. I högre siffror är tecknen " tc". Inställningsområde 0 ÷ 99 sek. Om det är inställt på 0 visas inte indikatorerna.

- tid för visning av datum. I högre siffror är tecknen " tdt". Inställningsområde 0 ÷ 99 sek. Om det är inställt på 0 visas inte indikatorerna.

- val av animationshastighet. I hög ordning är symbolen " SP". Inställningsområdet är 0–99. En enhet motsvarar ungefär 2 ms, desto högre värde, desto långsammare animering.

Gruppen Ligh:

- maximal ljusstyrka på indikatorn i dagsläget. I äldre rang DAU. Inställningsområde 0 ÷ 99;

- tid att aktivera dagsläget. I hög ordning symbolen d.

- indikatorens maximala ljusstyrka i nattläge. I äldre rang nÄRA. Inställningsområde 0 ÷ 99;

- dags att slå på nattläget. I hög ordning symbolen n.

Gruppen Sound:

- inkludering av gökläget. I tecken med hög ordning cUCom timpipet är aktiverat, sedan i de lägre siffrorna om det är förbjudet - FRÅN.

2,3. Parametern som ska ställas in blinkar.

2,4. Håller knappar PLUS/MINUS  accelererad parameterinställning utförs.

3. Anteckningar.

1. När du ställer in ljusstyrkeparametrarna visas informationen på indikatorn med det valda ljusstyrkevärdet.

2. Det är nödvändigt att mäta hastigheten på animeringen och den tid informationen visas. Om du väljer långsam animering och en kort visningstid kan det visa sig att informationen inte har tid att uppdatera helt före nästa skift.

3. Om visningstiden för alla parametrar är inställd på 0 visas tiden utan animering på indikatorn.

4. På dagen ljuder ett kort pip om du trycker på knapparna.

4. Kretsens funktioner.

1. Temperaturgivaren kan också arbeta med ett 2-ledars anslutningsschema. Om du planerar att mäta temperaturen i rummet där klockan är installerad, bör sensorn fortfarande tas ur urhöljet.

2. BUZ1-högtalare ska vara med en inbyggd generator. Beroende på strömförbrukning kan det hända att du måste installera en förstärkare (transistoromkopplare).

3. Indikator med en gemensam katod. Om ljusstyrkan är otillräcklig måste du installera ytterligare nycklar (i arkivet i mappen Clock_ULN2803_v4).

4. När du blinkar MK, bör du installera FUSE för att fungera från den interna 8 MHz-klockan.

5. Konstruktionen (detta är i huvudsak en krets) visar inte strömutgångarna för mikrokretsarna.

6. Vid tillverkningen bör det variabla motståndet RV1 ersättas med en fotoresistor. För att välja R18-motstånd enligt den mest optimala förändringen i indikatorns ljusstyrka när ljuset ändras.

02.24.2015 Rätt ett fel vid ändring av displayen i versionen med ULN2803.

03/16/2015 Fixade vagheten i en av animeringseffekterna.

03/28/2015 Små förändringar i visning av streck vid visningstid. Filversioner 4.1

Video av programmet från användaren wolf2000.

Dela detta