Სარჩევი:

RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია: 15 ნაბიჯი (სურათებით)
RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია: 15 ნაბიჯი (სურათებით)

ვიდეო: RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია: 15 ნაბიჯი (სურათებით)

ვიდეო: RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია: 15 ნაბიჯი (სურათებით)
ვიდეო: A believer is smart person 2024, ივნისი
Anonim
RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია
RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია
RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია
RaspberryPi ისლამური ლოცვების ყურება და სიგნალიზაცია

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

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

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

გადადით ჩვენს პროექტზე! ეს პროექტი დაყოფილია X ძირითად საფეხურად, რაც მე –16 ნაბიჯის ბოლოსთვის ჩვენ გვექნება ჩვენი პროექტი ლამაზი და მზადაა! ნაბიჯები იქნება შემდეგი:

1-ჟოლოს კონფიგურაცია და მომზადება

2-RTC მოდულის დაყენება

3-აზანის განგაშის პროგრამის დამზადება

4-საათის სახეების განხორციელება

5-მომხმარებლის ინტერფეისის შექმნა და

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

1-RaspberryPi კომპიუტერული ნაკრები Amazon US || ამაზონის KSA

თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი Rpi ვერსია, უბრალოდ დარწმუნდით, რომ მას აქვს Wifi. მე ვიყენებ Rpi3B+

2-RTC რეალურ დროში საათის მოდული Amazon US || ამაზონის KSA

თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი RTC მოდულის მოდელი, უბრალოდ დარწმუნდით, რომ მას აქვს I2C

3-LCD მონიტორი

ნებისმიერი LCD გააკეთებს

4-მაუსი და კლავიატურა

და ეს….. ის !! ეს არის ყველაფერი რაც თქვენ გჭირდებათ საკუთარი აზანის საათის და მაღვიძარის გასაკეთებლად

ნაბიჯი 1: თავი 1: RaspberryPI– ის დაყენება და კონფიგურაცია

თავი 1: RaspberryPI- ის დაყენება და კონფიგურაცია
თავი 1: RaspberryPI- ის დაყენება და კონფიგურაცია

პირველი რამ პირველი! ჩვენ უნდა მოვამზადოთ ჟოლო პი, რათა ვიმუშაოთ მასთან.

Raspberry pi სხვა არაფერია თუ არა კომპიუტერი, მას აქვს RAM და ROM, მას აქვს CPU, GPU, I/O ……. კომპიუტერი! ისევე, როგორც ჩვენ ვთამაშობთ თამაშებს და ვათვალიერებთ ინტერნეტს, მთავარი ის არის, რომ ის ძალიან მცირეა! რაც ჟოლოს ხდის ძალიან კარგ არჩევანს პროექტების შესაქმნელად და განხორციელებისთვის. რადგან ჟოლოს pi არის პატარა, მას აქვს ძალიან შეზღუდული სპეციფიკა, რომ მას არ შეუძლია იმუშაოს ისეთი დიდი ოპერაციული სისტემის მსგავსად, როგორიცაა Windows ან macOS, სამაგიეროდ, ჩვენ გამოვიყენებთ Linux- ს, როგორც ოპერაციულ სისტემას, მოწყობილობის გამოსაყენებლად. არსებობს ათასობით თუ არა ათიათასობით Linux დისტრიბუცია, რომელიც ჩვენ შეგვიძლია გამოვიყენოთ, მაგრამ ერთი სრულყოფილი დისტრიბუცია იდეალურად არის ოპტიმიზირებული სპეციალურად ჟოლოსთვის, რომელსაც ჩვენ ვაპირებთ გამოვიყენოთ, სახელწოდებით Raspbian.

ნაბიჯი 2: 1-1: ჩამოტვირთეთ საჭირო ფაილები

1-1: ჩამოტვირთეთ საჭირო ფაილები
1-1: ჩამოტვირთეთ საჭირო ფაილები
1-1: ჩამოტვირთეთ საჭირო ფაილები
1-1: ჩამოტვირთეთ საჭირო ფაილები
1-1: ჩამოტვირთეთ საჭირო ფაილები
1-1: ჩამოტვირთეთ საჭირო ფაილები

გადადით Rasbian– ის ოფიციალურ ჩამოტვირთვა გვერდზე https://www.raspberrypi.org/software/operating-sy… და გადმოწერეთ Raspberry Pi OS დესკტოპის ფაილით

-სანამ გადმოტვირთულია, გადადით https://win32diskimager.org/ და ჩამოტვირთეთ და დააინსტალირეთ win32DiskImager, შეგიძლიათ გამოიყენოთ ნებისმიერი პროგრამული უზრუნველყოფა, რომელიც მოგწონთ

გადმოტვირთვის დასრულების შემდეგ გექნებათ.img ფაილი, რომელიც შეიცავს RaspberryPi OS- ს. შემდეგ, შეაერთეთ თქვენი SD მეხსიერების ბარათი კომპიუტერში (ჩვეულებრივ, USB ბარათის წამკითხველით) და გაუშვით win32diskimager პროგრამული უზრუნველყოფა. SD მეხსიერებაში სურათის დაწვის ნაბიჯები ძალიან მარტივია, თქვენ უბრალოდ უნდა 1-შეარჩიეთ თქვენი მეხსიერების ასო 2-შეარჩიეთ თქვენი OS ფაილები, რომლებიც გადმოწერილი გაქვთ და 3-დაწკაპუნებით დაწერეთ! დარწმუნდით, რომ თქვენ შეარჩიეთ მოწყობილობის ასო სიიდან და თქვენი მეხსიერება ცარიელია, რადგან დაწერის დაჭერით თქვენ დაწინაურდებით გაფრთხილებით, რომელიც გეუბნებათ, რომ მოწყობილობაზე ყველაფერი წაიშლება! დააჭირეთ დიახ დაწერის დასადასტურებლად და დაელოდეთ მის დასრულებას. ამას შეიძლება 20 წუთამდე დასჭირდეს.

დასრულების შემდეგ თქვენ გექნებათ Rapbian– ის სრული ოპერატიული მეხსიერება, შეგიძლიათ გააგრძელოთ და განათავსოთ იგი Rapberry Pi– ში, დაუკავშიროთ Raspberry Pi– ს მონიტორს HDMI– ით, დააკავშიროთ მაუსი და კლავიატურა USB– ით და ბოლოს, დააკავშიროთ ძალა.

ნაბიჯი 3: 1-2: Raspbian სისტემის კონფიგურაცია

კაბელების და დენის დაკავშირების შემდეგ ნახავთ, რომ ოპერაციული სისტემა ჩართულია, ის ავტომატურად გადატვირთულია და შემდეგ გამოჩნდება Raspbian მომხმარებლის ინტერფეისი (რომელიც ფანჯრების მსგავსია). პირველი რაც თქვენ დაინახავთ არის მისასალმებელი ფანჯარა, რომელიც მიგიყვანთ თქვენი RaspberryPi– ის პირველად კონფიგურაციის ნაბიჯებზე. ფანჯრები და ნაბიჯები იქნება შემდეგი:

1-დააჭირეთ შემდეგ პირველ "Welcome" ფანჯარაში

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

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

მომხმარებლის სახელი: pi

პაროლი: ჟოლო

4-შემდეგი ფანჯარა დააკავშირებს ჟოლოს თქვენს WiFi ქსელს. შეარჩიეთ თქვენი wifi სახელი და შეიყვანეთ თქვენი wifi პაროლი

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

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

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

ნაბიჯი 4: 1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად

1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად
1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად
1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად
1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად
1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად
1-3: ბრძანების ხაზის გამოყენება Rpi პარამეტრების დასაყენებლად

მას შემდეგ რაც დაასრულებთ გადატვირთვას სისტემის განახლებიდან, სისტემა აჩვენებს მომხმარებლის დესკტოპს ჩატვირთვის დასრულების შემდეგ. ახლა თუ გადახედავთ ეკრანის ზედა მარცხენა მხარეს, ნახავთ რამდენიმე ღილაკს, ღილაკს ჟოლოს ფერი ლოგო, რომელიც არის Rpi მენიუს ღილაკი, გლობალური ფორმის ინტერნეტ ბრაუზერი, საქაღალდეების ღილაკი რომელიც არის….. საქაღალდეები და ბოლოს, ღილაკი შავი ეკრანის ფანჯრით, რომელიც არის ყველაზე მნიშვნელოვანი ღილაკი ნებისმიერ linux სისტემაში, The Command line. წადი და დააწკაპუნე ამ ღილაკზე, დაინახავ, რომ შავი ფანჯარა გამოჩნდება.

ბრძანების სტრიქონი არის ის, თუ როგორ ურთიერთობს ყველა და იყენებს Linux სისტემას, ისევე როგორც Windows– ს აქვს საკუთარი ბრძანების ხაზი მხოლოდ ქვრივებში, ჩვენ არ გვჭირდება მისი ხშირად გამოყენება. linux– ში ეს არის ის, რაც ყველა Linux– ის მომხმარებელმა უნდა ისწავლოს და დაეუფლოს. ბრძანების სტრიქონი შეიძლება გამოყენებულ იქნას…. ბრძანება! რასაც ხედავთ შავ ფანჯარაში არის ბრძანების სტრიქონი, რომელიც ელოდება მომხმარებლის მიერ ბრძანების ჩაწერას და შესრულებას. ამ სახელმძღვანელოში ჩვენ მივცემთ ყველა ბრძანებას, რაც გჭირდებათ ამ პროექტის შესასრულებლად, ასე რომ არ ინერვიულოთ.

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

sudo raspi-config

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

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

1-გადადით ინტერფეისის პარამეტრებზე >> I2C >> YES >> დააჭირეთ Enter. ეს გააქტიურებს I2c საკომუნიკაციო პროტოკოლს, ასე რომ ჩვენ შეგვიძლია გამოვიყენოთ RTC

2-გადადით გაფართოებულ პარამეტრებზე >> ფაილური სისტემის გაფართოება.

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

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

ნაბიჯი 5: თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება

თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება
თავი 2: RTC მოდულის დამონტაჟება, კონფიგურაცია და გამოყენება

RTC (ან რეალურ დროში საათი) მოდული არის პატარა მოწყობილობა, რომელსაც აქვს პატარა ბატარეა, ის აკეთებს იმას, რასაც სახელი გულისხმობს, Clocking! ასე რომ, როდესაც მას გათიშავთ, საათი აგრძელებს მუშაობას და არ ჩერდება. რატომ გვჭირდება ეს? ჟოლოს პი ნამდვილად არ აქვს საათის მონაცემების შენახვის მეთოდი, როდესაც ის გამორთულია, ის ემყარება ინტერნეტთან დაკავშირებას ჩატვირთვისას, რომ განაახლოთ მისი თარიღი და დრო, მაგრამ პრობლემა ის არის, რომ ჩვენ ყოველთვის არ გვაქვს ინტერნეტი, და ეს ამიტომ ჩვენ გვჭირდება RTC მოდული. RTC იმოქმედებს ჟოლოს ჟოლოს საათისათვის, ასე რომ Rpi- ს ჩატვირთვის შემდეგ ის მიიღებს თარიღსა და დროს RTC– დან, რაც შეინარჩუნებს RaspberryPi– ს დროს მუდმივად.

არსებობს მრავალი მოდელი და ეძებს RTC- ს, არის DS1307 და DS3231. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი RTC მოდული, რომელსაც აღმოაჩენთ, სანამ მას აქვს I2C პროტოკოლური კომუნიკაცია (შეგიძლიათ მიუთითოთ, რომ თქვენ შეგიძლიათ იპოვოთ SDA და SCL ქინძისთავები მოდულის ქინძისთავებზე.

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

მას შემდეგ რაც მოამზადეთ თქვენი RTC მოდული (შეაერთეთ სათაურის ქინძისთავები და დაადეთ ბატარეა), შეგიძლიათ დაუკავშიროთ იგი RapberryPi ქინძისთავებს შემდეგნაირად:

RTC PIN ---------------- Rpi პინი

GND ===========> PIN 6 (GND)

Vcc ============> PIN 1 (3.3V)

SDA ===========> PIN 3 (SDA)

SCL ===========> PIN 5 (SCL)

ან იმის მიხედვით, თუ რა RTC მოდული გაქვთ, შეგიძლიათ პირდაპირ RaspberryPi– ზე დააინსტალიროთ (დარწმუნდით, რომ ქინძისთავები სწორია !!! რადგან თქვენ შეიძლება დააზიანოთ Rpi/RTC თუ არა)

მას შემდეგ რაც დაუკავშირებთ RTC- ს, მოდით დავაკონფიგურიროთ ჟოლო.

ნაბიჯი 6: 2-1: მოდულის დაყენება

2-1: მოდულის დაყენება
2-1: მოდულის დაყენება
2-1: მოდულის დაყენება
2-1: მოდულის დაყენება

დაწყებამდე გადადით ბრძანების ხაზზე და ჩაწერეთ:

თარიღი

ეს დააბრუნებს ჟოლოს მიმდინარე თარიღსა და დროს, გაითვალისწინებს ამ ძალიან სასარგებლო ბრძანებას და აღნიშნავს მიმდინარე თარიღსა და დროს, რათა შევამოწმოთ მოდულის მუშაობა თუ არა.

ახლა, დავიწყოთ დაყენება, ჩაწერეთ შემდეგი, რომ განაახლოთ Rpi ბიბლიოთეკები, ერთი სტრიქონი ერთდროულად:

sudo apt-get განახლება

sudo apt -get -y განახლება

ამის დასრულების შემდეგ, ჩვენ გვჭირდება სისტემის ფაილების შეცვლა i2c მოდულის გასააქტიურებლად და RTC დამატებისთვის, ფაილური სისტემის შესაცვლელად ჩვენ გამოვიყენებთ პროგრამულ უზრუნველყოფას სახელწოდებით Nano. nano არის მსუბუქი ჩაშენებული პროგრამული უზრუნველყოფა, რომელიც ძირითადად ტექსტური რედაქტორია, ისევე როგორც ქვრივებში. ასე რომ, ნებისმიერი ბრძანება, რომელიც იწყება ნანოთი, რასაც მოყვება ფაილის სახელი, გახსნის ფაილს ნანო ტექსტურ რედაქტორში. თქვენ შეამჩნიეთ, რომ ჩვენ ასევე ვიყენებდით რაღაცას, სახელად სუდო, მოკლედ რომ ვთქვათ, sudo მოქმედებს როგორც გარანტია Linux სისტემისთვის, რომელიც ეუბნება სისტემას, რომ მომხმარებელი, ვინც ეს ბრძანება გააკეთა, არის მოწყობილობის მფლობელი და არა ვინმე სხვა და აძლევს პრივილეგიებს, როგორიცაა რედაქტირება/ წაშლა მომხმარებლისთვის. მაგალითად, თუ ჩვენ გავხსნით ნანოს ფაილს sudo- ს გარეშე, ჩვენ შევძლებთ ამ ფაილის ნახვას, მაგრამ ჩვენ არ შეგვიძლია მისი რედაქტირება ან წაშლა.

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

sudo nano /etc /modules

ამის გაკეთების შემდეგ თქვენ ნახავთ ამ ფაილის შინაარსს (იხ. სურათი). გამოიყენეთ ისრის ღილაკები კურსორის დასასრულს ტექსტის ბოლოს და დაამატეთ შემდეგი:

snd-bcm2835

i2c-bcm2835 i2c-dev rtc-ds1307

დააჭირეთ CTRL+S შესანახად და CTRL+X გასასვლელად

ნაბიჯი 7: 2-2: I2C ინტერფეისი

2-2: I2C ინტერფეისი
2-2: I2C ინტერფეისი

ახლა ჩვენ დავაკავშირეთ RTC და გავაქტიურეთ i2c, მოდით დავუკავშიროთ ყველაფერი ერთად.

ჩაწერეთ შემდეგი ბრძანების სტრიქონში:

i2cdetect -y 1

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

ახლა, ჩვენ გვჭირდება შეცვლა rc.local ფაილი, ასე რომ ჩვენ შეგვიძლია ჩართოთ RTC მოდული ჩატვირთვისას და დავტოვოთ ის თარიღი და დრო სისტემაში. პირველი, გახსენით rc.local ფაილი:

sudo nano /etc/rc.local

Exit0 ხაზის წინ დაამატეთ შემდეგი:

echo ds1307 0x68>/sys/class/i2c-adapter/i2c-1/new_device

საათი -ს

სადაც 0x68 არის თქვენი მოწყობილობის i2c მისამართი. დასრულების შემდეგ დააჭირეთ CTRL+S CTRL+X, შემდეგ გადატვირთეთ სისტემა:

sudo გადატვირთვა

ნაბიჯი 8: 2-3: ტესტირება RTC

2-3: ტესტირება RTC
2-3: ტესტირება RTC

სისტემის გადატვირთვის შემდეგ, ჩვენ შეგვიძლია შევამოწმოთ ამინდი, რომ RTC მუშაობს თუ არა. პირველი, გაუშვით:

sudo hwclock -r

თქვენ დაგიბრუნებთ თარიღსა და დროს RTC მოდულში. თუ სხვა რამეს მოგცემთ, დარწმუნდით, რომ ნაბიჯები სწორად შეასრულეთ.

ახლა, RTC– ში დროის და თარიღის შესაცვლელად, ჩვენ ჯერ სისტემა და თარიღი უნდა შეცვალოთ, შემდეგ კი შევიტანოთ ცვლილებები RTC– ში. ამისათვის გაუშვით:

sudo date -s "29 აგვისტო 1997 13:00:00"

და, რა თქმა უნდა, შეცვალეთ თარიღი და დრო თქვენი ადგილობრივი დროისა და თარიღის მიხედვით, სანამ არ დააჭერთ Enter. მას შემდეგ რაც მიიღებთ დროს Rpi– ზე მარჯვნივ, გაუშვით შემდეგი, რომ შეინახოთ თარიღი და დრო RTC– ზე:

sudo hwclock -w

ააა და ეგაა! შეგიძლიათ შეამოწმოთ მუშაობს თუ არა hwclock -r– ით და დაინახავთ თუ არა თარიღი RTC– ში სწორია თუ არა, შემდეგ გათიშეთ rpi ინტერნეტიდან და შემდეგ გამორთეთ იგი გარკვეული დროით, შემდეგ ისევ ჩართეთ და ნახეთ აქვს თუ არა სწორი დრო და თარიღი. მზად ხარ!

სრული სახელმძღვანელო, თუ როგორ უნდა დააყენოთ RTC მოდული, შეგიძლიათ იხილოთ აქ

www.raspberrypi-spy.co.uk/2015/05/adding-a-ds3231-real-time-clock-to-the-raspberry-pi/

ნაბიჯი 9: თავი 3: აზანის განგაშის პროგრამის შექმნა

თავი 3: აზანის განგაშის პროგრამის დამზადება
თავი 3: აზანის განგაშის პროგრამის დამზადება

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

ჩვენი პროგრამირებისთვის, ჩვენ ვიყენებთ პითონს, როგორც ჩვენს სასურველ პროგრამირების ენას, რადგან პითონი სრულყოფილად ჯდება RaspberryPi– სთან ერთად. პითონში კოდის ფაილის შესაქმნელად, ჩვენ იგივე ვაკეთებთ, როგორც ტექსტური ფაილის გახსნას, მაგრამ ახლა ჩვენ ვინახავთ მას.py. პროგრამის გასაშვებად, ჩვენ გვჭირდება rathbery- სგან დაყენებული პითონის გარემო, საბედნიეროდ, Raspbian– ს მოყვება პითონი და python3 წინასწარ დაინსტალირებული! ამიტომ ყველაფერი რაც ჩვენ გვჭირდება არის პროგრამირება. ამ სახელმძღვანელოში ჩვენ არ ვისაუბრებთ ენაზე და არ ვასწავლით თუ როგორ მუშაობს იგი და ფუნქციები, მაგრამ მე მოგცემთ საჭირო კოდებს, რათა შეადგინოთ პროექტი.

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

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

stackoverflow.com/questions/20021457/playi…

ეს მეთოდი გამოვცადე და იმუშავა! მოდით ვნახოთ, როგორ შეგვიძლია განვახორციელოთ ეს მეთოდი ჩვენს პროექტში…

ნაბიჯი 10: 3-1: მოდით ვითამაშოთ ხმა

3-1: მოდით ვითამაშოთ ხმა!
3-1: მოდით ვითამაშოთ ხმა!

პირველი, გადადით სამუშაო მაგიდაზე შემდეგი გზით:

cd დესკტოპი

შემდეგ შექმენით პითონის კოდის ახალი ფაილი:

sudo nano AzanPlay.py

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

pygame იმპორტის მიქსერიდან

mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play () ხოლო mixer.music.get_busy () == მართალია: გაგრძელება

სად / სამუშაო მაგიდა / არის სად ათავსებთ თქვენს ხმოვან ფაილებს და "Adhan-Makkah.wav" არის ჩემი აუდიო ფაილი, რომელიც არის აზანის ხმის ჩამწერი მაქკაში.

ახლა ჩვენი კოდის შესამოწმებლად, ჩვენ მას პითონით ვუშვებთ აკრეფით:

პითონი AzanPlay.py

და თქვენ გექნებათ ხმის დაკვრა თქვენი HDMI LCD ან თქვენი AUX პორტიდან, რომელიც არის ჟოლოს. თუ LCD დინამიკებიდან არ გესმით, ჩართეთ ყურსასმენი AUX– ში და შეამოწმეთ.

ნაბიჯი 11: 3-2: მიიღეთ ლოცვის დრო

3-2: მიიღეთ ლოცვის დრო
3-2: მიიღეთ ლოცვის დრო

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

praytimes.org/

ამრიგად, ჩვენ ვაპირებთ გამოვიყენოთ ეს გასაოცარი ფაილები, რათა მივიღოთ ლოცვის დრო და განვახორციელოთ იგი სისტემაში. პირველი, გადმოწერეთ კოდები ვებ – გვერდიდან და ჩადეთ იგი / adhan / საქაღალდეში, (ჩვენ გვჭირდება როგორც JS, ასევე პითონის კოდები).

ახლა მივდივართ იმ საქაღალდეში და ვამოწმებთ ბიბლიოთეკას და რისი გაკეთება შეუძლია:

cd adhan

იქ, ჩვენ უნდა შევქმნათ ახალი სატესტო ფაილი პითონში, რათა შევამოწმოთ ფუნქცია:

sudo nano testAd.py

შიგნით, ჩაწერეთ ეს კოდი:

იმპორტირებული პრაიმტაიმები

datetime იმპორტის თარიღიდან tmm = praytimes. PrayTimes (). getTimes (date.today (), [LONGTITUDE, LATITUDE], GMT) ბეჭდვა (tmm)

ფაილის შენახვამდე თქვენ უნდა შეცვალოთ LATITUDE თქვენი მდებარეობის მდებარეობით, იგივე LONGTITUDE– ით და შეცვალოთ GMT თქვენს დროის ზონაში. ჩემს შემთხვევაში, ეს იქნება:

tmm = praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3)

ბეჭდვა (მმ)

დაბოლოს, CTRL-S და CTRL-X და შემდეგ გაუშვით კოდი:

პითონის ტესტიAd.py

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

{'isha': '18: 58 ',' asr ': '15: 22', 'მზის ჩასვლა': '17: 43 ',' dhuhr ': '12: 17', 'maghrib': '17: 43 ', 'imsak': '05: 23 ',' შუაღამე ': '00: 17', 'მზის ამოსვლა': '06: 52 ',' fajr ': '05: 33'}

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

ნაბიჯი 12: 3-3: საბოლოო აზანის სიგნალიზაციის კოდის შედგენა

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

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

იმპორტის დრო

pygame იმპორტის მიქსერის იმპორტი სიმებიანი იმპორტირება praytimes თარიღის იმპორტის თარიღიდან ხოლო (1): tmm = praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3) FAJR = tmm ['fajr'] DHUHR = tmm ['dhuhr'] ASR = tmm ['asr'] MAGHRIB = tmm ['maghrib'] ISHA = tmm ['isha'] tempT = time.strftime (str ('%H')) currTime = tempT tempT = time.strftime (str ('%M')) currTime = currTime + ':' + tempT if currTime == FAJR: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-fajr wav ') mixer.music.play () while mixer.music.get_busy () == True: გაგრძელება თუ currTime == DHUHR: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan- Makkah.wav ') mixer.music.play () ხოლო mixer.music.get_busy () == ჭეშმარიტი: გაგრძელება თუ currTime == ASR: mixer.init () mixer.music.load ('/home/pi/Desktop/ Adhan-Makkah.wav ') mixer.music.play () ხოლო mixer.music.get_busy () == მართალია: გააგრძელე თუ currTime == MAGHRIB: mixer.init () mixer.music.load ('/home/pi/ Desktop/Adhan-Makkah.wav ') mixer.music.play () ხოლო mixer.music.get_busy () == მართალია: გაგრძელება თუ currTime == ISHA: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play () ხოლო mixer.music.get_busy () == ჭეშმარიტი: გაგრძელება

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

ნაბიჯი 13: თავი 4: Watch Faces– ის განხორციელება

თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება
თავი 4: Watch Faces– ის განხორციელება

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

სამწუხაროდ, ამ ინსტრუქციის დაწერის დროიდან, ჩემი ცოდნა და გამოცდილება HTML- ში ძალიან შეზღუდულია, ასე რომ, მე არ განვიხილავ ბევრ დეტალს, რადგან მე ვიცი, რომ არასწორად გავაკეთებ და არა ხალხის აღრევა სურს. მაგრამ თუ თქვენ გაქვთ თუნდაც მცირე გამოცდილება JS და HTML– ში, თქვენ უნდა იცოდეთ როგორ გააგრძელოთ ამ წერტილიდან. ჯერჯერობით მე მაქვს ერთი სახე (ლურჯი). გეგმაა 14 საათის სახე! 7 სახე კვირის ყოველდღიურობისთვის, და კიდევ 7, როგორც სხვა თემა. როგორც პირველი თემა უნდა იყოს Azkar მოძრავი, და სხვა თემა უნდა იყოს ისლამური GIFS ნაცვლად Azkar. მიუხედავად ამისა, მე ჩავრთავ ამ დიზაინის ყველა დიზაინს, ასე რომ თქვენ შეგიძლიათ გადმოწეროთ.

ნაბიჯი 14: თავი 5: მომხმარებლის ინტერფეისის დანერგვა

თავი 5: მომხმარებლის ინტერფეისის დანერგვა
თავი 5: მომხმარებლის ინტერფეისის დანერგვა

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

ამისათვის ჩვენ გამოვიყენებთ პითონის GUI ბიბლიოთეკას სახელწოდებით "TKinter".

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

იმპორტი tkinter როგორც tk

tkinter იმპორტიდან * tkinter იმპორტიდან ttk იმპორტი კოდეკები იმპორტი os კლასი karl (ჩარჩო): def _init _ (self): tk. Frame._ init _ (self) self.pack () self.master.title ("Azan Time") self ღილაკი 1 = ღილაკი (საკუთარი, ტექსტი = "ჯედა", სიმაღლე = 5, სიგანე = 80, ბრძანება = თვითმმართველობის გახსნა_ჟედდა 1) self.button2 = ღილაკი (საკუთარი, ტექსტი = "მაკა", სიმაღლე = 5, სიგანე = 80, ბრძანება = self.open_makkah1) self.button3 = ღილაკი (self, text = "Riyadh", height = 5, width = 80, command = self.open_riyadh1) self.button4 = ღილაკი (საკუთარი, ტექსტი = "მადინა", სიმაღლე = 5, width = 80, command = self.open_madina1) self.button5 = ღილაკი (self, text = "Qasim", height = 5, width = 80, command = self.open_qasaim1) self.button1.grid (row = 0, column = 1, columnspan = 2, sticky = W+E+N+S) self.button2.grid (row = 1, column = 1, columnspan = 2, sticky = W+E+N+S) self.button3.grid (row = 2, column = 1, column = 2, sticky = W+E+N+S) self.button4.grid (row = 3, column = 1, columnspan = 2, sticky = W+E+N+S) self.button5.grid (მწკრივი = 4, სვეტი = 1, სვეტების რაოდენობა = 2, sticky = W+E+N+S) def open_jeddah1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/jeddah/Sunday1.html-დაწყება-სრულ ეკრანზე-no-sandbox" os სისტემა (შეკვეთა) def open_riyadh1 (თვით): შეკვეთა = "sudo chromium-browser /home/pi/Desktop/Cities/riyadh/Sunday1.html-დაწყება-სრულ ეკრანზე-no-sandbox -test-type" os.system (შეკვეთა) def open_madina1 (თვით): შეკვეთა = "sudo chromium-browser /home/pi/Desktop/Cities/madina/Sunday1.html-დაწყება-სრულ ეკრანზე-no-sandbox -test-type" os.system (order) def open_qasaim1 (თვით): შეკვეთა = "sudo chromium-browser /home/pi/Desktop/Cities/qasaim/Sunday1.html-დაწყება-სრულ ეკრანზე-no-sandbox -test-type" os.system (order) def main (): karl (). mainloop () if _name_ == '_main_': main ()

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

ნაბიჯი 15: (სურვილისამებრ): სპიკერის გადამრთველის დამატება

(სურვილისამებრ): სპიკერის გადამრთველის დამატება
(სურვილისამებრ): სპიკერის გადამრთველის დამატება
(სურვილისამებრ): სპიკერის გადამრთველის დამატება
(სურვილისამებრ): სპიკერის გადამრთველის დამატება

