Სარჩევი:
- მარაგები
- ნაბიჯი 1: შექმენით თქვენი წრე:
- ნაბიჯი 2: თქვენი არდუინოს დაპროგრამება:
- ნაბიჯი 3: პითონის დაპროგრამება მონაცემების გრაფიკიდან არდუინოდან:
- ნაბიჯი 4: საბოლოო პროგრამა ოთახში სინათლის ინტენსივობის შესამოწმებლად
- ნაბიჯი 5: შედეგი:
ვიდეო: სინათლის ინტენსივობის შეთქმულება არდუინოს და პითონის არდუინოს სამაგისტრო ბიბლიოთეკის გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Arduino არის ეკონომიური, მაგრამ ძალიან ეფექტური და ფუნქციონალური ინსტრუმენტი, მისი ჩაშენებული C პროგრამირება ხდის პროექტების დამღლელ პროცესს! პითონის Arduino_Master მოდული ამარტივებს ამას და საშუალებას გვაძლევს გამოვთვალოთ, ამოიღოთ ნაგვის მნიშვნელობები და დავხატოთ გრაფიკი მონაცემთა ვიზუალური წარმოდგენისთვის.
თუ ჯერ არ იცით ამ მოდულის შესახებ, დააინსტალირეთ ის ბრძანების პიპის გამოყენებით install Arduino_Master
არ ინერვიულოთ, თუ არ იცით როგორ გამოიყენოთ ეს მოდული, ეწვიეთ ამ ბმულს => Arduino_Master
ამასთან, ამ პროექტის კოდი ყოველთვის ხელმისაწვდომი იქნება ამ ინსტრუქციებში.
მარაგები
ამ პროექტისთვის დაგჭირდებათ შემდეგი:
- არდუინო
- მსუბუქი დამოკიდებული რეზისტორი (LDR) და
- თქვენს კომპიუტერში დაინსტალირებულია პითონი 3.
ნაბიჯი 1: შექმენით თქვენი წრე:
ჩვენ ვიყენებთ Arduino– ს პინ A1– ს შეყვანის მონაცემების მისაღებად. თქვენ ასევე შეგიძლიათ გამოიყენოთ არდუინოს 5V და GND ქინძისთავები ბატარეის ნაცვლად. გააკეთეთ კავშირი შემდეგნაირად:
- შეაერთეთ LDR- ის ერთი ბოლო 5V ბატარეის დადებით ტერმინალთან ან Arduino- ს 5V პინთან.
- შეაერთეთ LDR– ის მეორე ბოლო პარალელურად pin A1– თან და ბატარეის უარყოფითი ტერმინალი ან Arduino– ს GND პინი.
- გამოიყენეთ რეზისტორი, რომ დარწმუნდეთ, რომ მთელი დენი არ მიედინება GND– ში, რაც გამოიწვევს თქვენ არ მიიღოთ საკმარისად ძლიერი სიგნალი Arduino– ს A1 ტერმინალზე. (მე ვიყენებ რეზისტორს 10k ohms).
ნაბიჯი 2: თქვენი არდუინოს დაპროგრამება:
Arduino_Master მოდული იყენებს Arduino– ს სერიულ მონიტორს მონაცემების გასაგზავნად და მისაღებად. ამ მოდულის გამოყენების უპირატესობა ის არის, რომ თქვენი Arduino- ს პროგრამირების შემდეგ, თქვენ შეგიძლიათ შეცვალოთ პითონის პროგრამა მარტო სხვადასხვა პროექტებისთვის, ვინაიდან პითონში პროგრამირება შედარებით ადვილია!
კოდი:
// LDR_1 ცვლადი გამოიყენება Arduino– ს პინის A1 აღნიშვნისათვის.
int LDR_1 = A1;
// A1– დან მიღებული მონაცემები შეინახება LDR_Value_1– ში.
float LDR_Value_1;
სიმებიანი შეყვანა;
ბათილად დაყენება ()
{pinMode (LDR_1, INPUT); // LDR_1 დაყენებულია როგორც INPUT pin. სერიული.დაწყება (9600); // კომუნიკაციის ბაუდატი დაყენებულია 9600 -ზე.}
ბათილი მარყუჟი ()
{if (Serial.available ()> 0) // თუ რაიმე შეყვანაა შესაძლებელი სერიულ მონიტორზე, მაშინ გააგრძელეთ. {input = Serial.readString (); // წაიკითხეთ შეყვანა სტრიქონის სახით. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) არის კონვერტაციის ფაქტორი ვოლტში მნიშვნელობის მისაღებად. Serial.println (LDR_Value_1); // თუ შეყვანა უდრის "DATA" - ს, მაშინ წაიკითხეთ LDR_1– დან შეყვანილი და დაბეჭდეთ იგი სერიულ მონიტორზე. } else int i = 0; // თუ შეყვანა არ არის ტოლი "DATA", არაფერი გააკეთო! }
}
ნაბიჯი 3: პითონის დაპროგრამება მონაცემების გრაფიკიდან არდუინოდან:
თითოეულ LDR- ს ექნება საკუთარი წინააღმდეგობის მნიშვნელობა და უნდა გვახსოვდეს, რომ ელექტრონულ კომპონენტებს არა აქვთ იდენტური მოქმედება. ამრიგად, ჯერ უნდა ვიპოვოთ ძაბვა სინათლის სხვადასხვა ინტენსივობაზე.
ატვირთეთ შემდეგი პროგრამა თქვენს პითონის IDE- ში და გაუშვით:
გააკეთეთ ეს სინათლის სხვადასხვა ინტენსივობისთვის და გრაფიკის გამოყენებით გამოიტანეთ დასკვნა, მაგალითად, თუ ინტენსივობა 1 -ზე ნაკლებია, ოთახი ძალიან ბნელია. ინტენსივობისთვის 1 -დან 2 -მდე, ოთახი მნიშვნელოვნად ბნელია. 2 -ზე მეტი ინტენსივობისთვის შუქი ჩართულია.
# Arduino_Master მოდულის იმპორტი
Arduino_Master იმპორტიდან *
# მონაცემების შეგროვება
მონაცემები = ფილტრი (ardata (8, squeeze = False, dynamical = True, msg = "DATA", lines = 30), expect_type = 'num', limit = [0, 5])
# ლიმიტი არის 5, რადგან ჩვენ ვიყენებთ 5 ვ ბატარეას.
# ღირებულებების შედგენა
გრაფიკი (მონაცემები, stl = 'dark_background', label = 'Light intensity')
ნაბიჯი 4: საბოლოო პროგრამა ოთახში სინათლის ინტენსივობის შესამოწმებლად
მიღებული მონაცემებიდან დასკვნის გაკეთების შემდეგ ატვირთეთ შემდეგი პროგრამა და დარწმუნდით, რომ შეცვალეთ ლიმიტები თქვენი დასკვნის მიხედვით.
# Arduino_Master მოდულის იმპორტი
Arduino_Master იმპორტიდან # მონაცემების შეგროვება = ფილტრი (ardata (8, squeeze = False, dynamical = True, msg = "DATA", lines = 50), expect_type = 'num', limit = [0, 5]) # მონაცემების კლასიფიკაცია საფუძველზე დასკვნა info = for i in range (len (მონაცემები)): ინტენსივობა = მონაცემები თუ ინტენსივობა 1 და ინტენსივობა = 2: info.append ('Light ON') # გრაფიკის შედგენა. compGraph (მონაცემები, ინფორმაცია, stl = 'dark_background', label1 = 'სინათლის ინტენსივობა', label2 = 'მდგომარეობა')
ნაბიჯი 5: შედეგი:
პროგრამას დასჭირდება ერთი ან ორი წუთი, რადგან თქვენ კითხულობთ 50 მყისიერ მნიშვნელობას არდუინოსგან.
თუ გსურთ პროცესის დაჩქარება სცადეთ ardata ფუნქციის ხაზების პარამეტრის შეცვლა. მაგრამ გახსოვდეთ, რომ რაც უფრო ნაკლები დაკვირვებაა, მით ნაკლები იქნება მონაცემების ხარისხი.
შენიშვნა: თუ ზემოთ მოცემულ სურათზე სრული გრაფიკი არ ჩანს, მიმართეთ დიაგრამას შესავალი განყოფილების ზემოთ.
გირჩევთ:
სინათლის ინტენსივობის გაზომვა BH1715 და ჟოლოს Pi გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გაზომვა BH1715 და Raspberry Pi გამოყენებით: გუშინ ჩვენ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
არდუინოს სინათლის ინტენსივობის ნათურა - ჯიოთირი: 5 ნაბიჯი
Arduino სინათლის ინტენსივობის ნათურა - Jyothir: Arduino– ს აქვს ბევრი სახალისო და საინტერესო პროექტი, რომლის გაკეთებაც შეგიძლიათ სახლში/სკოლაში, " სინათლის ინტენსივობის ნათურა " არის სახალისო პატარა პროექტი, რომლის გაკეთებაც შეგიძლიათ თქვენს სახლში ძალიან მინიმალური მარაგით და ეს შესანიშნავი პროექტია დამწყებთათვის. შუქის ჩადება
სინათლის ინტენსივობის გამოთვლა BH1715 და არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და არდუინო ნანოს გამოყენებით: გუშინ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: გუშინ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: 6 ნაბიჯი
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: ეს ინსტრუქცია შექმნილია იმისთვის, რომ გასწავლოთ როგორ დაზოგოთ ენერგია სინათლის ინტენსივობის შეცვლით ფოტოცელებისა და თერმისტორების გამოყენებით. ჩვენ გაჩვენებთ თუ როგორ უნდა ააწყოთ წრე და დააკოპიროთ Arduino MATLAB გამოყენებით