საათის თერმომეტრი atmega8-ზე 9 ინდიკატორით. საათი Atmega8-ზე და შვიდი სეგმენტიანი დისპლეი. SEE Set Mode

Viber OUT 08.10.2021
Viber OUT

სქემატური ელექტრული დიაგრამა

ორი ფუნქცია გაერთიანებულია ერთ მოწყობილობაში: ტემპერატურისა და დროის რეალური გაზომვა (საათები). მითითება კეთდება მონაცვლეობით, იცვლება ათი წამის შემდეგ. საათის დასაყენებლად გამოიყენება ორი ღილაკი, უბრალო ჩინური ელექტრონული საათის მსგავსი: ერთი პასუხისმგებელია პარამეტრის არჩევაზე, მეორე კი მის შეცვლაზე. მოწყობილობა იკვებება ქსელიდან მუდმივი სტაბილიზირებული დენის წყაროს გამოყენებით ხუთი ვოლტის ძაბვით (დაფა ტელეფონის დამტენიდან).

ტემპერატურის სენსორი არის DS18B20 ჩიპი. იმის გამო, რომ საათ-თერმომეტრს არ აქვს საკუთარი ბატარეა, დენის გათიშვისას, ჩვენებები ბუნებრივად ცდება. და იმისათვის, რომ ამან არ გამოიწვიოს ადამიანის დაგვიანება სასიცოცხლო მნიშვნელობის საკითხებზე, არის საინტერესო „ხრიკი“ - დენის გამოყენებისას, დროის ნაცვლად, ეკრანზე გამოჩნდება ტირეები, სანამ არ დააჭერთ ორი პარამეტრის ღილაკს.

შესაფერისი მანჟეტის ყუთი ემსახურებოდა თვითნაკეთი ტემპერატურის მრიცხველის კორპუსს. მასში მოთავსდა თავად საათი-თერმომეტრის დაფა და ტელეფონის დამტენიდან ამოღებული დაფა. DS18B20 სენსორი დამზადებულია დისტანციურად და დაკავშირებულია კონექტორის საშუალებით.

საჭირო ნაწილების სია

  • მიკროკონტროლერი Atmega8 - 1 ც.
  • კვარცი 32768 ჰც - 1 ც.
  • ტემპერატურის სენსორი DS18B20 - 1 ც.
  • შვიდი სეგმენტის მაჩვენებელი (4 - ციფრი) - 1 ც.
  • ზომა 0805 SMD რეზისტორები:
  • 620 Ohm - 8 ცალი.
  • 0 Ohm (ჯუმპერი) - 1 ც.
  • 4.7 kOhm - 1 ც.
  • ტაქტის ღილაკები - 2 ც.

მოწყობილობის ვიდეო YouTube არხზე

- საათი ციფრული სიზუსტის კორექტირებით, კალენდარი
- მაღვიძარა კვირის დღის მიხედვით დაყენებით.
- ორი თერმომეტრი.
– მითითება 8-ნიშნა შვიდსეგმენტიან ინდიკატორზე. ანიმაციური ეკრანის ცვლილება.
- ინდიკატორის სიკაშკაშის ავტომატური რეგულირება.

საათის აღწერა.

1. ფუნქციები.

- საათი, 24-საათიანი დროის ჩვენების ფორმატი, საათი-წუთი-წამი. მოკლე სიგნალი ("გუგული") ისმის ყოველ საათში, თუ ეს ნებადართულია პარამეტრებში. ღამის რეჟიმში სიგნალი არ მუშაობს.

- კალენდარი, ჩვენების ფორმატი DD-MM-YY.

- ციფრული სიზუსტის კორექტირება. შესაძლებელია ყოველდღიური კორექტირება ±25 წმ. მითითებული მნიშვნელობა 1 საათი 0 წუთი 30 წამი დაემატება/გამოკლდება მიმდინარე დროს.

- განგაში. დაყენებულ დროს, მოკლე ორმაგი სიგნალი ისმის ერთი წუთის განმავლობაში. შეგიძლიათ წინასწარ გამორთოთ ხმა რომელიმე ღილაკზე დაჭერით. თუ ხმა არ არის დადუმებული, მაშინ 5 წუთის შემდეგ მაღვიძარა კვლავ ჩაირთვება ერთი წუთის განმავლობაში. სულ 5 მეორდება, შემდეგ ხმა გამორთულია შემდეგ მაღვიძარამდე. როდესაც განგაში ჩართულია, დროის ჩვენებისას წერტილი გამოჩნდება ყველაზე ნაკლებად მნიშვნელოვანი ციფრით. აირჩიეთ კვირის დღეები, რომ მაღვიძარა იმუშაოს.

- თერმომეტრი, ორი სენსორი. გაზომილი ტემპერატურის დიაპაზონი არის -55,0 ÷ 125,0 o C.

- მითითება. Ალტერნატიული.

- წაკითხვის შეცვლადი ანიმაცია.

- მიკროკონტროლერის არასტაბილური მეხსიერების გამოყენება პარამეტრების შესანახად დენის გამორთვისას.

– მთავარ რეჟიმში ღილაკით SETნაჩვენები ინფორმაცია გადართულია ხელით.

- დღისა და ღამის სიკაშკაშის რეჟიმებს შორის გადართვა მითითებულ დროს.

- ინდიკატორის სიკაშკაშის ავტომატური რეგულირება განათების მიხედვით.

2. დაყენება.

2.1. როდესაც დენი ჩართულია, საათი მთავარ რეჟიმშია.

2.2. დააჭირეთ ღილაკს მენიუშედიხართ პარამეტრების რეჟიმში და ირჩევთ პარამეტრების ჯგუფს დასაყენებლად. ჯგუფში დასაყენებელი პარამეტრის შერჩევა ხდება ღილაკით SET. თავის მხრივ, ხელმისაწვდომია ინსტალაციისთვის:

ჯგუფი CLOC:

– წამი (გადატვირთეთ ნულზე ღილაკების დაჭერისასპლუსან მინუს);

- წუთები;

- უყურებს;

- კვირის დღე.

ჯგუფი თარიღი:

- წელი;

- თვე;

- თარიღი.

ჯგუფი კორ:

- შესწორების რაოდენობა.

ჯგუფი ალარ:

- განგაშის დრო, ყველაზე მნიშვნელოვან ციფრში სიმბოლო ;

- გლობალური განგაშის გააქტიურება AL On- განგაში აქტიურია, AL OFF- მაღვიძარას მუშაობა აკრძალულია;

- მაღვიძარას გააქტიურება კვირის დღეებისთვის. ინდიკატორზე ჩართულია"თუ განგაში ჩართულია", გამორთულია"თუ გამორთულია.

ჯგუფი diSP:

- "ქუჩის" სენსორის ტემპერატურის მითითების დრო. მაღალი რიგის ციფრებში, სიმბოლოები "

- "სახლის" სენსორის ტემპერატურის მითითების დრო. მაღალი რიგის ციფრებში, სიმბოლოები " ტდ". პარამეტრების დიაპაზონი არის 0÷99 წმ; თუ დაყენებულია 0-ზე, მაშინ ის არ იქნება ნაჩვენები ინდიკატორებზე.

– მიმდინარე დროის მითითების დრო. მაღალი რიგის ციფრებში, სიმბოლოები " ტკ". პარამეტრების დიაპაზონი არის 0÷99 წმ; თუ დაყენებულია 0-ზე, მაშინ ის არ იქნება ნაჩვენები ინდიკატორებზე.

- თარიღის მითითების დრო. მაღალი რიგის ციფრებში, სიმბოლოები " tdt". პარამეტრების დიაპაზონი არის 0÷99 წმ. თუ დაყენებულია 0-ზე, მაშინ ინდიკატორები არ გამოჩნდება.

- ანიმაციის სიჩქარის შერჩევა. ყველაზე მნიშვნელოვან ციფრში, სიმბოლო " SP". პარამეტრების დიაპაზონი არის 0÷99. ერთი ერთეული შეესაბამება დაახლოებით 2 ms, რაც უფრო მაღალია მნიშვნელობა, მით უფრო ნელია ანიმაცია.

ჯგუფი LiGH:

- ინდიკატორის მაქსიმალური სიკაშკაშე დღის რეჟიმში. უფროს წოდებებში DAU. დაყენების დიაპაზონი 0÷99;

- დღის რეჟიმის ჩართვის დრო. მაღალი შეკვეთის სიმბოლო .

- ინდიკატორის მაქსიმალური სიკაშკაშე ღამის რეჟიმში. უფროს წოდებებში ახლოს. დაყენების დიაპაზონი 0÷99;

- ღამის რეჟიმის გააქტიურების დრო. მაღალი შეკვეთის სიმბოლო .

ჯგუფი ხმა:

- ჩართეთ "გუგულის" რეჟიმი. პერსონაჟები მაღალი წესრიგით კუკ, თუ საათობრივი სიგნალი ჩართულია, მაშინ ყველაზე ნაკლებად მნიშვნელოვანი ციფრებით ჩართულიათუ აკრძალულია - გამორთულია.

2.3. დაყენებული პარამეტრი ციმციმებს.

2.4. ღილაკების დაჭერა პლუს/მინუსპარამეტრი სწრაფად დაყენებულია.

3. შენიშვნები.

1. სიკაშკაშის პარამეტრების დაყენებისას, ინდიკატორზე ინფორმაცია ნაჩვენებია არჩეული სიკაშკაშის მნიშვნელობით.

2. აუცილებელია ანიმაციის სიჩქარის და ინფორმაციის ჩვენების დროის გაზომვა. თუ არჩეულია ნელი ანიმაცია და მოკლე ჩვენების დრო, მაშინ შეიძლება აღმოჩნდეს, რომ ინფორმაციას არ აქვს დრო, რომ სრულად განახლდეს მომდევნო ცვლამდე.

3. თუ ყველა პარამეტრის მითითების დრო დაყენებულია 0-ზე, მაშინ ინდიკატორზე გამოჩნდება დრო ანიმაციის გარეშე.

4. დღისით ღილაკების დაჭერა გამოცხადებულია მოკლე სიგნალით.

4. სქემის მახასიათებლები.

1. ტემპერატურის სენსორს ასევე შეუძლია იმუშაოს 2 მავთულის კავშირის სქემაზე. თუ თქვენ გეგმავთ ტემპერატურის გაზომვას ოთახში, სადაც საათია დამონტაჟებული, მაშინ სენსორი მაინც უნდა ამოიღოთ საათის კორპუსიდან.

2. BUZ1 ტვიტერს უნდა ჰქონდეს ჩაშენებული გენერატორი. მიმდინარე მოხმარებიდან გამომდინარე, შესაძლოა საჭირო გახდეს გამაძლიერებლის (ტრანზისტორი გასაღები) დაყენება.

3. ინდიკატორი საერთო კათოდით. თუ სიკაშკაშე არ არის საკმარისი, მაშინ უნდა დააინსტალიროთ დამატებითი კლავიშები (არქივში Clock_ULN2803_v4 საქაღალდეში).

4. MK-ის ციმციმისას უნდა დააინსტალიროთ FUSE, რომ იმუშაოს შიდა საათის გენერატორიდან 8 MHz სიხშირით.

5. პროექტი (ეს არსებითად არის წრე) არ აჩვენებს მიკროსქემების ელექტრომომარაგების ქინძისთავებს.

6. წარმოებისას ცვლადი რეზისტორი RV1 უნდა შეიცვალოს ფოტორეზისტორით. რეზისტორი R18 შეირჩევა ინდიკატორის სიკაშკაშის ყველაზე ოპტიმალური ცვლილების მიხედვით, როდესაც განათება იცვლება.

02/24/2015 დაფიქსირდა შეცდომა ULN2803 ვერსიაში მითითების შეცვლისას.

16.03.2015 დაფიქსირდა ერთ-ერთი ანიმაციური ეფექტის ბუნდოვანი მოქმედება.

03/28/2015 მცირე ცვლილებები ტირეულ ეკრანზე დროის ჩვენებისას. ფაილის ვერსიები 4.1

პროგრამის ვიდეო, მომხმარებლისგან მგელი 2000.

ეს სტატია აღწერს ციფრული დიზაინის დიზაინს საათები Attmega8 მიკროკონტროლერზე, რომლებიც აღჭურვილია წამზომით, მაღვიძარათ, უკუმთვლელი ტაიმერით. საათს აქვს კვირის დღისა და თარიღის ჩვენების ფუნქცია თარიღისა და დროის კომბინირებული ჩვენების შესაძლებლობით. ხდება ზაფხულისა და ზამთრის დროზე ავტომატური გადართვა, ასევე ნახტომი წლის აღრიცხვა.

ეკრანი აგებულია ექვს 7 სეგმენტიან LED ინდიკატორზე სიკაშკაშის კონტროლით. საათი ასევე აღჭურვილია სარეზერვო ბატარეით.

მიკროკონტროლერის საათის დიზაინის აღწერა

როგორც ზემოთ აღვნიშნეთ, საათს აქვს ექვსნიშნა დისპლეი, რომელიც შედგება ორი სამნიშნა დისპლეისაგან T-5631BUY-11, რომელიც მუშაობს მულტიპლექს რეჟიმში. ინდიკატორის ანოდები დაჯგუფებულია რიგების მიხედვით და გადართულია ტრანზისტორების გამოყენებით T1 ... T6.

კათოდები დაჯგუფებულია სეგმენტებად და იკვებება უშუალოდ IO1 Attmega8 მიკროკონტროლერიდან. მულტიპლექსირების სიხშირეა 100 ჰც.

საათს აკონტროლებს დაბალი სიხშირის კვარცის რეზონატორი X1 32768 ჰც სიხშირით. CKOPT ბიტის გააქტიურებით, რომელიც საშუალებას იძლევა გამოიყენოს შიდა 36pF ბროლის კონდენსატორები, არ არის საჭირო გარე კონდენსატორების გამოყენება.

გენერატორის გაშვებასთან დაკავშირებული პრობლემების შემთხვევაში, შეგიძლიათ სცადოთ დააკავშიროთ 2 კონდენსატორი თითო 22 pF. საათის კიდევ უფრო მეტი სიზუსტისთვის, შეგიძლიათ მთლიანად გამორთოთ შიდა კონდენსატორები (გადატვირთოთ СKOPT ბიტი) და დატოვოთ მხოლოდ გარე.

REP1 პიეზო ემიტერი ასხივებს განგაშის სიგნალს და სიგნალს აძლევს ტაიმერის დასასრულს. სიგნალის დროს, log.1 გამოჩნდება პინ 16-ზე (პორტი PB2). ეს სიგნალი შეიძლება გამოყენებულ იქნას ნებისმიერი დატვირთვის გასაკონტროლებლად.

საათს აკონტროლებს სამი ღილაკი - წუთი, საათი და რეჟიმი. ღილაკები დაკავშირებულია რეზისტორებით, რომლებიც იცავს Attmega8 მიკროკონტროლერის პორტებს. წრე იკვებება 5 ვოლტიანი წყაროთი (7805). მიმდინარე მოხმარება ძირითადად დამოკიდებულია აქტიური ინდიკატორების რაოდენობაზე, ასევე სიკაშკაშის რეგულირების ხარისხზე.

მაქსიმალური სიკაშკაშის დროს, მიმდინარე მოხმარება აღწევს 60 mA-ს. საათი აღჭურვილია სარეზერვო ბატარეით. ბატარეით მუშაობისას, საათი გადადის ეკონომიურ რეჟიმში, სადაც ეკრანი გამორთულია. ასევე, ამ რეჟიმში ღილაკები არ არის აქტიური, გარდა იმ შემთხვევისა, როცა საჭიროა ხმოვანი სიგნალის გამორთვა.

სარეზერვო ძაბვა არის 3-დან 4,5 ვ-მდე. ეს შეიძლება იყოს ერთი 3V ბატარეა, სამი NiMH ან NiCd 1,2 V, ან ერთი Li-Pol ან Li-Ion ბატარეა (3,6-დან 3,7 ვ-მდე). მიმდინარე მოხმარება 3V ბატარეიდან არის მხოლოდ 5…12mA. საათის ბატარეის ხანგრძლივობა ეკონომიურ რეჟიმში 3V CR2032 ბატარეისგან, სტანდარტული ტევადობით 200 mAh თეორიულად საკმარისი უნდა იყოს დაახლოებით 2.5 - 3 წლის განმავლობაში.

მიკროკონტროლერის პროგრამული უზრუნველყოფა მოცემულია სტატიის ბოლოს. კონფიგურაციის ბიტები უნდა დაყენდეს შემდეგნაირად:

საათის მართვა

საათს აკონტროლებს TL1 წუთი, საათი TL2 და TL3 რეჟიმი. საათისა და წუთის ღილაკები გამოიყენება საათის და წუთების დასაყენებლად ყურების რეჟიმში. სხვა რეჟიმებში მათ აქვთ სხვადასხვა ფუნქციები. რეჟიმის ღილაკი გადართავს სხვადასხვა რეჟიმებს შორის, რომელთაგან სულ 8ა:

რეჟიმი 1 - საათი

ამ რეჟიმში, ეკრანი აჩვენებს მიმდინარე დროს ფორმატში "HH.MM.SS". საათის ღილაკი გამოიყენება საათის დასაყენებლად. წუთების ღილაკი წუთების დასაყენებლად. მასზე დაჭერით აღდგება წამები.

რეჟიმი 2 - ჩართეთ ზაფხულის დრო და წელი

აქ შეგიძლიათ ჩართოთ და გამორთოთ ავტომატური შეცვლა ზაფხულისა და ზამთრის დროებს შორის და დააყენოთ წელი. მონაცემები შემდეგი ფორმატით "AC 'RR" (AC - ავტომატური დრო, სივრცე, წლის ბოლო ორი ციფრი).

რეჟიმი 3 - Countdown ტაიმერი

ეს რეჟიმი საშუალებას გაძლევთ მოაწყოთ ათვლა მითითებული მნიშვნელობიდან ნულამდე. ამ დროის გასვლის შემდეგ ხმოვანი სიგნალი გაისმის და LED1 აინთება. სიგნალის შეჩერება შესაძლებელია რეჟიმის ღილაკზე დაჭერით. მონაცემები შემდეგი ფორმატით "HH.MM.SS". მაქსიმალური შესაძლო მნიშვნელობა არის 99.59.59 (თითქმის 100 საათი).

რეჟიმი 4 - ინფორმაციის კომბინირებული გამომავალი

ამ რეჟიმში, მონაცვლეობით ნაჩვენებია:

  1. მიმდინარე დრო "HH.MM.SS" ფორმატში
  2. თარიღი ფორმატში "AA.DD.MM."

თითოეული ფორმატი ნაჩვენებია 1 წამის განმავლობაში. ამ რეჟიმში, ღილაკები საათი და წუთი გამოიყენება ეკრანის სიკაშკაშის დასარეგულირებლად (Hour-, Minutes+). სიკაშკაშე იცვლება ლოგარითმულად 6 ეტაპად: 1/1, 1/2, 1/4, 1/8, 1/16 და 1/32. ნაგულისხმევი არის 1/2

რეჟიმი 5 - კვირის დღის და განგაშის რეჟიმის დაყენება

ამ რეჟიმში შეგიძლიათ დააყენოთ კვირის დღე - ორშაბათიდან კვირამდე (გამოსახულია როგორც ორშაბათი, სამ, ოთხშაბათი, ხუთ, პარასკევი, შაბათი, მზე), ჩართოთ მაღვიძარა და აირჩიოთ მისი მუშაობის რეჟიმი. მონაცემები შემდეგი ფორმატით "AA AL._" (კვირის დღე, სივრცე, AL., განგაშის პარამეტრი).

საათის ღილაკი ადგენს კვირის დღეს. წუთების ღილაკი გამოიყენება განგაშის ხმის ჩართვა/გამორთვისთვის და მისი მუშაობის რეჟიმის შესარჩევად: „AL._“ = განგაში არ არის აქტიური, „AL.1″ = განგაში 1 ჯერ (შემდეგ ავტომატურად გადადის „AL._“-ზე. ), „ AL.5“ = მაღვიძარა მხოლოდ სამუშაო დღეებში (ორშაბათი-პარაკე, შაბათ-მზის გარდა), „AL.7“ = მაღვიძარა ჟღერს ყოველდღე

რეჟიმი 6 - კვირის დღისა და თარიღის დაყენება

საათის ღილაკი საშუალებას გაძლევთ დააყენოთ თვის დღე. წუთის ღილაკი საშუალებას გაძლევთ დააყენოთ თვე.

რეჟიმი 7 - წამზომი

წამზომი საშუალებას გაძლევთ გაზომოთ დრო 0,1 წამის სიზუსტით. გაზომვის მაქსიმალური დროა 9.59.59.9 (თითქმის 10 საათი). მონაცემები შემდეგი ფორმატით "H.MM.SS.X". წუთის ღილაკი გამოიყენება წამზომის დასაწყებად და გასაჩერებლად. საათის ღილაკი გამოიყენება გადატვირთვისთვის.

რეჟიმი 8 - მაღვიძარა

ეს რეჟიმი გამოიყენება განგაშის დროის საჩვენებლად და დასაყენებლად (ALARM). მონაცემები შემდეგი ფორმატით "HH.MM.AL". წუთის ღილაკი ადგენს მაღვიძარას წუთს, საათის ღილაკი ადგენს მაღვიძარას საათს.

ქვემოთ მოცემულია მსგავსი საათების დიაგრამა საერთო კათოდური ინდიკატორით.

(ჩამოტვირთულია: 811)

Atmega8 მიკროკონტროლერზე აგებული ეს ელექტრონული საათი აღჭურვილია ადვილად წასაკითხი LED დისპლეით, მაღვიძარას ჩაჩუმების ფუნქციით და გამორთვის აღდგენის ფუნქციით.

საათის სპეციფიკაციები

  • დროის ჩვენების ფორმატი: საათი, წუთი;
  • მაღვიძარა snooze ფუნქციით;
  • მარტივი ოპერაცია 2 ღილაკით;
  • ბატარეის მუშაობის მხარდაჭერა;
  • მიწოდების ძაბვა: 7…12V / 0.2 A;
  • ორი დაბეჭდილი მიკროსქემის ზომები: 60×21 მმ, 58×44 მმ.

საათის მიკროსქემის დიაგრამა ნაჩვენებია ქვემოთ მოცემულ ფიგურაში. საათის წრე უნდა იკვებებოდეს მუდმივი ძაბვით 7 ... 12 ვ დიაპაზონში. ეს შეიძლება იყოს ნებისმიერი ადამიანი, რომელსაც აქვს მინიმუმ 200 mA მიმდინარე დატვირთვა.

შესაძლებელია გენერატორთან ზუმერის დაკავშირება დაფის CON5 კონექტორთან, რომელიც განგაშის სიგნალის როლს შეასრულებს. ღილაკები დაკავშირებულია ბეჭდური მიკროსქემის დაფის SA1 და SA2 ტერმინალებთან, რომლებიც გამოიყენება პარამეტრების შესაყვანად და საათის შესანარჩუნებლად.

დროის და განგაშის დაყენება

SA1 ღილაკზე დაჭერისას მივდივართ „Set1“ საათის მენიუში, სადაც გვაქვს შესაძლებლობა დავაყენოთ მიმდინარე დრო, ხოლო SA1 ღილაკის კიდევ ერთი მოკლე დაჭერით მიგვიყვანს „Set2“ განგაშის დროის დაყენების მენიუში.

SA2 ღილაკი გამოიყენება პარამეტრების შესარჩევად და შესაცვლელად. როგორც დროის დაყენების, ისე განგაშის რეჟიმის არჩევის შემდეგ ეკრანზე ციმციმდება პირველი ციფრი, რის შემდეგაც SA2 ღილაკის გამოყენებით შეგიძლიათ დააყენოთ ათობით საათი.

SA1-ის ხელახლა დაჭერით მეორე ციფრი ციმციმდება და SA2 შეიძლება გამოყენებულ იქნას საათის ერთეულების დასაყენებლად. SA1-ის შემდეგი ორი დაჭერა საშუალებას მოგცემთ დააყენოთ ათობით წუთი და წუთების ერთეული. საათებისა და წუთების დაყენებისას ყოველთვის დაყენებულია მხოლოდ ერთი ციფრი. SA1-ის მეხუთე დაჭერით საათს უბრუნებს ნორმალურ მუშაობას. ასევე, ღილაკების დაჭერის გახანგრძლივებული პერიოდი წყვეტს ინსტალაციის პროცედურებს.

სანამ საათი მუშაობს, SA2 ღილაკის ხანგრძლივი დაჭერით მაღვიძარას ჩართვა/გამორთვა ხდება. როდესაც მაღვიძარა გააქტიურებულია, დაწყების დრო გამოჩნდება რამდენიმე წამის განმავლობაში. განგაშის მდგომარეობა სიგნალია მეოთხე ციფრზე მდებარე წერტილით. თუ მაღვიძარა აქტიურია, ეს მაჩვენებელი ჩართულია.

განგაშის სიგნალის ჩართვის შემდეგ, ნებისმიერ ღილაკზე დაჭერით, შეგიძლიათ გამორთოთ დაახლოებით 5 წუთის განმავლობაში, ხოლო ჩაჩუმების ფუნქცია ჩართულია. ეს ფაქტი მითითებულია ინდიკატორის მეოთხე ციფრზე მოციმციმე წერტილით. 5 წუთის შემდეგ განგაში ისევ გაისმა. ნებისმიერ ღილაკზე ხელახლა დაჭერით შესაძლებელია მისი გადადება კიდევ 5 წუთით და ა.შ.

განგაშის სიგნალის სრული გამორთვა ხდება SA2 ღილაკის ხანგრძლივი დაჭერის შემდეგ, ან მომხმარებლისგან უპასუხოდ წუთი-ნახევრის შემდეგ.

საათის ოპერაცია ტესტირება Proteus-ში:

თუ საათის მუშაობის დროს აღმოჩნდება, რომ საათი მნიშვნელოვნად ჩამორჩება ან ჩქარობს, შეგიძლიათ სცადოთ C1 კონდენსატორის ღირებულების შემცირება ან გაზრდა.

(34.7 Kb, გადმოწერილი: 1 923)



თქვენს ყურადღებას ვაქცევ მარტივ სქემას და დიზაინს " ორარხიანი თერმომეტრი, საათი ATmega8, DS18B20, DS1307, LCD 1602«.
დიზაინი საშუალებას გაძლევთ აჩვენოთ მიმდინარე დრო, თარიღი, თვე, კვირის დღე და მიმდინარე ტემპერატურა ორი ციფრული ტემპერატურის სენსორიდან ორხაზიანი სიმბოლოს ინდიკატორზე.

ორარხიანი თერმომეტრისა და საათის დიაგრამა

დიზაინი აწყობილია ATmega8-16PU მიკროკონტროლერზე, DS1307 რეალურ დროში საათის ჩიპზე DIP პაკეტში, DS18B20 ციფრული ტემპერატურის სენსორები, LCD1602 LCD ინდიკატორი.


პროგრამაში შექმნილი მოწყობილობის დიაგრამა
ტემპერატურის სენსორები დაკავშირებულია DS1 და DS2 კონექტორებთან:
- გამომავალი 1 - სენსორის GND გამოსავალზე
- გამომავალი 2 - სენსორის გამომავალი DQ
- pin 3 - Vcc სენსორის გამოსავალზე

დიაგრამაზე სენსორების კავშირი არ ემთხვევა ბეჭდური მიკროსქემის დაფას.
პროგრამა ადაპტირებულია ბეჭდური მიკროსქემის დაფაზე, აუცილებელია დაკავშირება:
- 1-ლი სენსორი PB1-მდე (მე-15 გამომავალი)
- მე-2 სენსორი PB2-ზე (პინი 16)

თქვენს ყურადღებას ვაქცევ მიკროკონტროლერის D პორტის ქინძისთავების დაკავშირებას ინდიკატორის ქინძისთავებთან:
- მიკროკონტროლერის PD0 - ინდიკატორის გამომავალ D7-მდე
- მიკროკონტროლერის PD1 - ინდიკატორის გამომავალ D6-მდე
- მიკროკონტროლერის PD2 - ინდიკატორის გამომავალ D5-მდე
- მიკროკონტროლერის PD3 - ინდიკატორის გამომავალ D4-მდე
ეს კავშირი შეირჩა ბეჭდური მიკროსქემის დაფაზე ტრასების განლაგების გასამარტივებლად.

დიზაინში გამოყენებული დეტალები:

LC დისპლეი არის 2-ხაზიანი, 16-სიმბოლოიანი ნეგატიური, თეთრი სიმბოლოები მუქ ლურჯ ფონზე, თეთრი განათებით. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნებისმიერი მსგავსი სიმბოლოების სინთეზირების (სიმბოლოების) ორხაზიანი, 16-სიმბოლოიანი ინდიკატორი, კირილიცის მხარდაჭერით ან მის გარეშე, რომელიც მხარს უჭერს HD44780 ტიპის კონტროლერის ბრძანების სისტემას:
- STN (FSTN) უარყოფითი (ლურჯი ან შავი) შუქით (ეს გამოიყენება დიზაინში) - ასეთი ინდიკატორები მუშაობს მხოლოდ განათებით
- FSTN Positive, TN Positive, HTN Positive - განათებით ან მის გარეშე
გამოყენებული ჩინური LCD ინდიკატორს არ აქვს ჩაშენებული კირიული ანბანი, ამიტომ, კვირის დღის ჩვენების სიცხადისთვის, მომხმარებლის სიმბოლოები ჩაწერილია სიმბოლოების გენერატორის RAM-ში (CGRAM) - "P", "n", "t. ", "ჩ", "ბ" და ორი სიმბოლო შებრუნებული სახით "D" და "U".

ორარხიანი თერმომეტრისა და საათის PCB

დიზაინი აწყობილია ცალმხრივ ბეჭდურ მიკროსქემის დაფაზე, გამოყენებული ყველა ნაწილი არის "გამომავალი"
პროგრამაში შეიქმნა მოწყობილობის ბეჭდური მიკროსქემის დაფა.
დაფაზე არის სამი ჯემპერი - P1, P2, P3
კვარცის რეზონატორი დამონტაჟებულია დაფაზე „დაწოლილი“, რეზონატორის კორპუსი ჯემპრით არის შედუღებული რეზონატორის ქვეშ დაფაზე არსებულ საკონტაქტო ბალიშზე.

ორარხიანი თერმომეტრისა და საათის მუშაობის აღწერა

დიზაინის საფუძველი "დ ვუხკანალის თერმომეტრი, საათები»არის მიკროკონტროლერი ATmega8 DIP პაკეტში საათის სიხშირით 1 MHz ჩაშენებული გენერატორიდან შიდა RC ჯაჭვით. FUSE-bit-ების დაყენება - ნაგულისხმევად, არაფრის შეცვლა არ არის საჭირო.
რეალური დროის საათის ჩიპი გამოიყენება მიმდინარე დროის დასადგენად. DS1307, რომელიც ითვლის წამებს, წუთებს, საათებს, თვის თარიღს, თვეს, კვირის დღეს და წელიწადს ნახტომი წლის ანაზღაურებით, რომელიც მოქმედებს 2100 წლამდე.
ჩვენება აჩვენებს მხოლოდ:
- მიმდინარე დრო - საათები და წუთები
- თვის თარიღი
- თვე
- კვირის დღე
ტემპერატურის სენსორად გამოიყენება ორი ციფრული ტემპერატურის სენსორი DS18B20, რომელიც საშუალებას გაძლევთ გაზომოთ მიმდინარე ტემპერატურა -45 გრადუსიდან +125 გრადუს ცელსიუსამდე დიაპაზონში 0,5 გრადუსი სიზუსტით.
ეკრანი აჩვენებს თითოეული სენსორის მიმდინარე ტემპერატურას 0,1 °C გარჩევადობით
თითოეული ტემპერატურის მნიშვნელობამდე, სიმბოლოები "D" და "U" ნაჩვენებია შებრუნებული სახით:
- "დ" - ტემპერატურა სახლში
- "U" - გარე ტემპერატურა

პროგრამის მუშაობა ორგანიზებულია გადადინების შეფერხებით ტაიმერის T1-დან, რომელიც ხდება ყოველ 4 წამში. მიმდინარე დრო ახლდება ყოველ 4 წამში, სენსორებიდან მიმდინარე ტემპერატურა ახლდება სათითაოდ, ყოველ 4 წამში.

მოწყობილობა იკვებება 5 ვოლტის სტაბილიზირებული კვების წყაროდან, შეგიძლიათ გამოიყენოთ დამტენი მობილური ტელეფონიდან, ან ავტონომიური კვების წყარო - ბატარეა. მიმდინარე მოხმარება დამოკიდებულია უკანა განათების სიკაშკაშეზე (რეზისტორის R3 მნიშვნელობა) და კონკრეტულ შემთხვევაში არის 12 mA.

მოწყობილობა კონტროლდება ორი ღილაკით:
- S1 - "არჩევანი"
- S2 - "ინსტალაცია"

პირველად, როდესაც ჩართავთ მოწყობილობას (ან ყოველ ჯერზე, როდესაც ჩართავთ მას, თუ არ არის სარეზერვო კვების წყარო DS1307 - BAT1), მოწყობილობა გადადის "სრულ" ინსტალაციის რეჟიმში. ამ შემთხვევაში აუცილებელია დანიშნოს მიმდინარე წელი, თვე, თარიღი, კვირის დღე და მიმდინარე დრო - საათი-წუთები. ამ რეჟიმში, განმარტებითი ინფორმაციის თარგმნა რუსულ ენაზე არ განხორციელებულა (კვირის დღის მითითებისგან განსხვავებით), ყველა ახსნა ნაჩვენებია ინგლისურად (სრული ინსტალაცია ძალზე იშვიათია, ამის გარკვევა არ არის რთული):

წლის პარამეტრი:
მოციმციმე კურსორი თეთრი მართკუთხედის სახით მიუთითებს სად და რა უნდა შეიყვანოთ:
- "ინსტალაციის" ღილაკით - ჩვენ ვადგენთ ათწლეულებს
- "აირჩიე" ღილაკის გამოყენებით - გააგრძელეთ წლის ერთეულების დაყენება
- "Setting" ღილაკით - დააყენეთ წლის ერთეულების მნიშვნელობა
- ღილაკი "არჩევა" - გადადით შემდეგ პარამეტრზე

თვის პარამეტრი
- წლის დაყენების მსგავსი

თვის "მონაცემების" დღის დაყენება:
- წლის დაყენების მსგავსი

კვირის დღის "კვირის" დაყენება:
- წლის დაყენების მსგავსი, ხოლო - 1 ​​- ორშაბათი, 2 - სამ, 3 - ოთხ, 4 - ხუთ, 5 - პარასკევი, 6 - შაბათი, 7 - მზე

მიმდინარე დროის "Hour_Min" დაყენება
მაგალითად, მიმდინარე დრო არის 17 საათი 39 წუთი:
- "ინსტალაციის" ღილაკით - დააყენეთ ათობით საათი - 1
- "აირჩიე" ღილაკით - გააგრძელეთ საათის ერთეულების დაყენება
- ღილაკი "ინსტალაცია" - დააყენეთ საათების ერთეულები - 7
- ღილაკით "არჩევა" - გადადით ათობით წუთის პარამეტრზე - 4
- ღილაკი "ინსტალაცია" - დააყენეთ წუთების ერთეულები -0
- წამი უკვე მითითებულია ეკრანებზე, როგორც "00"
- ზუსტად 17 სთ 40 წუთზე დააჭირეთ ღილაკს "Select" და მიმდინარე დრო 17 საათი 40 წუთი 00 წამი ჩაიწერება DS1307-ში.

მუშაობის რეჟიმში ღილაკები "Select" და "Set" საშუალებას გაძლევთ გადახვიდეთ შემდეგ რეჟიმებზე:
არჩევის ღილაკი- დროის კორექტირება (ამ შემთხვევაში, მხოლოდ მიმდინარე დრო "Hour_Min" დაყენებულია ზემოთ აღწერილი)
ღილაკი "ინსტალაცია".- "სრული" ინსტალაცია
სასურველ რეჟიმში შესასვლელად, თქვენ უნდა დააჭიროთ შესაბამის ღილაკს და გეჭიროთ სანამ ეკრანი არ გასუფთავდება. ეკრანის გასუფთავების შემდეგ გაათავისუფლეთ ღილაკი და წამის შემდეგ გადადით არჩეულ რეჟიმში.

დიზაინი შემუშავებული და გამოცდილი იყო პურის დაფაზე, ის არ იყო აწყობილი აპარატურაში.
ბევრი კომენტარი იყო მოწყობილობის უმოქმედობის შესახებ, ბეჭდური მიკროსქემის დაფის და მიკროსქემის შეუსაბამობის შესახებ.
გადაწყდა მოწყობილობის ხელახალი შექმნა აპარატურაში.
ქვემოთ მოცემულია აწყობილი მოწყობილობის ფოტოები სქემის მიხედვით, ბეჭდური მიკროსქემის დაფა და ამ გვერდზე გამოქვეყნებული პროგრამული უზრუნველყოფა.
მოწყობილობამ მაშინვე იმუშავა, არანაირი პრობლემა არ შეინიშნება.
ბეჭდური მიკროსქემის დაფა დამზადებულია LUT მეთოდით. დაფაზე მიკროსქემების დაყენების შეცდომის გამო, მათი შედუღება და გადაწყობა მოუწია (და მოხუც ქალზე არის ხვრელი), რამაც გამოიწვია დაბეჭდილი გამტარების დაზიანება და, შედეგად, გარეგნობა არც თუ ისე კარგია. , P2 ჯუმპერი დამონტაჟებულია დაბეჭდილი დირიჟორების მხრიდან (არ გაუკეთებია ხვრელები), DS1 სენსორი დაკავშირებულია დაახლოებით 1 მეტრის სიგრძის კაბელთან (ისე, რომ ის იატაკიდან დაახლოებით 30 სმ სიმაღლეზე იყოს, DS2 სენსორი ჩართულია 5 მეტრიანი კაბელით და გადის ფანჯრიდან.სენსორების შესაერთებელი კონექტორები აღებულია ძველი კომპიუტერების ქულერებიდან.

იყო ერთი პრობლემა - RTC DS1307 მაშინვე არ დაიწყო, მიზეზი იყო კვარცის მილებს შორის როზინი. დაფის გარეცხვის შემდეგ საათი მუშაობდა.

(10.8 KiB, 1990 ჰიტები)

(27.3 KiB, 1471 დათვალიერება)

(390.1 KiB, 1288 დათვალიერება)

(51.7 KiB, 2476 დათვალიერება)

ჩამოტვირთეთ YandexDisk-დან (სურვილისამებრ - მონაცემთა ცხრილები რუსულ ენაზე)

ყველა საჭირო ნაწილი "ორარხიანი თერმომეტრი, საათი ATmega8, DS18B20, Ds1307" ასაწყობად, დაპროგრამებული მიკროკონტროლერის ჩათვლით, შეგიძლიათ შეუკვეთოთ საიტის ონლაინ მაღაზიაში



ჩვენ გირჩევთ წაიკითხოთ

ზედა