როგორც ვნახეთ, როდესაც ლოცვის დრო დგება აზანის ხმის დაკვრა, და ხმა გამოდის ნაგულისხმევი ხმის გამომავალიდან (HDMI ან AV გამომავალი) და ვინაიდან ჩვენ მას HDMI გამომავალზე ვაყენებთ, ხმა მოვა LCD– დან. მაგრამ რა მოხდება, თუ ჩვენი LCD ხმა არ არის საკმარისი? მაგალითად, რა მოხდება, თუ ჩვენ გვსურს ამის განხორციელება ნამდვილი მეჩეთის შიგნით? ფართო გარე დინამიკებით? შემდეგ ჩვენ შეგვიძლია დავამატოთ კიდევ ერთი ძალიან მარტივი ნაბიჯი ამის მისაღწევად. უკვე აშენებული დინამიკის ხმის სისტემისთვის, ჩვენ მხოლოდ ჩართვა და გამორთვა გვჭირდება და ავიღოთ უკვე არსებული მიკროფონი და დავდოთ LCD დინამიკების გვერდით.

ამის გაკეთება ადვილია. ჩვენ გამოვიყენებთ მეჩეთის უკვე არსებულ მიკროფონს, რომელიც დაკავშირებულია ხმამაღლა დინამიკთან, ჩვენ უბრალოდ დაგვჭირდება ჟოლოს პი, რომ გავაკონტროლოთ ძალა, რომელიც ჩართავს და გამორთავს მთელ ხმოვან სისტემას. ამისათვის ჩვენ უნდა გამოვიყენოთ SSR: SOLID STATE RELAY. ამ ტიპის რელეებს შეუძლიათ შეცვალონ ფუნქცია, ისევე როგორც საშუალო ცისფერი სარელეო, განსხვავება ისაა, რომ SSR– ს შეუძლია გაუძლოს AC– ს დიდ რაოდენობას მისი მეშვეობით, რაც არ გამოიყენება ცისფერებში (ჩვეულებრივ მაქსიმუმ 10 ა) და SSR– ს სჭირდება მხოლოდ ორი მავთულის ნაცვლად 3: DC+ და DC- და ეს არის ის! SSR– ის მეორე ბოლოში შეგვიძლია შევაერთოთ სპიკერის სისტემის დენის კაბელი, ამგვარად, როდესაც ჩვენ ვცემთ ძაბვას SSR– ზე, ის დაიხურება დინამიკების სისტემის AC წრედ, ან ჩვენ ვხურავთ ძაბვას ღია წრის შესაქმნელად, დინამიკების გამორთვა.

ერთია, RaspberryPi ქინძისთავები გამოდის 3.3 ვ, არა 5 ვ, რომ ჩვენ გვჭირდება SSR– ის გასაკონტროლებლად. ასე რომ, ჩვენ გვჭირდება ტრანზისტორი, რომ მიიღოს სიგნალი RPi პინიდან და 5V RPi 5v პინიდან. ამისათვის ჩვენ გვჭირდება:

1 მყარი მდგომარეობის სარელეო (25A– ზე ზემოთ ყველაფერი კარგია)

2-2n2222 npn ტრანზისტორი

3-220ohm რეზისტორი

მიჰყევით ყინვის წრეს დასაკავშირებლად.

ახლა კოდში, ჩვენ დავამატებთ რამდენიმე ნივთს, რაც ამ სამუშაოს ხდის. პირველი, while მარყუჟამდე, ჩვენ დავამატებთ რამდენიმე ხაზს GPIO ქინძისთავების დასაწყებად:

იმპორტის განყოფილებაში დაამატეთ:

იმპორტი RPi. GPIO როგორც GPIO

ცოტა ხნის წინ, დაამატეთ:

GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (false) სარელეო = 40 GPIO.setup (ledPin, GPIO. OUT)

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

GPIO.output (ledPin, GPIO. HIGH)

დრო. ძილი (10)

ეს უნდა დაემატოს ყოველი if განცხადების შემდეგ (იდენტიფიკაცია მნიშვნელოვანია!), მეორე ხაზი არის:

GPIO.output (ledPin, GPIO. LOW)

ეს უნდა დაემატოს "გაგრძელების" ხაზის შემდეგ. ასე უნდა გამოიყურებოდეს ყოველი აზანის დროს:

თუ currTime == FAJR:

GPIO.output (ledPin, GPIO. HIGH) time.sleep (10) mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-fajr.wav') mixer.music.play () ხოლო mixer.music.get_busy () == ჭეშმარიტი: გაგრძელება GPIO.output (ledPin, GPIO. LOW)

გირჩევთ: