Оглавление:

Финал класса «Сделай сам» Отто: 4 шага
Финал класса «Сделай сам» Отто: 4 шага

Видео: Финал класса «Сделай сам» Отто: 4 шага

Видео: Финал класса «Сделай сам» Отто: 4 шага
Видео: Несносный КРАСНЫЙ ШАР против чёрного квадрата #10. Подземные ходы. Мультик Red Ball 4 на Игрули TV 2024, Июль
Anonim
Отто DIY Класс Финал
Отто DIY Класс Финал

Этот проект стал возможным благодаря Отто и Афинскому техническому колледжу.

Для начала вы должны сначала приобрести комплект по адресу:

Затем следуйте инструкциям на странице:

Шаг 1: Шаг первый: соберите робота согласно инструкциям

Шаг первый: соберите робота по инструкции
Шаг первый: соберите робота по инструкции
Шаг первый: соберите робота по инструкции
Шаг первый: соберите робота по инструкции

wikifactory.com/+OttoDIY/otto-diy

На этом веб-сайте вы найдете инструкции по сборке и код для вашего робота Otto.

Как видите, я смешал и подобрал разные детали и цвета и использовал портативный зарядный блок для питания вместо рекомендуемых 4 батареек AA.

Мой динамик установлен на передней панели для удобства прослушивания, а с правой стороны прикреплен меч для украшения.

Шаг 2: Шаг второй: подключи и код

Шаг второй: подключи и код
Шаг второй: подключи и код

После того, как ваш робот будет собран, загрузите Arduino IDE на свой компьютер и подключите своего робота.

На этом этапе у вас должны быть загружены файлы Otto. Экспортируйте их прямо в папку с библиотеками Arduino.

Это позволит вам использовать код, который вам дал Отто.

Шаг 3. Шаг третий: завершите кодирование

Шаг третий: завершите кодирование
Шаг третий: завершите кодирование

Как только ваши библиотеки будут извлечены, вам нужно будет войти в Arduino IDE и убедиться, что ваши загрузчики обновлены.

Установите плату на Arduino Nano, на процессор - на ATmega328P (старый загрузчик), а на COM - на тот порт, к которому вы подключили своего робота.

Когда этот шаг будет выполнен и ваш код будет готов, нажмите кнопку загрузки в верхнем левом углу программы, чтобы загрузить код в своего робота.

Шаг 4: Шаг четвертый: смотреть

Наблюдайте за больными движениями вашего робота и пением наркомана.

В зависимости от того, какой код вы использовали, вы можете заставить своего робота петь, танцевать или избегать препятствий.

Этот проект был написан с использованием кода избегания:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Образец эскиза Otto_avoid // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- // - Версия прошивки приложения Otto DIY PLUS 9 (V9) // - Otto DIY инвестирует время и ресурсы, предоставляя открытый исходный код и оборудование, пожалуйста, поддержите, покупая комплекты на (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- // - Если вы хотите использовать это программное обеспечение в рамках лицензирования с открытым исходным кодом, вы должны предоставить весь свой исходный код сообществу, и весь приведенный выше текст должен быть включен в любое распространение // - в соответствии с GPL версии 2 когда ваше приложение распространяется. См. Http://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include // - Библиотека Отто версии 9 Otto9 Otto; // Это Отто!

//---------------------------------------------------------

// - Первый шаг: настройте контакты, к которым прикреплены сервоприводы / * --------------- | O O | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | * / // ПИН-коды СЕРВО //////////////////////////////////////////// ////////////////////////////////// #define PIN_YL 2 // servo [0] left leg #define PIN_YR 3 // серво [1] правая нога #define PIN_RL 4 // серво [2] левая нога #define PIN_RR 5 // серво [3] правая нога // УЛЬТРАЗВУКОВЫЕ ПИНы ////////////// ////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN /////////////// ////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // Штырь ЗУММЕРА (13) // ШТИФТ СБОРКИ СЕРВОПРИВОДА /////////////////////// ////////////////////////////////////////////////// // для помощи в сборке ступней и ног Отто - перемычка между контактом 7 и GND #define PIN_ASSEMBLY 7 // СБОРКА контакт (7) LOW = сборка HIGH = нормальная работа ///////////////// ////////////////////////////////////////////////// // - Глобальные переменные ------------------------------------------- / / ///////////////////////////////////////////////// ////////////////// int расстояние; // переменная для хранения расстояния, считанного с модуля ультразвукового дальномера boolruptleDetected = false; // логическое состояние, когда обнаруженный объект находится на заданном нами расстоянии //////////////////////////////////// /////////////////////////////// //-- Настраивать -------------- ---------------------------------------- // //////// ////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Устанавливаем выводы сервопривода и ультразвуковые выводы, а также вывод звукового сигнала pinMode (PIN_ASSEMBLY, INPUT_PULLUP); // - Простой монтажный штифт - LOW - это режим сборки // Otto wake up! Otto.sing (S_connection); // Отто издает звук Otto.home (); // Отто переходит в позицию готовности delay (500); // ждем 500 миллисекунд, чтобы позволить Отто остановиться, // если на контакте 7 низкий уровень, затем переведите сервоприводы OTTO в исходный режим, чтобы облегчить сборку, // когда вы закончите сборку Отто, удалите связь между контактом 7 и GND while (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Отто переходит в позицию готовности Otto.sing (S_happy_short); // поем каждые 5 секунд, чтобы мы знали, что OTTO все еще работает delay (5000); // ждем 5 секунд}

}

////////////////////////////////////////////////// ///////////////// // - Главный цикл --------------------------- ------------------ // ////////////////////////////// ///////////////////////////////////// void loop () {if (preventleDetected) {// if есть объект ближе, чем на 15 см, делаем следующий Otto.sing (S_surprise); // озвучить сюрприз Otto.jump (5, 500); // Отто прыгает на Otto.sing (S_cuddly); // звук а // Отто делает три шага назад for (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // трижды повторить команду перехода назад delay (500); // небольшая задержка в 1/2 секунды, чтобы Отто успокоился // Отто поворачивает налево на 3 шага для (int i = 0; i <3; i ++) {// повторить трижды Otto.turn (1, 1000, 1); // команда прогулки влево delay (500); // небольшая задержка в 1/2 секунды, чтобы Отто успокоился}} else {// если впереди ничего нет, то идти вперед Otto.walk (1, 1000, 1); // Отто идёт прямо против препятствий (); // вызываем функцию для проверки ультразвукового дальномера на предмет ближе, чем 15 см}} /////////////////////////////// //////////////////////////////////// // - Функции --------- ----------------------------------------- // /////// ////////////////////////////////////////////////// /////////

/ - Функция чтения датчика расстояния и актуализации переменной, обнаруженной препятствием.

недействительным препятствиемDetector () {int distance = Otto.getDistance (); // получить расстояние от ультразвукового дальномера if (distance <15)ruptleDetected = true; // проверяем, не ближе ли это расстояние, чем 15 см, true, если это не так, damageleDetected = false; // false, если нет}

Рекомендуемые: