Мазмуну:
- 1 -кадам: NRF24L01 модулдарын жана микросхемасын зымдоо
- 2 -кадам: Бергичти коддоо
- 3 -кадам: Алуучуну коддоо
- 4 -кадам: БОЛДУ
Video: Зымсыз Arduino Light-Matching LED Lamp Photoresistor колдонуу: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул үйрөткүч Arduino Unos жана фоторезисторду колдонуп, жөнөкөй зымсыз жарык сезүүчү LED чыракты куруу үчүн зарыл болгон кадамдарды майда-чүйдөсүнө чейин түшүндүрөт. Бул түзмөк үчүн мүмкүн болгон тиркеме реалдуу убакыт режиминде сырткы жарык шарттарына дал келген, жасалма күн нуру жок терезелери жок бөлмөнү жарыктандыруу болмок. Кел, баштайлы!
Берүүлөрдүн тизмеси:
Arduino Uno x2
NRF24L01 Wireless transceiver x2 (Милдеттүү эмес - NRF24L01 рюкзак x2)
TIP120 дарлингтон транзистору
Photoresistor
5мм диоддор x3
Pushbutton
100 Ом каршылыгы x3
10k Ом резистору x3
Ар кандай Jumper Wires
1 -кадам: NRF24L01 модулдарын жана микросхемасын зымдоо
Бул долбоордо бир Arduino баскыч басылганда фоторезистордон жарык деңгээлиндеги маалыматтарды жөнөтүүчү болуп иштейт. Башка Arduino алуучу катары кызмат кылат, бул маалыматты алып, аны LEDге сигналга айландырат. Биринчи сүрөттө өткөргүч диаграммасы, экинчисинде алуучу көрсөтүлгөн.
Эскертүү: менин долбоорумдун сүрөттөрүндө сиз NRF24L01 трансиверлери башка ПХБга тиркелгенин байкайсыз. Бул кубаттуулукту жөнгө салуучу функцияларды аткаруучу трансиверлер үчүн рюкзак модулу. Электр өткөргүчтөрүн жеңилдетүүдөн тышкары, бул рюкзактар NRF24L01 үчүн кубаттуулукту жөнгө салып, 5В электр булагын колдонууга мүмкүндүк берет. Мен түшүнүктүү болуш үчүн диаграммамда бул рюкзактардан баш тарттым.
(Эгерде сиз рюкзактарды колдонууну чечсеңиз, бул шилтемеден NRF24L01 акциясына шилтеме менен пин жерлеринин диаграммасын караңыз).
Төмөндө схеманын PDF көчүрмөсү, чоңойтуу/деталдуу көрүү үчүн.
2 -кадам: Бергичти коддоо
Акыркы кадам - коддоо. NRF24L01 модулдары менен колдонуу үчүн RadioHead китепканасын же ага барабар китепкананы орнотушуңуз керек.
Бул долбоор үчүн Arduinos өткөргүч жана кабыл алуучу ар биринде башка кодду колдонот. Бул жерде өткөргүчтүн коду:
Мен ошондой эле ыңгайлуулук үчүн.ino файлын (NRF_Send) тиркеп койдум.
#кошуу
#кошуу
RH_NRF24 nrf24; // nrf24 катары трансиверди баштоо
int баскычы = 5; // Кнопка жана фоторезистор үчүн пин маанилерин коюу
int pResistor = A0; int мааниси = 0; // Жарыктын мааниси 0-1023
жараксыз орнотуу ()
{Serial.begin (9600); pinMode (баскыч, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Модулдун инициализациясы Serial.println ("init ишке ашпай калды") ишке ашпай калса, колдонуучуну эскертет; // Демейки баштапкыдан кийин 2.402 ГГц (2 -канал), 2Мбит/ сек, 0дБм болсо (! Nrf24.setChannel (1)) Serial.println ("setChannel ишке ашпай калды"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ишке ашпай калды"); }
боштук цикл ()
{if (digitalRead (button)) {// Баскыч басылганда билдирүү жөнөтүү value = analogRead (pResistor); // Фоторезистордун маанисин окуу (0-1023) uint8_t маалыматтары = {мааниси}; // nrf24.send (data, sizeof (data)) жарык маанисин камтыган "data " деп аталган массивди коет; // Массивди nrf24.waitPacketSent () алуучуга жөнөтүү; // Пакет Serial.println ("Light Value:" +String (value)) жөнөтүлгөнчө күтө туруңуз; // Жарык маанисин сериялык мониторго басып чыгарыңыз}}
3 -кадам: Алуучуну коддоо
Кабыл алуучу үчүн код RadioHead китепканасын да колдонот.
#кошуу
#кошуу
RH_NRF24 nrf24;
int LEDPin = 3;
int мааниси = 0; // Жарыктын мааниси 0-1023
жараксыз орнотуу ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init ишке ашпай калды"); // Демейки баштапкыдан кийин 2.402 ГГц (2 -канал), 2Мбит/ сек, 0дБм болсо (! Nrf24.setChannel (1)) Serial.println ("setChannel ишке ашпай калды"); if (! 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) деп аталган массив катары сактаңыз; // buf өлчөмүн "len" катары сактоо (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Билдирүүнү 200 миллисекундка же бүт билдирүү алынганга чейин алат {value = buf [0]; // Маанини buF биринчи индексине коёт, бул int photorezistor analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // PWM пинди LED жарыктыгы үчүн 0-255 ортосундагы масштабдуу маанини чыгаруу үчүн орнотот Serial.println (String (маани)); } analogWrite (LEDPin, 0); }
4 -кадам: БОЛДУ
Ар кандай жарык деңгээлдери менен ойноп, LEDлердин аларга дал келишин көрүүдөн ырахат алыңыз! Фоторезистор кээде татаал болушу мүмкүн жана локализацияланган жарык булагы бар караңгы бөлмөдө эң жакшы иштейт (бирок сыртта күн менен да иштесе болот).
Сунушталууда:
HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: 7 кадам
HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: Эй балдар, кайра кош келиңиздер. Мурунку постумда, мен H Bridge Circuit деген эмне экенин түшүндүрдүм, L293D мотор айдоочусу IC, piggybacking L293D мотор айдоочусу IC, учурдагы мотор драйверлерин айдоо үчүн жана өзүңүздүн L293D мотор айдоочулар тактаңызды кантип иштеп чыгууга болот
Arduino негизделген долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: 5 кадам (Сүрөттөр менен)
Arduino негизиндеги долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: Бул роботтор жана микро контроллерлер жөнүндө менин экинчи үйрөткүч окуу куралым. Роботуңуздун тирүү жана күтүлгөндөй иштеп жатканын көрүү чынында эле таң калыштуу, эгерде сиз роботту же башка нерселерди зымсыз тез жана көзөмөлдөп турсаңыз, анда мен үчүн кызыктуу болот деп ишенем
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Raspbian Stretch боюнча TP Link WN7200ND USB зымсыз адаптери менен элүү метр диапазону зымсыз кирүү чекити: 6 кадам
Raspbian Stretch боюнча TP Link WN7200ND USB зымсыз адаптери менен элүү метр аралыкта зымсыз кирүү чекити: Raspberry Pi коопсуз зымсыз кирүү пункттарын түзүүдө эң сонун, бирок анын диапазону жакшы эмес, мен аны узартуу үчүн TP Link WN7200ND USB зымсыз адаптерин колдондум. Мен муну кантип жасоону бөлүшкүм келет Эмне үчүн роутердин ордуна малина пи колдонгум келет? T
Зымсыз эшик коңгуроосун зымсыз ойготкучту күйгүзүү же күйгүзүү/өчүрүү: 4 кадам
Зымсыз эшик коңгуроосун зымсыз ойготкучту өчүрүү же күйгүзүү/өчүрүү: Мен жакында сигнализация системасын куруп, үйүмө орноттум. Мен эшиктердеги магниттик өчүргүчтөрдү колдонуп, аларды чердактан өткөрдүм. Терезелер дагы бир окуя болчу жана аларды катуу зым менен жабуу мүмкүн эмес болчу. Мага зымсыз чечим керек болчу жана бул