فهرست مطالب:

نحوه ساخت یک ربات هوشمند با استفاده از آردوینو: 4 مرحله
نحوه ساخت یک ربات هوشمند با استفاده از آردوینو: 4 مرحله

تصویری: نحوه ساخت یک ربات هوشمند با استفاده از آردوینو: 4 مرحله

تصویری: نحوه ساخت یک ربات هوشمند با استفاده از آردوینو: 4 مرحله
تصویری: Light Following Robot with Arduino | ساخت ربات تعقیب کننده نور با آردوینو 2024, نوامبر
Anonim
Image
Image

سلام،

من سازنده آردوینو هستم و در این آموزش قصد دارم نحوه ساخت ربات هوشمند با استفاده از آردوینو را به شما نشان دهم

اگر از آموزش من خوشتان آمد ، از کانال یوتیوب من به نام سازنده آردوینو حمایت کنید

تدارکات

مواردی که باید به آنها احتیاج داشته باشید:

1) arduino uno

2) سنسور اولتراسونیک

3) موتور بو

4) چرخ

5) چوب بستنی

6) باتری 9 ولت

مرحله 1: اتصالات

چسباندن همه اجزاء در محل
چسباندن همه اجزاء در محل

پس از دریافت همه منابع ، باید همه چیز را مطابق نمودار مدرک بالا شروع کنید

مرحله 2: همه اجزاء را در محل بچسبانید

خوب،

اکنون همه چیز را همانطور که در تصویر بالا نشان داده شده در محل خود وصل کنید

مرحله 3: برنامه ریزی

اکنون،

شروع به برنامه نویسی برد با کد داده شده در زیر کنید

// ARDUINO OBSTACLE AVOIDING CAR //// قبل از بارگذاری کد باید کتابخانه لازم را نصب کنید // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // کتابخانه NewPing https://github.com/livetronic/Arduino-NewPing// // کتابخانه سرو https://github.com/arduino-libraries/Servo.git // // برای نصب کتابخانه ها به طرح بروید >> شامل کتابخانه >> افزودن فایل. ZIP >> انتخاب فایلهای ZIP بارگیری شده از پیوندهای بالا //

#عبارتند از

#عبارتند از

#عبارتند از

#تعریف TRIG_PIN A0

#ECHO_PIN A1 #تعریف کنید MAX_DISTANCE 200

#MAX_SPEED 150 را تعریف کنید // سرعت موتورهای DC را تنظیم می کند

#MAX_SPEED_OFFSET 20 تعریف کنید

سونار NewPing (TRIG_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛

AF_DC موتور موتور 1 (1 ، MOTOR12_1KHZ) ؛

// موتور AF_DC موتور 2 (2 ، MOTOR12_1KHZ) ؛ // موتور AF_DC موتور 3 (3 ، MOTOR34_1KHZ) ؛ موتور AF_DC موتور 4 (4 ، MOTOR34_1KHZ) ؛ Servo myservo؛

boolean goingForward = false؛

int فاصله = 100 ؛ int speedSet = 0؛

void setup () {

myservo.attach (10)؛

myservo.write (115)؛ تاخیر (1000) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ فاصله = readPing ()؛ تأخیر (100) ؛ }

حلقه خالی () {

int distanceR = 0 ؛ int فاصله L = 0 ؛ تأخیر (40) ؛ if (فاصله <= 15) {moveStop ()؛ تأخیر (100) ؛ moveBackward ()؛ تأخیر (300) ؛ moveStop ()؛ تأخیر (200) ؛ distanceR = lookRight ()؛ تأخیر (300) ؛ distanceL = lookLeft ()؛ تأخیر (300) ؛

if (distanceR> = distanceL)

{ بپیچ به راست()؛ moveStop ()؛ } else {turnLeft ()؛ moveStop ()؛ }} else {moveForward ()؛ } distance = readPing ()؛ }

int lookRight ()

{myservo.write (50)؛ تاخیر (650) ؛ int distance = readPing ()؛ تأخیر (100) ؛ myservo.write (115)؛ فاصله بازگشت ؛ }

int lookLeft ()

{myservo.write (170)؛ تاخیر (650) ؛ int distance = readPing ()؛ تأخیر (100) ؛ myservo.write (115)؛ فاصله بازگشت ؛ تأخیر (100) ؛ }

int readPing () {

تأخیر (70) ؛ int cm = sonar.ping_cm ()؛ اگر (cm == 0) {cm = 250؛ } بازگشت cm؛ }

void moveStop () {

motor1.run (انتشار) ؛ //motor2.run(RELEASE) ؛ //motor3.run(RELEASE)؛ motor4.run (انتشار) ؛ } void moveForward () {

اگر (! پیش می رود)

{goForward = true؛ motor1.run (FORWARD)؛ //motor2.run(FORWARD) ؛ //motor3.run(FORWARD) ؛ motor4.run (FORWARD)؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet += 2) // به آرامی سرعت را بالا ببرید تا از بارگیری سریع باتری جلوگیری شود {motor1.setSpeed (speedSet) ؛ //motor2.setSpeed(speedSet) ؛ //motor3.setSpeed(speedSet) ؛ motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ }}}

void moveBackward () {

goForward = false؛ motor1.run (BACKWARD) ؛ //motor2.run(BACKWARD) ؛ //motor3.run(BACKWARD) ؛ motor4.run (BACKWARD) ؛ برای (speedSet = 0 ؛ speedSet <MAX_SPEED ؛ speedSet += 2) // به آرامی سرعت را بالا ببرید تا از بارگیری سریع باتری جلوگیری شود {motor1.setSpeed (speedSet) ؛ //motor2.setSpeed(speedSet) ؛ //motor3.setSpeed(speedSet) ؛ motor4.setSpeed (speedSet) ؛ تأخیر (5) ؛ }}

void turnRight () {

motor1.run (BACKWARD) ؛ //motor2.run(BACKWARD) ؛ //motor3.run(FORWARD) ؛ motor4.run (FORWARD)؛ تأخیر (350) ؛ motor1.run (FORWARD)؛ //motor2.run(FORWARD) ؛ //motor3.run(FORWARD) ؛ motor4.run (FORWARD)؛ } void turnLeft () {motor1.run (FORWARD)؛ //motor2.run(FORWARD) ؛ //motor3.run(BACKWARD) ؛ motor4.run (BACKWARD) ؛ تأخیر (350) ؛ motor1.run (FORWARD)؛ //motor2.run(FORWARD) ؛ //motor3.run(FORWARD) ؛ motor4.run (FORWARD)؛ }

توصیه شده: