Arduino Mini Robot: 7 ขั้นตอน

Arduino Mini Robot: 7 ขั้นตอน

สารบัญ:

Anonim

ทุกคนเล่นเกมเคลื่อนไหวบนมือถือเคยสงสัยว่ามันจะเป็นอย่างไรในการควบคุมสิ่งต่างๆโดยใช้การควบคุมการเคลื่อนไหว ในคำสั่งนี้ฉันจะแสดงวิธีสร้างหุ่นยนต์ควบคุมการเคลื่อนไหวของหุ่นยนต์ที่ส่งวิดีโอผ่าน wifi หรือผ่าน VHF หุ่นยนต์นี้สามารถควบคุมได้ผ่านพีซีหรือแล็ปท็อป

หากคุณชอบโหวตโครงการของฉันให้ฉันในการแข่งขัน

วัสดุ:

ขั้นตอนที่ 1: อะไหล่

1) Arduino uno

2) โมดูล blutooth ราคาถูกจากอีเบย์

3) ชุดมอเตอร์เกียร์

4) ชุดล้อ

5) กล้อง Wifi หรือกล้องเว็บ

6) L293

7) 6 โวลต์แบตเตอรี่แบบชาร์จไฟ

8) แบตเตอรี่ 9v

9) PCB

ขั้นตอนที่ 2: Motor H Bridge

สำหรับคนขับมอเตอร์ฉันทำโล่ของตัวเองโดยใช้ l293 IC l293 IC เป็นสะพานไอซีคู่ h และทำงานได้ถึงเอาต์พุตของ 9v สำหรับการโหลดที่มากขึ้นให้ใช้ lm 298 IC เอาต์พุต 1 & 2 ไปที่มอเตอร์ด้านขวาและเอาต์พุต 3 & 4 ไปที่มอเตอร์ด้านซ้าย

Pins

อินพุต 1 ถึง arduino 2

อินพุต 2 ถึง arduino 4

อินพุต 3 ถึง arduino 5

อินพุต 4 ถึง arduino 7

ชิปยับยั้งการ arduino 3

ชิปยับยั้งการ arduino 6

vss ถึง arduino 5v

vc ถึง + ของแบตเตอรี่ 6v

เชื่อมต่อบริเวณด้วยกัน และเชื่อมต่อกราวด์หนึ่งเข้ากับอาร์ดิโนและอีกอันเข้ากับ - 6v แบตเตอรี่ ประสาน IC เข้ากับ PCB และเพิ่มพินที่ส่วนท้ายตรวจสอบให้แน่ใจว่าพินเข้าสู่ Arduino โดยไม่ทำให้เสียหาย

ขั้นตอนที่ 3: บลูทู ธ

ทุกคนเล่นเกมเคลื่อนไหวบนมือถือเคยสงสัยว่ามันจะเป็นอย่างไรในการควบคุมสิ่งต่างๆโดยใช้การควบคุมการเคลื่อนไหว ในคำสั่งนี้ฉันจะแสดงวิธีสร้างหุ่นยนต์ควบคุมการเคลื่อนไหวของหุ่นยนต์ที่ส่งวิดีโอผ่าน wifi หรือผ่าน VHF หุ่นยนต์นี้สามารถควบคุมได้ผ่านพีซีหรือแล็ปท็อป

หากคุณชอบโหวตโครงการของฉันให้ฉันในการแข่งขัน

ขั้นตอนที่ 4: Android

สำหรับการสื่อสารระหว่าง android และ arduino เราใช้แอพชื่อ amarino สิ่งนี้จะสร้างเครือข่ายไร้สาย

ดาวน์โหลด -

ปลั๊กอิน -

ต่อไปนี้เป็นขั้นตอนสำหรับ

ดาวน์โหลด Amarino

การใช้งาน: -

ดาวน์โหลดแอปพลิเคชัน Amarino และปลั๊กอิน Amarino

บนคอมพิวเตอร์ของคุณ

คัดลอกแอป Amarino และ

ปลั๊กอิน Amarino สำหรับ Android

การ์ด SD ของโทรศัพท์

ติดตั้งแอพ Amarino และ

ปลั๊กอิน Amarino บน Android

โทรศัพท์.

เปิดหุ่นยนต์บลูทู ธ

บนโทรศัพท์ Android ไปที่

"การตั้งค่า -> ไร้สายและ

เครือข่าย -> การตั้งค่าบลูทู ธ"

เปิดบลูทู ธ แล้วค้นหา

สำหรับโมดูลบลูทู ธ ของคุณ ครั้งหนึ่ง

โมดูลบลูทู ธ คือ

ค้นพบจับคู่กับมัน แต่ทำไม่ได้

เชื่อมต่อกับมัน

เปิดแอพ Amarino บน

โทรศัพท์ Android คลิกที่ "เพิ่ม

ปุ่ม BT Device "เลือกปุ่ม

โมดูลบลูทู ธ จากรายการ

อุปกรณ์

โมดูลบลูทู ธ ของคุณตอนนี้

ปรากฏบน Amarino

หน้าจอหลัก.

เลือกปุ่มไฟล์สีแดงถัดจาก

ชื่อโมดูลบลูทู ธ

เลือกปุ่ม "เพิ่มกิจกรรม"

และเลือก "Accelerometer

ตัวเลือกเซ็นเซอร์"

คุณเสร็จสิ้นการติดตั้งแล้ว

ส่วนซอฟต์แวร์บน Android

โทรศัพท์

ขั้นตอนที่ 5: รหัส

สำหรับรหัส a rduino

#include

const int EnablePin1 = 3;

const int EnablePin2 = 6;

const int Motor_1_A = 2;

const int Motor_1_B = 4;

const int Motor_2_A = 5;

const int Motor_2_B = 7;

ข้อมูลลอยตัว 3 = {0};

int intdata 3 = {0};

int i = 1;

MeetAndroid meetAndroid (ข้อผิดพลาด);

ข้อผิดพลาดเป็นโมฆะ (ธง uint8_t, uint8_t

ค่า)

{

Serial.print ("ข้อผิดพลาด:");

Serial.print (ธง);

}

การตั้งค่าเป็นโมฆะ ()

Serial.begin (9600);

Serial.println (" t t

t.----------------------. ");

Serial.println (" t t t

เป็นโมฆะห่วง ()

{

meetAndroid.receive ();

}

เป็นโมฆะ floatValues ​​(ธงไบต์ไบต์

numOfValues)

{

meetAndroid.getFloatValues

(ข้อมูล);

สำหรับ (int i = 0; i <3; i ++)

{

meetAndroid.send (ข้อมูล ผม);

}

ถ้า (-10 <= data 0 <= 10) //

นี่คือสำหรับไปข้างหน้า / ย้อนกลับ

{

intdata 0 = int (data 0);

intdata 0 = intdata 0 * 24;

ถ้า (data 0 <= -2)

{

intdata 0 = abs (intdata

0);

digitalWrite (Motor_1_A, สูง);

digitalWrite (Motor_2_A, สูง);

digitalWrite (Motor_1_B, ต่ำ);

digitalWrite (Motor_2_B, ต่ำ);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (data 0> = 2)

{

digitalWrite (Motor_1_A, ต่ำ);

digitalWrite (Motor_2_A, ต่ำ);

digitalWrite (Motor_1_B, สูง);

digitalWrite (Motor_2_B, สูง);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (-1 <= data 0 <= 1)

{

digitalWrite (Motor_1_A, ต่ำ);

digitalWrite (Motor_2_A, ต่ำ);

digitalWrite (Motor_1_B, ต่ำ);

digitalWrite (Motor_2_B, ต่ำ);

digitalWrite (EnablePin1, ต่ำ);

digitalWrite (EnablePin2, ต่ำ);

}

}

ถ้า (-10 <= data 1 <= 10) //

นี่สำหรับเลี้ยวซ้าย / เลี้ยวขวา

{

ถ้า (data 1 <= -2)

{

digitalWrite

(Motor_1_A, สูง);

digitalWrite

(Motor_2_B, สูง);

digitalWrite

(Motor_1_B, LOW);

digitalWrite

(Motor_2_A, LOW);

analogWrite

(EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (data 1> = 2)

{

digitalWrite

(Motor_1_A, LOW);

digitalWrite

(Motor_2_B, LOW);

digitalWrite

(Motor_1_B, สูง);

digitalWrite

(Motor_2_A, HIGH);

analogWrite

(EnablePin1, intdata 0);

analogWrite

(EnablePin2, intdata 0);

}

ถ้าอื่น (-1 <= data 1 <= 1)

{

digitalWrite

(Motor_1_A, LOW);

digitalWrite

(Motor_2_A, LOW);

digitalWrite

(Motor_1_B, LOW);

digitalWrite

(Motor_2_B, LOW);

digitalWrite

(EnablePin1, LOW);

digitalWrite

(EnablePin2, LOW);

}

}

}

ขั้นตอนที่ 6: รหัส 2

สำหรับรหัส a rduino

#include

const int EnablePin1 = 3;

const int EnablePin2 = 6;

const int Motor_1_A = 2;

const int Motor_1_B = 4;

const int Motor_2_A = 5;

const int Motor_2_B = 7;

ข้อมูลลอยตัว 3 = {0};

int intdata 3 = {0};

int i = 1;

MeetAndroid meetAndroid (ข้อผิดพลาด);

ข้อผิดพลาดเป็นโมฆะ (ธง uint8_t, uint8_t

ค่า)

{

Serial.print ("ข้อผิดพลาด:");

Serial.print (ธง);

}

การติดตั้งเป็นโมฆะ () ");

Serial.println (" t t

t '----------------------' ");

pinMode (EnablePin1, OUTPUT);

pinMode (EnablePin2, OUTPUT);

pinMode (Motor_1_A, OUTPUT);

pinMode (Motor_1_B, OUTPUT);

pinMode (Motor_2_A, OUTPUT);

pinMode (Motor_2_B, OUTPUT);

ล่าช้า (1000)

meetAndroid.registerFunction

(floatValues, 'A');

เป็นโมฆะห่วง ()

{

meetAndroid.receive ();

}

เป็นโมฆะ floatValues ​​(ธงไบต์ไบต์

numOfValues)

{

meetAndroid.getFloatValues

(ข้อมูล);

สำหรับ (int i = 0; i <3; i ++)

{

meetAndroid.send (ข้อมูล ผม);

}

ถ้า (-10 <= data 0 <= 10) //

นี่คือสำหรับไปข้างหน้า / ย้อนกลับ

{

intdata 0 = int (data 0);

intdata 0 = intdata 0 * 24;

ถ้า (data 0 <= -2)

{

intdata 0 = abs (intdata

0);

digitalWrite (Motor_1_A, สูง);

digitalWrite (Motor_2_A, สูง);

digitalWrite (Motor_1_B, ต่ำ);

digitalWrite (Motor_2_B, ต่ำ);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (data 0> = 2)

{

digitalWrite (Motor_1_A, ต่ำ);

digitalWrite (Motor_2_A, ต่ำ);

digitalWrite (Motor_1_B, สูง);

digitalWrite (Motor_2_B, สูง);

analogWrite (EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (-1 <= data 0 <= 1)

{

digitalWrite (Motor_1_A, ต่ำ);

digitalWrite (Motor_2_A, ต่ำ);

digitalWrite (Motor_1_B, ต่ำ);

digitalWrite (Motor_2_B, ต่ำ);

digitalWrite (EnablePin1, ต่ำ);

digitalWrite (EnablePin2, ต่ำ);

}

}

ถ้า (-10 <= data 1 <= 10) //

นี่สำหรับเลี้ยวซ้าย / เลี้ยวขวา

{

ถ้า (data 1 <= -2)

{

digitalWrite

(Motor_1_A, สูง);

digitalWrite

(Motor_2_B, สูง);

digitalWrite

(Motor_1_B, LOW);

digitalWrite

(Motor_2_A, LOW);

analogWrite

(EnablePin1, intdata 0);

analogWrite (EnablePin2, intdata 0);

}

อื่นถ้า (data 1> = 2)

{

digitalWrite

(Motor_1_A, LOW);

digitalWrite

(Motor_2_B, LOW);

digitalWrite

(Motor_1_B, สูง);

digitalWrite

(Motor_2_A, HIGH);

analogWrite

(EnablePin1, intdata 0);

analogWrite

(EnablePin2, intdata 0);

}

ถ้าอื่น (-1 <= data 1 <= 1)

{

digitalWrite

(Motor_1_A, LOW);

digitalWrite

(Motor_2_A, LOW);

digitalWrite

(Motor_1_B, LOW);

digitalWrite

(Motor_2_B, LOW);

digitalWrite

(EnablePin1, LOW);

digitalWrite

(EnablePin2, LOW);

}

}

}

ขั้นตอนที่ 7: กล้อง

คุณสามารถใช้กล้อง wifi จาก ebay หรือซื้อเว็บแคมราคาถูกจากอินเทอร์เน็ตจากนั้นสร้างวงจร vhf หากคุณใช้กล้องไอพีให้ใช้แล็ปท็อป wifi แล้วค้นหาหรือป้อนไอพีที่ระบุไว้ในคู่มือ

ในการดูกล้องบน Android ของคุณดาวน์โหลดจอภาพเล็ก ๆ จาก play store