Სარჩევი:

Arduino დაფუძნებული ორობითი მაღვიძარა: 13 ნაბიჯი (სურათებით)
Arduino დაფუძნებული ორობითი მაღვიძარა: 13 ნაბიჯი (სურათებით)

ვიდეო: Arduino დაფუძნებული ორობითი მაღვიძარა: 13 ნაბიჯი (სურათებით)

ვიდეო: Arduino დაფუძნებული ორობითი მაღვიძარა: 13 ნაბიჯი (სურათებით)
ვიდეო: ARDUINO LED (decimal to binary of 1 to 10); 2024, ივლისი
Anonim
Image
Image

სარდაფის ინჟინერიის მიერ ავტორის ავტორი:

წვრილმანი ლაზერული მრიცხველი
წვრილმანი ლაზერული მრიცხველი
თვითმავალი ნავის მშენებლობა (ArduPilot Rover)
თვითმავალი ნავის მშენებლობა (ArduPilot Rover)
თვითმავალი ნავის მშენებლობა (ArduPilot Rover)
თვითმავალი ნავის მშენებლობა (ArduPilot Rover)
იდეალური საწოლის ნათურა და ტელეფონის დოკი
იდეალური საწოლის ნათურა და ტელეფონის დოკი
იდეალური საწოლის ნათურა და ტელეფონის დოკი
იდეალური საწოლის ნათურა და ტელეფონის დოკი

შესახებ: გამარჯობა, მე მქვია იან და მე ვარ შემქმნელი, მე მიყვარს ნივთების მშენებლობა და შექმნა და ასევე საკმაოდ კარგი ვარ ნივთების შეკეთებაში. ვინაიდან მე ვფიქრობ, რომ მე ყოველთვის მიყვარდა ახალი ნივთების შექმნა და ეს არის ის, რასაც ვაგრძელებ … ვრცლად სარდაფის ინჟინერიის შესახებ »

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

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

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

ნება მომეცით ცოტაოდენი მოგითხროთ ამ პროექტის ისტორიის შესახებ:

მე თავდაპირველად ვგეგმავდი აეშენებინა "ნორმალური" საათი, რომელიც იყენებს LED- ებს, როგორც ხელებს, მაგრამ მე არ მქონდა საკმარისი LED.

ასე რომ, რას აკეთებთ, როდესაც გსურთ აჩვენოთ დრო რაც შეიძლება ნაკლები LED- ით?

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

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

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

ასევე არის ძალიან დეტალური ვიდეო Youtube– ზე, თუ არ გინდათ რომ ყველაფერი წაიკითხოთ.

ნაბიჯი 1: მიიღეთ თქვენი ნივთები

მიიღეთ თქვენი პერსონალი
მიიღეთ თქვენი პერსონალი
მიიღეთ თქვენი პერსონალი
მიიღეთ თქვენი პერსონალი
მიიღეთ თქვენი პერსონალი
მიიღეთ თქვენი პერსონალი

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

ელექტრონიკა:

  • 18 ადრესატული Ws2811 LED (მაგ. ნეოპიქსელები) ზოლზე 60 LED- ით თითო მ (ebay)
  • არდუინო ნანო (ATMega328 პროცესორით) (ebay)
  • 1307 RTC მოდული (ebay)
  • 4X capacitive touch touch (ebay)
  • bs18b20 ციფრული ტემპერატურის სენსორი (ebay)
  • LDR (ebay)
  • ლეპტოპის/სმარტფონის სპიკერი ან პიეზო ზარი
  • 2222A NPN ტრანზისტორი (ან მსგავსი)
  • მამრობითი სათაურები
  • დახრილი ქალი სათაურები (ebay)
  • რეზისტორი 1 კმ
  • 4, 7kOhm რეზისტორი
  • 10kOhm რეზისტორი
  • მავთულები
  • 7x5 სმ პროტოტიპი PCB 24x18 ხვრელები (ebay)
  • ვერცხლის მავთული (საიუველირო მავთული) (ebay)
  • 90 ° მინი USB ადაპტერი (ebay)

სხვა მასალები

  • ვინილის შესაფუთი
  • 4X 45mm m4 flange head screws (ebay)
  • 32X m4 ლითონის საყელურები
  • 4X m4 საკეტი კაკალი
  • 28X მ 4 კაკალი
  • 4X 10 მმ მ 3 სპილენძის PCB დგომა (ebay)
  • 8X 8 მმ მ 3 ხრახნი (ebay)
  • ალუმინის ფურცელი
  • რძიანი აკრილის ფურცელი 2 მმ
  • 2 მმ გამჭვირვალე აკრილის ფურცელი
  • MDF 3 მმ ფურცელი
  • ორმხრივი ლენტი

ინსტრუმენტები

  • მინი USB კაბელი
  • კომპიუტერი მუშაობს Arduino IDE– ზე
  • საბურღი 3,5 მმ
  • საბურღი 4,5 მმ
  • საბურღი ძალა
  • საჭრელი დანა
  • გამკლავების ხერხი
  • soldering იონი
  • ლითონის საჭრელი მაკრატელი
  • ფაილი
  • ქვიშის ქაღალდი

შაბლონები (ახლა ზომებით)

  • PDF
  • უფასო ოფისის გათამაშება

კოდი

  • ესკიზები
  • ღილაკის ბიბლიოთეკა
  • ტაიმერის ბიბლიოთეკა
  • ჯუქბოქსის ბიბლიოთეკა
  • შეცვლილი RTClib
  • ადაფრუტის ნეოპიქსელის ბიბლიოთეკა
  • არდუინო-ტემპერატურის კონტროლი-ბიბლიოთეკა

ნაბიჯი 2: გაჭრა წინა და უკანა პანელი

გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი
გაჭრა წინა და უკანა პანელი

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

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

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

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

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

ნაბიჯი 3: დაასრულეთ უკანა პანელი

დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი
დაასრულეთ უკანა პანელი

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

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

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

ნაბიჯი 4: გააკეთეთ LED პანელი

გააკეთეთ LED პანელი
გააკეთეთ LED პანელი
გააკეთეთ LED პანელი
გააკეთეთ LED პანელი
გააკეთეთ LED პანელი
გააკეთეთ LED პანელი

ახლა ჩვენ მოვედით ამ პროექტის ყველაზე მნიშვნელოვან ასპექტში, ყველაზე პირდაპირი მნიშვნელობით. LED პანელი.

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

დროა მოვამზადოთ ნამდვილი LED- ები.

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

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

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

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

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

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

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

ნაბიჯი 5: შექმენით მსუბუქი სახელმძღვანელო

გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო
გააკეთეთ მსუბუქი სახელმძღვანელო

თუ ჩვენ დავამატებთ ჩვენს led პანელს რძიანი აკრილის უკან, შეიძლება საკმაოდ რთული აღმოჩნდეს ცალკეული LED- ების გარჩევა. ეს კიდევ უფრო გაართულებს ჩვენს საათს კითხვას, ვიდრე უკვე არის.

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

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

ნაბიჯი 6: გააკეთეთ ღილაკის ჩარჩო

გააკეთეთ ღილაკის ჩარჩო
გააკეთეთ ღილაკის ჩარჩო
გააკეთეთ ღილაკის ჩარჩო
გააკეთეთ ღილაკის ჩარჩო
გააკეთეთ ღილაკის ჩარჩო
გააკეთეთ ღილაკის ჩარჩო

შიგთავსის ბოლო კომპონენტი, რომელსაც ჩვენ ვაპირებთ, არის ღილაკის ჩარჩო.

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

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

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

მას შემდეგ, რაც პანელები მზადდება, ჩვენ დავჭრათ ჩარჩოს მხარეები, რათა ადგილი იყოს მათთვის და მათი მავთულისთვის.

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

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

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

ნაბიჯი 7: შეაერთეთ ძირითადი PCB

შეაერთეთ მთავარი PCB
შეაერთეთ მთავარი PCB
შეაერთეთ მთავარი PCB
შეაერთეთ მთავარი PCB
შეაერთეთ მთავარი PCB
შეაერთეთ მთავარი PCB

მოდით დავტოვოთ ჩარჩო ისე, როგორც არის და გადავიდეთ PCB– ზე. თქვენ შეგიძლიათ ნახოთ PCB განლაგება პირველ სურათზე.

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

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

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

მას შემდეგ, რაც ყველა მცირე კომპონენტი ჩვენ solder ჩვენი Arduino და ჩვენი რეალურ დროში საათის მოდული ადგილზე. RTC მოდული ასევე კარგად არ ჯდება ხვრელების ინტერვალში, ასე რომ, ჩვენ მხოლოდ მხარის აღჭურვას ვაპირებთ, რომელსაც აქვს 7 შედუღების ბალიში სათაურის ქინძისთავებით. ჩვენ ასევე ვდებთ ლენტს მის ქვეშ, რათა არ მოხდეს მოკლე ჩართვა.

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

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

კუთხეში ჩვენ მოჭრილი მავთულის ზემოთ პირველი ნახევარი soldering pad და solder ბოლოს მას. ჩვენ ვიღებთ მავთულის ახალ ნაჭერს და მივდივართ იქიდან სწორი კუთხით.

ამ ცარიელი მავთულის კავშირების დამყარება საკმაოდ რთულია და გარკვეულ უნარებს მოითხოვს, ასე რომ, თუ ამას პირველად აკეთებ, ნამდვილად არ არის ცუდი იდეა მისი გამოყენება ჯართის PCB– ზე, სანამ ამის მცდელობას გააკეთებ რეალურზე.

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

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

ნაბიჯი 8: ააწყვეთ საათი

შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი
შეიკრიბეთ საათი

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

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

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

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

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

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

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

ჩვენ ვიღებთ ჩვენს M3 ხრახნებს და ჩვენს PCB გამყოფებს, რომ დავაფიქსიროთ პატარა ფანჯარა. მნიშვნელოვანია ხრახნების ფრთხილად გამკაცრება, რადგან არ გვინდა ჩვენი აკრილის დაზიანება. შემდეგ ჩვენ ვიღებთ ჩვენს PCB- ს, ვამაგრებთ ადაპტერს და ვაქცევთ მას გამყოფებს. კომპონენტის მხარე ფანჯრისკენ უნდა იყოს მიმართული, ხოლო Arduino– ს USB პორტი საათის ბოლოში დგას.

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

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

რადგან მე ვიყენებდი მოკლე ჭანჭიკებს 40 მმ სიგრძით, მე მხოლოდ 3 კაკალი მაქვს, რომლებიც უკანა პანელს და ჩარჩოს ერთმანეთისგან აშორებს. მარჯვენა 45 მმ ჭანჭიკით, თქვენ დაამატებდით კიდევ ერთ კაკალს, ასევე ერთ ან ორ დამატებით საყელურს. შეკრების ბოლოს ჩვენ გვაქვს საკეტი კაკალი, ისე რომ ყველაფერი ადგილზე დარჩეს.

ნაბიჯი 9: ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი

ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი
ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი
ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი
ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი
ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი
ატვირთეთ კოდი და დააკალიბრეთ სინათლის სენსორი

დროა ატვირთოთ ჩვენი კოდი.

პირველ რიგში ჩვენ გადმოვწერთ ყველა საჭირო ფაილს და ვხსნით მათ. შემდეგ ჩვენ ვხსნით ჩვენი Arduino ბიბლიოთეკების საქაღალდეს და ვუშვებთ ყველა ახალ ბიბლიოთეკას მასში.

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

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

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

დროა ვითამაშოთ ჩვენს ახალ გაჯეტზე.

ნაბიჯი 10: ორობითი სისტემის სწრაფი შესავალი

ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი
ორობითი სისტემის სწრაფი შესავალი

სანამ გავაგრძელებ, მინდა ვუპასუხო ერთ კითხვას, რომელიც ალბათ უკვე გაგიჩნდა თავში, "როგორ კითხულობ ამ საათს მსოფლიოში?"

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

ჩვენ ყველანი კარგად ვიცნობთ ათწილადის სისტემას, სადაც თითოეულ ციფრს შეიძლება ჰქონდეს 10 განსხვავებული მდგომარეობა, 0 -დან 9 -მდე. ბინარულ თითოეულ ციფრს შეიძლება ჰქონდეს მხოლოდ ორი მდგომარეობა, 1 ან 0, ამიტომაც შეგიძლიათ გამოიყენოთ ისეთი მარტივი რამ, როგორიც არის led აჩვენეთ ორობითი რიცხვი.

რიცხვების საჩვენებლად, რომლებიც 9 -ზე მეტია ათწილადში, ჩვენ ვამატებთ მეტ ციფრს. თითოეულ ციფრს გააჩნია გარკვეული მულტიპლიკატორი. პირველი ციფრი მარჯვნიდან მოყვება 1 -ის გამრავლებით, მომდევნო არის 10 და მომდევნო არის 100. ყოველ ახალ ციფრთან ერთად გამრავლება არის ათჯერ დიდი ვიდრე წინა ციფრის რიცხვი. ასე რომ, ჩვენ ვიცით, რომ რიცხვი ორი მოთავსებულია ერთი ციფრით მარცხნივ, წარმოადგენს რიცხვს 20. ხოლო ორი ციფრი მარცხნივ, ის წარმოადგენს 200 -ს.

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

რაც შეეხება ოდნავ უფრო სახიფათო მაგალითს სურათის ბოლოში. მესამე და პირველი ბიტები ჩართულია. ათწილადის რიცხვის მისაღებად, რომელიც აქ არის წარმოდგენილი, ჩვენ უბრალოდ დავამატებთ ორი ბიტის მნიშვნელობას. ასე რომ 4 * 1 + 1 * 1 ან 4 + 1 გვაძლევს რიცხვს 5.

8 ბიტი მოიხსენიება როგორც ბაიტი, ასე რომ ვნახოთ რა რიცხვს მივიღებთ თუ მთელ ბაიტს შევავსებთ ერთებით.1+2+4+8+16+32+64+128 ანუ 255 რაც არის ყველაზე მაღალი მნიშვნელობა, რაც შეიძლება ჰქონდეს ერთ ბაიტს.

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

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

კარგი, მითხარი, რომელი საათია მეექვსე სურათზე, ვიდრე ბოლოზე გადასვლა. რა …

საათის მონაკვეთში გვაქვს 2+1 რაც არის 3 და pm ბიტი ჩართულია ასე რომ საღამოა. მომდევნო წუთს 32+8, ეს არის 40. წამში ჩვენ გვაქვს 8+4+2 რაც არის 14. ასე რომ არის 3:40:14 ან 15:40:14.

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

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

ნაბიჯი 11: ორობითი მაღვიძარა

ორობითი მაღვიძარის გამოყენება
ორობითი მაღვიძარის გამოყენება
ორობითი მაღვიძარის გამოყენება
ორობითი მაღვიძარის გამოყენება
ორობითი მაღვიძარის გამოყენება
ორობითი მაღვიძარის გამოყენება

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

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

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

დაბნელებული რეჟიმის დასაყენებლად, თქვენ ორმაგად შეეხეთ OK ღილაკს. Led პანელი მიუთითებს დაყენებულ რეჟიმზე რამდენჯერმე დახამხამებით.

  • ერთ დროს ნიშნავს არა ჩამქრალი.
  • ორჯერ ნიშნავს სიკაშკაშეს აკონტროლებს სინათლის სენსორი.
  • სამჯერ და LED- ები ავტომატურად ითიშება 10 წამი უმოქმედობის შემდეგ.
  • ოთხჯერ და ორივე მბზინავი რეჟიმი გაერთიანებულია.

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

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

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

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

ნაბიჯი 12: კოდის გაგება (სურვილისამებრ)

კოდის გაგება (სურვილისამებრ)
კოდის გაგება (სურვილისამებრ)

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

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

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

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

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

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

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

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

BinaryClock ობიექტი მართავს დროსა და განგაშის პარამეტრს, ასევე მაღვიძარაზე დაკვირვებას. გარდა ამისა, ის იღებს დროს rtc მოდულიდან და გარდაქმნის მას ორობითი ინფორმაციის ბუფერში ledPanel– ისთვის.

ColorController მოიცავს ყველა ფერის ეფექტის ფუნქციას და უზრუნველყოფს colorBuffer– ს ledPanel– ისთვის. ის ასევე ზოგავს თავის მდგომარეობას Arduinos EEProm– ში.

მბზინავი ზრუნავს საათის სიკაშკაშეს. მას აქვს სხვადასხვა რეჟიმი, რომლის საშუალებითაც მომხმარებელს შეუძლია ციკლის გავლა. მიმდინარე რეჟიმი ასევე შენახულია EEProm– ში.

LedPanel მართავს სხვადასხვა ბუფერებს თითოეული LED- ის ფერის მნიშვნელობის, სიკაშკაშის მნიშვნელობისა და ორობითი მდგომარეობისთვის. როდესაც pushToStrip () ფუნქცია იძახება, ის გადაფარავს მათ და აგზავნის მათ led ზოლზე.

ყველა ობიექტი "დაკავშირებულია" ძირითადი საშუალებით (ფაილი კონფიგურაციისა და მარყუჟის ფუნქციებით), რომელიც მოიცავს მხოლოდ რამდენიმე ფუნქციას 3 ძირითადი ამოცანის შესასრულებლად.

  1. მომხმარებლის შეყვანის ინტერპრეტაცია - ის იღებს შეყვანის 4 ღილაკის ობიექტს და აყენებს მათ ლოგიკას. ეს ლოგიკა ამოწმებს საათის ამჟამინდელ მდგომარეობას იმის დასადგენად, არის თუ არა საათი ნორმალურ, დროის დაყენების ან ზარის რეჟიმი და შესაბამისად სხვა ობიექტებისგან განსხვავებულ ფუნქციებს იძახებს.
  2. ობიექტებს შორის კომუნიკაციის მართვა - ის მუდმივად სთხოვს binaryClock ობიექტს, აქვს თუ არა მას ახალი ინფორმაცია ან არის თუ არა სიგნალიზაცია (). თუ მას აქვს ახალი ინფორმაცია, ის იღებს infoBuffer- ს ორობითი საათიდან და უგზავნის მას ledPanel ობიექტს. თუ საათი რეკავს ის იწყებს ჯუქბოქსს.
  3. ობიექტების განახლება - პროგრამის თითოეულ ობიექტს აქვს განახლების პროცედურა, რომელიც გამოიყენება ისეთი რამისთვის, როგორიცაა შეყვანის შემოწმება ან LED- ის ფერის შეცვლა. მათ უნდა დარეკონ არაერთხელ მარყუჟის ფუნქციაში, რათა საათი სწორად იმუშაოს.

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

ვინაიდან ჩემი კოდი ნამდვილად შორს არის სრულყოფილებისგან, მომავალში კიდევ უფრო გავაუმჯობესებ მას, ასე რომ რამდენიმე ფუნქცია შეიძლება შეიცვალოს. OOP– ში ყველაზე მაგარი ის არის, რომ ის კვლავ იმუშავებს ანალოგიურად და თქვენ კვლავ შეგიძლიათ გამოიყენოთ გრაფიკა მის გასაგებად.

ნაბიჯი 13: ბოლო სიტყვები

დასკვნითი სიტყვები
დასკვნითი სიტყვები

მიხარია, რომ აქამდე განაგრძეთ კითხვა. ეს ნიშნავს, რომ ჩემი პროექტი არ იყო ძალიან მოსაწყენი:).

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

სიამოვნებით მოვისმენ რას ფიქრობთ საათის შესახებ ქვემოთ მოცემულ კომენტარებში:).

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

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

LED კონკურსი 2017
LED კონკურსი 2017
LED კონკურსი 2017
LED კონკურსი 2017

მეორე ადგილი LED კონკურსში 2017

გირჩევთ: