Სარჩევი:
- ნაბიჯი 1: შექმენით წრე
- ნაბიჯი 2: კოდი ბლოკებით
- ნაბიჯი 3: Photoresistor Arduino კოდი ახსნილი
- ნაბიჯი 4: შექმენით ფიზიკური არდუინოს წრე (სურვილისამებრ)
- ნაბიჯი 5: შემდეგი, სცადეთ…
ვიდეო: სინათლის სენსორი (ფოტორეზისტორი) არდუინოსთან ერთად Tinkercad– ში: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Tinkercad პროექტები »
მოდით ვისწავლოთ როგორ წავიკითხოთ ფოტორეზისტორი, სინათლისადმი მგრძნობიარე ცვლადი რეზისტორი, არდუინოს ანალოგური შეყვანის გამოყენებით. მას ასევე უწოდებენ LDR (სინათლეზე დამოკიდებული რეზისტორი).
ჯერჯერობით თქვენ უკვე ისწავლეთ LED- ების კონტროლი არდუინოს ანალოგური გამომავალით და წაიკითხეთ პოტენომეტრი, რომელიც ცვლადი რეზისტორის სხვა ტიპია, ამიტომ ამ გაკვეთილზე ჩვენ განვავითარებთ ამ უნარებს. დაიმახსოვრეთ, რომ არდუინოს ანალოგურ შეყვანას (A0-A6 მონიშნული ქინძისთავები) შეუძლია აღმოაჩინოს თანდათან ცვალებადი ელექტრული სიგნალი და თარგმნის ამ სიგნალს რიცხვში 0-დან 1023-მდე.
დაათვალიერეთ სამუშაო მაგიდაზე ჩასმული ნიმუშის წრე, დაწკაპუნებით დაწყების სიმულაცია და ფოტორეზისტორზე დაწკაპუნებით (ყავისფერი ოვალური შებუსვილი ხაზით შუაში), შემდეგ გადაიტანეთ სიკაშკაშის სლაიდერი იმიტირებული სინათლის შეყვანის შესაცვლელად.
ამ გაკვეთილზე თქვენ შექმნით ამ იმიტირებულ მიკროსქემს ნიმუშის გვერდით. ფიზიკური სქემის სურვილისამებრ შესაგროვებლად, შეაგროვეთ თქვენი Arduino Uno დაფა, USB კაბელი, გამწოვი დაფა, LED, რეზისტორები (220 ohm და 4.7k ohm), ფოტორეზისტორი და პურის დაფის მავთულები.
თქვენ შეგიძლიათ გააგრძელოთ პრაქტიკულად Tinkercad სქემების გამოყენებით. თქვენ შეგიძლიათ ნახოთ ეს გაკვეთილი Tinkercad– დან (საჭიროა უფასო შესვლა)! გამოიკვლიეთ წრედის ნიმუში და შექმენით თქვენი საკუთარი გვერდით. Tinkercad Circuits არის ბრაუზერზე დაფუძნებული უფასო პროგრამა, რომელიც საშუალებას გაძლევთ შექმნათ და მოახდინოთ სქემების სიმულაცია. ეს შესანიშნავია სწავლის, სწავლებისა და პროტოტიპისთვის.
ნაბიჯი 1: შექმენით წრე
შეხედეთ სურათზე პურის დაფის წრეს. შეიძლება სასარგებლო იყოს ამ ნიმუშის მიკროსქემის უფასო სადენიანი ვერსიის ნახვა, სურათზე. ამ ნაბიჯში თქვენ შექმნით ამ სქემის საკუთარ ვერსიას ნიმუშის გასწვრივ სამუშაო ადგილზე.
ამის გასაგრძელებლად, ჩატვირთეთ Tinkercad Circuits– ის ახალი ფანჯარა და შექმენით ამ სქემის საკუთარი ვერსია ნიმუშის გასწვრივ.
განსაზღვრეთ არდუინოსთან დაკავშირებული ფოტორეზისტორი, LED, რეზისტორები და მავთულები Tinkercad Circuits სამუშაო ადგილზე.
გადაიტანეთ Arduino Uno და breadboard კომპონენტების პანელიდან სამუშაო ადგილზე, არსებული წრის გვერდით.
დააკავშირეთ პურის დაფის სიმძლავრე (+) და დაფქული (-) რელსები Arduino 5V და ადგილზე (GND), შესაბამისად, მავთულის შესაქმნელად დაჭერით.
გააფართოვეთ დენის და მიწის რელსები მათ შესაბამის ავტობუსებზე, დაფის მოპირდაპირე კიდეზე (სურვილისამებრ ამ წრეზე, მაგრამ კარგი ჩვეულებრივი პრაქტიკაა).
შეაერთეთ შუქდიოდური პანელი ორ სხვადასხვა მწკრივში ისე, რომ კათოდი (უარყოფითი, მოკლე ფეხი) დაუკავშირდეს რეზისტორის ერთ ფეხს (100-1K Ohms– დან სადმე კარგია). რეზისტორს შეუძლია ორიენტაციის მიმართულებით წასვლა, რადგან რეზისტორები არ არის პოლარიზებული, LED- ებისგან განსხვავებით, რომლებიც გარკვეულწილად უნდა იყოს დაკავშირებული ფუნქციონირებისთვის.
შეაერთეთ სხვა რეზისტორის ფეხი მიწასთან.
შეაერთეთ LED ანოდი (დადებითი, გრძელი ფეხი) Arduino pin 9 -ზე.
გადაათრიეთ ფოტორეზისტორი კომპონენტების პანელიდან თქვენს დაფაზე, ასე რომ მისი ფეხები შეყავთ ორ სხვადასხვა რიგში.
დააწკაპუნეთ, რათა შექმნათ მავთული, რომელიც აკავშირებს ერთ ფოტორეზისტორულ ფეხს დენთან.
შეაერთეთ მეორე ფეხი Arduino– ს ანალოგიურ პინთან A0.
გადაათრიეთ რეზისტორი კომპონენტების პანელიდან, რათა დააკავშიროთ ფოტორეზისტორის ფეხი A0- სთან მიწასთან და შეცვალოთ მისი მნიშვნელობა 4.7k ohms- ზე.
ნაბიჯი 2: კოდი ბლოკებით
მოდით გამოვიყენოთ კოდის ბლოკების რედაქტორი, რომ მოვისმინოთ ფოტორეზისტორის მდგომარეობა, შემდეგ დავამყაროთ ნათურა ნათესავ ნათესავზე, იმის მიხედვით, თუ რამდენ შუქს ხედავს სენსორი. შეიძლება დაგჭირდეთ თქვენი მეხსიერების განახლება LED ანალოგური გამოსვლისას Fading LED გაკვეთილზე.
დააჭირეთ ღილაკს "კოდი", რომ გახსნათ კოდის რედაქტორი. ნაცრისფერი ნოტაციის ბლოკები არის კომენტარები იმის აღნიშვნისთვის, თუ რას აპირებთ თქვენი კოდისთვის, მაგრამ ეს ტექსტი არ არის შესრულებული როგორც პროგრამის ნაწილი.
დააწკაპუნეთ ცვლადების კატეგორიაზე კოდის რედაქტორში.
ფოტორეზისტორის წინააღმდეგობის მნიშვნელობის შესანახად შექმენით ცვლადი სახელწოდებით "sensorValue".
გადაიტანეთ "მითითებული" ბლოკი. ჩვენ შევინახავთ ჩვენი ფოტორეზისტორის მდგომარეობას ცვლადში
სენსორი ღირებულება
დააწკაპუნეთ შეყვანის კატეგორიაზე და გადაათრიეთ ბლოკი "წაკითხვის ანალოგური პინი" და განათავსეთ "მითითებული" ბლოკში სიტყვის "to" შემდეგ
მას შემდეგ, რაც ჩვენი პოტენომეტრი არის დაკავშირებული Arduino– ზე pin A0– ზე, შეცვალეთ ჩამოსაშლელი A0– ით.
დააწკაპუნეთ გამოყვანის კატეგორიაზე და გადაათრიეთ ბლოკი "ბეჭდვა სერიულ მონიტორზე".
გადადით ცვლადების კატეგორიაში და გადაიტანეთ თქვენი ცვლადი სენსორი მნიშვნელობა "დაბეჭდვა სერიულ მონიტორზე" ბლოკზე და დარწმუნდით, რომ ჩამოსაშლელი ხაზი დაყენებულია ახალი ხაზით დასაბეჭდად. სურვილისამებრ დაიწყეთ სიმულაცია და გახსენით სერიული მონიტორი, რათა დარწმუნდეთ, რომ სენსორის მორგებისას შემოწმება შემოდის და იცვლება. ანალოგური შეყვანის მნიშვნელობები მერყეობს 0-1023-დან.
ვინაიდან ჩვენ გვინდა დავწეროთ შუქდიოდზე 0-დან (გამორთულამდე) და 255-მდე (სრული სიკაშკაშე), ჩვენ გამოვიყენებთ "რუქის" ბლოკს, რომ გავაკეთოთ ჩვენთვის ჯვარედინი გამრავლება. გადადით მათემატიკის კატეგორიაში და გადაიტანეთ "რუქის" ბლოკი.
პირველ სლოტში გადაიტანეთ sensorValue ცვლადი ბლოკი, შემდეგ დააყენეთ დიაპაზონი 0 -დან 255 -მდე.
დაბრუნდით გამოყვანის კატეგორიაში, გადაიტანეთ ანალოგური ბლოკი "მითითებული პინი", სადაც ნაგულისხმევია ნათქვამია "დააყენეთ პინი 3 -დან 0 -მდე". დაარეგულირეთ ის, რომ დააყენოთ pin 9.
გადაიტანეთ რუქის ბლოკი, რომელიც ადრე გააკეთეთ "მითითებული pin" ბლოკის "to" ველში, რათა ჩაწეროთ მორგებული ნომერი LED pin- ზე PWM გამოყენებით.
დააწკაპუნეთ კონტროლის კატეგორიაზე და გადმოათრიეთ ლოდინის ბლოკი და შეასწორეთ იგი პროგრამის გადადებაზე.1 წამი.
ნაბიჯი 3: Photoresistor Arduino კოდი ახსნილი
როდესაც კოდის რედაქტორი ღიაა, შეგიძლიათ დააწკაპუნოთ ჩამოსაშლელ მენიუში მარცხნივ და შეარჩიოთ "ბლოკები + ტექსტი", რათა გამოავლინოთ კოდის ბლოკებით გენერირებული არდუინოს კოდი. მიჰყევით მას, როდესაც ჩვენ უფრო დეტალურად ვიკვლევთ კოდს.
int sensorValue = 0;
Შემდეგ
აწყობა()
ჩვენ ვქმნით ცვლადს პოტენომეტრიდან წაკითხული მიმდინარე მნიშვნელობის შესანახად. მას ჰქვია
int
რადგან ის არის მთელი რიცხვი, ან მთელი რიცხვი.
ბათილად დაყენება ()
{pinMode (A0, INPUT); pinMode (9, OUTPUT); სერიული.დაწყება (9600); }
კონფიგურაციის შიგნით, ქინძისთავების კონფიგურაცია ხდება გამოყენებით
pinMode ()
ფუნქცია. Pin A0 არის კონფიგურირებული, როგორც შეყვანა, ასე რომ ჩვენ შეგვიძლია "მოვისმინოთ" პოტენციომეტრის ელექტრული მდგომარეობა. Pin 9 არის კონფიგურირებული, როგორც გამოსავალი LED- ის გასაკონტროლებლად. იმისათვის, რომ შეძლოთ შეტყობინებების გაგზავნა, Arduino ხსნის ახალ სერიულ საკომუნიკაციო არხს
Serial.begin ()
რომელიც იღებს ბაუდ სიჩქარის არგუმენტს (რა სიჩქარეა კომუნიკაცია), ამ შემთხვევაში 9600 ბიტი წამში.
ბათილი მარყუჟი ()
{// წაიკითხეთ მნიშვნელობა სენსორის sensorValue = analogRead (A0); // დაბეჭდეთ სენსორის კითხვა ისე, რომ იცოდეთ მისი დიაპაზონი Serial.println (sensorValue);
ყველაფერი ნაკრების შემობრუნების შემდეგ
//
არის კომენტარი, რომელიც ეხმარება ხალხს გააცნობიერონ უბრალო ენა რისთვის არის განკუთვნილი პროგრამა, მაგრამ არ შედის თქვენს Arduino– ს გაშვებულ პროგრამაში. მთავარ მარყუჟში ფუნქცია ე.წ
analogRead ();
ამოწმებს პინ A0- ს მდგომარეობას (რომელიც იქნება მთელი რიცხვი 0-1023-დან) და ინახავს ამ მნიშვნელობას ცვლადში
სენსორი ღირებულება
// შეაფასეთ სენსორის კითხვა LED- ის დიაპაზონში
analogWrite (9, რუკა (sensorValue, 0, 1023, 0, 255)); დაგვიანება (100); // დაელოდეთ 100 მილიწამს (ებ) ს
შემდეგი კომენტარის შემდგომი ხაზი ერთდროულად ბევრს აკეთებს. დაიმახსოვრე
analogWrite ()
იღებს ორ არგუმენტს, პინის ნომერს (ჩვენს შემთხვევაში 9) და დასაწერად მნიშვნელობას, რომელიც უნდა იყოს 0 -დან 255 -მდე.
რუკა ()
იღებს ხუთ არგუმენტს: შესაფასებელი რიცხვი (მუდმივად ცვალებადი სენსორის ცვლადი), მოსალოდნელი მინიმალური და მოსალოდნელი მაქსიმუმი და სასურველი მინ და მაქსიმუმი. ასე რომ
რუკა ()
ჩვენს შემთხვევაში, ფუნქცია აფასებს შემომავალ სენსორულ ღირებულებას და აკეთებს ჯვარედინი გამრავლებას, რათა გამომავალი შედეგი შემცირდეს 0-1023-დან 0-255-მდე. შედეგი ბრუნდება მეორე არგუმენტში
analogWrite ();
პინ 9 -თან დაკავშირებული LED- ის სიკაშკაშის დაყენება.
ნაბიჯი 4: შექმენით ფიზიკური არდუინოს წრე (სურვილისამებრ)
თქვენი ფიზიკური Arduino Uno– ს დასაპროგრამებლად, თქვენ უნდა დააინსტალიროთ უფასო პროგრამული უზრუნველყოფა (ან მოდული ვებ რედაქტორისთვის), შემდეგ გახსნათ იგი. სხვადასხვა ფოტოს უჯრედებს განსხვავებული მნიშვნელობა აქვთ, ასე რომ, თუ თქვენი ფიზიკური წრე არ მუშაობს, შეიძლება დაგჭირდეთ მასთან შეწყვილებული რეზისტორის შეცვლა. შეიტყვეთ მეტი ძაბვის გამყოფების შესახებ Instructables Electronics კლასის გაკვეთილზე რეზისტენტებზე.
გაამყარეთ Arduino Uno წრე, ჩართეთ კომპონენტები და მავთულები, რათა შეესაბამებოდეს Tinkercad სქემებში ნაჩვენებ კავშირებს. თქვენს ფიზიკურ Arduino Uno დაფაზე მუშაობაზე უფრო სიღრმისეული გაცნობისთვის, გაეცანით უფასო Instructables Arduino კლასს.
დააკოპირეთ კოდი Tinkercad Circuits კოდის ფანჯრიდან და ჩასვით იგი ცარიელ ესკიზში თქვენს Arduino პროგრამულ უზრუნველყოფაში, ან დააწკაპუნეთ ჩამოტვირთვის ღილაკზე (ქვემოთ მიმართული ისარი) და გახსენით
შედეგად მიღებული ფაილი Arduino– ს გამოყენებით. თქვენ ასევე შეგიძლიათ ნახოთ ეს მაგალითი Arduino პროგრამულ უზრუნველყოფაში ფაილში -> მაგალითები -> 03. ანალოგი -> AnalogInOutSerial.
შეაერთეთ თქვენი USB კაბელი და შეარჩიეთ დაფა და პორტი პროგრამული უზრუნველყოფის ინსტრუმენტების მენიუში.
ატვირთეთ კოდი და გამოიყენეთ ხელი, რომ დაიფაროს სენსორი სინათლის მიღებიდან და/ან აანთოთ სინათლე თქვენს სენსორზე!
გახსენით სერიული მონიტორი თქვენი სენსორის მნიშვნელობების დასაკვირვებლად. სავარაუდოა, რომ რეალური სამყაროს ღირებულებები არ გაგრძელდება 0 – მდე ან 1023 – მდე, თქვენი განათების პირობებიდან გამომდინარე. მოგერიდებათ დაარეგულიროთ 0-1023 დიაპაზონი თქვენს დაკვირვებულ მინიმალურ და დაკვირვებულ მაქსიმუმზე, რათა მიიღოთ მაქსიმალური სიკაშკაშის გამოხატვის დიაპაზონი LED- ზე.
ნაბიჯი 5: შემდეგი, სცადეთ…
ახლა, როდესაც თქვენ ისწავლეთ ფოტორეზისტორის კითხვა და მისი გამომუშავება რუქის სიკაშკაშის გასაკონტროლებლად, თქვენ მზად ხართ გამოიყენოთ ეს და სხვა უნარები, რაც აქამდე ისწავლეთ.
შეგიძლიათ შეცვალოთ LED სხვა ტიპის გამომავალით, როგორიცაა სერვო ძრავა და შექმნათ კოდი, რომელიც ასახავს სენსორის სინათლის ამჟამინდელ დონეს, როგორც გარკვეულ პოზიციას ლიანდაგის გასწვრივ?
სცადეთ შეცვალოთ თქვენი ფოტორეზისტორი სხვა ანალოგური საშუალებებით, როგორიცაა ულტრაბგერითი მანძილის სენსორი ან პოტენომეტრი.
შეიტყვეთ მეტი იმის შესახებ, თუ როგორ აკონტროლოთ თქვენი Arduino ციფრული და ანალოგური საშუალებები კომპიუტერის საშუალებით სერიული მონიტორის გამოყენებით.
გირჩევთ:
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT21 ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად და გამოვაჩინოთ მნიშვნელობები OLED ეკრანზე. უყურეთ ვიდეოს
როგორ გამოვიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
როგორ გამოვიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან ერთად: ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT22 ტენიანობის და ტემპერატურის სენსორი არდუინოსთან და აჩვენეთ მნიშვნელობები OLED ეკრანზე. ნახეთ ვიდეო
DIY სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): 7 ნაბიჯი (სურათებით)
წვრილმანი სუნთქვის სენსორი არდუინოსთან ერთად (გამტარი ნაქსოვი გაჭიმვის სენსორი): ეს წვრილმანი სენსორი მიიღებს გამტარი ნაქსოვი გაჭიმვის სენსორის ფორმას. ის შემოეხვევა თქვენს მკერდს/კუჭს, ხოლო როდესაც თქვენი გულმკერდი/მუცელი გაფართოვდება და იკუმშება, ასევე გაიზრდება სენსორი და, შესაბამისად, შეყვანის მონაცემები, რომლებიც მიეწოდება არდუინოს. Ისე
DIY RGB LED სინათლის შერევის ნათურა არდუინოსთან ერთად: 3 ნაბიჯი
DIY RGB LED სინათლის შერევის ნათურა Arduino– სთან ერთად: ჩემი პროექტის ორიგინალური წყარო ემყარება ამ ვებგვერდს: აქ ამ პროექტში მე შევქმენი ნათურა RGB LED და LDR სენსორით. LDR სენსორის გადართვით, ნათურა იწყებს ბრწყინავს, როდესაც სიმსუბუქე დაბალია. ნათურა შეიძლება გამოყენებულ იქნას როგორც
როგორ გამოვიყენოთ FC-37 წვიმის სენსორი არდუინოსთან ერთად: 4 ნაბიჯი (სურათებით)
როგორ გამოვიყენოთ FC-37 წვიმის სენსორი არდუინოსთან ერთად: გამარჯობა! ჩემს პირველ ინსტრუქციაში მე გაჩვენებთ თუ როგორ გამოიყენოთ FC-37 წვიმის სენსორი არდუინოსთან ერთად. მე ვიყენებ arduino ნანოს, მაგრამ სხვა ვერსიები მშვენივრად იმუშავებს