Агуулгын хүснэгт:
- Алхам 1: бүрэлдэхүүн хэсгүүд
- Алхам 2: Серверийн самбар
- Алхам 3: Сервер кодлогч: хуулж буулгах
- Алхам 4: Үйлчлүүлэгчдийн зөвлөл
- Алхам 5: Үйлчлүүлэгчийн код: хуулж буулгах
- Алхам 6: Кодын талаархи тэмдэглэл:
Видео: Утасгүй Servo Control: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү төсөл нь потенциометр (бариул) ашиглан servo -ийн эргэлтийг утасгүй удирддаг. Эргэлтийг 180 градусаар хязгаарладаг.
Алхам 1: бүрэлдэхүүн хэсгүүд
Энэхүү төсөл нь дараахь зүйлээс бүрдэнэ
- USB холбогч кабель бүхий 2 Arduino UNO хянагч самбар
- 2 nRF24L01-2.4 ГГц давтамжтай RF дамжуулагч модулиуд (эдгээр модульд туслах талаар
- NRF24L01 -ийн 2 залгуур адаптер самбар (үүргэвчтэй чипс)
- 1 нэмэлт Arduino нийцтэй 328 ProtoShield прототип өргөтгөлийн самбар
- 1 servo
- 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 */// дамжуулагчийн утас
#оруулах
// servo номын сан
#оруулах
// дамжуулагчийн номын сан
#Servopin 2 -ийг тодорхойлох
// мэдэгдэл servo гаралтын зүү
ServoTimer2 үйлчилгээ;
// servo нэрийн мэдэгдэл
RH_NRF24 nrf24;
// дамжуулагчийн нэрийг тунхаглах
int timeOUT = 0;
// servo -ийн хувьсагч
int импульс = 90;
// импульсийг хадгалах хувьсагч
хүчингүй тохиргоо ()
{serv.attach (Servopin); // servo зүйлс
Цуваа эхлэх (9600); // дамжуулагч зүйл
хэрэв (! nrf24.init ())
Serial.println ("эхлүүлээгүй"); // цуваа дэлгэцийн зүйл бол (! nrf24.setChannel (12)) // сувгийг 125 Serial.println болгож тохируул ("setChannel амжилтгүй болсон"); хэрэв (! 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 = газрын зураг (импульс, 750, 2250, 0, 180); // өгөгдлийн төрлийг өөрчлөх зүйлс
Цуваа.хэвлэх (хэвлэх); серв. бичих (импульс); // servo хөдөлгөдөг}}
}
Алхам 4: Үйлчлүүлэгчдийн зөвлөл
Үйлчлүүлэгчийн самбар нь дамжуулагч модуль ба потенциометрээс бүрдэнэ. Трансивер модулийг серверийн самбартай ижил аргаар утастай холбосон бөгөөд бамбай самбаргүй бол Arduino хавтангийн зүү рүү шууд залгана.
Потенциометр нь 5V, газардуулга авдаг бөгөөд аналог 2 -р зүүтэй холбогддог.
** Тэмдэглэл: серверийн самбарын алхам дээр дурдсанчлан миний Arduino самбар ижил биш байна. Энэ тохиолдолд дамжуулагчийг 5V зүүтэй шууд зэргэлдээ 3.3V гэсэн шошготой холбосон боловч бүх зүйл хэвийн ажиллаж байгаа юм шиг байна.
Алхам 5: Үйлчлүүлэгчийн код: хуулж буулгах
// CLIENT CODE/ * 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];
StrS valString = ""; // өгөгдлийн төрлийг өөрчлөх зүйлс
RH_NRF24 nrf24; // дамжуулагч зүйл
хүчингүй тохиргоо ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init амжилтгүй болсон"); // Init -ээс хойшхи анхдагч утга нь 2.402 GHz (суваг 2), 2Mbps, 0dBm бол (! Nrf24.setChannel (12)) Serial.println ("setChannel амжилтгүй болсон"); хэрэв (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF амжилтгүй болсон"); } // дамжуулагч зүйл
void loop () {
val = analogRead (potpin); // потенциометрийн зүйл
val = газрын зураг (val, 0, 1023, 750, 2250);
valString = val; String str = (valString); str.toCharArray (tempChar, 5); // өгөгдлийн төрлийг өөрчлөх зүйлс nrf24.send (tempChar, sizeof (tempChar));
}
Алхам 6: Кодын талаархи тэмдэглэл:
Дүрэм нь Arduino програм хангамжийн интерфейс дээрх цуваа монитороос ирсэн санал хүсэлтийн хэлбэрээр алдааг олж засварлах зарим хязгаарлагдмал функцийг агуулдаг. Цуваа мониторыг SERVER кодоос (ctrl + shift + M) үзэх үед потенциометрийн төлөвийг 1 -ээс 180 хүртэлх тооны хэлбэрээр харах боломжтой байх ёстой.
Мөн утасгүй болон servo -ийн номын сан энд байна.
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Зөвлөмж болгож буй:
HC12 утасгүй модулийг ашиглан утасгүй Arduino робот: 7 алхам
HC12 утасгүй модулийг ашиглан утасгүй Arduino робот: Хөөе залуусаа, дахин тавтай морилно уу. Өмнөх нийтлэлдээ би H Bridge Circuit гэж юу болохыг, L293D мотор драйвер IC, piggybacking L293D мотор драйвер IC, өндөр гүйдлийн хөдөлгүүртэй жолооч нарыг жолоодох, мөн L293D моторт жолоочийн самбарыг хэрхэн яаж хийх, хэрхэн хийх талаар тайлбарласан болно
Raspbian Stretch дээрх TP Link WN7200ND USB утасгүй адаптер бүхий тавин метрийн утасгүй нэвтрэх цэг: 6 алхам
Raspbian Stretch дээрх TP Link WN7200ND USB утасгүй адаптер бүхий тавин метрийн хүртээмжтэй утасгүй хандалтын цэг: Raspberry Pi нь аюулгүй утасгүй хандалтын цэгүүдийг бий болгоход тохиромжтой боловч сайн хүрээтэй байдаггүй, би үүнийг өргөжүүлэхийн тулд TP Link WN7200ND USB утасгүй адаптер ашигласан. Би үүнийг хэрхэн хийх талаар хуваалцахыг хүсч байна.Би яагаад чиглүүлэгчийн оронд бөөрөлзгөнө pi ашиглахыг хүсч байна вэ? T
DIY утасгүй микрофоноос утасгүй гитарын систем: 4 алхам
DIY утасгүй микрофон утасгүй гитарын систем: Би зарим видео, зарим хамтлагуудыг үзэж байсан бөгөөд бараг бүгд гитар дээр утасгүй систем ашигладаг. Галзуурах, хөдлөх, алхах, утасгүйгээр хүссэн бүхнээ хийх, тиймээс би утас авахыг мөрөөддөг .. Гэхдээ .. миний хувьд одоо энэ нь хэтэрхий үнэтэй байгаа тул би үүнийг олж авлаа
Утасгүй дохиоллын унтраалга эсвэл асаах/унтраах унтраалга руу утасгүй хаалганы хонх цохих: 4 алхам
Утасгүй дохиоллын унтраалга эсвэл асаах/унтраах утас руу утасгүй хаалганы хонх цохих: Би саяхан дохиоллын систем барьж, гэртээ суулгасан. Би хаалган дээр соронзон унтраалга ашиглаж, дээврийн хөндийгөө хатуу хучилттай болгосон. Надад утасгүй шийдэл хэрэгтэй байсан бөгөөд энэ нь
Утасгүй чиглүүлэгчийг утасгүй өргөтгөгч 2х хандалтын цэг болгон хөрвүүлэх: 5 алхам
Утасгүй чиглүүлэгчийг утасгүй өргөтгөлийн 2x хандалтын цэг болгон хөрвүүлэх: RSJ (таазанд металл тулгуур туяа) залгагдсаны улмаас би байшиндаа утасгүй интернет холболт муутай байсан бөгөөд дохиог нэмэгдүүлэх эсвэл байшингийн бусад хэсэгт нэмэлт өргөтгөл нэмэхийг хүссэн. Би цахилгаан сэлгээнд 50 фунт стерлинг харсан