Мазмұны:
- 1 -қадам: компоненттер
- 2 -қадам: серверлік тақта
- 3 -қадам: Сервер кодтаушысы: көшіру және қою
- 4 -қадам: Клиенттер тақтасы
- 5 -қадам: Клиенттің коды: көшіру және қою
- 6 -қадам: Код туралы ескерту:
Бейне: Сервистік сымсыз басқару: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл жоба потенциометрдің (тұтқаның) көмегімен серваның сымсыз айналуын басқарады. Айналу 180 градусқа шектелген.
1 -қадам: компоненттер
Бұл жоба тұрады
- USB коннекторлы кабелі бар 2 Arduino UNO контроллер тақтасы
- 2 nRF24L01-2,4 ГГц жиілікті қабылдағыш модульдері (бұл модульдер бойынша көмек алу үшін https://randomnerdtutorials.com/nrf24l01-2-4ghz-rf… қараңыз.
- NRF24L01 үшін 2 ұялы адаптер тақтасы (рюкзак чиптері)
- 1 қосымша Arduino үйлесімді 328 ProtoShield прототипін кеңейту тақтасы
- 1 серво
- 1 аналогты потенциометр
- дәнекерлеуіш пен дәнекерлеуіш
- сым
- ине тәрізді қысқыштар
- оқшаулағыш орам, мен электр таспасын қолдандым
2 -қадам: серверлік тақта
Серверлік тақта трансивер модулінен, қалқан тақтасынан (Arduino тақтасына тек бір жолмен ғана қосылады) және серводан тұрады. Мен қалқымалы тақтаны болдырмау үшін жобаны және жалпы ұқыпты аяқтау үшін қалқан тақтасын қосуды шештім.
Компоненттер тізіміне енгізілген код пен веб -ресурс трансивер модулінің қосылымдарын егжей -тегжейлі көрсетеді. Мен бұрынғы жобалардағыдай уақытша қосылымдарды пайдаланудың орнына қосылымдарды дәнекерлеуді шештім. Мен жаңадан бастаушы болғандықтан, мен әрбір дәнекерлеу түйінін электрлік таспамен оқшауладым (олар әдемі емес еді).
Қалқан тақтасының түйреуіштері тікелей Arduino түйреуіштеріне сәйкес келеді. Қалқан тақтасын бекітпес бұрын, мен жер мен 5 вольтты түйреуіштерді тақтаның рельстеріне сыммен және дәнекермен қостым. Мен сонымен қатар компоненттердің 5 вольтты және жерге тұйықталған сымдарын қалқан тақтасының рельстеріне дәнекерледім, содан кейін ақырында Arduino -ны қалқан тақтасына қостым.
Серво қуат үшін 3 вольтты түйреуішке және байланыс үшін цифрлық 2 істікке бекітілген.
** Ескерту: бұл құрылысты аяқтағаннан кейін ғана менің Arduino тақталары бір -біріне ұқсамайтынын байқадым. Менің серверлік трансивер қалқан тақтасындағы 5 вольтты рельспен жұмыс істейді, ал клиенттік транслятор 3 вольтты істікшеден қуат алады, дегенмен мені қабылдаушы қабылдағыштағы адаптер чипінің функциясы кернеуді қамтамасыз ету керек деп ойладым. Мен нақты айта алатын нәрсе - суреттерде көрсетілген конфигурацияға сәйкес келетін код сипатталған әсерді береді.
3 -қадам: Сервер кодтаушысы: көшіру және қою
// SERVER CODE/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Қолданылмайды GND> GND VCC> 5V */// трансиверлік сымдар
#қосу
// серво кітапханасы
#қосу
// қабылдағыштар кітапханасы
#Сервопинді анықтаңыз 2
// декларация серво шығыс түйреуіші
ServoTimer2 сервисі;
// серво атауын жариялау
RH_NRF24 nrf24;
// трансивер атауын жариялау
int timeOUT = 0;
// servo үшін айнымалы
ішкі импульстар = 90;
// импульстарды сақтауға арналған айнымалы
жарамсыз орнату ()
{serv.attach (Servopin); // серво заттары
Serial.begin (9600); // қабылдағыш заттар
егер (! nrf24.init ())
Serial.println («бастамасы сәтсіз болды»); // сериялық монитордың материалдары if (! nrf24.setChannel (12)) // арнаны 125 Serial.println етіп орнатыңыз («setChannel сәтсіз»); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println («setRF сәтсіз аяқталды»); // сериялық монитордың материалдары}
бос цикл ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // сериялық мониторлық материалдар {Serial.print («сұраныс бар:»); импульстар = strtol ((const char*) buf, NULL, 10); // деректер түрін өзгерту
int prin = map (импульстар, 750, 2250, 0, 180); // деректер түрін өзгерту
Serial.println (принтер); serv.write (импульстар); // серво қозғалысын жасайды}}
}
4 -қадам: Клиенттер тақтасы
Клиенттер тақтасы трансивер модулінен және потенциометрден тұрады. Трансивер модулі серверлік тақта сияқты ** қосылады, тек қалқан тақтасы болмаса, ол Arduino тақтасының түйреуіштеріне тікелей қосылады.
Потенциометр жерге 5В қабылдайды және 2 аналогтық түйреуге қосылады.
** Ескерту: сервер тақтасының қадамында айтылғандай, менің Arduino тақталары бірдей емес. Бұл жағдайда трансивер 3.3В таңбалы түйреуішке қосылады, ол 5В істікшеге тікелей іргелес, бірақ тағы да бәрі жақсы жұмыс істейтін сияқты.
5 -қадам: Клиенттің коды: көшіру және қою
// КЛИЕНТТЕР КОДЫ/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Қолданылмайды GND> GND VCC> 5V */// трансиверлік сымдар
#қосу
// қабылдағыштар кітапханасы
int potpin = A2; // потенциометрдің декларациясы
int val;
char tempChar [5];
ValString жолы = «»; // деректер түрін өзгерту
RH_NRF24 nrf24; // қабылдағыш заттар
жарамсыз орнату ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println («init сәтсіз болды»); // Бастапқыдан кейінгі әдепкі мәндер - 2.402 ГГц (2 арна), 2Мбит/ с, 0дБм, егер (! Nrf24.setChannel (12)) Serial.println («setChannel сәтсіз»); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println («setRF сәтсіз аяқталды»); } // қабылдағыш заттар
void loop () {
val = analogRead (potpin); // потенциометрлік заттар
val = карта (val, 0, 1023, 750, 2250);
valString = val; Жол str = (valString); str.toCharArray (tempChar, 5); // деректер түрін өзгерту nrf24.send (tempChar, sizeof (tempChar));
}
6 -қадам: Код туралы ескерту:
Кодексте Arduino бағдарламалық жасақтама интерфейсіндегі сериялық монитордан кері байланыс түрінде ақауларды жоюдың шектеулі функциялары бар. Сериялық мониторды SERVER кодынан қараған кезде (ctrl + shift + M) сіз потенциометрдің күйін 1 мен 180 арасындағы сан түрінде көре аласыз.
Сонымен қатар, мұнда сымсыз және сервоприводтар үшін кітапхана:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Ұсынылған:
IPad үшін қабырғаға бекіту үйді автоматтандырудың басқару тақтасы ретінде, экранды іске қосу үшін сервистік басқарылатын магнитті қолданады: 4 қадам (суреттермен)
IPad үшін қабырғаға бекіту үйді автоматтандырудың басқару тақтасы ретінде, экранды іске қосу үшін сервистік басқарылатын магнитті қолданады: Соңғы кездері мен үйдегі және оның айналасындағы заттарды автоматтандыруға көп уақыт жұмсадым. Мен Domoticz -ді үйдегі автоматтандыру қосымшасы ретінде қолданамын, толығырақ www.domoticz.com сайтынан қараңыз. Мен Domoticz туралы барлық ақпаратты көрсететін бақылау тақтасының қосымшасын іздеуде
HC12 сымсыз модулін қолданатын сымсыз Arduino роботы: 7 қадам
HC12 сымсыз модулін қолданатын сымсыз Arduino роботы: Сәлем балалар, қош келдіңіздер. Алдыңғы постымда мен H Bridge Circuit деген не екенін, L293D мотор драйвері IC, L293D мотор драйвері IC жоғары ток қозғалтқыштарының драйверлерін басқаруға және L293D қозғалтқыш тақтасын қалай жасауға және жасауға болатынын түсіндірдім
ESP8266 RGB LED STRIP WIFI басқару - NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде - RGB LED STRIP смартфонды басқару: 4 қадам
ESP8266 RGB LED STRIP WIFI басқару | NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде | Смартфонды RGB LED STRIP басқару: Сәлеметсіздер ме, балалар, бұл оқулықта біз nodemcu немесе esp8266 -ды RGB жарықдиодты жолағын басқару үшін инфрақызыл қашықтан басқару құралы ретінде қолдануды үйренеміз, ал Nodemcu смартфон Wi -Fi арқылы басқарылады. Негізінде сіз RGB LED STRIP -ті смартфонмен басқара аласыз
NodeMCU және Blynk көмегімен сервистік басқару - IOT платформасында: 3 қадам
NodeMCU және Blynk көмегімен сервистік басқару | IOT платформасында: бұл оқулықта сіз IOT платформасында Blynk қосымшасын қолдана отырып, сервоңызды басқара аласыз
Raspbian Stretch -те TPN WN7200ND USB сымсыз адаптері бар елу метрлік сымсыз кіру нүктесі: 6 қадам
Raspbian Stretch -те TP Link WN7200ND USB сымсыз адаптері бар елу метрлік сымсыз кіру нүктесі: Raspberry Pi қауіпсіз сымсыз кіру нүктелерін жасау үшін тамаша, бірақ оның ауқымы жақсы емес, мен оны кеңейту үшін TP Link WN7200ND USB сымсыз адаптерін қолдандым. Мен мұны қалай істеу керектігін айтқым келеді Неліктен мен маршрутизатордың орнына таңқурай пиін қолданғым келеді? T