Talaan ng mga Nilalaman:

Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle: 3 Mga Hakbang
Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle: 3 Mga Hakbang

Video: Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle: 3 Mga Hakbang

Video: Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle: 3 Mga Hakbang
Video: Fixed joystick vs Fixed virtual joystick position | Best joystick settings in CODM 2024, Nobyembre
Anonim
Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle
Kinokontrol na Platform ng Gyro Sensor para sa Maze Puzzle

Ang itinuturo na ito ay nilikha bilang pagtupad sa kinakailangan ng proyekto ng kurso na Gumawa sa University of South Florida (www.makecourse.com)"

Ang simpleng proyektong ito na inspirasyon ng isang platform ng sariling pagbabalanse na kumukuha ng feedback mula sa sensor ng accelerometer. Suriin ito kung hindi mo pa nagagawa.

Gumagamit ang proyekto ng Arduino UNO - Madaling gamitin ang isang microcontroller na maaari mong makuha mula sa mga online shopping website! Sa itinuturo na ito, ipapakita ko kung paano ka makakagawa ng iyong sariling programmable tilting platform - mula sa proseso ng disenyo hanggang sa pag-sourcing ng mga bahagi, mga file sa pag-print ng 3D, pagpupulong, at pagprograma. Manatili at magpatuloy tayo!

Hakbang 1: Kinakailangan ang Mga Bahagi at 3D na Naka-print na Bahagi

Mga Kinakailangan ng Mga Bahagi at 3D na Naka-print na Bahagi
Mga Kinakailangan ng Mga Bahagi at 3D na Naka-print na Bahagi
Mga Kinakailangan na Mga Bahagi at 3D na Naka-print na Bahagi
Mga Kinakailangan na Mga Bahagi at 3D na Naka-print na Bahagi
Mga Kinakailangan ng Mga Bahagi at 3D na Naka-print na Bahagi
Mga Kinakailangan ng Mga Bahagi at 3D na Naka-print na Bahagi

Ang listahan ng mga sangkap na ginamit para sa proyekto:

1. Arduino UNO Microcontroller.

2. Breadboard na may mga wire ng jumper.

3. Isang kahon.

4. Circular platform

5. Maze.

6. Mga Link - 3 Hindi

7. Isang Batayan para sa pag-mount ng tatlong servos.

8. sensor ng Gyro / Accelerometer. (MPU6050)

9.1sq mm wires (500cm) - 4 No's

10. 3mm dia na bola ng bakal.

Karamihan sa mga bahagi na ginamit para sa proyekto ay naka-print sa 3D at ikinabit ko ang stl. mga file na handa na para sa pagpi-print.

Ipunin ang lahat ng mga bahagi tulad ng ipinakita sa mga numero. Ang maze ay mainit na nakadikit sa pabilog na platform upang magmukha sa larawan. Ang tatlong servos ay dapat na mainit na nakadikit sa naka-print na batayang 3D na naka-mount sa takip ng kahon. Naglalaman ang kahon ng Arduino UNO at Breadboard na binuo tulad ng ipinakita sa pigura. Tatalakayin ang pag-setup ng breadboard sa susunod na hakbang.

Pagkatapos ng pagpupulong, ang panghuling prototype ay dapat magmukhang sa huling larawan.

Hakbang 2: Pag-set up ng Breadboard

Pag-setup ng Breadboard
Pag-setup ng Breadboard
Pag-setup ng Breadboard
Pag-setup ng Breadboard
Pag-setup ng Breadboard
Pag-setup ng Breadboard

Pagkatapos ng pagpupulong, ang Arduino, sensor ng Accelerometer, servos ay konektado tulad ng inilarawan sa mga sumusunod.

Ang positibo at negatibong daang-bakal sa breadboard ay konektado sa 5V at GND ng Arduino ayon sa pagkakabanggit. Ang sensor ay konektado sa Arduino gamit ang mga wire na kalahating metro na kung saan ay dapat na solder sa sensor tulad ng mga VCC at GND na pin ng sensor upang maiugnay sa + ve at -ve rails sa breadboard ayon sa pagkakabanggit. Ang mga pin ng SCL at SDA ng sensor upang maiugnay sa A5 at A4 analog na mga pin ng Arduino. Ang mga PWM na pin ng tatlong servos ay konektado sa 2, 3, 4 na mga pin ng Arduino ayon sa pagkakabanggit at ang mga ve ve at -ve na pin ng lahat ng mga servo ay konektado sa + ve at -ve rails ng breadboard. kasama nito, tapos na ang aming mga koneksyon.

Hakbang 3: Code para sa Proyekto

maaari mong i-download ang mga aklatan ng MPU6050 at Servo mula sa internet at gamitin ito para sa proyekto. Tipunin at i-upload ang sumusunod na code sa Arduino at handa na ang proyekto. Ikiling ang sensor at makikita mo ang pagkiling ng maze sa parehong direksyon! Ito ay tumatagal ng ilang oras upang malutas ang puzzle dahil ito ay isang maliit na mapaghamong ngunit ito masaya upang i-play.

# isama

# isama

# isama

Servo Servo1;

Servo Servo2;

Servo Servo3;

Sensor ng MPU6050;

int servoPos1 = 90;

int servoPos2 = 90;

int servoPos3 = 90;

int16_t ax, ay, az;

int16_t gx, gy, gz;

walang bisa ang pag-setup ()

{

Servo1.attach (2);

Servo2.attach (3);

Servo3.attach (4);

Wire.begin ();

Serial.begin (9600);

}

walang bisa loop ()

{

sensor.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);

palakol = mapa (palakol, -17000, 17000, 0, 180);

ay = mapa (ay, -17000, 17000, 0, 180);

Serial.print ("ax =");

Serial.print (palakol);

Serial.print ("ay =");

Serial.println (ay);

kung (palakol <80 && ay <80) {

Servo1.write (servoPos1 ++);

Servo2.write (servoPos2--);

Servo3.write (servoPos3--); }

kung (palakol 120) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2 ++);

Servo3.write (servoPos3--); }

kung (palakol> 120 && ay> 0) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2--);

Servo3.write (servoPos3 ++); }

kung (palakol == 90 && ay == 90) {

Servo1.write (0);

Servo2.write (0);

Servo3.write (0);

}

}

Inirerekumendang: