Оглавление:
Видео: Как сделать умного робота с помощью Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Привет,
Я производитель Arduino, и в этом уроке я покажу вам, как сделать умного робота с помощью Arduino.
Если вам понравился мой учебник, подумайте о поддержке моего канала на YouTube под названием Arduino maker
Запасы
ЧТО ВАМ НУЖНО:
1) arduino uno (ардуино уно)
2) ультразвуковой датчик
3) Бо мотор
4) колеса
5) палочки от мороженого
6) батарея 9в
Шаг 1: ПОДКЛЮЧЕНИЯ
После получения всех расходных материалов вы должны начать подключать все в соответствии со схемой, приведенной выше.
Шаг 2: КЛЕЙ ВСЕ КОМПОНЕНТЫ НА МЕСТЕ
ОК,
теперь соедините все вещи на месте, как показано на картинке выше
Шаг 3: ПРОГРАММИРОВАНИЕ
Теперь,
начните программировать плату с приведенным ниже кодом
// ПРЕПЯТСТВИЕ ARDUINO ИЗБЕЖАНИЕ МАШИНЫ //// Перед загрузкой кода необходимо установить необходимую библиотеку // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // Библиотека NewPing https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // Чтобы установить библиотеки, перейдите в эскиз >> Включить Библиотека >> Добавить файл. ZIP >> Выберите загруженные ZIP-файлы по ссылкам выше //
#включают
#включают
#включают
#define TRIG_PIN A0
#define ECHO_PIN A1 #define MAX_DISTANCE 200
#define MAX_SPEED 150 // устанавливает скорость двигателей постоянного тока
#define MAX_SPEED_OFFSET 20
Эхолот NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ);
// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Сервомашина;
логическое goForward = false;
int distance = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); задержка (1000); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); }
void loop () {
int distanceR = 0; int distanceL = 0; задержка (40); если (расстояние <= 15) {moveStop (); задержка (100); двигаться назад(); задержка (300); moveStop (); задержка (200); distanceR = lookRight (); задержка (300); distanceL = lookLeft (); задержка (300);
если (расстояниеR> = расстояниеL)
{ Поверните направо(); moveStop (); } еще {turnLeft (); moveStop (); }} еще {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 (); если (см == 0) {см = 250; } return cm; }
void moveStop () {
motor1.run (РЕЛИЗ); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (РЕЛИЗ); } void moveForward () {
если (! идет вперед)
{goForward = true; motor1.run (ВПЕРЕД); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ВПЕРЕД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // медленно увеличивайте скорость, чтобы не разряжать батареи слишком быстро {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (набор скорости); задержка (5); }}}
void moveBackward () {
goForward = false; motor1.run (НАЗАД); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (НАЗАД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // медленно увеличивайте скорость, чтобы не разряжать батареи слишком быстро {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (набор скорости); задержка (5); }}
void turnRight () {
motor1.run (НАЗАД); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (ВПЕРЕД); задержка (350); motor1.run (ВПЕРЕД); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ВПЕРЕД); } void turnLeft () {motor1.run (ВПЕРЕД); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (НАЗАД); задержка (350); motor1.run (ВПЕРЕД); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (ВПЕРЕД); }
Рекомендуемые:
Сделай сам -- Как сделать робота-паука, которым можно управлять с помощью смартфона с помощью Arduino Uno: 6 шагов
Сделай сам || Как сделать робота-паука, которым можно управлять с помощью смартфона с помощью Arduino Uno: Создавая робота-паука, можно многое узнать о робототехнике. Например, создание роботов - это не только увлекательно, но и сложно. В этом видео мы покажем вам, как сделать робота-паука, которым мы можем управлять с помощью нашего смартфона (Androi
Как сделать дома робота для управления жестами Arduino своими руками: 4 шага
Как сделать DIY-робот для управления жестами Arduino дома: Как сделать DIY-робот для управления жестами Arduino дома. В этом проекте я покажу вам, как сделать робота для управления жестами Arduino своими руками
Как сделать робота, следующего за человеком, с помощью Arduino: 3 шага
Как заставить человека следовать за роботом с помощью Arduino: человек следует за роботом и следует за человеком
Как сделать дрон с помощью Arduino UNO - Сделать квадрокоптер с помощью микроконтроллера: 8 шагов (с картинками)
Как сделать дрон с помощью Arduino UNO | Сделать квадрокоптер с помощью микроконтроллера: ВведениеПосетите мой канал на Youtube Дрон - очень дорогой гаджет (продукт) для покупки. В этом посте я собираюсь обсудить, как я могу сделать это дешево ?? И как вы можете сделать это своими руками по дешевой цене … Ну, в Индии все материалы (моторы, регуляторы
[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
[Робот Arduino] Как сделать робота захвата движения | Большой палец руки робота | Серводвигатель | Исходный код: Thumbs Robot. Использовал потенциометр серводвигателя MG90S. Это очень весело и просто! Код очень простой. Это всего около 30 строк. Это похоже на захват движения. Пожалуйста, оставьте любой вопрос или отзыв! [Инструкция] Исходный код https: //github.c