Ничего не найдено :(

    Робот-копилка

    Alchemist

    Приветствую всех ардуинофилов и ардуинофобов. Представляем вашему вниманию робокопилку. Проект подходит для сборки начинающим разработчикам при условии, что у вас есть паяльник, 3д-принтер и большой адронный коллайдер. В роботе применен всего один сервопривод, датчик расстояния и контроллер arduino pro mini.

    Робот-копилка


    Для сборки проекта понадобится:
    Arduino pro mini
    Ультразвуковой дальномер HC-SR04
    Сервопривод SG90 или аналогичный
    Блок питания 5V
    Корпус напечатанный на 3D-принтере
    Светодиод и резистор 220 Ом (по желанию)

    Схема

    Вместо Arduino Uno (на схеме) нужно использовать Arduino Pro Mini. Компактная плата легко умещается в голове робота, на то она и mini.

    Детали для печати корпуса на 3д-принтере лежат на thingiverse.


    Ниже пример базового кода для загрузки в контроллер. При желании можете улучшить его и поделиться своим вариантом.
    // Пины для подключения дальномера, светодиода, сервопривода//
    #define trigPin 9   //
    #define echoPin 8   //
    #define led 10      //
    #define servopin 7  //
    
    //основные параметры
    #define chewing 4   // Сколько раз пережёвываем проглоченное
    #define blizost 10  // Расстояние, до которого будет реагировать датчик (в сантиметрах)
    
    //состояния открытия рта. Всего их три: закрыт, открыт, приоткрыт. 
    //Настраиваются индивидуально под каждый сервопривод (значения от 0 до 180 градусов).
    #define mouthClose 90 // Рот закрыт
    #define mouthOpen 30  // Рот открыт
    #define mouthAjar 70  // Рот приоткрыт
    
    #include <Servo.h>    // Подключаем библиотеку сервопривода
    Servo Sergo;        
    
    void setup() {
      Serial.begin(9600);      //Инициализируем последовательный порт чтобы выводить в него расстояния определенное датчиком
      
      pinMode(trigPin, OUTPUT); //
      pinMode(echoPin, INPUT);
    
      Sergo.attach(servopin);   // в скобках номера пина к которому подключен сервопривод
      sleep();                  // установим сервопривод в исходное положение, т.е. рот закрыт
    }
    
    void loop() {
      int duration, distance;
      digitalWrite(trigPin, LOW);     // Для большей точности установим значение LOW на пине Trig
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);    // Теперь установим высокий уровень на пине Trig
      delayMicroseconds(10);          
      digitalWrite(trigPin, LOW);
      duration = pulseIn(echoPin, HIGH); // Узнаем длительность высокого сигнала на пине Echo
      //Переводим скорость звука из 343 м/с в см/мкс: s = duration/29
      //Поскольку расстояние пройдено дважды, то s = duration / (29*2)
    
      distance = duration / 58;       // Рассчитываем расстояние в сантиметрах
      Serial.print(distance);         // Выведем значение в Serial Monitor
      Serial.println(" cm");
    
      if (distance < blizost) {       // Если расстояние до предмета меньше заданного, то проглатываем
        om_nom_nom();
        digitalWrite(led, HIGH);
      }
      delay(100);
    }
    
    void om_nom_nom() {
      digitalWrite(led, HIGH);  // Зажигаем лампочкой
      Sergo.attach(servopin);   // Подключаем сервопривод
      delay(300);
    
      Sergo.write(mouthOpen);          // открываем рот и ждем пока предмет свалится в него
      delay(700);
    
      // жуем //
      for (int x = 0; x < chewing; x++) {
        Sergo.write(mouthAjar);
        delay(250);
        Sergo.write(mouthOpen);
        delay(250);
        Serial.println("nyam");
      }
      sleep();  //спим
    }
    
    void sleep(){
      Sergo.write(mouthClose);
      delay(250);
    
      Sergo.detach();         // отключаем питание сервопривода, иначе он будет жужжать
      digitalWrite(led, LOW); // гасим светодиод
    }


    И на прощание видеоролик с процессом создания робота.
    6 ответов

    Добавить комментарий

    Eig


    Собственно, робот-копилка давно уже придуман. Называется "Деревяка". Мне посчастливилось увидеть вживую этот результат работы человеческого разума – производит неизгладимое впечатление.

    VICTOR_ZH

    "Потому что рот - как у Саши Серой и очки - как у Собчак" ))))

    Красавцы.

    Korolev
    Alchemist,
    Контроллеры сегодня стоят как бутылка лимонада. Логично использовать их всюду от станков до игрушек-безделушек. Тем более в развлекательно-обучательных целях.

    Да я ж не всегда против, просто несколько грустно, что моё время ушло, и мы мыслим разными категориями, у нас были другие  игрушки.  yes 

    В конце ссылки на видео попробуйте убрать слэш "/*

    Спасибо, в следующий раз попробую.  yes 

    Dmitrij
    Korolev,


    вы вставляете не видео, а адрес сайта. А в целом все правильно

    «Марти! Думать нужно в четырех измерениях...»

    Мой YouTube https://www.youtube.com/channel/UCnmrWq3ZgXynuxHfrBXqNig
    Alchemist Автор
    Korolev,

    Контроллеры сегодня стоят как бутылка лимонада. Логично использовать их всюду от станков до игрушек-безделушек. Тем более в развлекательно-обучательных целях.


    P.S. В конце ссылки на видео попробуйте убрать слэш "/*

    Korolev

    Приветствую всех ардуинофилов и ардуинофобов

    И Вам не хворать. Вспомнилось, лет эдак 40 назад появилась заводная механическая игрушка-прикол в форме яблока. Кладёшь монетку на малюсенький шток, запускается механизм, открывается лючок, появляется манипулятор в форме червячка и сгребает монетку вовнутрь. Ну что-то типа этого:

    [media=https://www.sima-land.ru/331829/kopilka-mehanicheskaya-sobaka/]

    И никаких ардуинов, даже батарейка не нужна.  smile  Хотя конечно же, завидую белой завистью людям, освоившим и ARDUINO, и 3D-принтер, и много чего ещё. Но ведь были же и мы когда-то рысаками! А за логотип сайта на первом фото - отдельный лайк!  smile 

    P.S. Народ! Научите пожалуйста вставлять видео, а то первая попытка чё-то не сработала.  dontknow 

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние ответы

    Все ответы