Სარჩევი:
- ნაბიჯი 1: რაც გჭირდებათ
- ნაბიჯი 2: ჟოლოს Pi დაყენება
- ნაბიჯი 3: სკრიპტები
- ნაბიჯი 4: წრე
- ნაბიჯი 5: შეკრება
- ნაბიჯი 6: და ახლა?
ვიდეო: O-R-A RGB Led Matrix Wall Clock and More ** განახლებულია ივლისი 2019 **: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
გამარჯობა აქ მე ვარ ახალი პროექტი სახელწოდებით O-R-A
ეს არის RGB LED მატრიქსის კედლის საათი, რომელიც აჩვენებს:
- საათი: წუთი
- ტემპერატურა
- ტენიანობა
- მიმდინარე ამინდის მდგომარეობის ხატი
- Google Calendar მოვლენები და შეხსენების 1 საათიანი შეტყობინებები
კონკრეტულ დროს აჩვენებს:
- Google Calendar დღეს და ხვალ მოვლენების სია
- ამინდის პროგნოზი
- ახალი ამბები
დამოკიდებულების ფუნქციები:
- მიმდინარე თარიღი
- ჯადოსნური 8 ბურთი
- სამზარეულოს ტაიმერი
ნებისმიერი ფუნქციონირებისთვის, მოწყობილობა უკრავს სხვადასხვა აუდიო სიგნალს. ყველანაირი ამინდის პირობებისთვის არსებობს შესაბამისი აუდიო ფაილი, რომელიც უნდა დაიხუროს ფუნქციონალურობის გამოძახებისას.
ფუნქციონალურობა, როგორიცაა Google Calendar სია, ამინდის პროგნოზი, RSS ახალი ამბები იწყება წინასწარ არჩეულ დროს, როდესაც მოწყობილობა "საათის რეჟიმშია". კიდევ ერთი ფუნქცია "საათის რეჟიმში" აჩვენებს მიმდინარე დღეს/თვე/წელს. მისი გაშვება შესაძლებელია ENTER ღილაკზე დაჭერით. დააჭირეთ ღილაკს CHANGE STATE ღილაკს და შემდეგ ღილაკს ENTER 3 წამის განმავლობაში "საათის რეჟიმში", საშუალებას მოგცემთ შეხვიდეთ პარამეტრების მენიუში. მდგომარეობის შეცვლა ადგენს მენიუს შიგნით გადახვევას, ღილაკს ENTER არის არჩეული ვარიანტის დადასტურება.
ეს პროექტი არის ჩემი წინა LEGOLED და TEMPO ევოლუცია. RGB led მატრიცულ პანელს აქვს გარჩევადობა 32x64 ახლა, ასე რომ შესაძლებელია უფრო ინტელექტუალური გრაფიკის ჩვენება, ფიქსირებული და გადახვევის ტექსტი ერთდროულად. TEMPO ფუნქციონირების გამოყენებით მოწყობილობა ავტომატურად ირთვება და გამორთულია ყოველგვარი ღილაკისა და გარე ტაიმერის გარეშე. PIR მოდული განსაზღვრავს ადამიანების არსებობას, ამიტომ ჩართეთ/გამორთეთ ეკრანი.
ამინდის პროგნოზი და კალენდარული მონაცემები გროვდება ყოველ წუთს Google Calendar- ისა და Open ამინდის რუქის საშუალებით.
ეს პროექტი არის სრულად კონფიგურირებადი დაწყებული Raspberry PI B+, 2 მოდული 16x64 rgb led მატრიცა და კვების წყარო. ის შეიძლება გაფართოვდეს, ისევე როგორც მე, დავამატე USB ხმის კარტები, დინამიკები, ჩართვის/გამორთვის დენის წრე.
ნაბიჯი 1: რაც გჭირდებათ
- ჟოლო Pi B+ (ჩაშენებული wifi ან dongle)
- 2 x 16x64 RGB led მატრიცა ან 2 x 32x32
- ზოგადი ჩარჩო (დაახლოებით 40x50 სმ და 3 სმ სიღრმე დაახლოებით)
- გაყინული პლასტმასის ფურცელი
- ფანჯრის მზის ფილმი
- PS 5V 10A
- კაბელები
- თერმოსეტიანი გარსი (*)
- სარელეო მოდული (*)
- დამატებითი PS აუდიო გამაძლიერებლისთვის (*)
- 3W აუდიო გამაძლიერებელი მოდული (*)
- დინამიკები (*)
- USB ხმის ბარათი (*)
- 2 x მიკრო გადამრთველი (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- რეზისტორები: 3x1K, 2x10K, 1x2K (*)
- ტერმინალური ბლოკი (*)
- სათაურის ზოლები ქალი (*)
- სათაურის ზოლები მამრობითი (*)
(*) სურვილისამებრ
ნაბიჯი 2: ჟოლოს Pi დაყენება
ეს სახელმძღვანელო ძირითადად ემყარება Raspbian Jessie Lite, Python 2.7 და RGB LED MATRIX ბიბლიოთეკას Hzeller Github მომხმარებლის მიერ.
პირველ რიგში განაახლეთ და განაახლეთ RPI
დააინსტალირეთ git
su $ sudo apt-get install git
ჩამოტვირთეთ RGB LED MATRIX ბიბლიოთეკა Github– დან
~ $ git კლონი
~ $ cd rpi-rgb-led-matrix
~ $ sudo მარკა
შავი სიის RPI შიდა ხმის ბარათი
~ $ cat << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
შავი სია snd_bcm2835
EOF
~ $ sudo განახლება -initramfs -u
დააყენეთ გარე ხმის ბარათის პარამეტრები, თუ საჭიროა აუდიო შესაძლებლობები:
su $ sudo nano /usr/share/alsa/alsa.conf
შეცვლა:
ნაგულისხმევი.ctl.card 0
ნაგულისხმევი. pcm. ბარათი 0
რათა
ნაგულისხმევი.ctl.card 1
ნაგულისხმევი. pcm. ბარათი 1
შემდეგ გადატვირთეთ
ახლა დააინსტალირეთ მატრიცის ბიბლიოთეკა
~ $ cd/home/pi/rpi-rgb-led-matrix
su $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
make $ make build-python
$ sudo make install-python
და დააინსტალირეთ საჭირო სხვა ბიბლიოთეკები:
su $ sudo easy_install pip
~ $ sudo pip დააინსტალირეთ
Samplepase.py სკრიპტის კოპირება ~/rpi-rgb-led-matrix/bindings/python/samples/საწყისი დირექტორია
მიიღეთ API გასაღები უფასოდ რეგისტრაციისთვის ამინდის რუქის გასახსნელად
დააინსტალირეთ ახლა OWM პითონის შესაფუთი PYthon 2.7 (მადლობა CSPARPAGithub მომხმარებლისთვის)
su $ sudo pip დააინსტალირეთ git+https://github.com/csarpa/[email protected]
მიიღეთ Google Calendar- ის რწმუნებათა სიგელები Google კალენდარული API ინსტრუქციის შესაბამისად
აუდიო სათამაშოდ დააინსტალირეთ Pygame
su $ sudo apt-get დააინსტალირეთ python-pygame
RSS არხებს სჭირდება Feedparser დაყენებული
su $ sudo pip დააინსტალირეთ მიმწოდებელი
დააკოპირეთ ჩემი სკრიპტი ORAeng_131.py (ინგლისური ვერსია) ან ORAita_131.py (იტალიური ვერსია) სახლის დირექტორიაში
შექმენით საქაღალდეები ბგერებისა და სურათებისთვის:
mkdir dbsounds
mkdir owm
ჩამოტვირთეთ და დააკოპირეთ ყველა-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
დაამატეთ თქვენი OWM სერთიფიკატი ხაზზე 69 (API_key)
დააყენეთ ქალაქი ამინდის პროგნოზისთვის (შეამოწმეთ არის თუ არა იგი დაფარული OWM და სწორი სახელი მიღებულია) ხაზებში 213, 215
obs = owm.weather_at_place ('Napoli, IT')
fc = owm.three_hours_forecast ('Napoli, IT')
******************************** განახლება 28/7/2019 ********** ******************
ახალი Google Calendar API ქმნის პრობლემებს. მე გადავწყვიტე ზოგიერთი მოდულის ამოღება:
su $ sudo apt-get remove-purge python-setuptools
su $ sudo apt-get autoremove python-pyasn1
სცადეთ სკრიპტი გაშვებული
su $ sudo python ORAeng_150.py # ან ORAita_150.py იტალიური ვერსიისთვის
პირველად სკრიპტი მოითხოვს GCAL ავტორიზაციას. დააწკაპუნეთ ბმულზე google api სერთიფიკატის მისაღებად. მიეცით მაშინ ნება, თუ ყველაფერი კარგადაა, დაინახავთ საათის დაწყებას.
RAM– ის გადაჭარბებული გამოყენების გამო, რამდენიმე საათის შემდეგ, მე დავწერე სკრიპტი, რომელიც უბრალოდ განაახლებს პითონის სკრიპტს, როდესაც RAM– ის გამოყენება გადააჭარბებს ბარიერის დონეს. შემდეგ დააკოპირეთ სახლის დირექტორიაში სკრიპტი სახელწოდებით memcheck სახელწოდებით memcheck.sh და დაამატეთ crontab -e ერთად მთავარი სკრიპტი
*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
ნაბიჯი 3: სკრიპტები
მთავარი სკრიპტი უნდა შეიცვალოს თქვენი საჭიროებების შესაბამისად. ვივარაუდოთ, რომ OWM და Goggle Calendar სერთიფიკატები მითითებულია, როგორც მათი შესაბამისი API ინსტრუქცია, ყველაზე მნიშვნელოვანი პარამეტრები არის:
კალენდარული მოვლენების სია ყოველ საათში ასრულებს წუთს 2, 32 (იხ. სკრიპტის ხაზი 65)
ამინდის პირობები და პროგნოზი ყოველ საათში 7, 37 წუთზე (იხ. სკრიპტის სტრიქონი 66)
ახალი ამბების შესრულება ყოველ საათში მე -11 წუთზე (იხ. სკრიპტის სტრიქონი 67)
ახალი ამბების RSS არხი. შიგნით სკრიპტი დაყენებულია Instructable RSS, მაგრამ შეიძლება შეიცვალოს. (იხ. სკრიპტის ხაზი 366)
ცხადია, სკრიპტი უპირატესობას ანიჭებს შემომავალი კალენდარული მოვლენის ან შეხსენების შეტყობინებებს. ზოგჯერ საათი არ ასრულებს თავის ფუნქციებს, რათა თავიდან აიცილოს ფუნქციების გადაკვეთა.
Attiny85 ჩართვის/გამორთვის ქრონომეტრი უნდა იყოს დაპროგრამებული ესკიზის Tempo_V1_9_1Mhz_bugfix.ino ატვირთვისას.
ეს საშუალებას გაძლევთ ჩართოთ მოწყობილობა დილის 8 საათზე და გამორთოთ 23 -ზე. დამატებითი ინფორმაციისთვის იხილეთ სახელმძღვანელო.
ნაბიჯი 4: წრე
წრე ძირითადად 3 განყოფილებას მოიცავს
- ჩართვის/გამორთვის ტაიმერი, რომელსაც ამუშავებს DS3231 მოდული, Attiny85 და Mosfet
- გადართვა საათის მახასიათებლების ხელით კონტროლისთვის
- კავშირის განყოფილება, სადაც არის RGB LED Matrix მონაცემებისა და სიმძლავრის კაბელირება, აუდიო გამაძლიერებელი და ჟოლო Pi
არ არის ნახსენები რეზისტენტული ძაბვის გამყოფი, რომელიც RPI- ს საშუალებას აძლევს წაიკითხოს მაღალი/დაბალი 5V სიგნალი Attiny85– დან
კონცენტრატორები უკავშირდება RPI pin- ს და GND- ს პირდაპირ შიდა რეზისტორების გამოყენებით
Attiny85 ტაიმერი მოდის ჩემი წინა პროექტიდან სახელწოდებით TEMPO. ძირითადად, DS3231 აგზავნის LOW სიგნალს Attiny85 შეწყვეტის პინზე, რომელიც გამოაღვიძებს მას ძილის რეჟიმიდან. გაღვიძებისთანავე Attiny85 აგზავნის HIGH სიგნალს Mosfet ტრანზისტორზე, ააქტიურებს კვების ბლოკს RPI, LED მატრიცა და აუდიო გამაძლიერებელი (თუ არ არის დაკავშირებული დამატებით PS– ზე რელეზე, როგორც ჩემი ბოლო კონფიგურაცია).
RPI– ს გამორთვისთვის, ჩემი სკრიპტი ითვალისწინებს, რომ RPI ციფრული სიგნალის მოსმენა პინ 14 – ზე, როდესაც ის მაღალია, ეწოდება გამორთვის ბრძანებას. შემდეგ RPI ასრულებს გამორთვის სწორ პროცესს, შემდეგ ერთი წუთის შემდეგ, Attiny85 ბრუნდება ძილის რეჟიმში და Mosfet იღებს LOW სიგნალს, რომელიც გამორთავს მთელ მოწყობილობას. ეს პროცესი არის უხეში, მაგრამ ეფექტური.
PIR მოდული არჩევითია და უშუალოდ უკავშირდება RPI GPIO- ს.
ჩემი კონფიგურაცია მოითხოვს, რომ შემდეგი RPI GPIO ქინძისთავები იყოს დაკავშირებული:
15 PIR– მდე
14 to Attiny85 pin 3 მეშვეობით ძაბვის გამყოფი
21 სარელეო მოდულს
2 გადართვა (ღილაკზე შეყვანა)
3 გადართვა (სახელმწიფო ღილაკის შეცვლა)
საკითხები:
- ხმაური LED მატრიცის კვების ბლოკის გამო, მოგვარებულია მცირე PS- ის გამოყენებით მხოლოდ აუდიო გამაძლიერებლისთვის. სურვილისამებრ სარელეო საშუალებას გაძლევთ ჩართოთ გამაძლიერებელი მხოლოდ საჭიროების შემთხვევაში. ამან შეიძლება გამოიწვიოს ძლიერი ხმაური ჩართვის/გამორთვის დროს.
წრე ამოღებულია სპილენძის ფირფიტის, 3D პრინტერის, მარკერის და რკინის ქლორიდის გამოყენებით.
ნაბიჯი 5: შეკრება
მე ადაპტირებული მაქვს ზოგადი 40x50 სმ ჩარჩო ამ პროექტზე ერთად 3D დაბეჭდილი ნაწილები და დამატებითი სურვილისამებრ.
მინა დაფარულია ფანჯრის მზის ფილმით და გაყინული პლასტმასის ფურცლით. Led მატრიცა უნდა იყოს დაცული დაახლოებით 1 სმ მინისთვის, რათა თავიდან იქნას აცილებული თეთრი შიგნით leds. მცირე ხრახნები აუცილებელია, როგორც M3 კაკალი და ჭანჭიკები. სავალდებულოა კაბელები და თერმოსეტიანი გარსი.
Led მატრიცები ხრახნიანია ჩარჩოს უკანა პანელზე.
ნაბიჯი 6: და ახლა?
შემდეგი ნაბიჯი იქნება ტემპერატურის სენსორის დამატება, bluetooth შესაძლებლობების გააქტიურება და, რატომაც არა, ინტერნეტ რადიო პლეერი Raspberry Pi- ს მაქსიმალურ პოტენციალამდე.
Ნახვამდის
მეორე ადგილი საათების კონკურსში
გირჩევთ:
მარტივი დაყენება IR დისტანციური მართვა LIRC- ის გამოყენებით ჟოლოს PI (RPi) - ივლისი 2019 [ნაწილი 1]: 7 ნაბიჯი
მარტივი ინსტალაცია IR დისტანციური მართვის საშუალებით LIRC ჟოლოს PI- სთვის (RPi) - ივლისი 2019 [ნაწილი 1]: ბევრი ძებნის შემდეგ გამიკვირდა და შემეშინდა კონფლიქტური ინფორმაციის შესახებ, თუ როგორ უნდა დაყენებულიყო IR დისტანციური მართვა ჩემი RPi პროექტისთვის. მეგონა ადვილი იქნებოდა, მაგრამ Linux ინფრაწითელი კონტროლის (LIRC) დაყენება დიდი ხანია პრობლემურია
Ambilight სისტემა თქვენს ტელევიზორთან დაკავშირებული ყველა შეყვანისთვის. WS2812B Arduino UNO Raspberry Pi HDMI (განახლებულია 12.2019): 12 ნაბიჯი (სურათებით)
Ambilight სისტემა თქვენს ტელევიზორთან დაკავშირებული ყველა შეყვანისთვის. WS2812B Arduino UNO Raspberry Pi HDMI (განახლებულია 12.2019): მე ყოველთვის მინდოდა ჩემს ტელევიზორში ambilight დამატება. ისე მაგრად გამოიყურება! მე საბოლოოდ გავაკეთე და იმედგაცრუებული არ ვარ! მე ვნახე ბევრი ვიდეო და ბევრი გაკვეთილი თქვენი ტელევიზიის Ambilight სისტემის შექმნის შესახებ, მაგრამ მე არასოდეს მიპოვნია სრული გაკვეთილი ჩემი ზუსტი საჭიროებისთვის
მარტივი დაყენება IR დისტანციური მართვის საშუალებით LIRC ჟოლოს PI (RPi) - ივლისი 2019 [ნაწილი 2]: 3 ნაბიჯი
მარტივი დაყენება IR დისტანციური მართვის საშუალებით LIRC ჟოლოს PI (RPi) - ივლისი 2019 [ნაწილი 2]: 1 ნაწილში მე ვაჩვენე, თუ როგორ უნდა შევიკრიბოთ RPi + VS1838b და დავაკონფიგურიროთ Raspbian– ის LIRC მოდული IR ბრძანებების მისაღებად IR დისტანციური მართვისგან. ტექნიკისა და LIRC– ის დაყენების ყველა საკითხი განხილულია ნაწილში 1
დახატეთ თქვენი მობილური ტელეფონი: განახლებულია: 10 ნაბიჯი (სურათებით)
ხატეთ თქვენი მობილური ტელეფონი: განახლებულია: ასე რომ, ეს არის ჩემი ინსტრუქცია თქვენი მობილური ტელეფონის დახატვის შესახებ! ჩემს შემთხვევაში, ეს არის Nokia 3310. მიზეზი, რის გამოც მე შევარჩიე ამ კონკრეტული ტელეფონის დახატვა არის ცვალებადი საფარები. (და ეს არის ჩემი ტელეფონი. და მას აქვს Snake II.) თუ გააფუჭებ
IPhone / IPod Touch Binder Clip სტენდი კაბელის უზრუნველყოფით განახლებულია: 5 ნაბიჯი (სურათებით)
IPhone / IPod Touch Binder Clip სტენდი საკაბელო უზრუნველყოფით განახლებულია: შთაგონებული სხვათაგან (მადლობა ბიჭებს, ვინც იცით ვინ ხართ) მე გადავწყვიტე დავდგე ჩემი iPod Touch 3G სტენდისთვის (რომელიც არ მოყვება სადგამს) იმ სტაციონარული საკინძის გამოყენებით ……… შემკვრელის სამაგრები. მიუხედავად იმისა, რომ ნაჩვენებია რამდენიმე ჭკვიანი დიზაინი