Агуулгын хүснэгт:
- Алхам 1: NRF24L01 модулиуд ба хэлхээг холбох
- Алхам 2: Дамжуулагчийг кодлох
- Алхам 3: Хүлээн авагчийг кодлох
- Алхам 4: Гүйцэтгэв
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү зааварчилгаа нь Arduino Unos болон фоторезистор ашиглан энгийн утасгүй гэрэл мэдрэгч LED чийдэнг бүтээхэд шаардлагатай алхамуудыг нарийвчлан тайлбарласан болно. Энэ төхөөрөмжийн боломжит програм бол хиймэл нарны гэрэлтэй цонхгүй өрөөг гэрэлтүүлэх бөгөөд гадаа байгаа гэрэлтүүлгийн нөхцөлийг бодит цаг хугацаанд нь тааруулах явдал юм. Эхэлцгээе!
Нийлүүлэлтийн жагсаалт:
Arduino Uno x2
NRF24L01 утасгүй дамжуулагч x2 (Нэмэлт - NRF24L01 үүргэвч x2)
TIP120 дарлингтоны транзистор
Фоторезистор
5 мм LED x3
Дарах товчлуур
100 Ом эсэргүүцэл x3
10 к ом эсэргүүцэл x3
Төрөл бүрийн холбогч утас
Алхам 1: NRF24L01 модулиуд ба хэлхээг холбох
Энэ төсөлд нэг Arduino нь дамжуулагчийн үүргийг гүйцэтгэх бөгөөд товчлуур дарагдсан үед фоторезистороос гэрлийн түвшний өгөгдлийг илгээх болно. Нөгөө Arduino нь хүлээн авагчийн үүргийг гүйцэтгэж, энэ өгөгдлийг LED дохио болгон хувиргах болно. Эхний зураг нь дамжуулагчийн диаграмыг, хоёр дахь нь хүлээн авагчийг харуулав.
Тэмдэглэл: Миний төслийн зургуудаас NRF24L01 дамжуулагчийг өөр ПХБ -д хавсаргасан болохыг та анзаарах болно. Энэ бол цахилгаан зохицуулагчийн үүргийг гүйцэтгэдэг үүрэн холбооны модуль юм. Эдгээр үүргэвч нь утсыг хөнгөвчлөхөөс гадна NRF24L01 -ийн тэжээлийн оролтыг зохицуулж, 5V цахилгаан хангамж ашиглах боломжийг олгодог. Би ойлгомжтой байх үүднээс диаграмдаа эдгээр үүргэвчийг орхисон.
(Хэрэв та үүргэвчийг ашиглахаар шийдсэн бол 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 (товчлуур, оролт); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Модулийг эхлүүлэх нь амжилтгүй болсон тохиолдолд хэрэглэгчийг сэрэмжлүүлдэг Serial.println ("init амжилтгүй болсон"); // Init -ээс хойшхи анхдагч утга нь 2.402 GHz (суваг 2), 2Mbps, 0dBm бол (! Nrf24.setChannel (1)) Serial.println ("setChannel амжилтгүй болсон"); хэрэв (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF амжилтгүй болсон"); }
хоосон давталт ()
{if (digitalRead (button)) {// Хэрэв товчлуур дарагдсан бол мессеж илгээх утга = analogRead (pResistor); // Фоторезисторын утгыг уншина уу (0-1023) uint8_t өгөгдөл = {утга}; // nrf24.send (data, sizeof (data)) гэрлийн утгыг агуулсан "data " нэртэй массивыг тохируулдаг; // массивыг хүлээн авагч руу илгээнэ үү nrf24.waitPacketSent (); // Пакет илгээгдэх хүртэл хүлээнэ үү Serial.println ("Хөнгөн утга:" +String (утга)); // Гэрлийн утгыг цуваа дэлгэц дээр хэвлэнэ үү}}
Алхам 3: Хүлээн авагчийг кодлох
Хүлээн авагчийн хувьд код нь RadioHead номын санг бас ашигладаг.
#оруулах
#оруулах
RH_NRF24 nrf24;
int LEDPin = 3;
int утга = 0; // 0-1023 хүртэлх гэрлийн утга
хүчингүй тохиргоо ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init амжилтгүй болсон"); // Init -ээс хойшхи анхдагч утга нь 2.402 GHz (суваг 2), 2Mbps, 0dBm бол (! Nrf24.setChannel (1)) Serial.println ("setChannel амжилтгүй болсон"); хэрэв (! 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" хэлбэрээр хадгалах]; // Фото резисторын analogWrite (LEDPin, газрын зураг (утга, 0, 1023, 0, 255)) int болох buf -ийн эхний индекст утгыг тохируулна; // ХОУХ-ны зүүг LED гэрэлтүүлгийн хувьд 0-255 хооронд масштабтай утгыг гаргадаг Serial.println (String (утга)); } analogWrite (LEDPin, 0); }
Алхам 4: Гүйцэтгэв
Өөр өөр гэрлийн түвшингээр тоглож, LED -ууд хоорондоо таарч байгааг үзээрэй! Фоторезистор нь заримдаа нарийн төвөгтэй байдаг бөгөөд гэрлийн эх үүсвэртэй харанхуй өрөөнд хамгийн сайн ажилладаг (гэхдээ гадаа нарны гэрэлтэй ажиллах боломжтой).
Зөвлөмж болгож буй:
MicroKeyRing: Таны халаасанд тохирох жижиг нууц үг хадгалах: 4 алхам
MicroKeyRing: Таны халаасанд тохирох жижиг нууц үг хадгалах сан: Нууц үг, нууц үг болон бусад нууц үг, вэбсайт, имэйл програм эсвэл google үйлчилгээ бүрт нууц үг шаардлагатай байдаг. Та нэг нууц үгийг хоёр газар ашиглах ёсгүй, хаана хадгалах боломжтой вэ? Ширээний програм дээр үү? Вэб аппликейшн дээр үү?
HC12 утасгүй модулийг ашиглан утасгүй Arduino робот: 7 алхам
HC12 утасгүй модулийг ашиглан утасгүй Arduino робот: Хөөе залуусаа, дахин тавтай морилно уу. Өмнөх нийтлэлдээ би H Bridge Circuit гэж юу болохыг, L293D мотор драйвер IC, piggybacking L293D мотор драйвер IC, өндөр гүйдлийн хөдөлгүүртэй жолооч нарыг жолоодох, мөн L293D моторт жолоочийн самбарыг хэрхэн яаж хийх, хэрхэн хийх талаар тайлбарласан болно
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй алсын удирдлага - Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч - Rc нисдэг тэрэг - Arduino ашиглан Rc онгоц: 5 алхам (зурагтай)
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй удирдлага | Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч | Rc нисдэг тэрэг | Arduino ашиглан Rc онгоц: Rc машин ажиллуулах | Квадрокоптер | Дрон | RC онгоц | RC завь, бидэнд үргэлж хүлээн авагч, дамжуулагч хэрэгтэй байдаг, RC QUADCOPTER -ийн хувьд бидэнд 6 суваг дамжуулагч, хүлээн авагч хэрэгтэй гэж бодъё, энэ төрлийн TX ба RX нь хэтэрхий үнэтэй тул бид үүнийг өөрөө хийх болно
Интерактив гэрэлтэй чийдэн - Tensegrity бүтэц + Arduino: 5 алхам (зурагтай)
Интерактив гэрэлтэй чийдэн | Tensegrity-ийн бүтэц + Arduino: Энэ хэсэг нь хөдөлгөөнд тохирсон гэрэл юм. Хамгийн бага хүчдэлийн баримал хэлбэрээр бүтээгдсэн чийдэн нь бүх бүтэц, чиг баримжаа, хөдөлгөөний хариуд өнгөний тохиргоог өөрчилдөг
Өөр нэг зүйл - Өндөр тод гэрэлтэй LED (HBLED) аквариумын чийдэн: 4 алхам
Нөгөө нэг нь - Өндөр тод гэрэлтэй LED (HBLED) аквариумын чийдэн: Энэхүү аквариумд зориулж маш тод LED чийдэнг хэрхэн яаж зохион бүтээхийг зааж өгсөн болно. Энэхүү зааварчилгаа нь өмнөх үеийнхээс юугаараа ялгаатай вэ гэвэл би уламжлалт LED -ийн оронд HBLED -ийг ашиглаж байна. Би Optek -ээс шинэ HBLED оллоо