Სარჩევი:
- ნაბიჯი 1: ფონი
- ნაბიჯი 2: ძირითადი აპარატურის კომპონენტები
- ნაბიჯი 3: ყველაფერი ერთად ააწყვეთ
- ნაბიჯი 4: პერსონალური PCB
- ნაბიჯი 5: დანართი
- ნაბიჯი 6: ჟოლოს პიის დაყენება
- ნაბიჯი 7: პროგრამული უზრუნველყოფა
- ნაბიჯი 8: რა არის შემდეგი?
ვიდეო: უკან მომავლის საათი: 8 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ პროექტმა დაიწყო ჩემი შვილის მაღვიძარა. მე ასე დავემსგავსე დროის სქემას "უკან მომავალში". ეკრანს შეუძლია აჩვენოს დრო სხვადასხვა ფორმატში, მათ შორის, რა თქმა უნდა, ფილმებიდან. მისი კონფიგურაცია შესაძლებელია ღილაკების თავზე, ასევე ვებ – გვერდის საშუალებით, რომელსაც ემსახურება Raspberry Pi Zero შიგნით. ეკრანის ერთ-ერთ რეჟიმში ის აჩვენებს ადგილობრივ ამინდს (ჩემი არდუინოს ძრავის ამინდის სადგურიდან), ასევე პროგნოზს და ყოველდღიურ შეხსენებებს, კონფიგურირებულ ვებ ინტერფეისის საშუალებით. მას ასევე აქვს აუდიო DAC- ს წყალობით და გაუშვებს მუსიკას AirPlay პროტოკოლის გამოყენებით. განგაშის ხმა შეიძლება იყოს თქვენი არჩეული ნებისმიერი აუდიო ფაილი. ის დაბნელდება და ანათებს ეკრანს ავტომატურად დღის მოცემულ დროს (მაგ. გამთენიისას და შებინდებისას).
ნაბიჯი 1: ფონი
შარშან ვეძებდი Arduino– ს ახალ პროექტს, რომელიც ახლახანს დავასრულე ჩემი პირველი, სახლის მეტეოროლოგიური სადგური. ჩემმა 11 წლის ვაჟმა პირველად უყურა ფილმს "მომავალში დაბრუნება", ასე რომ ვიფიქრე, რომ სახალისო იქნებოდა მისთვის მაღვიძარა აეშენებინა, რომელიც დაბადების დღის დროინდელ დელორეში დროის ციკლს ჰგავდა. ეს არ არის ახალი იდეა, არსებობს საკმაოდ ბევრი მსგავსი პროექტი (მაგალითად, ეს ერთი), ასე რომ, ვიფიქრე, რომ კარგი პროექტი იქნებოდა სხვებისგან სწავლა და ახალი უნარების ათვისება.
პირველი ვერსია საკმაოდ კარგად მუშაობდა (ის არ იყო მზად მისი დაბადების დღისთვის: მე ეს საშობაოდ გავაკეთე), მაგრამ მე საკმაოდ ამბიციური გავხდი იმაში, რისი გაკეთებაც მინდოდა და აღმოვაჩინე, რომ ჩემი ესკიზი არდუინოს მეხსიერების ზღვარს აგრძელებდა. მე ასევე მქონდა რამდენიმე პატარა გარე აპარატურის მოდული (WiFi, MP3 პლეერი, აუდიო გამაძლიერებელი, RTC და ა. საბოლოოდ, მე გადავწყვიტე Raspberry Pi პლატფორმაზე გადასვლა, რამაც გაამარტივა აპარატურა და საშუალება მომცა ჩავალაგო ბევრად მეტი ფუნქციონირება და მახასიათებლები.
ნაბიჯი 2: ძირითადი აპარატურის კომპონენტები
ყუთის შიგნით
აქ არის ელექტრონული კომპონენტები, რომლებიც მე გამოვიყენე. მათი უმეტესობა იყო ავსტრალიის Core Electronics– ის წყაროები, მაგრამ რა თქმა უნდა, ისინი სხვაგანაც არის ხელმისაწვდომი:
- 4 x ოთხკუთხა ალფანუმერული ჩვენება -ყვითელი -მწვანე
- ჟოლო Pi Zero W
- Pimoroni pHAT DAC ჟოლოს Pi ნულისთვის
- აუდიო გამაძლიერებელი (PAM8403 IC)
- ჟოლო Pi 3+ კვების ბლოკი
- 4 x Jumper wire - 0.1 ", 5 -pin, 12"
- 40 პინიანი (2 x 20) ლენტიანი კაბელი
- Raspberry Pi GPIO მამრობითი სათაური
- Raspberry Pi Model B - GPIO Shrouded Header (2X20)
- GPIO დაწყობის სათაური Pi A+/B+/PI 2/PI 3 - ზედმეტად გრძელი 2X20
- 4 x 5 პინიანი მამრობითი სათაური
- 2 პატარა 3W დინამიკი
- 2 x კოაქსიალური კაბელი ანალოგური აუდიო კავშირისთვის DAC– ს ამპრთან
- Veraboard ან პერსონალური PCB, რომ გაუმკლავდეს Rpi- ს გამაძლიერებელს, LED- ს, ღილაკებს
- 5 x მომენტალური ღილაკზე გადამრთველი
- 4 x 2 გზა PCB– ზე დასაყენებელი ხრახნიანი ტერმინალური ბლოკი
Ყუთი
- MDF- ის ნაწილები, ხრახნები და ჭანჭიკები "შასის" გასაკეთებლად
- მწვანე ელფერით perspex, ადგილობრივი მიმწოდებელი
- სტირენი, სამოდელო წებო, სპრეი საღებავი (ალუმინის ფერი) ადგილობრივი ჰობის მაღაზიიდან
-
სტიკერები (ფაილი ხელმისაწვდომია მოთხოვნით - დაბეჭდილი Redbubble– ის მიერ)
ნაბიჯი 3: ყველაფერი ერთად ააწყვეთ
საათის LED დისპლეი შედგება 16x14 სეგმენტის ალფანუმერული ჩვენებისგან, საბედნიეროდ იგივე რაოდენობის სიმბოლო, როგორც უკან მომავალში დროის წრე. მიუხედავად იმისა, რომ მხოლოდ პირველი სამი პერსონაჟი უნდა იყოს ალფანუმერული და დანარჩენი შეიძლება იყოს 7 სეგმენტიანი რიცხვითი ჩვენება ფილმის საყრდენის იმიტირებისთვის, მე გადავწყვიტე, რომ ისინი ყველა ალფანუმერული გამხდარიყო, რათა მოქნილობა გამოეჩინათ იმაში, რაც შეიძლებოდა ყოფილიყო ნაჩვენები და შეენარჩუნებინა ყველა მათი გარეგნობა. იგივე ადაფრუტის ოთხი ზურგჩანთა აქ შესანიშნავი გამოსავალია და მისი გაშვება შესაძლებელია Raspberry Pi- ს I2C ავტობუსში. მეტი ინფორმაცია ამ ერთეულების შესახებ და როგორ შეიძლება მათი მიერთება შეგიძლიათ იხილოთ ადაფრუტის ვებსაიტზე. ერთადერთი ოდნავ არასტანდარტული რამ, რაც უნდა გამეკეთებინა იყო სამი მათგანის მისამართის შეცვლა, ასე რომ თითოეული ზურგჩანთა უნიკალური იყო.
აუდიოს დასაკრავად (სტერეო რეჟიმში) ჩავრთე Pimoroni pHAT DAC და 2 x 3W სტერეო აუდიო გამაძლიერებელი, რომელიც დაფუძნებულია PAM8403 ჩიპზე. PHAT DAC ნამდვილად ადვილია Pi- სთან დაკავშირება. მე დავდე 2 x 20 პინიანი მამრობითი სათაური Pi- ზე და GPIO დაწყობის სათაური DAC– ზე, რათა ისინი ერთმანეთზე იყოს დამაგრებული. მამრობითი სათაურის ქინძისთავები გადის DAC– ის ზედა ნაწილში, რაც მაძლევს საშუალებას გავუშვა ლენტი კაბელი მდედრობითი კონექტორებით, თავდაპირველად Raspberry Pi– ს გამოსაყენებლად პურის დაფის შესამოწმებლად, მაგრამ საბოლოოდ დაფარული თავით საბაჟო PCB– ზე.
აუდიო გამაძლიერებლისთვის უამრავი ვარიანტია (ჩიპის ჩათვლით და საკუთარი შეკრების ჩათვლით). ამ ერთს აქვს შესაძლებლობა შეანელოს გამომავალი ერთ -ერთი ქინძისთავის მდგომარეობა (მაღლა ჩართულია, დაბალი გამორთულია) და მე შევაერთე ის ისე, რომ ეს იყოს Pi- სგან კონტროლირებადი. ამ საწყის მცდელობებში, რომ ეს გამერკვია, აუდიოს ჩართვისას აღმოვაჩინე საკმაოდ ბევრი ფონური ხმაური. მას შემდეგ რაც ბევრი ვითამაშეთ დამიწებით, მე საბოლოოდ შევეცადე გადავიყვანო ძაბვის ძაბვა Pi– ს 5V– დან 3.3V– მდე და ამან შეასწორა. მე ვფიქრობ, რომ საკმაოდ ბევრი ხმაური წარმოიქმნება სხვადასხვა ციფრული სიგნალების გარშემო, მაგრამ როგორც ჩანს, 3.3V მიწოდება რატომღაც იზოლირებულია.
სხვა კავშირები მოიცავს ანალოგურ აუდიოს DAC– დან გამაძლიერებლამდე (აქ კოაქსიალური კაბელი გამოვიყენე ხმაურის ამოღების გასაადვილებლად) და აუდიო გამომავალი წყვილი პატარა 3W დინამიკებისთვის, რომლებიც მოთავსებულია შიგთავსში. ასევე არის GPIO კავშირები ყუთის თავზე ოთხი მომენტალური გადამრთველისთვის და მე მყისიერად შევუერთე მყისიერი ღილაკი მყარი გადატვირთვის "RUN" ქინძისთავებს (იხილეთ ამ გვერდზე დამატებითი კავშირების განყოფილება). გადატვირთვის ღილაკი დამონტაჟებულია შიგნიდან უკანა მხარეს. აქ არის დიაგრამა, რომელიც აჩვენებს კავშირებს:
ნაბიჯი 4: პერსონალური PCB
მიუხედავად იმისა, რომ არაფერია ძალიან რთული წრეში, არის საკმაოდ ცოტა გაყვანილობა და პურის დაფა შეიძლება სპაგეტივით გამოიყურებოდეს საკმაოდ სწრაფად. ასე რომ, მე შევქმენი PCB, რომ ეს ყველაფერი კონტროლის ქვეშ იყოს. ეს არის სახლში დამზადებული ცალმხრივი დაფა და მე მივიღე მეგობარი, რომელიც დაეხმარება მას. მას შემდეგ რაც გაკეთდა და შეაერთეს, მივხვდი რომ დამავიწყდა ჩავრთო აუდიოს ტერმინალურ ბლოკებთან კავშირი და მოგვიანებით შევიცვალე აუდიო გამაძლიერებლის მიწოდება 5V– დან 3.3V– მდე, ასე რომ ეს არ არის იდეალური და მე უნდა შევეჭიდო ზოგიერთი Veroboard ნებადართულია აუდიო კავშირები. ასევე, აუდიო გამაძლიერებლის დაფები არის არასტანდარტული განცალკევებით (ისინი ასევე განსხვავდება ქინძისთავებს შორის), ამიტომ მთავარი PCB- თან დაკავშირება ცოტა შემზარავია 11 მოკლე ~ 1 სმ სიგრძის მავთულით.
თუ სხვა დაფა გავაკეთე, ჩავრთავდი ყველა ამ მოდიფიკაციას და ასევე შევცვლიდი ოთხი ღილაკის კონექტორს რაღაც უფრო ლამაზად. DAC და Pi დააწყობდნენ პირდაპირ თავზე, ასე რომ ლენტის კაბელი არ იყო საჭირო. ზემოთ დიაგრამა გვიჩვენებს, თუ როგორ შეიძლება გამოიყურებოდეს იგი.
ნაბიჯი 5: დანართი
მინდოდა ისეთი გარსაცმის გაკეთება, რომელიც ფილმის დროის წრის ერთ რიგს ჰგავდა. სამი სტრიქონი LED ეკრანი მაღვიძარა იქნებოდა და მნიშვნელოვნად გაზრდიდა ღირებულებას. მე ვიფიქრე ალუმინისგან კორპუსის დამზადებაზე, მაგრამ მე არ მაქვს რაიმე უნარი ამ სფეროში. მე საკმაოდ ბევრი პლასტიკური მოდელი მაქვს გაკეთებული ჩემს ცხოვრებაში და მაქვს ხის დამუშავების გამოცდილება, ამიტომ გადავწყვიტე ჩარჩო გამეკეთებინა MDF- ით LED- ების და დინამიკების დასაყენებლად და წვერის გასასწორებლად წინ, შემდეგ დაფარეთ 5-გვერდიანი სტირინლით ყუთი, რომელსაც აქვს წინა მხარე, შეღებილია ალუმინის მეტალის სპრეის საღებავით. პლასტიკური და საღებავი მიიღეს ადგილობრივი მოდელის მაღაზიიდან. მე ყურადღებით დავათვალიერე ეტიკეტები ფილმის საყრდენზე და ყველაფერი გავაკეთე, რომ გადამეწერა ფერები, შრიფტის ტიპი და ზომა. მე გამოვიყენე Photoshop ლეიბლების ასაშენებლად და დავიბეჭდე სტიკერებად Redbubble– დან.
ზემოთ მოყვანილი სურათები აჩვენებს:
- MDF შასის წინა მხარე. 4 LED ზურგჩანთა დამონტაჟებულია წინა მხარეს მწვანე ელფერით
- ყუთის შიგნით. ზურგჩანთები ყველა დამონტაჟებული და ხაზები, Raspberry Pi და პერსონალური PCB, დინამიკები ორივე მხარეს.
- გაყვანილობა დამონტაჟებულია და გარე გარსი მზად არის გასაგრძელებლად. ეს ცოტა შევიწროება იყო!
ნაბიჯი 6: ჟოლოს პიის დაყენება
მე მქონდა გარკვეული თავსებადობის საკითხები Raspbian Stretch– თან (რაც შეიძლება გადასაჭრელი იყოს, თუკი მე დავრჩებოდი), მაგრამ ჯესი კარგად მუშაობს მასთან, ამიტომ გადავწყვიტე ამაზე წასვლა.
მე დავაყენე Pi როგორც უთავო ერთეული VNC და SSH წვდომით. ეს შეიძლებოდა გაკეთებულიყო კლავიატურის ან მონიტორის ჩართვის გარეშე, მაგრამ მე ავიღე ტელევიზია და გამოვართვი კლავიატურა და საკმაოდ სწრაფად გავაქნიე თავი. მას შემდეგ მე საკმაოდ ვიყენებ VNC– ს იმ მომენტიდან.
ჩემი საათის კოდი იყენებს პითონს 2.7.9 და ეყრდნობა საკმაოდ ბევრ ბიბლიოთეკას, ჩამოთვლილი ქვემოთ. გარდა ამისა, მე ვუშვებ Flask ვებ სერვერს და MQTT დისტანციური მართვისთვის და Shairplay მუსიკის ნაკადისთვის. მე უბრალოდ მივყვებოდი ამ ყველაფრის ონლაინ ინსტალაციის ჩანაწერებს და არანაირი პრობლემა არ მქონია. აქ არის პითონის ბიბლიოთეკები და სხვა პაკეტები და ა. შ.
პითონის ბიბლიოთეკები
- Adafruit_LED_Backpack
- Rpi. GPIO (apt-get install python-rpi.gpio)
- ალსაუდიო
- paho.mqtt.client (pip install paho-mqtt)
- კოლბა (apt-get install python-flask)
სხვა პაკეტები და ა
- კოღო (apt-get install mosquito)
- შაირპორტი
- პიმორონის ვებსაიტს აქვს კარგი დოკუმენტაცია DAC– ის შექმნის შესახებ, ასე რომ მე უბრალოდ გავუშვი.
ნაბიჯი 7: პროგრამული უზრუნველყოფა
საათის კოდი დაიწერა პითონში და იყენებს ძაფს სიგნალიზაციის დასაკრავად და შემთხვევით ხმება ფონში ეკრანის განახლებების დაბლოკვის გარეშე. მე გამოვიყენე ConfigParser ბიბლიოთეკა და კონფიგურაციის ფაილი, რომელსაც ის ინახავს, იკითხება და იწერება საათის კოდით, ასევე Flask ვებ აპლიკაციით, ასე რომ, როდესაც კონფიგურაცია იცვლება ვებ ინტერფეისით ან საათის საშუალებით, ხდება მისი სინქრონიზაცია. საათის პროგრამული უზრუნველყოფა ასევე მოიცავს MQTT ბროკერს, რომელიც საშუალებას აძლევს დისტანციურად აკონტროლოს ჩვენების რეჟიმი და დადუმდეს. ჩემი უკანა მიზანი არის დისტანციური მართვისთვის iOS პროგრამის დაწერა, მაგრამ ვებ ინტერფეისი ჯერჯერობით კარგად მუშაობს.
პირველი სურათი გვიჩვენებს, თუ როგორ გამოიყურება საათი მის სხვადასხვა ჩვენების რეჟიმში და არის მოკლე ვიდეო, რომელიც აჩვენებს მას გადახვევის რეჟიმში.
მიუხედავად იმისა, რომ კოდი არც ისე ლამაზია, ის ლამაზი და სტაბილურია. მე სიამოვნებით გავუგზავნი ყველას, ვინც ამას ითხოვს და განათავსებს მას ონლაინში, როდესაც ის უკეთესად არის ორგანიზებული და კომენტარი გაკეთებული.
ვებ აპლიკაცია
შემდეგი სურათი გვიჩვენებს, თუ როგორ გამოიყურება ვებ ინტერფეისი საათისათვის. ასევე არსებობს კონფიგურაციისა და საკონტროლო გვერდები და ეს მნიშვნელოვნად გაადვილებს საათთან თამაშს ღილაკების ბევრი შერევის გარეშე:-).
ნაბიჯი 8: რა არის შემდეგი?
არსებობს Python shareport მეტამონაცემების დეკოდირება, ასე რომ, მე ვფიქრობ, რომ დავამატებ კოდს ინფორმაციის საჩვენებლად, როგორიცაა სათაური და შემსრულებელი, როდესაც მუსიკა უკრავს. ასევე საკმაოდ ადვილი იქნებოდა მზის ამოსვლისა და ჩასვლის დროის გამოთვლა ისე, რომ ეკრანი ავტომატურად გამუქებულიყო და დაბნელებულიყო და არა ხელით. შესაძლოა ინტერნეტ რადიოს ფუნქციის დამატებაც სახალისო იყოს. გადახვევის ეკრანი ასევე შეიძლება იყოს უფრო კონფიგურირებული.
გირჩევთ:
საპენსიო საათი / დათვლა / Dn საათი: 4 ნაბიჯი (სურათებით)
საპენსიო საათი / დათვლა / Dn საათი: უჯრაში მქონდა რამოდენიმე ამ 8x8 LED dot-matrix ჩვენება და ვფიქრობდი რა გამეკეთებინა მათთან. სხვა ინსტრუქციებით შთაგონებული, მე მივიღე იდეა ავაშენო დათვლის/ზევით ჩვენება მომავალ თარიღამდე/დროზე დასათვლელად და თუ მიზნობრივი დროა
C51 4 ბიტიანი ელექტრონული საათი - ხის საათი: 15 ნაბიჯი (სურათებით)
C51 4 ბიტიანი ელექტრონული საათი - ხის საათი: ამ შაბათ -კვირას მქონდა თავისუფალი დრო, ასე რომ წინ წავიდა და ავაწყვე 2.40 აშშ დოლარი, 4 ბიტიანი DIY ელექტრონული ციფრული საათი, რომელიც ვიყიდე AliExpress– ისგან ცოტა ხნის წინ
3D დაბეჭდილი უკან მომავალ TIme წრიული საათი: 71 ნაბიჯი (სურათებით)
3D დაბეჭდილი უკან მომავალ TIme წრიული საათი: წინა მარცხენა LED.stl ფაილი არასწორია და განახლებულია. დროის ჩართვის საათი აჩვენებს შემდეგს LED მონიტორების საშუალებით. დანიშნულების დრო - (ზემოთ-წითელი) დანიშნულების დრო არის ტერიტორია, რომელიც აჩვენებს ფიქსირებულ თარიღს და დროს. გამოიყენეთ ეს
შეაკეთეთ რადიო აუქსი ჯეკი / დაამატეთ მედია Bluetooth მიმღები უკანა ხაზის უკან: 6 ნაბიჯი (სურათებით)
სარემონტო რადიო Aux ჯეკი / მედიის დამატება Bluetooth მიმღები უკან Dash: მე ცოტა ხნის წინ შევნიშნე, რომ ჩემი 2013 Silverado aux jack იყო ფხვიერი. ეს გასაკვირი არ იყო, რადგან მე მას ხშირად ვიყენებ და მხოლოდ ჯეკზე ჩამოკიდებულ დამხმარე კაბელს ვტოვებ. მისი გამოსასწორებლად, მე უბრალოდ მჭირდებოდა რამდენიმე პანელის ამოღება ტირედან, ამოღება და აპა
მომავლის საშუალებები Aka კედლის USB დამტენი: 7 ნაბიჯი (სურათებით)
მომავლის საშუალებები აკა შიდა კედლის USB დამტენი: თქვენი Iphone მკვდარია, ვიღაცამ გაიქცა თქვენი Ipod კედლის დამტენი, თუ მხოლოდ იქ, სადაც მომავალი და ყველა განყოფილება იყო USB! ეს ინსტრუქცია გაჩვენებთ თუ როგორ უნდა გადააკეთოთ სტანდარტული განყოფილება inwall USB დამტენი. ᲛᲔ