Talaan ng mga Nilalaman:
- Hakbang 1: Mga Equipment
- Hakbang 2: File ng Larawan ng Circuit Diagram
- Hakbang 3: Fritzing File ng Circuit Diagram
- Hakbang 4: Transmitter Code
- Hakbang 5: Code ng Tagatanggap
- Hakbang 6: INO Files
- Hakbang 7: Link ng Mga Aklatan
Video: Kinokontrol ng Gesture na Wireless Car: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa tutorial na ito matututunan natin, kung paano gumawa ng isang kilos na kinokontrol na kotse o anumang robot. Ang proyektong ito ay may dalawang bahagi, isang bahagi ay unit ng transmiter at iba pang bahagi ay unit ng tatanggap. Ang unit ng transmiter ay talagang naka-mount sa isang guwantes na kamay at ang unit ng tatanggap ay inilalagay sa loob ng isang kotse o anumang robot. Oras na nito upang gumawa ng magandang kotse. Hayaan mong umalis!
Hakbang 1: Mga Equipment
Transmitter Unit
1. Arduino Nano.
2. Modyul ng Sensor ng MPU6050.
3. RF 433 MHz Transmitter.
4. Anumang uri ng 3 cell, 11.1 volt na Baterya (Dito ko nagamit ang coin cell).
5. Vero-Board.
6. Mga guwantes na Kamay.
Yunit ng Tagatanggap
1. Arduino Nano o Arduino Uno.
2. L298N Motor Driver Module.
3. 4 wheel frame ng robot kasama ang mga motor.
4. RF 433 RF Tagatanggap.
5. 3 cell, 11.1 volt Li-po Battery.
6. Vero-board.
Ang iba pa
1. Mga Pandikit na stick at baril.
2. Jumper wires.
3. Mga Screw Driver
4. Soldering Kit.
atbp.
Hakbang 2: File ng Larawan ng Circuit Diagram
Hakbang 3: Fritzing File ng Circuit Diagram
Hakbang 4: Transmitter Code
# isama
# isama
# isama
MPU6050 mpu6050 (Wire);
mahabang timer = 0;
char * Controller;
walang bisa ang pag-setup ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (totoo); vw_set_ptt_inverted (totoo); // vw_set_tx_pin (10); vw_setup (4000); // bilis ng transfer ng data Kbps
}
walang bisa loop ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update ();
kung (millis () - timer> 1000)
{Serial.println ("=_ =========== "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("\ taccY:"); Serial.print (mpu6050.getAccY ()); Serial.print ("\ taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("\ tgyroY:"); Serial.print (mpu6050.getGyroY ()); Serial.print ("\ tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\ taccAngleY:"); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("\ tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); Serial.print ("\ tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angguloX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); Serial.println ("=_ ========== / n "); timer = millis (); }
/////////////////////////////////////////////////////////////////////////////////////
kung (mpu6050.getAccAngleX () 30) {controller = "X2"; vw_send ((uint8_t *) controller, strlen (controller)); vw_wait_tx (); // Maghintay hanggang sa mawala ang buong mensahe Serial.println ("FORWARD"); } iba pa kung (mpu6050.getAccAngleY ()> 40) {controller = "Y1"; vw_send ((uint8_t *) controller, strlen (controller)); vw_wait_tx (); // Maghintay hanggang sa mawala ang buong mensahe Serial.println ("KALIWA"); } iba pa kung (mpu6050.getAccAngleY () <- 40) {controller = "Y2"; vw_send ((uint8_t *) controller, strlen (controller)); vw_wait_tx (); // Maghintay hanggang sa mawala ang buong mensahe Serial.println ("TAMA"); } iba pa kung (mpu6050.getAccAngleX () - 10 && mpu6050.getAccAngleY () - 10) {controller = "A1"; vw_send ((uint8_t *) controller, strlen (controller)); vw_wait_tx (); // Maghintay hanggang sa mawala ang buong mensahe Serial.println ("STOP"); }}
Hakbang 5: Code ng Tagatanggap
# isama
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; void setup () {Serial.begin (9600); vw_set_ptt_inverted (totoo); // Kinakailangan para sa DR3100 vw_set_rx_pin (12); vw_setup (4000); // Bits per sec pinMode (13, OUTPUT); pinMode (LA, OUTPUT); pinMode (LB, OUTPUT); pinMode (RA, OUTPUT); pinMode (RB, OUTPUT); vw_rx_start (); // Start the receiver PLL running Serial.println ("All OK");
}
void loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
kung (vw_get_message (buf, & buflen)) // Non-block
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("BACKWARD"); paatras (); pagkaantala (100); // off (); } iba pa kung ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("FORWARD"); pasulong (); pagkaantala (100); // off (); }
kung hindi man ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("KALIWA"); kaliwa (); pagkaantala (100); // off (); }
kung hindi man ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("TAMA"); kanan (); pagkaantala (100); // off (); } iba pa kung ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); off (); pagkaantala (100); }} iba pa {Serial.println ("Walang Natanggap na Signal"); }}
walang bisa pasulong ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
walang bisa pabalik ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
walang bisa ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
walang bisa ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
walang bisa ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Hakbang 6: INO Files
Hakbang 7: Link ng Mga Aklatan
Virtual Wire Library:
MPU6050_tockn Libraryaby:
Wire Library:
Inirerekumendang:
Kinokontrol ng Gesture na Robot Gamit ang Arduino: 7 Mga Hakbang
Kinokontrol ng Gesture na Robot Paggamit ng Arduino: Ang mga robot ay ginagamit sa maraming mga sektor tulad ng konstruksyon, militar, pagmamanupaktura, pagtitipon, atbp. Ang mga robot ay maaaring autonomous o semi-autonomous. Ang mga autonomous na robot ay hindi nangangailangan ng anumang interbensyon ng tao at maaaring kumilos nang mag-isa ayon sa sitwasyon. Se
Gawing Kinokontrol ang Iyong Drone Gesture sa $ 10: 4 na Mga Hakbang
Gawing Kinokontrol ang Iyong Drone Gesture sa $ 10: Ang itinuro na ito ay isang gabay sa pagbabago ng iyong R / C Drone sa isang Gesture Controlled Drone sa ilalim ng $ 10! Ako ay isang tao na lubos na binigyang inspirasyon ng mga pelikula sa Sci-Fi at sinisikap na ipakita ang tech sa pelikula sa totoong buhay. Ang proyektong ito ay isang inspirati
Kinokontrol ng RC Rover ng Mga Galaw ng Gesture at Joyestick: 8 Hakbang
Ang RC Rover ay Kinokontrol ng Gestures Motions & Joyestick: Ang RC Rover ay isang proyekto ng Robotics na naglalayong mapabuti ang kontrol ng rover sa pamamagitan ng paggamit ng dalas ng radyo at pakikipag-ugnay ng paggalaw ng rover gamit ang paggalaw ng kamay gamit ang inertial unit (MPU6050), ngunit pati na rin ang kontrol nito Rover kasama ang isang Joyestik. Lahat
Gesture Hawk: Kamay na Kinokontrol ng Robot na Kamay Gamit ang Pagproseso ng Imahe Batay sa Interface: 13 Mga Hakbang (na may Mga Larawan)
Gesture Hawk: Kamay na Kinokontrol ng Robot na Kamay Gamit ang Pagproseso ng Imahe Batay sa Interface: Ang Gesture Hawk ay ipinakita sa TechEvince 4.0 bilang isang simpleng pagproseso ng imahe batay sa interface ng human-machine. Ang utility nito ay nakasalalay sa katotohanan na walang karagdagang mga sensor o naisusuot maliban sa isang guwantes ang kinakailangan upang makontrol ang robotic car na tumatakbo sa iba't ibang
Kinokontrol ng DTMF at Gesture na Robotic Wheelchair: 7 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng DTMF at Gesture na Robotic Wheelchair: Sa mundong ito ang bilang ng mga tao ay may kapansanan. Ang kanilang buhay ay umiikot sa mga gulong. Nagpapakita ang proyektong ito ng isang diskarte para sa pagkontrol sa kilusan ng wheelchair gamit ang pagkilala sa kilos ng kamay at DTMF ng isang smartphone