NRF24L01: Arduino үчүн зымсыз байланыш модулу

NRF24L01

Ардуино же башка элементтерди колдонуп, DIY долбоорун түзүшүңүз керек жана аны колдонушуңуз керек зымсыз байланыш. Ошондой эле, IR, RF, Bluetooth, WiFi ж.б. аркылуу өткөрүүгө мүмкүнчүлүк берген модулдун же шаймандын түрүнө ээ болуу менен болот. Башкача айтканда, сиздин учурда сигналдын кайсы түрү эң ылайыктуу болорун билүү муктаждыктары жөнүндө так билишиңиз керек.

Бул учурда бизде а NRF24L01 боюнча колдонмо сен үчүн. Бул сизге сигналдарды жөнөтүү жана кабыл алуу үчүн керектүү нерселерди камсыз кылган зымсыз байланыш чипи. Сигналдардын түрү - RF же радио жыштык, башкача айтканда, толкун узундугу чоң толкундар, демек, электромагниттик спектрде жыштыгы 3 Гц менен 300 Гц аралыгындагы аз энергия.

NRF24L01 деген эмне?

NRF24L01

El NRF24L01 - Nordic Semiconductor тарабынан чыгарылган чип. Эгерде ал толук соода, Чип сизге керек болгон кээ бир көмөкчү элементтери бар кичинекей PCBге орнотулган, ошондуктан модулду түзүп берет. Аны бир нече жол менен колдонсоңуз болот, анын ичинде Адруино менен байланыштырып, кийинчерээк көрсөтөм.

NRF24L01, анын аталышынан чыгарылгандай, RF же радио жыштыгын колдонуп иштеген зымсыз байланыш каражаты 2,4Ghz - 2,5 Ghz. Бул акысыз колдонуу үчүн акысыз топ. Башка топтордун запасы сакталып калгандыгын мурунтан эле билесиз жана эгер сиз аларды маалымат жеткирүү үчүн колдонгуңуз келсе, анда төлөшүңүз керек. Мындан тышкары, ал тараткычты + кабыл алуучуну бириктирет.

Тактап айтканда, сиз колдоно турган жыштык тилкеси 2.400 МГцтен 2.525 МГцге чейин, ал эми ортосунда тандоо мүмкүнчүлүгү бар 125 канал алардын ортосунда 1 МГц мейкиндик бар. Бирок, WiFi тармактарын, ушул жыштык менен иштеген дрондорду ж.б. колдонуп жаткан болсоңуз, анда тоскоолдуктар болуп калса, 2.4Ghz жыштыктарын колдонуу сунушталбайт. Ошондуктан 2.501 МГцдан баштап колдонуу артыкчылыктуу.

Анын мүнөздөмөлөрү жөнүндө, 1.9 ден 3.6v чейин, Ошентип, аны 3.3 туташуусу менен Arduino тактасынын өзү менен, батарейкаларды колдонуу менен, ал тургай, ошол чыңалуудагы электр кубаты менен кубаттоо оңой болот. Мындан тышкары, 250 Кбит / с, 1 Мбит / с жана 2 Мбит / с чейин жеткирүү ылдамдыгын конфигурациялай аласыз.

Чыгуу жана кабыл алуудагы чип бир эле учурда иштей алат 6 байланышка чейин ар кандай шаймандардын. Ушуну менен сиз ар кандай пункттардан эч кандай көйгөйсүз эфирге чыга аласыз же ала аласыз. Эгер сиз байланыштын ишенимдүүлүгүнө же ишенимдүүлүгүнө тынчсызданып жатсаңыз, анда чиптин өзү логикалык схемаларга ээ, эгерде каталардын маалыматтарын оңдоп, зарылчылык болсо, маалыматты жөнөтүп турат. Демек, бул процессорду бул тапшырмадан бошотот.

Аны көзөмөлдөө үчүн сиз колдоно аласыз SPI автобус, ошондуктан аны Arduino менен башкаруу өтө жөнөкөй. Мындан тышкары, NRF24L01 маалымат казыктары 5v чейин көйгөйсүз колдойт. Stand By электр кубатын керектөө кыйла төмөн, андыктан ал кооптонууга түрткү бербейт жана ал иштеп жатканда эң кымбатка турбайт, анткени маалымат жөнөтүү жана кабыл алуу үчүн 15мА гана керек.

Базарда сиз бир нече таба аласыз NRF24L01 чипти орнотуучу ар кандай модулдар, алар жардамчы элементтерде же айрым деталдарда гана өзгөрүлөт. Мисалы, антеннанын түрүндө. Айрымдарынын антеннасы ПКБде зиг-заг формасында басылып, болжол менен 20-30 метр аралыкты камтыйт. Башкалары 700 метрден 1 чакырымга чейин күчөткүчү бар тышкы антеннаны кыйла күчтүү деп эсептешет.

Бирок, чыныгы чөйрөсү айрым факторлор менен чектелген, мисалы, жол тоскоолдуктары, ызы-чуу же башка элементтердин же сигналдардын кийлигишүүсү, берүү ылдамдыгы, берүү чыңалуусу (жогорку чыңалуу, чоң аралык) ж.б. Мисалы, максималдуу 2 Мбит / с ылдамдыкта өткөргүңүз келсе, ал алыскы аралыкта чоң айып пулга ээ болот, ал максималдуу 2 же 3 метрди гана түзөт. Төмөнкү ылдамдыкта сиз ал аралыкка чыга аласыз.

Окшош макала:
ESP8266: Arduino үчүн WIFI модулу

Аны сатып алуудан мурун эмнени билишиңиз керек?

NRF40L01 антеннасы

El NRF24L01 - бул өтө арзан чип көптөгөн долбоорлордо колдонсо болот. Мисалы, сизде тышкы антенна жок болсо, аны 0.65 еврого чейин сатып алсаңыз болот, тышкы антеннанын модели буга караганда бир аз кымбатыраак, бирок ал дагы деле арзан жана адатта 1.7 евродон ашпайт.

Эгерде сизде дагы бир эмиссия же кабыл алуу элементи жок болсо, анда сиз эки NRF24L01 модулун сатып алышыңыз керек экендигин билесиз, алардын бирин берүүнү каалаган жердин бир жагында, экинчисин экинчи тарабында колдонуу керек. Алар экөө тең ошондой мамиле кылышат жөнөтүүчү же алуучу сиз каалагандай.

NRF24L01 орнотуу жана орнотуу

pinout NRF40L01

Чогулушка келсек, бул өтө жөнөкөй. The NRF24L01де 8 казык бар, андыктан анын оңдолушу оңой мен сизди таштап кеткенимди кандайча көрө аласыз. Оң жакта сиз тактанын пин-диаграммасын көрө аласыз Arduino UNO жана модулдун ар бир төөнөгүч кантип ага туташтырыла тургандыгын.

Сиз табууга болот, табак NRF24L01 GND жана 3.3v төөнөгүчтөрдүн жардамы менен иштейт Ардуино. 5v сигналы менен жасабоону унутпаңыз, антпесе модулга зыян келтиресиз.

Arduino менен интеграциялоо

2 NRF24L01 менен Arduino (схема)

NRF24L01 деген эмне экендигин жана аны кантип туташтырууга жана кубаттандырууга боло тургандыгын билгенден кийин, ушул арзан шаймандардын экөөсүн жасай турган долбоорлордун санынан тышкары, кийинки нерсе программалоонун мисалы Ошентип, сиз Arduino IDE менен тажрыйба баштасаңыз болот. Бере турган маалымат форматы баштапкы коддо өзгөртүлүшү мүмкүн экендигин унутпаңыз.

Окшош макала:
L298N: Arduino үчүн кыймылдаткычтарды башкаруу модулу

Сиз сапты, бүтүн санды, калкып чыккан чекит маалыматтарын ж.б. жөнөтүүнү жана алууну тандай аласыз. Мен сизге кеңеш берем Arduino программалоосу боюнча колдонмо Эгер сиз баштап жатсаңыз. Анын жардамы менен сиз биринчи долбоорлорду түзө аласыз. NRF24L01 үчүн конкреттүү мисал катары, мен сизди таштап кетем сап үчүн керек болгон коддор.

Arduino IDE'ге жазып, NRF24L01ге туташтырылган Arduino тактасын программалашыңыз керек болгон код өткөргүч:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
 
const int pinCE = 9;
const int pinCSN = 10;
RF24 radio(pinCE, pinCSN);
 
// Single radio pipe address for the 2 nodes to communicate.
const uint64_t pipe = 0xE8E8F0F0E1LL;
 
char data[16]="Aquí tu mensaje" ;
 
void setup(void)
{
   radio.begin();
   radio.openWritingPipe(pipe);
}
 
void loop(void)
{
   radio.write(data, sizeof data);
   delay(1000);
}

Бул жерде сиз Arduino IDE'ге киргизип, NRF24L01 деп туташтырганыңызды тактага жазыңыз. кабылдагыч:

# камтыйт <nRF24L01.h>
# камтыйт <RF24.h>
# камтыйт <RF24_config.h>
# камтыйт <SPI.h>

const int pinCE = 9;
const int pinCSN = 10;
RF24 радиосу (pinCE, pinCSN);

// Байланышуу үчүн 2 түйүн үчүн бирдиктүү радио түтүк дареги.
const uint64_t чоор = 0xE8E8F0F0E1LL;

char data [16];

жараксыз орнотуу (жараксыз)
{
Serial.begin (9600);
radio.begin ();
radio.openReadingPipe (1, түтүк);
radio.startListening ();
}

боштук илмек (бош)
{
эгер (радио. жеткиликтүү ())
{
int done = radio.read (маалыматтар, маалыматтардын өлчөмү);
Serial.println (маалыматтар);
}
}

Ошол менен сизде керектүү нерселердин бардыгы болот жана биринин сөздөрүн же тексттик саптарын жөнөтүп, экинчисинин аларды кандайча кабыл алгандыгын байкап көрүүгө болот. USB аркылуу Arduino тактасына туташтырылган эки компьютерди колдонуп, маалыматты көрүү каражаты катары консолу колдонуңуз. Өзүңүздөгү модулга же өзүңүз берген конфигурацияга ылайык, аларды этияттык менен бөлүңүз, ошондо сиз башка компьютердин экранынан биринчи кодго киргизген белгилериңизди көрө баштайсыз ...


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий, өзүңүз калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Stefan ал мындай деди:

    Салам, Ыскак
    Долбоорду ардуино, малина же башка нерсе менен аяктагым келет.
    Түшүндүрүү үчүн электрондук почта байланышын бере аласызбы?
    Mine - a01b02@abv.bg
    ыракмат