Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Электронный «Магический» бильярдный шар

    Электронный «Магический» бильярдный шар


    Приветствую всех на сайте "В гостях у Самоделкина". Я думаю все Вы видели в зарубежных фильмах, а возможно, даже имели лично, такую игрушку как "Магический шар". Это довольно интересная по конструкции игрушка в виде черного бильярдного шара номер 8, внутри которого в темной жидкости определенной плотности плавает сложной формы геометрическая фигура с 20-ю гранями — икосаэдр. На каждой грани этой фигуры имеется какой-либо ответ. В этой статье предлагаю Вам рассмотреть, как сделать подобную игрушку на Arduino. Она основана на реальном "магическом шаре", после встряски шара на экран выводиться случайный ответ, которые Вы можете запрограммировать сами, а помимо того шар играет мистическую музыку и воспроизводит ответ голосом, из заранее записанных аудио файлов. Так как автор проекта иностранец — то текстовые сообщения и аудифайлы конечно же на английском языке, однако при желании Вы без особого труда сможете переделать всё на русский или свой язык, текст прописывается в коде, а голосовые файлы Вы можете записать сами использую микрофон или используя генератор голоса, коих в интернете сейчас вагон и маленькая тележка. И так, давайте посмотрим, как это сделать.



    ЧАСТЬ 1 - Что нам нужно

    Список деталей довольно прост и не имеет сложно доступных, в наши дни, компонентов. Всем будет управлять Arduino. Чтобы определить угол поворота и узнать, когда шар встряхивают, схема использует гироскопический модуль MPU6050 совмещенный с акселерометром (датчиком ускорения). Для вывода текста нам понадобится OLED-дисплей, а для воспроизведения звуков будем использовать модуль DFplayer с SD-картой и небольшим динамиком. Для питания потребуется аккумулятор 18650 (или другой) и модуль контроля заряда/разряда TP4056, а для получения 5В потребуется небольшой повышающий DC/DC преобразователь MT3608. Нам также понадобится клей и небольшие провода.

    Необходимое:

    1 х 3D файлы для печати (архив в конце статьи)
    1 х Arduino NANO
    1 х OLED дисплей
    1 х Модуль акселерометра и гироскопа MPU6050
    1 х Модуль MP3 плеера DFplayer
    1 х Карта памяти microSD любая старая, хватит и 256 МБ
    1 х Динамик 6 Ом
    1 х Зарядный/защитный модуль TP4056
    1 х Переключатель
    1 х Повышающий DC/DC преобразователь MT3608
    1 х Аккумулятор 18650
    Провода соединительные




    ЧАСТЬ 2 - Схема

    Ниже Вы можете видеть графическое обозначение соединений всех компонентов. Тут всё очень просто. Все, что нужно сделать, это подключить модули общающиеся по шине i2c (контакты SDA и SCL) к выводам A4 и A5 Arduino. Для получения питания 5В сначала подключите зарядный модуль к аккумулятору к контактам B+ и B-. Затем выход модуля (Out+ и Out-, иногда L+ и L- (Load - нагрузка)) подключите к повышающему преобразователю, поставив в разрыв плюсового провода включатель питания, и, прежде чем подключать что-либо к выходу преобразователя, убедитесь, что Вы установили выходное напряжение 5В. В противном случае есть риск повредить электронные компоненты. Что бы напряжение не сбилось в процессе эксплуатации игрушки после того, как выставите необходимое напряжение - зафиксируйте подстроечный резистор маленькой каплей термоклея или лаком для ногтей. Подключите контакты Тx и Rx от Arduino через резисторы 1K к контактам Tx и Rx DF-плеера. Обратите внимание, Tx подключается к Rx и наоборот, Rx к Tx, я не буду вдаваться в подробности почему так, почитайте сами если интересно, но так делается всегда со всеми модулями, за исключением тех случаев, когда китайцы неправильно их подписали.




    Подключите динамик к выводам spk модуля DFplayer. Гироскоп и OLED-дисплей используют одну и ту же шину i2c, так как каждый модуль имеет свой собственный адрес. Все, что осталось, это установить все это в напечатанный корпус и загрузить код.


    ЧАСТЬ 3 - Сборка

    Для начала необходимо напечатать 3D корпус. Файлы для печати корпуса Вы найдете в архиве в конце статьи. Скачайте их и напечатайте корпус, при печати автор использовал сопло 0,4 мм, пластик PLA, высота слоя 0,3 мм, 20% заполнения. Теперь можно установить всё внутри корпуса, однако я рекомендую Вам сначала собрать и проверить схему на макетной плате, а уже затем собирать всё внутри корпуса.





    ЧАСТЬ 3.2

    Автор собрал всё на макетной плате и загрузил код в плату ардуино. Также Вам понадобятся mp3 файлы, которые находятся в том же архиве снизу. Скачайте их, разархивируйте и скопируйте всю папку mp3 файлов на пустую SD-карту. Файлы на флешке должны находиться в папке с именем taht, а не просто в виде файлов в корневой директории флэш накопителя. Вставьте SD-карту в модуль DFplayer и протестируйте. Вращайте модуль гироскопа, смотрите на экран и слушайте, воспроизводятся ли файлы.




    ЧАСТЬ 3.3

    Итак, первый шаг монтажа шара — приклеить OLED-дисплей к окну в нижней части корпуса, как это показано ниже. Подключите батарею, зарядный модуль и включатель, как уже было описано ранее. Приклейте выключатель под OLED-дисплеем и убедитесь, что он не слишком выступает из корпуса, чтобы шар можно было положить на стол.




    ЧАСТЬ 3.4

    Следующий шаг — припаяйте провода к модулю гироскопа, землю, питание и провода данных. Удостоверьтесь, что провода достаточной длинны, так как этот модуль будет установлен в другой половинке корпуса шара. Затем приклейте модуль гироскопа к верхней части корпуса.




    ЧАСТЬ 3.5

    Следующий шаг важен. Подключите повышающий преобразователь. Вращая подстроечный резистор добейтесь на выходе преобразователя напряжения 5V. Зафиксируйте его в таком положении клеем или лаком. Теперь напряжение от повышающего преобразователя будет нашим основным источником питания 5В, и мы можем подключить его к потребителям: Arduino, DFplayer и модулю гироскопа.




    ЧАСТЬ 3.6

    Следующая часть — подключение mp3 модуля DFplayer. Но сначала убедитесь, что вы загрузили файлы mp3 на SD-карту. Затем вставьте SD-карту в DFplayer. Припаяйте динамик, провода питания и землю, TX и RX. Не забудьте про резисторы 1K для шины данных Tx и Rx. Приклейте динамик в верхней полусфере корпуса.




    ЧАСТЬ 3.7

    Подключите все модули и питание к Arduino. Скачайте код архивом в конце статьи, загрузите его в Arduino, закрепите Arduino внутри корпуса. Теперь можно склеивать корпус, предварительно ещё раз убедившись в том, что всё работает. Если это так, нанесите немного клея на стыки и соедините половинки вместе. Желательно использовать какой-либо не бензостойкий резиновый клей, что бы в случае необходимости не пришлось ломать корпус, а можно было бы аккуратно пролить стыки бензином из шприца и разъединить половинки корпуса.




    ЧАСТЬ 3.8

    Заклейте малярной лентой все места, которые не должны быть окрашены. Автор использовал черную матовую акриловую эмаль в баллонах, хотя можно было бы напечатать корпус изначально черным пластиком и красить лишь "восьмерку". Подождите, пока краска высохнет, удалите малярный скотч и магический шар готов!




    ЧАСТЬ 4 - Код

    Код довольно прост. Как я уже говорил — выводимые ответы можно заменить на русские. Но тут есть один нюанс. Убедитесь, что дисплей который Вы купили поддерживает кириллицу. Если это так — проблем не будет, просто замените фразы в скобках на желаемые на русском языке. Если дисплей кириллицу не поддерживает — это хуже, но не значит, что невозможно решить эту проблему. В таком случае символы можно выводить попиксельно, то есть прописать матрицу для каждого символа отдельно. Это займет больше места в памяти и значительно увеличит размер кода, но к счастью вручную прописывать каждый пиксель не нужно, в интернете есть готовые калькуляторы, в который достаточно ввести желаемый символ или слово, на что он выдаст ответ в виде готовой матрицы для этого символа. Достаточно скопировать её и вставить на место нужного ответа. Голосовые фразы можно записать при помощи генератора голоса, как уже писалось в начале статьи. Программ для этого в интернете тоже большое множество. Ну или есть третий вариант — выучить английский smile

    if(the_answer == 4)
    {
    play_sounds(6);
    display.setCursor(0,90-a);
    display.println("  AS I");
    display.println(" SEE IT");
    display.println("  YES!");


    Видео работы можно посмотреть тут:



    Скачать архив со всем необходимым тут: magic_ball.rar [3.19 Mb] (скачиваний: 3)

    Ну а на этом всё, и всем удачи в творчестве!

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Подборки: 3D принтер

    Многофункциональный измерительный инструмент на Arduino

    Деревянный вечный календарь на Ардуино

    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 1 / История оценок)

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

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


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

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

    Войти

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

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

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии