Სარჩევი:

პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი: 5 ნაბიჯი (სურათებით)
პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი: 5 ნაბიჯი (სურათებით)

ვიდეო: პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი: 5 ნაბიჯი (სურათებით)

ვიდეო: პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი: 5 ნაბიჯი (სურათებით)
ვიდეო: სუპერ კამერა მონიტორინგს და ამოიცნობს ადამიანებს ორი კამერით 2024, ივლისი
Anonim
Image
Image
პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი
პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი
პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი
პოზიციაზე დაფუძნებული მრავალფუნქციური კუბი საათი

Fusion 360 პროექტები »

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

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

მე მქონდა რამდენიმე მიზანი ამ პროექტისთვის:

  1. აჩვენეთ ეს დრო გამორთვის ვარიანტით
  2. ჩართეთ ღამის შუქის ფუნქცია
  3. ჩართეთ 15 წუთიანი ძილის ქრონომეტრი მაღვიძარაზე
  4. შეძლებს თარიღის ჩვენებას

მარაგები

  • Arduino Pro Mini 5V
  • ADXL335 3 ღერძიანი ამაჩქარებელი
  • DS3231 AT24C32 IIC ზუსტი რეალურ დროში საათი
  • მინი სპიკერი
  • OLED დისპლეი SSD1306 IIC 0.96 ინჩი
  • 5V DC კვების ბლოკი
  • LED x 2
  • რეზისტორები 220 ohm x 2
  • DC ლულის ჯეკი
  • მავთული
  • ინსტრუმენტები

    • მავთულის საჭრელები/სტრიპტიზატორები
    • Soldering რკინის/solder
    • 3D პრინტერი (სურვილისამებრ)
    • FTDI პროგრამისტი ინტერ მინი Pro და Arduino IDE

ნაბიჯი 1: პროტოტიპი და შეამოწმეთ წრე

პროტოტიპი და შეამოწმეთ წრე
პროტოტიპი და შეამოწმეთ წრე
პროტოტიპი და შეამოწმეთ წრე
პროტოტიპი და შეამოწმეთ წრე
პროტოტიპი და შეამოწმეთ წრე
პროტოტიპი და შეამოწმეთ წრე

შეაერთეთ კომპონენტები არდუინოსთან. პურის დაფის განლაგება ან სქემა ნაჩვენებია ზემოთ. RTC და OLED იყენებენ I2C პროტოკოლს Arduino– სთან დასაკავშირებლად და იყენებენ A4 და A5 ქინძისთავებს. აქსელერომეტრი იყენებს 3 ანალოგიურ ქინძისთავს. მე გამოვიყენე A0, A1, A2. LED- ებს და Piezo- ს შეუძლიათ გამოიყენონ ნებისმიერი ციფრული ქინძისთავი, მე გამოვიყენე 4 და 8 შესაბამისად.

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

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

ახლა დროა შევაჯამოთ ყველაფერი!

ნაბიჯი 2: მთავარი პროგრამა

მთავარი პროგრამა
მთავარი პროგრამა
მთავარი პროგრამა
მთავარი პროგრამა

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

მე მჭირდებოდა დროის და თარიღის ჩვენება OLED– ზე, რაც საკმაოდ მარტივი იყო. მე უბრალოდ უნდა დავბეჭდო მიმდინარე დრო ეკრანზე სერიული მონიტორის ნაცვლად. იყო რამოდენიმე ფორმატირების საკითხი, რომელიც მე უნდა განმეხილა, რათა გამოეჩინა 12 -საათიანი ფორმატის ნაცვლად 24 -ისა და 0 -ის დამატება/ამოღება იქ, სადაც ეს შესაბამისი იყო. თარიღი მსგავსი იყო დამატებით ეკრანზე დახატული ოთხკუთხედების ჩვენების თვე და დღე. მე გამოვიყენე ჩახერგილი მარყუჟი ტაიმერის შესაქმნელად და მარყუჟის დასრულების შემდეგ დავიწყე პიეზო. მე გადავწყვიტე ეკრანის ციმციმა, რადგან ზარი ჩამქრალი იყო, რომელიც იყო ძირითადი ანიმაცია ადაფრუტის დემოდან. კუბი საათის საათის პოზიციაზე გადავაბრუნე ზუზერის გამორთვის ერთადერთი გზა. დაბოლოს, მე მინდოდა ეკრანის გამორთვის საშუალება, რომელიც დასრულდა ეკრანის გაწმენდით. ახლა, მე მჭირდებოდა ყველა ეს ფუნქცია ამაჩქარებლის მაჩვენებლების საფუძველზე მუშაობისთვის. მე გამოვიყენე Accel_Test სკრიპტი თითოეული პოზიციის ღერძის კოორდინატების დასადგენად, რომლის შესრულებაც მინდოდა. ხელით გადავიტანე აქსელერომეტრის ჩიპი და ჩავწერე წაკითხვა სერიულ მონიტორზე. დიაგრამა ზემოთ მოცემულია თითოეული პოზიციის გამოსაყენებელი კოორდინატები ნაცრისფერში. RED– ის კოორდინატები არის საზღვრები თითოეულ პოზიციას შორის და მე გამოვიყენე ეს რიცხვები ჩემი პროგრამისთვის. ჩვენების 4 პოზიციაში საჭიროა მხოლოდ X და Y ღერძის კოორდინატები. მეხუთე პოზიცია ღამის შუქისთვის იყენებს Z ღერძს. მე გამოვიყენე IF მარტივი განცხადებები ამაჩქარებლის პოზიციებზე თითოეული ფუნქციის ბლოკამდე. თუ თქვენ იყენებთ სხვა ამაჩქარებელს, ეს კოორდინატები შეიძლება განსხვავდებოდეს და საჭიროებს პროგრამის მორგებას.

ნაბიჯი 3: კუბის 3D ბეჭდვა

კუბის 3D ბეჭდვა
კუბის 3D ბეჭდვა
კუბის 3D ბეჭდვა
კუბის 3D ბეჭდვა
კუბის 3D ბეჭდვა
კუბის 3D ბეჭდვა

ვფიქრობდი, რომ კუბი საუკეთესო დიზაინი იქნებოდა იმისთვის, რომ შემეძლო საათის ფუნქციონირება. მოდელის შესაქმნელად გამოვიყენე fusion360. დამჭირდა OLED- ის და ლულის ბუდეზე გაჭრა. მე ასევე მსურდა მარტივი წვდომა, რათა შეცვალონ უჯრედის ბატარეა RTC– ში მას შემდეგ, რაც ყველაფერი გაყვანილ იქნა. მჭირდებოდა სლოტი არდუინოს ორიენტაციაში შესანარჩუნებლად, რომლის საჭიროების შემთხვევაში ადვილი იქნებოდა მისი გადაპროგრამება. გარდა ამისა, დანართი უნდა იყოს მოსახსნელი, რათა შევძლო Arduino– ზე წვდომა. თქვენ შეგიძლიათ ნახოთ CAD მოდელი ზემოთ და STL ფაილები ქვემოთ.

მე დავბეჭდე სხეული შავ PLA– ში 20% შევსებით, 0.2 მმ გარჩევადობით.

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

ნაბიჯი 4: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

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

ნაბიჯი 5: ატვირთეთ და თქვენ დასრულებული ხართ

ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!
ატვირთეთ და თქვენ დასრულებული ხართ!

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

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

გირჩევთ: