Სარჩევი:
- ნაბიჯი 1: სქემატური
- ნაბიჯი 2: განლაგება
- ნაბიჯი 3: "Wort-Uhr"-ის "ლოგიკა"
- ნაბიჯი 4: კოდის ფრაგმენტები
- ნაბიჯი 5: საცხოვრებელი
ვიდეო: ვორტ-უჰრი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
გამარჯობა ერთად!
ეს იქნება ჩემი პირველი სასწავლო ინსტრუქცია და თუ თქვენ გაქვთ რაიმე იდეა როგორ გააუმჯობესოთ ან გაუადვილოთ გაგება გთხოვთ ნუ დააყოვნებთ ჩემთან დაკავშირებას!
კარგად, თავდაპირველად, ამგვარი "საათი" არ არის ჩემი იდეა! მე ვნახე ბევრი ინტერნეტის საშუალებით და მათი შეკვეთა შესაძლებელია მხოლოდ რამდენიმე დოლარად დიფერენცირებულ ვებ მაღაზიებში. მაგრამ მე არ მინდოდა მისი ყიდვა, მე მინდოდა გამეკეთებინა ერთი, რომ მესწავლა და გამეგო როგორ მუშაობს.
ერთი სიტყვა "არაგერმანელ" წევრებს … ბოდიში იმ ფაქტისთვის, რომ ეს მხოლოდ "გერმანული ვორტ უჰრია". ის შეიძლება ადვილად გარდაიქმნას ინგლისურად ან სხვა ენაზე, მაგრამ როგორც მე გერმანელი ვარ, ის ჩემს ენაზე გავაკეთე. თუ გჭირდებათ ენის მხარდაჭერა დამიკავშირდით და მე შევეცდები დაგეხმაროთ.
ასე რომ დავიწყოთ…
ნაბიჯი 1: სქემატური
დიაგრამა პირდაპირ არის და თუ სურათი ცუდად იკითხება, ასევე არის PDF ფაილი.
დავიწყოთ ქვედა მარცხენა კუთხეში. არსებობს მარტივი კვების ბლოკი LM7805– ის გამოყენებით PIC– ის სტაბილური 5V გამომუშავების, ცვლის რეგისტრების (74HC164) და რეალურ დროში ჩიპის DS3231– ის შესაქმნელად. ყველა LED ასევე მიეწოდება ამ ნაწილს. D22 მარჯვენა ბოლოში არის მხოლოდ ელექტროენერგიის მიწოდების მითითებისათვის და შეიძლება ადვილად დატოვოს ცალკე თუ არ გინდა.
თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი DC კვების წყარო 40V- ზე ნაკლები საათისათვის, მაგრამ შემდეგ უნდა აირჩიოთ შესაბამისი მნიშვნელობა C7- ისთვის. მას უნდა ჰქონდეს ძაბვის მაჩვენებელი სულ მცირე ორმაგი შეყვანის ძაბვისა და გახსოვდეთ, რომ თქვენ ქმნით სითბოს LM7805- ში, ასე რომ თქვენ უნდა შეეცადოთ შეინარჩუნოთ შეყვანის ძაბვა რაც შეიძლება დაბალი, რადგან ყველაფერი დანარჩენი მხოლოდ ენერგიის დაკარგვაა. საუკეთესო მორგება არის რაღაც 9V– დან 12V DC– მდე.
ნუ გაწუხებთ თქვენი კვების ბლოკის პოლარობით … P-channel MOSFET (Q1) მოქმედებს როგორც ცრუ პოლარობის დაცვა და საათი უბრალოდ არ იმუშავებს და არ მიიღებს რაიმე დაზიანებას. ამის გადამოწმება შეგიძლიათ "დენის" LED D22- ზე, თუ დამონტაჟებულია.
სქემის მარჯვენა მხარეს არის სერიული პარალელურად გასვლის ცვლის რეგისტრები. მე გადავწყვიტე მათი გამოყენება, რადგან არ მინდოდა გამომეყენებინა უზარმაზარი PIC უამრავი I/O- პორტით. მე მინდოდა გამომეყენებინა უფრო პატარა და მე ჯერ კიდევ მქონდა 16F1829 სახლში, ასე რომ არჩევანი უკვე გასაგები იყო. მონაცემები (IN_1, IN_2 და IN_3) მოწოდებულია PIC– ით (იხ. კოდის განყოფილება ქვემოთ) და REGISTER_CLK ასევე. ჩემი კოდისა და PCB განლაგების სიმარტივისთვის მე გამოვიყენე 74HC164– დან ორი საათი და ბოლო „ლოგიკისთვის“.
ზედა მარცხენა კუთხეში არის PIC და ყველა საჭირო ნაწილი. მე გამოვიყენე შიდა საათი, ასე რომ ოსზილატორი არ არის საჭირო. მხოლოდ სამი რეზისტორი SCL, SDA და MCLR. იმის გამო, რომ მე გამოვიყენე 32kHz როგორც "ზუსტი წამების" მითითება, არ არის საჭირო PIC– ის საკმაოდ სტაბილური და ზუსტი სიხშირე.
შუაში არის DS3231 მინიმალური გარე ნაწილებზე. სინამდვილეში მე გამოვიყენე მხოლოდ SDA და SCL შეყვანა I²C– ზე კომუნიკაციისთვის და 32kHZ გამომავალი, როგორც გარე საათის მითითება PIC16F1829– ის Timer1– ისთვის. ამ გამომავალი მონაცემების ცხრილში ნათქვამია, რომ საჭიროა გარე გამწევ რეზისტორი. სხვა შედეგები მე არ გამოვიყენე ამ პროექტში და დავტოვე ისინი დაუკავშირებელი.
ასევე შუაში, LED- ები … როგორც თქვენ შეგიძლიათ წაიკითხოთ სქემატურში, მე გამოვიყენე ლურჯი LED- ები (გამჭვირვალე საცხოვრებლით) და რეზისტორის მნიშვნელობა 1k Ohms. თუ თქვენ აპირებთ ამ პროექტის დამოუკიდებლად განხორციელებას, თქვენ უნდა აირჩიოთ ამ რეზისტორების მნიშვნელობები თქვენი არჩეული LED- ების ფერისა და ტიპის მიხედვით. ასევე გაითვალისწინეთ, სად გსურთ საათის დაყენება. ჩემი დგას ჩემს საძილე ოთახში, ამიტომ არ მინდოდა, რომ LED- ები ძალიან ნათელი ყოფილიყო და რეზისტორებისთვის უფრო დიდი მნიშვნელობა შევარჩიე. სცადეთ რამოდენიმე ცდა პურის დაფაზე LED- ებითა და რეზისტორის მნიშვნელობებით, სანამ მათ PCB- ზე დაამონტაჟებთ.
ნაბიჯი 2: განლაგება
სქემატური დასრულების შემდეგ დროა გადავიდეთ PCB– ზე. ამისათვის მე გამოვიყენე KiCAD (სქემატური ასევე). სათქმელი არც ისე ბევრია, უბრალოდ მიჰყევით ხაზებს.
იმის გამო, რომ მე თვითონ დავბეჭდე საათის კორპუსი, საკმაოდ მნიშვნელოვანი იყო, სად მდებარეობს ზედა ფენის LED- ები. მე მხოლოდ LED- ები და რეზისტორები ჩავდე ზედა ფენაზე, რადგან მე შევუკვეთე ჩემი PCB ნაწილობრივ დამონტაჟებული (SMD- ის ყველა ნაწილი) და რადგანაც კომპანია, რომლისთვისაც შევარჩიე, მხოლოდ ნაწილებს ათავსებს ერთ მხარეს და არა ორმხრივ.
თქვენ შეგიძლიათ ნახოთ მოთავსება ორ სამგანზომილებიან სურათზე, რომელიც მე გავაკეთე KiCAD– ისგან.
თუ თქვენ დაინტერესებული ხართ … შესაძლებელია KiCAD PCB- ის ექსპორტი არწივში და შემდეგ საკმაოდ ადვილია საცხოვრებლის აგება, რადგან თქვენ გაქვთ მითითება PCB- დან.
ნაბიჯი 3: "Wort-Uhr"-ის "ლოგიკა"
ამ პროექტის ყველაზე დიდი ნაწილი იყო კოდი PIC– ისთვის…
თავდაპირველად იპოვეთ სალაპარაკო დროის "ლოგიკა" გერმანულად და თარგმნეთ იგი კოდში.
სამწუხაროდ, შეუძლებელია Excel– ის ფაილის პირდაპირ ატვირთვა, მაგრამ ვიმედოვნებ, რომ PDF ექსპორტი თქვენთვის საკმარისად იკითხება. თუ არა, გთხოვთ დამიკავშირდეთ და გამოგიგზავნით ორიგინალ Excel ფაილს. PDF– ში თქვენ ხედავთ, როგორ ვაყენებ ლოგიკას ჩემი საათისათვის. თქვენ ხედავთ, თუ როგორ გავიარე სხვადასხვა დროის ნაბიჯები და როგორ არის მართლწერა. კოდის შიგნით გაანგარიშება (ძირითადად თუ სხვა განცხადებები) შეიძლება მივიღოთ ცხრილის მარჯვენა მხარეს არსებული ინფორმაციისგან. ერთი ნაწილი არის წუთებისთვის და ერთი ნაწილი საათებისთვის.
როგორც ხედავთ, ეს არ არის ჯადოქრობა და მისი მარტივად კოდირება შესაძლებელია C. ლოგიკაში "ყველაზე რთული" წერტილი არის ის, თუ როგორ უნდა გამოვიყენოთ საათი, როგორც ხედავთ ფაილში, რომ მხოლოდ საათის დასაწყისში ნაჩვენებია ფაქტობრივი საათი რა გერმანულ ენაზე (შესაძლოა ეს მხოლოდ ბავარიის სპეციფიკური რამ იყოს) "შემდეგი საათი" საკმაოდ ადრე გამოიყენება.
კოდირებისთვის მე გამოვიყენე MPLABX, როგორც ჩემი არჩევანის IDE.
ნაბიჯი 4: კოდის ფრაგმენტები
მე არ გამოვაქვეყნებ ჩემს კოდს აქ, მაგრამ თუ თქვენ აპირებთ დაწეროთ თქვენი საკუთარი კოდი, მე მოგცემთ რამოდენიმე მინიშნებას იმაზე, რაც მე "ჩავარდა" განვითარების დროს …
პირველი "რეგისტრაცია"-შევსება:
თუ თქვენ გადააქვთ ახალი მონაცემები რეგისტრებში ძალიან ხშირად და ძალიან მოკლე ციკლში, მე მივიღე გამოცდილება, რომ LED- ებმა დაიწყეს ციმციმა. ასე რომ, მე გავაკეთე რამდენიმე "დაბლოკვის დროშა", რომ მხოლოდ ერთი წუთის წინ ხდება ახალი "გამოთვლა" მეტყველების დრო და ხდება რეგისტრაციის განახლება.
რეგისტრატორების შევსების კოდი მოცემულია ზემოთ მოცემულ სურათზე. როგორც ხედავთ, მე ვავსებ სამივე რეგისტრს პარალელურად, ასე რომ მე მჭირდება მონაცემების PIN– ის 3 პინი და CLK– სთვის 1 პინი. 74HC164 იღებს ახალ მონაცემებს CLK ხაზზე გადასვლის შესახებ 0 -დან 1 -მდე.
დანარჩენი კოდი ძირითადად PIC– ზეა დამოკიდებული, „საუბრის დრო“-ლოგიკა და კომუნიკაციის დამუშავება და ღილაკები. კომუნიკაციას ძირითადად უზრუნველყოფს მიკროჩიპი MPLABX, რადგან მე გამოვიყენე MSSP მოდული.
კარგი იდეა არის DS3231– ის მონაცემთა ფურცლის წაკითხვა, რადგან მონაცემები შიგნით ინახება როგორც BCD, ასე რომ თქვენ შეიძლება დაგჭირდეთ ამის „გარდაქმნა“თქვენს კოდში. რამდენადაც მე ვარ შეშფოთებული, მე ვარ "სწავლა კეთებით" ბიჭი და რა თქმა უნდა არ წამიკითხავს მონაცემთა ცხრილი … ბევრი ნერვი და საათი დამიჯდა.
როგორც თქვენ ალბათ შეამჩნიეთ, ამ განხორციელებასთან დაკავშირებით არსებობს "გზაზე დროის შენახვის" ორი გზა.
- თქვენ შეგიძლიათ წაიკითხოთ რეალური დრო DS3231– დან
- თქვენ შეგიძლიათ "დაითვალოთ წამები" PIC– ში და დროდადრო სინქრონიზოთ დრო DS3231– თან
თქვენზეა დამოკიდებული და ორივე გზა პრაქტიკული და სწორია. მე გამოვიყენე პირველი ვარიანტი და მხოლოდ სინქრონიზებული დრო ღილაკების საშუალებით დროის დარეგულირებისას (წერის დრო DS3231– ზე) ან ყოველ 24 საათში (კითხვის დრო DS3231– დან), რადგან მინდოდა უფრო მეტი ლოგიკის განხორციელება ჩემით. მე ასევე ვტრიალებ საათს ღამით (23:00 საათიდან 05:00 საათამდე), ასე რომ, ეს ოდნავ უფრო ადვილი იყო ჩემი აზრით.
ნაბიჯი 5: საცხოვრებელი
ბოლო, მაგრამ არანაკლებ დროა გადახედოთ საცხოვრებელს.
როგორც ზემოთ აღვნიშნე, მე თვითონ გავაკეთე კორპუსი (არწივის გამოყენებით) და დავბეჭდე ისინი ჩემი 3D პრინტერით, ასე რომ შემეძლო მეყურებინა სხვადასხვა LED- ების პოზიციებზე.
მიმაგრებული შეგიძლიათ იპოვოთ STL ფაილები, თუ გსურთ მათი გამოყენება.
ვიმედოვნებ, რომ ეს სასწავლო დაგეხმარებათ თქვენი "ვორტ-უჰრის" მშენებლობისას. თუ ჯერ კიდევ არსებობს "ღია კითხვები", ნუ დააყოვნებთ დამიკავშირდით. ქვემოთ მოყვანილი კომენტარის გაკეთების საუკეთესო საშუალება, რადგან თქვენ შეიძლება არ იყოთ მხოლოდ თქვენ კონკრეტული შეკითხვა.
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან