Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 569 подписчиков

Популярные теги в сообществе:

Урок 5. Управление двигателем постоянного тока ESP32 и MicroPython

Приветствую вас на очередном уроке по программированию ESP32 на MicroPython. Сегодня мы разберём код, который можно применить на практике.

Прерывания на микроконтроллере ESP32 с помощью языка MycroPython.

Урок 5. Управление двигателем постоянного тока ESP32 и MicroPython Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Программа, Образование, Учеба, Двигатель, Драйвер

В качестве примера напишем код включения встроенного светодиода при нажатии на кнопку «boot» по аналогии с примером из прошлого урока, но уже с использованием прерывания.

Урок 5. Управление двигателем постоянного тока ESP32 и MicroPython Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Программа, Образование, Учеба, Двигатель, Драйвер

Управление двигателем постоянного тока с помощью ESP32 и MycroPython.

Урок 5. Управление двигателем постоянного тока ESP32 и MicroPython Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Программа, Образование, Учеба, Двигатель, Драйвер

Схема подключения ESP32, драйвера L298n и двигателя постоянного тока.

Урок 5. Управление двигателем постоянного тока ESP32 и MicroPython Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Программа, Образование, Учеба, Двигатель, Драйвер

Давайте применим на практике полученные значения. Для этого подключим к ESP32 драйвер L298n и двигатель. Я буду использовать мотор редуктор от машинки, которую собирал и программировал на MycroPython вот в этом проекте.


Скачать материалы из урока можно тут


Надеюсь моя информация будет полезной.

Спасибо! Всем добра!


Показать полностью 4

Преобразуем изображения и GIF анимацию в код для Arduino

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Посмотреть видео

Сейчас в продаже доступно много разных Ч/Б дисплеев, в том числе и OLED. Для того, чтобы получить красивое черно-белое изображение для этих дисплеев, с глубиной цвета всего 1 бит, но в тоже время с имитацией полутонов, как на представленной ниже картинке — нужно использовать преобразование по алгоритму «Floyd-Steinberg».

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Я, наверное, Вам уже надоел своими конвертерами, но не спешите с оценкой. Этот конвертер, в отличие от предыдущих, может преобразовать изображение любого масштаба и с любой глубиной цвета в требуемый размер и сразу получить на выходе готовый Си код понятный Arduino IDE или другому компилятору.

Можно, конечно, использовать графический редактор со встроенной функцией дизеринга Floyd-Steinberg, но ради пары картинок, нет желания изучать функционал этого сложного ПО. Да и как правило эти редакторы в основном платные. По этому я представляю он-лайн инструмент для конвертирования изображений полного цикла, с возможностью подстраивать детализацию выходного изображения.

Для примера загружаю изображение автомобиля в онлайн конвертер. При помощи ползунков «Яркость» и «Контрастность» добиваюсь максимально детализированного изображения на предпросмотре. На выходе получаю Ч/Б картинку с заданными мною параметрами разрешения и исходный код этого изображения. Полученный код можно скопировать и вставить в свой проект.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Пошаговая инструкция для преобразования

1 — Выберите изображение на своем ПК, нажав на кнопку «Выберите фаил» и загрузите его в он-лайн конвертер. Изображение может быть цветным или ч/б с любой глубиной цвета и любого размера.

2 — Укажите требуемый размер получаемого на выходе преобразователя изображения.

3 — При помощи бегунков «Яркость» и «Контрастность добейтесь наилучшего результата на предварительном просмотре.

4 — Укажите название изображения латинскими буквами.

5 — Скопируйте полученный Си код и вставьте его в свой исходник.

6 — При необходимости сохраните преобразованное изображение, нажав на изображении правую кнопку мышки.

Преобразование GIF-анимации

Для реализации ардуино проекта, мне понадобилась черно-белая GIF-анимация. В интернете я нашел простой, пакетный способ преобразования картинок. Которым я с Вами, с удовольствием, делюсь. Ссылка на автора.
Для конвертирования GIF-ок в черно-белый формат. Потребуется приложение IrfanView. Скачиваем и устанавливаем его на свой ПК.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Запускаем приложение и загружаем в него GIF-ку. Потом жмем на кнопку меню „Сервис >> Извлечь все кадры“. После чего приложение извлечёт из ГИФ-ки все кадры изображений и сохранит их в той же папке, в которой находится сам файл анимации.

Следующим шагом нужно преобразовать все кадры анимации в черно-белые картинки, с требуемым для дисплея размером. Для этого жмём в меню „Файл >> Преобразовать“. Или кнопку „B“ на клавиатуре.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Сначала нужно указать, в какой формат нужно преобразовать, для этого нажимаем кнопку „Обработка“
И активируем все параметры, которые отмечены на скриншоте ниже.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

После чего выделяем все ранее преобразованные картинки и жмем кнопку „Добавить“. И следом кликаем на кнопку „Выполнить“. После чего, в этой же папке появятся преобразованные ч/б изображения.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Для преобразования картинок в код, понятный компилятору, нужно скачать приложение OledAnimation
и положить его в папку с ч/б изображениями. В этой папке не должно быть других изображений кроме тех, которые мы конвертируем. После запуска приложения все файлы, находящиеся в папке будут проконвертированы.

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

В левом окне приложения мы получаем данные всех кадров анимации в формате Си.
Копируем их и вставляем в предварительно созданный заголовочный файл. Теперь осталось скопировать скетч для ардуино, который находится в правом окне. Но формат скетча, предложенного автором приложения, совершенно не оптимизирован и его дальнейшее использование совместно с другими проектами будет затруднительно. Поэтому я создаю массив указателей, в котором прописываю все имеющиеся кадры анимации, в том же порядке, как они пронумерованы.

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

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Подключаем дисплей к Ардуино
Для проверки анимации, понадобятся следующие компоненты:
Arduino nano
OLED SH1106
Провода соединительные

Соединяем дисплей с Arduino по следующей схеме:

Преобразуем изображения и GIF анимацию в код для Arduino Arduino, Электроника, Гифка, Длиннопост, Своими руками, Самоделки, Наука

Скетч для Ардуино
Скетч настолько простой, что даже комментировать в нем особо нечего.
Для воспроизведения анимации я вызываю простейшую функцию и предаю ей все требуемые параметры. Такие как: размер изображения по горизонтали и вертикали, длительность показа кадров, количество кадров в анимации, число повторов воспроизведения, имя массива указателей и цвет изображения, который в данном случае может принимать всего 2 значения: черный или белый. Учитывая не большой объем памяти программ контроллера ATmega328. Нужно учесть, что прокручивать в одном скетче несколько анимаций практически невозможно. Хотя если эти анимации будут маленького размера и с небольшим количеством кадров, то можно попробовать их запихнуть.

Для скетча так же потребуется библиотеки OLED_SH1106 и Adafruit-GFX
Так же можно скачать весь ардуино проект со всеми изображениями.

Посмотреть видео

Спасибо за то, что прочитали до конца. Если у Вас остались вопросы, то можете задать их в комментариях под статьёй.

Показать полностью 9

Светодиодный ночник своими руками из подручных материалов

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

Например, для этого светильника я использую банку из-под морской соли, которую мне дарили. А провод — это старый нерабочий USB кабель от телефона. Понятно, что электронику ESP8266 и светодиодную гирлянду нужно покупать, но без красивого корпуса это просто железки.

Светодиодный ночник своими руками из подручных материалов Arduino, Видеоблог, Самоделки, Электрика, Техника, Esp8266, Led, Своими руками, Светодиоды, Xamarin, Приложение на Android, Android, Видео, Длиннопост, Электроника

Возможности ночника:

·  Управление с приложения;

·  18 световых эффектов;

·  16 статических цветов;

·  Автопереключение позволяет переключать световые эффекты через заданное время;

·  Регулирование яркости;

·  Настройка источника питания (задавать ток источника питания в прошивке);

·  Простой способ узнать IP светильника.

Светодиодный ночник своими руками из подручных материалов Arduino, Видеоблог, Самоделки, Электрика, Техника, Esp8266, Led, Своими руками, Светодиоды, Xamarin, Приложение на Android, Android, Видео, Длиннопост, Электроника

И в итоге получаем вот такую красоту.

Светодиодный ночник своими руками из подручных материалов Arduino, Видеоблог, Самоделки, Электрика, Техника, Esp8266, Led, Своими руками, Светодиоды, Xamarin, Приложение на Android, Android, Видео, Длиннопост, Электроника

Конечно, фотографии не передают всей красоты и насыщенности цветов. Но даже на них светильник выглядит достаточно красиво.

Светодиодный ночник своими руками из подручных материалов Arduino, Видеоблог, Самоделки, Электрика, Техника, Esp8266, Led, Своими руками, Светодиоды, Xamarin, Приложение на Android, Android, Видео, Длиннопост, Электроника

Схему подключения и исходные материалы скачать можно на сайте разработчика.


Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

Показать полностью 4

Моё очередное устройство

Привет Пикабу, давно я тут ничего не публиковал, вот, выдалась свободная минутка и желание поделится тем, чем занимался последние месяца три(а может и больше).

В этом проекте я разрабатывал:

0) Схему

1) Плату(PCB);

2) Прошивку для ATmega328(Arduino Nano);

3) Кроссплатформенная программа для Windows или Linux;

4) Возможность моделирования как работы устройства(моторы там, датчики) так и прошивки в Proteus 8. Ведь проект "веду" удалённо, и нету возможности соприкасаться со всеми железками, что есть у заказчика.

Что делает этот программно-аппаратный копмлекс? Управляет двумя 3-4 кВт асинхронными моторами(само собой при помощи частотных преобразователей), визуализирует параметры работы моторов для принятия человеком решений и понимания работы системы.

Скрины:
Моё очередное устройство Techn0man1ac, Электроника, Arduino, Разработка, Видео, Длиннопост
Моё очередное устройство Techn0man1ac, Электроника, Arduino, Разработка, Видео, Длиннопост

Вид платы без деталей.

Моё очередное устройство Techn0man1ac, Электроника, Arduino, Разработка, Видео, Длиннопост

А тут плата со стороны компонентов, видны оптроны, USB-UART конвертор и CPU.

Моё очередное устройство Techn0man1ac, Электроника, Arduino, Разработка, Видео, Длиннопост

На плате красуется мой логотип.

Моё очередное устройство Techn0man1ac, Электроника, Arduino, Разработка, Видео, Длиннопост

И даже под процессором.

Что ещё не сделал?
0) Надо начать вводить версионность платы(написать шелкографией на плате), так как исходники прошивки для микроконтроллера уже имеют V0.3, в отличии от V0.1 я изменил немного протокол, исправил мелкие баги;
1) Сделать версионность в программе для PC;
2) Заполнить свободное место(где сейчас мой логотип) аналоговой частью, в лице операционного усилителя + его обвязка для нужного режима работы;
3) В будущем перевести на STM32 и аппаратный USB;
∞) Допиливать, придумывать новые функции, дать этому проекту эволюционировать в что-то больше, и развиваться вместе с ним.

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

Показать полностью 5

Hyper cubic equalizer

Скетч, библиотеки, бинарник - внутри https://drive.google.com/file/d/1Z0BwxFeFYXqVTGVQ6_H9ULQBj8T...

Все не понятное спрашивайте!

Урок 4. Кнопка в MicroPython. Условия, циклы и функции

В этом уроке научимся работать с кнопкой в MicroPython. Разберём 2 примера, позволяющих включать светодиод при нажатии на кнопку. Также в данном уроке рассмотрим основы создания функций, циклов и условий на практических примерах.

Цикл while в MicroPython.

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Функции в MicroPython.

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Цикл for.

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Включаем светодиод при нажатии кнопки.

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Подключение внешнего светодиода и тактовой кнопки вот по такой схеме.

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Код будет следующим

Урок 4. Кнопка в MicroPython. Условия, циклы и функции Урок, Видеоблог, Программирование, Esp8266, Esp32, Python, Обучение, Видео, Длиннопост, Led, Программа, Образование, Учеба

Скачать материалы из урока можно тут


Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

Показать полностью 6

Малина 3 и рекалбокс последний. Игры

Добрый день всем. Справился с одним вопросом. Настал следующий. На офсайте скачал и залил образ рекалбокса . Вставил в малину. Прошла презентация с возможностями и кнопками. А потом появилась эта заставка. После которой ничего не происходит

Малина 3 и рекалбокс последний. Игры Raspberry pi, Recalbox

Образ весил всего 900 с копейками метров. Это что? Просто оболочка? И что дальше делать? На джойстик(ки) не реагирует. Или флешку снять. И добавить что-то нужно. Разъясните пожалуйста. Hdmi телека пока нету. Использую то что есть. Хочу игры от пс1 краш бандикут. CTR точнее от первой найти.

В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?

Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.

Реклама АО «Кордиант», ИНН 7601001509

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython

Несколько лет назад изучал python. Сейчас редко  приходится применять. Но тут узнал о существовании Micropython. Ранее сталкивался только с ассемблером  и с Си для микроконтроллеров. Захотелось Micropython изучить. Совершенно случайно попалась на глаза перед новым годом микроконтроллерная плата Raspberry Pi Pico в наличии в интернет магазине. С учетом стоимости меньше тысячи рублей, решил купить.

Оказалось, что с помощью этой платы можно решить довольно много задач и для этого не нужна дорогостоящий компьютер Raspberry Pi 4.


Начало положено.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Ниже табличка сравнения с конкурентами в той же ценовой категории.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Минус у этой платы - отсутствие стека сети. В частности WiFi модуля.

Однако это дает преимущество в виде низкого электропотребления в 18 мА.


Входное напряжение может быть от 1.8 до 5 В. Встроенный преобразователь напряжения превратит это в 3.3 В.


Плату можно купить с ногами или без. С ногами редко встречаются. Но всегда можно взять и припаять ноги самостоятельно.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

А вот такой размер плата имеет по сравнению с Raspberry Pi 4

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

При подключении к компьютеру появляется съемный диск. Размер показывает 127 МБ. Однако на плате Raspberry Pi Pico память всего 2 МБ. Т.е. программу можно записать размером 2 МБ. Этого вполне достаточно.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Для того чтобы начать работу с Raspberry Pi Pico.

1. Нажимаем и держим единственную кнопку на плате Bootsel.

2. Не отпуская кнопки, подключаем с помощью USB micro шнурка к компьютеру.

3. Появляется съемный диск.

4. Скачиваем отсюда https://micropython.org/download/rp2-pico/rp2-pico-latest.uf...

файл прошивки uf2

5. Кидаем файл на флешку.


И пункты 3-5 не нужны, если используем среду Thonny IDE. Но об этом чуть позже.



Сначала пару слов про настройку профессиональной среды Pycharm IDE. Которая имеет бесплатную версию для Windows, Linux и Mac.


Для того чтобы начать работать с Micropython в Pycharm IDE, достаточно


1. Установить плагин Micropython, он там один.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

2. Включить поддержку Micropython, выбрать плату и com порт. Раздел Settings -> Language and Frameworks -> Micropython

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Теперь можно приступать к творчеству.


Радует, что микроконтроллер RP2040 и плата  Raspberry Pi Pico сопровождается хорошей документацией.


Постоянная ссылка на SDK с примерами

https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-py...


Примеры кода удобнее всего брать с официального github чем из pdf.

https://github.com/raspberrypi/pico-micropython-examples



Пока я попробовал работу со встроенным светодиодом. В режиме простого мигания и затухания. В чем плюс этой IDE. Что она подсказывает какие еще могут быть параметры того или иного модуля.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Pycharm поддерживает так же интерактивный режим REPL.

Но мне показался неудобным для дебага.

Слишком много кнопок нужно нажимать.


Куда проще начать работу с Thonny IDE.

Это легковесная программа, которая ставится на любую Windows или Linux машину. А так же входит в дистрибутив Rasbian.

Как раз задействовал в качестве компьютера Raspberry Pi 4.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

Здесь все проще


1. Нажимаем и держим единственную кнопку на плате Bootsel.

2. Не отпуская кнопки, подключаем с помощью USB micro шнурка к компьютеру.

3. Открываем Thonny IDE

4. В углу меняем интерпритатор

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

5. Дальше программа скачает свежую прошивку и зальет на плату за нас.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

6. Плата автоматически перезапустится и все готово к работе.


Плюс в Thonny IDE - это объединённый интерактивный и скриптовый режимы.

Знакомство с Raspberry Pi Pico (Микроконтроллер RP2040). Настройка  PyCharm и Thonny IDE для работы c Micropython Raspberry pi, Arduino, Обучение, Урок, Видео, Программирование, Разработка, IT, Длиннопост

В заключении хочу написать, что плата мне понравилась, возможно так как с остальными я еще не работал.

Raspberry Pi  Pico подойдет для прототипов и единичных проектов.

Для серийного производства своих продуктов чип RP2040 и плата дорогие.


Буду пробовать делать схожие макеты на Raspberry Pi 4 и Raspberry Pi Pico чтобы понять целесообразности Raspberry Pi 4 для автоматизации.


Ниже видео с первыми экспериментами.

Показать полностью 12 1
Отличная работа, все прочитано!