Orodha ya maudhui:

Wireless Arduino Inayolinganisha Taa ya LED Kutumia Photoresistor: Hatua 4
Wireless Arduino Inayolinganisha Taa ya LED Kutumia Photoresistor: Hatua 4

Video: Wireless Arduino Inayolinganisha Taa ya LED Kutumia Photoresistor: Hatua 4

Video: Wireless Arduino Inayolinganisha Taa ya LED Kutumia Photoresistor: Hatua 4
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, Novemba
Anonim
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor
Wireless Arduino Light-vinavyolingana taa ya LED Kutumia Photoresistor

Maelezo haya yanafundishwa hatua zinazohitajika kujenga taa ya taa isiyo na waya isiyo na waya isiyo na waya inayotumia Arduino Unos na mpiga picha. Programu inayowezekana ya kifaa hiki itakuwa kuwasha chumba ambacho hakina windows na jua ya bandia, inayolingana na hali halisi za taa nje kwa wakati halisi. Tuanze!

Orodha ya Ugavi:

Arduino Uno x2

NRF24L01 Transceiver isiyo na waya x2 (Hiari - mkoba wa NRF24L01 x2)

TIP120 darlington transistor

Mpinga picha

LED za 5mm x3

Pushbutton

100 ohm kupinga x3

10k ohm kupinga x3

Waya mbalimbali za Jumper

Hatua ya 1: Wiring Moduli za NRF24L01 na Mzunguko

Wiring Moduli za NRF24L01 na Mzunguko
Wiring Moduli za NRF24L01 na Mzunguko
Wiring Moduli za NRF24L01 na Mzunguko
Wiring Moduli za NRF24L01 na Mzunguko
Wiring Moduli za NRF24L01 na Mzunguko
Wiring Moduli za NRF24L01 na Mzunguko

Katika mradi huu, Arduino mmoja atafanya kazi kama mtumaji, akituma data ya kiwango cha mwanga kutoka kwa mpiga picha wakati kitufe cha kushinikiza kinabanwa. Arduino nyingine itatumika kama mpokeaji, ikichukua data hiyo na kuibadilisha kuwa ishara kwa LEDs. Picha ya kwanza inaonyesha mchoro wa kusambaza, na ya pili inaonyesha mpokeaji.

Kumbuka: katika picha za mradi wangu, utaona NRF24L01 transceivers zimeambatanishwa na PCB nyingine. Hii ni moduli ya mkoba kwa transceivers, ambayo hufanya kama mdhibiti wa nguvu. Mbali na kufanya wiring iwe rahisi, mifuko hii inasimamia uingizaji wa nguvu kwa NRF24L01, ikiruhusu utumiaji wa umeme wa 5V. Nimeacha mifuko hii kwenye mchoro wangu kwa sababu ya uwazi.

(Ikiwa utaamua kutumia mkoba, tafadhali rejelea kiungo hiki kwa mchoro wa maeneo ya pini ukirejelea hisa NRF24L01).

Imeambatanishwa hapa chini ni nakala ya PDF ya mzunguko, kwa utaftaji rahisi / utazamaji wa kina.

Hatua ya 2: Kuandika Usambazaji

Hatua ya mwisho ni kuweka alama. Utahitaji kusanikisha maktaba ya RadioHead au maktaba sawa ya matumizi na moduli za NRF24L01.

Kwa mradi huu, transmitter na mpokeaji Arduinos hutumia nambari tofauti kwa kila moja. Hapa kuna nambari ya kusambaza:

Nimeambatanisha pia faili ya.ino (NRF_Send) kwa urahisi.

# pamoja

# pamoja

RH_NRF24 nrf24; // Kuanzisha transceiver kama nrf24

kitufe cha int = 5; // Kuweka maadili ya pini kwa kitufe na kipika picha

int pResistor = A0; thamani ya int = 0; // Thamani ya taa kutoka 0-1023

kuanzisha batili ()

{Serial.begin (9600); pinMode (kifungo, INPUT); pinMode (pResistor, INPUT); ikiwa (! nrf24.init ()) // Inatahadharisha mtumiaji ikiwa uanzishaji wa moduli unashindwa Serial.println ("init imeshindwa"); // Chaguo-msingi baada ya init ni 2.402 GHz (kituo 2), 2Mbps, 0dBm ikiwa (! Nrf24.setChannel (1)) Serial.println ("setChannel imeshindwa"); ikiwa (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF imeshindwa"); }

kitanzi batili ()

{if (digitalRead (button)) {// Tuma ujumbe ikiwa kifungo kimeshinikizwa thamani = AnalogRead (pResistor); // Soma thamani ya mpiga picha (0-1023) data ya uint8_t = {value}; // Inaweka safu inayoitwa "data " iliyo na nuru nrf24.send (data, sizeof (data)); // Tuma safu kwa mpokeaji nrf24.waitPacketSent (); // Subiri hadi pakiti itumiwe Serial.println ("Thamani ya Mwanga:" + Kamba (thamani)); // Chapisha thamani ya nuru kwenye mfuatiliaji wa serial}}

Hatua ya 3: Kuandika Upokeaji

Kwa mpokeaji, nambari hiyo pia hutumia Maktaba ya RadioHead.

# pamoja

# pamoja

RH_NRF24 nrf24;

int LEDPin = 3;

thamani ya int = 0; // Thamani ya taa kutoka 0-1023

kuanzisha batili ()

{Serial.begin (9600); pinMode (LEDPin, OUTPUT); ikiwa (! nrf24.init ()) Serial.println ("init imeshindwa"); // Chaguo-msingi baada ya init ni 2.402 GHz (kituo 2), 2Mbps, 0dBm ikiwa (! Nrf24.setChannel (1)) Serial.println ("setChannel imeshindwa"); ikiwa (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF imeshindwa"); }

kitanzi batili ()

{// Subiri ujumbe uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Hifadhi ujumbe uliopokelewa kama safu iitwayo "buf " uint8_t len = sizeof (buf); // Hifadhi ukubwa wa buf kama "len" wakati (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Inapokea ujumbe kwa sekunde 200 au hadi ujumbe wote upokee {value = buf [0]; // Inaweka thamani kwa faharisi ya kwanza ya buf , ambayo ni int kutoka kwa picha ya picha ya mwandikaji (LEDPin, ramani (thamani, 0, 1023, 0, 255)); // Inaweka pini ya PWM kutoa pato kati ya 0-255 kwa mwangaza wa LED Serial.println (Kamba (thamani)); } AnalogWrite (LEDPin, 0); }

Hatua ya 4: UMEFANYA

Furahiya kucheza karibu na viwango tofauti vya mwangaza na kutazama LED zinalingana nao! Mpiga picha anaweza kuwa mzuri wakati mwingine, na hufanya kazi vizuri katika chumba cha giza na chanzo cha nuru cha ndani (lakini anaweza kufanya kazi nje na jua pia).

Ilipendekeza: