![Arduino Mini Robot: 7 ขั้นตอน Arduino Mini Robot: 7 ขั้นตอน](https://img.gwsigeps.com/img/img/blank.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: อะไหล่
- ขั้นตอนที่ 2: Motor H Bridge
- ขั้นตอนที่ 3: บลูทู ธ
- ขั้นตอนที่ 4: Android
- ขั้นตอนที่ 5: รหัส
- ขั้นตอนที่ 6: รหัส 2
- ขั้นตอนที่ 7: กล้อง
ทุกคนเล่นเกมเคลื่อนไหวบนมือถือเคยสงสัยว่ามันจะเป็นอย่างไรในการควบคุมสิ่งต่างๆโดยใช้การควบคุมการเคลื่อนไหว ในคำสั่งนี้ฉันจะแสดงวิธีสร้างหุ่นยนต์ควบคุมการเคลื่อนไหวของหุ่นยนต์ที่ส่งวิดีโอผ่าน 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