- PVSM.RU - https://www.pvsm.ru -
Часть 1 [1] >> Часть 2 [2] >> Вы находитесь здесь [3]
Однажды любимая жена у друзей на даче нашла радужную пружинку слинки [4]. Вспомнила детство, подошла к лестнице и запустила. Чудо, но пружинка с первого раза идеально пропружинила по каждой ступеньке.
— Получилось! — с радостным удивлением воскликнули все, кто был рядом.
Трёхлетней дочке тоже захотелось попробовать. Она взяла пружинку, забралась на лестницу и запустила её. Пружинка пролетела над лестницей и шмякнулась боком на траву.
— Получилось! — радостно закричала дочка.
В общем, прошёл год с начала моего фанового проекта. Получилось! Та самая красивая железка выглядит вот так:
На первый взгляд может быть не понятно. Но с помощью этого топора и нескольких деталек у меня получилась вот такая каша.
Для хорошей каши из топора нужна крупа.
Все знают про ESP8266. У этой борды несколько отличий.
Короче, я могу воткнуть в неё 4 потенциометра, и это будет выглядеть круто. Ради этого всё и затевалось.
А вот и мой любимый STM32F030F4P6.
Это платы с одной и той же прошивкой i2cio. Это расширитель портов ввода/вывода.
9 управляющих пинов этой штуки умеют:
Дополнительно Slot Expander поддерживает Troyka-разъёмы и разделение питания на силовую и аналоговую части.
Аааа… Забыл. Таких штук можно к железке подключить что-то около 100 штук максимум. И они все рассортируются по I2C-адресам автоматом, предоставляя плоскую адресацию пинов. То есть вы сможете написать
i2cio.digitalWrite(852, HIGH);
int tooHighForAnalogPinNumber_areYouReallyShureQuestion = i2cio.analogRead(942);
И при этом всё получится.
Ну и он стоит 33 рубля. И можно сделать датчик линии с самым большим в мире датчиков серого. С 12 битным АЦП и 16-битной регулировкой чувствительности. Не меняя прошивку.
Что я обязательно и покажу в следующих сериях.
Едем дальше.
Друг попросил меня сделать ему пульт для Traktor — любимой программы дискжокеев. Я подумал, что если у меня не получится сделать это быстро и красиво, то ерунда у меня получилась, а не красивая железка.
Примечание: здесь и далее подразумевается, что текста сверху никогда не было
Для этого мне понадобится материнская платка с мозгами esp8266 (слева). Её отличие от остальных только в том, что она квадратная, имеет 8 входов АЦП и питается от 5 В через DC/DC преобразователь. А ещё к ней можно подключить такую же квадратную плату расширения на моём любимом stm32f030f4p6 (справа) через красивую железку (центр).
Ещё одна особенность этих железок — в них очень просто вставить стандартные модули. Модулей у меня этих много разных. Я взял кучу потенциометров. Потому что все любят кучу потенциометров(с).
Больше потенциометров богу потенциометров!
Самый долгий пункт сборки. Если захочется сделать всё в точности как я, понадобится сделать следующее:
Вот что получилось:
Друг говорит: «Это что это, пульт для трактора, да? Не похоже что-то».
Хороша работа. Начинай сначала.
Берём ещё 4 платы расширения, прикручиваем. Берём кучу модульков, и тыкаем куда попало.
Получилось вот это:
Аккуратно сверлим отверстие для Micro-USB коннектора, чтобы запрограммировать материнскую плату и, в последствии, заряжать батарейку.
Ох, не дано тебе, Василий, не дано...
В итоге получился беспроводной пульт для трактора. Он управляет трактором по WiFi через Open Sound Control.
Исходный код на gitHub [5]. Залил целиком рабочую папку, чтобы не искать библиотеки по всему интернету.
Красивая железка — это просто коннектор, который при помощи четырёх болтов умеет передавать два сигнала и питание. Два сигнала — это I2C. Материнская плата умеет разбрасывать все платы расширения по последовательно идущим I2C-адресам и, впоследствии, что-то с ними делать. Например, считывать 12-битный аналоговый сигнал с (почти) каждой ножки расширителя. Или управлять 16-битным ШИМ на каждой ножке расширителя. Ну или просто использовать эти ножки как цифровой вход/выход. Можно использовать эти расширители, если вам просто не хватило ног на вашем любимом микроконтроллере.
Прошивка stm32f030f4p6, установленного на плате расширения лежит здесь [6].
Библиотека для работы с расширителями портов в Arduino IDE лежит здесь [7].
Если уважаемым хабравчанам будет интересно, я обязательно расскажу об этом подробнее. Но не сегодня.
Автор: acos
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/diy/293220
Ссылки в тексте:
[1] Часть 1: https://habr.com/post/407581/
[2] Часть 2: https://habr.com/post/408899/
[3] Вы находитесь здесь: https://habr.com/post/423775/
[4] слинки: https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D0%B8%D0%BD%D0%BA%D0%B8
[5] gitHub: https://github.com/acosinwork/WiFiSlot_OSC/tree/master/traktor_osc
[6] здесь: https://github.com/acosinwork/i2cio-firmware
[7] здесь: https://github.com/acosinwork/I2cio
[8] Источник: https://habr.com/post/423775/?utm_source=habrahabr&utm_medium=rss&utm_campaign=423775
Нажмите здесь для печати.