Სარჩევი:

მექანიკური შვიდი სეგმენტის ჩვენების საათი: 7 ნაბიჯი (სურათებით)
მექანიკური შვიდი სეგმენტის ჩვენების საათი: 7 ნაბიჯი (სურათებით)

ვიდეო: მექანიკური შვიდი სეგმენტის ჩვენების საათი: 7 ნაბიჯი (სურათებით)

ვიდეო: მექანიკური შვიდი სეგმენტის ჩვენების საათი: 7 ნაბიჯი (სურათებით)
ვიდეო: შეხვედრა #5-29.4.2022 | ETF გუნდის შეხვედრა და დ... 2024, ივლისი
Anonim
მექანიკური შვიდი სეგმენტის ჩვენების საათი
მექანიკური შვიდი სეგმენტის ჩვენების საათი
მექანიკური შვიდი სეგმენტის ჩვენების საათი
მექანიკური შვიდი სეგმენტის ჩვენების საათი

რამდენიმე თვის წინ მე ავაშენე ორნიშნა მექანიკური 7 სეგმენტიანი დისპლეი, რომელიც გადავაქციე ათვლის ტაიმრად. ის საკმაოდ კარგად გამოვიდა და ბევრმა ადამიანმა შესთავაზა გაორმაგება ეკრანზე საათის შესაქმნელად. პრობლემა ის იყო, რომ მე უკვე ამოწურული მქონდა PWM IO ჩემს Arduino Mega– ზე და არ მქონდა საკმარისი რაოდენობა მეორე ან მესამე ციფრებისთვის. მე მაშინ მივმართე ამ PCA9685 16 არხის PWM დრაივერების მიმართულებით, რომელიც მუშაობს I2C ინტერფეისით. ამან შესაძლებელი გახადა 28 სერვისის მართვა, რაც მე მჭირდებოდა, Arduino– ს ორი I2C პინის გამოყენებით. ასე რომ, მე დავიწყე საათის მშენებლობა, რომელიც იყენებს DS1302 რეალურ დროში საათის მოდულს დროის შესანარჩუნებლად და ორი 16 არხიანი სერვო დრაივერი ეკრანის შესაქმნელად გამოყენებული 28 სერვისის გასაკონტროლებლად, ყველა მუშაობს Arduino Uno– ით.

თუ თქვენ სარგებლობთ ამ ინსტრუქციით, გთხოვთ გაითვალისწინოთ ხმის მიცემა საათების კონკურსში

მასალები:

თქვენი საათის შესაქმნელად, თქვენ დაგჭირდებათ შემდეგი მარაგი, ძირითადი ინსტრუმენტების გარდა:

  • Arduino Uno - იყიდეთ აქ
  • DS1302 საათის მოდული - იყიდეთ აქ
  • 2 x PCA9685 16Ch დრაივერები - იყიდეთ აქ
  • 28 x მიკრო სერვო - იყიდეთ აქ
  • ლენტი კაბელი - იყიდეთ აქ
  • მამაკაცის სათაურის ზოლები - იყიდეთ აქ
  • ქალის სათაურის ზოლები - იყიდეთ აქ
  • 3 მმ MDF - იყიდეთ აქ
  • შავი სპრეის საღებავი - იყიდეთ აქ
  • 5V 5A ბატარეის აღმოფხვრის წრე - იყიდეთ აქ
  • 12V კვების ბლოკი - იყიდეთ აქ

ამ პროექტისთვის ასევე დაგჭირდებათ 3D ბეჭდვის ნაწილები. თუ თქვენ ჯერ არ გაქვთ 3D პრინტერი და გსიამოვნებთ ნივთების დამზადება, მაშინ აუცილებლად უნდა განიხილოთ მისი ყიდვა. აქ გამოყენებული Creality Ender 3 Pro ხელმისაწვდომია და აწარმოებს საკმაოდ კარგი ხარისხის ანაბეჭდებს მის ფასად.

  • მეორადი 3D პრინტერი - იყიდეთ აქ
  • ძაფები - იყიდეთ აქ

ნაბიჯი 1: პლასტიკური კომპონენტების 3D ბეჭდვა

პლასტიკური კომპონენტების 3D ბეჭდვა
პლასტიკური კომპონენტების 3D ბეჭდვა
პლასტიკური კომპონენტების 3D ბეჭდვა
პლასტიკური კომპონენტების 3D ბეჭდვა
პლასტიკური კომპონენტების 3D ბეჭდვა
პლასტიკური კომპონენტების 3D ბეჭდვა

მე შევიმუშავე 7 სეგმენტის ეკრანი რაც შეიძლება მარტივი. სერვო ასევე არის დამხმარე ფრჩხილი, რომ შეინარჩუნოს სეგმენტი მის ზემოთ. თითოეული სეგმენტისთვის საჭიროა ორი 3D ნაბეჭდი კომპონენტი, გამყოფის ბლოკი, რომელიც მხარს უჭერს servo- ს ქვედა მხარეს და ჩვენების სეგმენტს, რომელიც პირდაპირ მიმაგრებულია servo arm- ზე.

ჩამოტვირთეთ 3D ბეჭდვის ფაილები - მექანიკური 7 სეგმენტის ჩვენების საათი 3D ბეჭდვის ფაილები

დაბეჭდეთ servo სეგმენტები და წერტილები ნათელი ფერის PLA გამოყენებით. მე ვიყენებ გამჭვირვალე მწვანე, მაგრამ წითელი, ნარინჯისფერი ან ყვითელი ასევე კარგად უნდა მუშაობდეს. მე გამოვიყენე შავი PLA ინტერფეისის ბლოკებისა და წერტილების საყრდენებისთვის ისე, რომ ისინი არ ჩანდეს, როდესაც სეგმენტები გამორთულ მდგომარეობაშია.

თუ თქვენ არ გაქვთ წვდომა 3D პრინტერზე, სცადეთ ონლაინ ბეჭდვის სერვისი. არსებობს მთელი რიგი ხელმისაწვდომი სერვისები, რომლებიც დაბეჭდავს კომპონენტებს და მიაწვდის თქვენს კარს რამდენიმე დღეში.

ნაბიჯი 2: მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა

მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა
მოამზადეთ თქვენი საკონტროლო დაფები და გაყვანილობა

თქვენ უნდა გამოიყენოთ ორი PCA9685 16 არხიანი PWM დრაივერი თქვენი 28 საათის სერვისის მართვისთვის. მე გამოვყავი სერვოები საათისა და წუთის ციფრებში, თითოეული წყვილი ციფრს მართავს ერთი დაფა. ასე რომ, მე მაქვს ერთი დაფა, რომელიც აკონტროლებს სერვოს ორსაათიან ციფრებს და მეორე აკონტროლებს სერვისებს ორწუთიან ციფრებზე.

ორივეს ჯაჭვის შესაქმნელად, თქვენ უნდა შეადგინოთ 6 მავთულის ლენტიანი საკაბელო კონექტორი და შეაერთეთ მეორე სათაურის ზოლი პირველი სერვო კონტროლის დაფის მეორე ბოლოზე. თქვენ ასევე უნდა შეცვალოთ I2C მისამართი მეორე დაფაზე ისე, რომ იგი განსხვავდებოდეს პირველიდან და ცალსახად იდენტიფიცირებადი.

თქვენ ასევე უნდა შეადგინოთ გაყვანილობის აღკაზმულობა, რომ დაუკავშიროთ სამი დაფა (ორი სერვო დაფა და საათის მოდული) თქვენს არდუინოს. თქვენ დაგჭირდებათ 5V და GND თითოეულ დაფაზე, ასევე I2C კავშირები თქვენს Arduino ქინძისთავებთან A4 და A5 (I2C Arduino Uno– ზე), ხოლო საათის მოდულის ქინძისთავები CLK, DAT & RST ქინძისთავებისთვის 6, 7 და 8 თქვენს Arduino– ზე შესაბამისად.

ელექტროენერგია მიეწოდება არდუინოს უშუალოდ 12 ვ კვების წყაროდან და სერვისს 5V 5A BEC გამოყენებით, რომელიც შემდეგ უკავშირდება ორ ტერმინალს PWM დრაივერის თავზე. თქვენ მხოლოდ ერთი სერვო დრაივერი უნდა დააკავშიროთ დენის წყაროსთან და ის მეორეს გადასცემს ენერგიას 6 მავთულის ლენტიანი საკაბელო კავშირის საშუალებით.

ნაბიჯი 3: შეიკრიბეთ სერვოები

შეიკრიბეთ სერვოები
შეიკრიბეთ სერვოები
შეიკრიბეთ სერვოები
შეიკრიბეთ სერვოები
შეიკრიბეთ სერვოები
შეიკრიბეთ სერვოები

მას შემდეგ რაც დაბეჭდავთ თქვენს სეგმენტებს, თქვენ უნდა შეასხათ შავი და უკანა მხარეები ისე, რომ ისინი ნაკლებად ხილული იყოს 90 გრადუსზე გადახვევისას.

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

თქვენ ასევე გჭირდებათ წებოს გამყოფი ბლოკი თითოეული სერვოს ძირზე.

შეაგროვეთ წერტილები მცირე დუელის ან ქაბაბის ჯოხის წებოთი წერტილების უკანა ნაწილში და შემდეგ ძირითად ბლოკებში. ეს ჯოხებიც შავზე შევასხურე ისე, რომ ისინი ნაკლებად ხილული იყვნენ, თუკი კუთხეს შეხედავ.

ნაბიჯი 4: დაყენება და ტესტირება

დაყენება და ტესტირება
დაყენება და ტესტირება
დაყენება და ტესტირება
დაყენება და ტესტირება

მე დავთვალე ყველა სერვო და დავწერე ნომერი თითოეულ ლიდერზე ისე, რომ უფრო ადვილი იყო მათი თვალყურის დევნება. დავიწყე ერთეულის ციფრის ზედა სეგმენტიდან და ვიმუშავე შუა სეგმენტამდე ათეულებზე. ეს არის ის თანმიმდევრობა, რომლითაც მე ჩავრთე ისინი servo მართვის დაფებში, მახსოვს, რომ დაფებზე იდენტიფიკატორები 0 -დან 13 -მდეა და არა 1 -დან 14 -მდე.

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

ნაბიჯი 5: კოდის ატვირთვა

კოდის ატვირთვა
კოდის ატვირთვა
კოდის ატვირთვა
კოდის ატვირთვა
კოდის ატვირთვა
კოდის ატვირთვა

კოდი ერთი შეხედვით გართულებულია, მაგრამ სინამდვილეში შედარებით მარტივია ორი გამოყენებული ბიბლიოთეკის წყალობით. ასევე ბევრი განმეორებაა, რადგან არის ოთხი განსხვავებული 7 სეგმენტიანი ეკრანი, რომელთა განახლებაა საჭირო.

აქ არის კოდის მოკლე აღწერა, გადახედეთ სრულ სახელმძღვანელოს უფრო დეტალური ახსნისთვის და კოდის ჩამოსატვირთ ბმულს - მექანიკური 7 სეგმენტის ჩვენების საათი

ჩვენ ვიწყებთ ორი ბიბლიოთეკის იმპორტით, virtuabotixRTC.h საათის მოდულისთვის და Adafruit_PWMServoDriver.h სერვო დრაივერებისთვის. ადაფრუტის ბიბლიოთეკა შეიძლება გადმოწერილი და დაინსტალირებული პირდაპირ ბიბლიოთეკის მენეჯერის მეშვეობით IDE– ში.

შემდეგ ჩვენ ვქმნით ობიექტს თითოეული მართვის დაფისთვის შესაბამისი მისამართით, ერთი საათის ციფრებისთვის და ერთი წუთის ციფრებისთვის.

ჩვენ გვაქვს ოთხი მასივი, რომ შევინახოთ ჩართვისა და გამორთვის პოზიციები თითოეული სერვოსთვის. თქვენ უნდა შეცვალოთ ეს რიცხვები მომდევნო ნაბიჯებში, რათა დარწმუნდეთ, რომ თქვენი სერვისები გამართულია როდესაც ჩართულია, 90 გრადუსია გამორთული და არ იმოგზაურებთ.

ციფრული მასივი ინახავს თითოეული სეგმენტის პოზიციებს თითოეული ციფრისათვის.

შემდეგ ჩვენ ვაყენებთ საათის მოდულს და ვქმნით ცვლადებს მიმდინარე და წარსული ინდივიდუალური ციფრების შესანახად.

დაყენების ფუნქციაში ჩვენ ვიწყებთ და ვაყენებთ PWM მართვის დაფებს, ასევე ვაახლებთ საათის დროს საჭიროების შემთხვევაში. ჩვენ გავდივართ მარყუჟში, რომ ეკრანი დავადგინოთ 8 8: 8 8 ისე, რომ ვიცოდეთ ყველა სერვისის საწყისი პოზიცია. ეს ასევე გამოიყენება სერვისების დასაყენებლად ისე, რომ ყველა სწორად იყოს მიმართული ზემოთ.

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

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

ნაბიჯი 6: საათის აწყობა უკანა დაფაზე

საათის აწყობა უკანა დაფაზე
საათის აწყობა უკანა დაფაზე
საათის აწყობა უკანა დაფაზე
საათის აწყობა უკანა დაფაზე
საათის აწყობა უკანა დაფაზე
საათის აწყობა უკანა დაფაზე

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

თეთრი არე არის დაფის საერთო ზომა, ღია ნაცრისფერი არის თითოეული ციფრის მიმდებარე ტერიტორია, სადაც გადადის სერვო სეგმენტები და მონახაზი მუქი ნაცრისფერ არეზე არის ცენტრალური ხაზი გარე 6 სეგმენტის თითოეული ციფრისთვის.

მე დავჭერი დაფა, გამოვნიშნე განლაგება და შემდეგ დავამატე ციფრები საათის შესაქმნელად.

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

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

ნაბიჯი 7: საბოლოო დაყენება და მოქმედება

საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება
საბოლოო დაყენება და მოქმედება

მას შემდეგ, რაც servos ყველა მზად იყო, მე ამოვიღე ყველა servo იარაღი სეგმენტების პოზიციებზე საბოლოო კორექტირებისთვის. თქვენ უნდა ჩართოთ Arduino ამ მდგომარეობაში ისე, რომ გამოჩნდეს 8 8: 8 8 და შემდეგ გამორთოთ დენი, ეს ხელახლა ახდენს თქვენს ყველა სერვისის ცენტრს, ასე რომ თქვენ შეგიძლიათ კვლავ დააყენოთ servo იარაღი სეგმენტებით ვერტიკალთან ახლოს. რაც შეიძლება

შემდეგ თქვენ დაგჭირდებათ თქვენი Arduino– ს თანმიმდევრულად გააქტიურება და თქვენი სეგმენტის შესწორება და გამორთვა თქვენს ოთხ მასივში ისე, რომ servos იყოს სრულყოფილად ვერტიკალური, როდესაც გამორთულია და გამორთულია 90 გრადუსზე, როცა არ გაემგზავრება. ეს ნაბიჯი საკმაოდ შრომატევადია და მოითხოვს ცოტა მოთმინებას, მაგრამ საბოლოო შედეგი ღირს!

საათის დაძაბვა შესაძლებელია 12 ვ კვების წყაროსა და მასთან დაკავშირებული 5 ვ BEC გამოყენებით. თუ ელექტროენერგია იკლებს, RTC მოდულის ბატარეა შეინარჩუნებს დროს ისე, რომ როდესაც ენერგია აღდგება, საათი ავტომატურად გადადის სწორ დროს.

თუ მოგეწონათ ეს ინსტრუქცია, გთხოვთ ხმა მიეცით მას საათების კონკურსში და შემატყობინეთ ნებისმიერი გაუმჯობესების ან შემოთავაზების შესახებ, რომელიც შეგიძლიათ მოიტანოთ ქვემოთ მოცემულ კომენტარებში.

საათების კონკურსი
საათების კონკურსი
საათების კონკურსი
საათების კონკურსი

მეორე პრიზი საათების კონკურსში

გირჩევთ: