Სარჩევი:
- ნაბიჯი 1: NRF24L01 მოდულების და მიკროსქემის გაყვანილობა
- ნაბიჯი 2: გადამცემის კოდირება
- ნაბიჯი 3: მიმღების კოდირება
- ნაბიჯი 4: შესრულებულია
ვიდეო: უკაბელო Arduino სინათლის შესატყვისი LED ნათურა Photoresistor გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს ინსტრუქცია დეტალურად აღწერს ნაბიჯებს, რომლებიც აუცილებელია ელემენტარული უკაბელო სინათლის მგრძნობიარე LED ნათურის შესაქმნელად Arduino Unos- ისა და ფოტორეზისტორის გამოყენებით. ამ მოწყობილობის შესაძლო გამოყენება იქნება ოთახის განათება, რომელსაც არ აქვს ფანჯრები მზის ხელოვნური შუქით, რომელიც შეესაბამება რეალურ დროში გარე განათების რეალურ პირობებს. Დავიწყოთ!
მიწოდების სია:
Arduino Uno x2
NRF24L01 უკაბელო გადამცემი x2 (სურვილისამებრ - NRF24L01 ზურგჩანთა x2)
TIP120 დარლინგტონის ტრანზისტორი
ფოტორეზისტორი
5 მმ ები LED x3
Pushbutton
100 ohm რეზისტორი x3
10k ohm რეზისტორი x3
სხვადასხვა ჯუმბერის მავთულები
ნაბიჯი 1: NRF24L01 მოდულების და მიკროსქემის გაყვანილობა
ამ პროექტში ერთი არდუინო იმოქმედებს როგორც გადამცემი, რომელიც აგზავნის სინათლის დონის მონაცემებს ფოტო რეზისტორიდან, როდესაც დაჭერით ღილაკს. სხვა Arduino იქნება მიმღები, მიიღებს ამ მონაცემებს და გარდაქმნის მას სიგნალად LED- ებზე. პირველი სურათი აჩვენებს გადამცემის დიაგრამას, მეორე კი მიმღებს.
შენიშვნა: ჩემი პროექტის ფოტოებში შეამჩნევთ, რომ NRF24L01 გადამცემები მიმაგრებულია სხვა PCB- ზე. ეს არის ზურგჩანთის მოდული გადამცემებისთვის, რომელიც მოქმედებს როგორც ენერგიის მარეგულირებელი. გარდა იმისა, რომ გაყვანილობა გაადვილებულია, ეს ზურგჩანთები არეგულირებს NRF24L01- ის დენის ენერგიას, რაც 5V კვების ბლოკის გამოყენების საშუალებას იძლევა. მე გამოვტოვე ეს ზურგჩანთები ჩემს დიაგრამაში სიცხადისთვის.
(თუ თქვენ მაინც გადაწყვეტთ გამოიყენოთ ზურგჩანთები, გთხოვთ, მიმართოთ ამ ბმულს, რათა ნახოთ დიაგრამა PIN– ის ადგილმდებარეობის შესახებ, საფონდო NRF24L01– ის მითითებით).
ქვემოთ მოცემულია სქემის PDF ასლი, გასადიდებლად/დეტალური სანახავად.
ნაბიჯი 2: გადამცემის კოდირება
ბოლო ნაბიჯი არის კოდირება. თქვენ უნდა დააინსტალიროთ RadioHead ბიბლიოთეკა ან ექვივალენტი ბიბლიოთეკა NRF24L01 მოდულებთან გამოსაყენებლად.
ამ პროექტისათვის გადამცემი და მიმღები არდუინოსი იყენებს თითოეულს სხვადასხვა კოდს. აქ არის გადამცემის კოდი:
მე ასევე დავურთე.ino ფაილი (NRF_Send) მოხერხებულობისთვის.
#ჩართეთ
#ჩართეთ
RH_NRF24 nrf24; // გადამცემის მიმღების ინიციალიზაცია, როგორც nrf24
int ღილაკი = 5; // ღილაკისა და ფოტორეზისტორის პინის მნიშვნელობების დაყენება
int pResistor = A0; int მნიშვნელობა = 0; // სინათლის მნიშვნელობა 0-1023-დან
ბათილად დაყენება ()
{Serial.begin (9600); pinMode (ღილაკი, INPUT); pinMode (pResistor, INPUT); თუ (! nrf24.init ()) // აფრთხილებს მომხმარებელს, თუ მოდულის ინიციალიზაცია ვერ მოხერხდა Serial.println ("init ვერ მოხერხდა"); // ნაგულისხმევი პარამეტრების შემდეგ არის 2.402 GHz (არხი 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); თუ (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ვერ მოხერხდა"); }
ბათილი მარყუჟი ()
{if (digitalRead (ღილაკი)) {// გაგზავნეთ შეტყობინება, თუ ღილაკზე დაჭერილია მნიშვნელობა = analogRead (pResistor); // წაიკითხეთ ფოტორეზისტორის მნიშვნელობა (0-1023) uint8_t მონაცემები = {მნიშვნელობა}; // ადგენს მასივს სახელწოდებით "მონაცემები ", რომელიც შეიცავს სინათლის მნიშვნელობას nrf24.send (მონაცემები, ზომა (მონაცემები)); // მასივის გაგზავნა მიმღებისთვის nrf24.waitPacketSent (); // დაელოდეთ სანამ პაკეტი გაიგზავნება Serial.println ("მსუბუქი მნიშვნელობა:" +სიმებიანი (მნიშვნელობა)); // დაბეჭდე სინათლის მნიშვნელობა სერიულ მონიტორზე}}
ნაბიჯი 3: მიმღების კოდირება
მიმღებისთვის, კოდი ასევე იყენებს RadioHead ბიბლიოთეკას.
#ჩართეთ
#ჩართეთ
RH_NRF24 nrf24;
int LEDPin = 3;
int მნიშვნელობა = 0; // სინათლის მნიშვნელობა 0-1023-დან
ბათილად დაყენება ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); თუ (! nrf24.init ()) Serial.println ("init ვერ მოხერხდა"); // ნაგულისხმევი პარამეტრების შემდეგ არის 2.402 GHz (არხი 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); თუ (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ვერ მოხერხდა"); }
ბათილი მარყუჟი ()
{// დაელოდეთ შეტყობინებას uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // შეინახეთ მიღებული შეტყობინება მასივის სახით, სახელწოდებით "buf " uint8_t len = sizeof (buf); // შეინახეთ ბუფის ზომა "len" ხოლო (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // იღებს შეტყობინებას 200 მილიწამამდე ან სანამ არ მიიღება მთელი შეტყობინება {value = buf [0]; // ადგენს მნიშვნელობას buf - ის პირველ ინდექსზე, რაც int არის ფოტორეზისტორ analogWrite– დან (LEDPin, რუკა (მნიშვნელობა, 0, 1023, 0, 255)); // ადგენს PWM პინს, რომ გამოუშვას მასშტაბური მნიშვნელობა 0-255 შორის LED სიკაშკაშისთვის Serial.println (სიმებიანი (მნიშვნელობა)); } analogWrite (LEDPin, 0); }
ნაბიჯი 4: შესრულებულია
ისიამოვნეთ თამაშით სხვადასხვა დონის განათებით და უყურეთ LED- ებს, რომლებიც ემთხვევა მათ! ფოტორეზისტორი შეიძლება ხანდახან სახიფათო იყოს და საუკეთესოდ მუშაობს ბნელ ოთახში, ლოკალიზებული სინათლის წყაროსთან ერთად (მაგრამ მას ასევე შეუძლია გარეთ მზეზე მუშაობა).
გირჩევთ:
ოქტარინი: ფერის შესატყვისი თამაში WS2812 RGB LED- ებით: 6 ნაბიჯი
ოქტარინი: ფერის შესატყვისი თამაში WS2812 RGB LED- ებით: ოქტარინი, მაგიის ფერი. ის ცოცხალი და კაშკაშა იყო და წარმოსახვის უდავო პიგმენტი იყო, რადგან სადაც არ უნდა გამოჩენილიყო ეს იყო ნიშანი იმისა, რომ უბრალო მატერია ჯადოსნური გონების ძალების მსახური იყო. ეს იყო მოჯადოებული
DIY RGB LED სინათლის შერევის ნათურა არდუინოსთან ერთად: 3 ნაბიჯი
DIY RGB LED სინათლის შერევის ნათურა Arduino– სთან ერთად: ჩემი პროექტის ორიგინალური წყარო ემყარება ამ ვებგვერდს: აქ ამ პროექტში მე შევქმენი ნათურა RGB LED და LDR სენსორით. LDR სენსორის გადართვით, ნათურა იწყებს ბრწყინავს, როდესაც სიმსუბუქე დაბალია. ნათურა შეიძლება გამოყენებულ იქნას როგორც
უკაბელო Arduino Robot HC12 უკაბელო მოდულის გამოყენებით: 7 ნაბიჯი
უკაბელო Arduino Robot HC12 უკაბელო მოდულის გამოყენებით: გამარჯობათ ბიჭებო, კეთილი იყოს თქვენი მობრძანება. ჩემს წინა პოსტში მე ავუხსენი რა არის H Bridge Circuit, L293D საავტომობილო მძღოლის IC, piggybacking L293D საავტომობილო მძღოლის IC მაღალი ძრავის მძღოლების მართვისთვის და როგორ შეგიძლიათ შექმნათ და შექმნათ თქვენი საკუთარი L293D საავტომობილო მძღოლის დაფა
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის - Rc ვერტმფრენი - Rc თვითმფრინავი Arduino– ს გამოყენებით: 5 ნაბიჯი (სურათებით)
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის | Rc ვერტმფრენი | Rc თვითმფრინავი Arduino– ს გამოყენებით: Rc მანქანის მართვა | ოთხკუთხედი | დრონი | RC თვითმფრინავი | RC ნავი, ჩვენ ყოველთვის გვჭირდება მიმღები და გადამცემი, დავუშვათ, რომ RC QUADCOPTER– ისთვის ჩვენ გვჭირდება 6 არხიანი გადამცემი და მიმღები და რომ TX და RX ტიპი ძალიან ძვირი ღირს, ამიტომ ჩვენ ვაკეთებთ ერთს ჩვენს
ვიზორზე დამონტაჟებული მრავალ ფერადი LED სინათლის თერაპიის ნათურა: 9 ნაბიჯი (სურათებით)
ვიზორზე დამონტაჟებული მრავალ ფერადი LED სინათლის თერაპიის ნათურა: ქუდზე მსუბუქი თერაპიის ნათურით შეგიძლიათ გამოიყენოთ ის ისეთი საქმიანობის დროს, რომელიც მოითხოვს გადაადგილებას, როგორიცაა ვარჯიში და მუშაობა. ამ ნათურას აქვს წითელი, ყვითელი, ცისფერი და ლურჯი LED- ები სიკაშკაშის კონტროლით. ის გამორთულია 15 ან 45 წუთის შემდეგ. ეს