Вы видите копию треда, сохраненную 26 ноября в 07:39.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вопросы по основам радиоэлектроники НУЖНО спрашивать в первом прикрепленном треде на доске.
В данном треде обсуждается только Arduino и AVR (с использованием библиотек Arduino)
Коротко - о главном:
- Что такое Arduino?
- Ардуина - это конструктор из Atmega и своей IDE с библиотеками, который будет выполнять написанные тобой команды - программу, или же просто - скетч.
-Мне уже рассказывали в шкалке/шараге про микроконтроллеры, почему именно AVR?
-Вообще можешь начать с чего угодно, Arduino поддерживает почти все существующие МК. Но AVR достаточно дубовые и толерантны к ошибкам, в то время как stm32 и другие 3.3 В можно запросто убить статикой или переполюсовкой, совсем не заметив этого
- Что такое IDE?
- IDE - это ПО для разработки скетчей, брать тут -
https://www.arduino.cc/en/Main/Software
Профи берут ПО здесь -
http://www.besplatnyeprogrammy.ru/notepad.html
Если ты уже знаешь, что такое IDE и знаком с VSCode, CLion или Eclipse, то можешь сесть сюда
https://platformio.org/platformio-ide
- Сильно ли я сосну, купив arduino your name, в плане того, что она использует 3.3в вместо 5в как у остальных?
- Если берешь побаловаться и закинуть, то строго похуй. Если какой проект мутишь, то тут уже смотря чем питать будешь.
- Как, например, я могу сжечь Arduino?
- Подать больше 5В на входы. И ещё 1000 способов от русского Ивана, не умеющего в инструкции.
- Зачем нужны всякие борды-хуёрды?
- Чтобы ты не запорол своим лудилом из-за ошибок схематики пару сотен МК
- Я купил Arduino, но не знаю, зачем. Что делать?
- Идеи для анона -
http://cxem.net/arduino/arduino.php
http://arduino-projects.ru/
http://arduino-diy.com/arduino_proekty-0
- Я хочу вкатиться по-серьёзному, что делать?
- Читать -
http://publ.lib.ru/ARCHIVES/R/REVICH_Yuriy_Vsevolodovich/_Revich_Yu.V..html
- Я не умею читать, что делать?
- Смотреть годные каналы -
https://www.youtube.com/channel/UC7aH7HVqDvwB1xNHfSl-fDw
https://www.youtube.com/user/0arduinoLab
https://www.youtube.com/watch?v=bO_jN0Lpz3Q&list=PL944BA86E715C5FEE
- Я осознал, что могу мигать светодиодом в СОЗИДАНИЕ, что делать?
- Брать Arduino Starter Pack Edition -
https://ru.aliexpress.com/item/NEWEST-RFID-Starter-Kit-for-Arduino-UNO-R3-Upgraded-version-Learning-Suite-With-Retail-Box/32714696336.html
- МНЕ МАЛО
- Что ж, дорогой друг, настало время НАСТОЯЩИХ ПОДДЕЛОК! -
Модулей MEGA PACK https://ru.aliexpress.com/item/37-Arduino/32243738985.html
- МНЕ ВСЁ ЕЩЁ МАЛО
- Поздравляю! Вы прошли игру. Самое время зарабатывать 300kk/ns и наставлять молодых оленят на путь истинный ITT
Ну или начать Новую игру+ и пересесть на stm32, nxp, esp32 и так далее и так далее...
И помни, анон, ардуинщики - (не) дети
Ну может они и запрещены, просто переход на обработчик не происходит
Че вообще использовать для этого? В принципе за пару десятков часов ардуина не сильно уедет от реального времени, так что я сомневаюсь что нужен rtc. Или всё ж нужен? Поставить software RTC какой-нибудь? Че делать то?
Ах да, главный прикол в том, что мне нужен ШИМ с частотой в 1 Гц, а bit banging для лохов, поэтому мы конечно ж ебем прескейлеры
https://github.com/atmelino/Arduino/tree/master/libraries/PWM
Если календарь не нужен, а просто большие интервалы времени, то программный счётчик.
>software RTC
Так эти ваши millis() как раз и есть разновидность этого.
>В принципе за пару десятков часов ардуина не сильно уедет от реального времени
Если ты про millis(), то считает оно с точностью тактового генератора. Точность которого наверное в пределах +-50ppm, что за час даст максимум 0.2 секунды.
>>477921
>ШИМ с частотой в 1 Гц
Если кроме этого и отсчета интервалов длительностью в пару часов вообще ничего не нужно, то можно настроить таймер на прерывания раз в секунду и прямо в прерываниях все делать. Но если ты используешь ардуино ИДЕ, то все это без разницы, у тебя все равно будет работать таймер от которого считает millis().
>То есть эта либа никак не повлияет на работу millis()?
Как из написанного выше можно было сделать такой вывод? Но да, вероятно не повлияет, потому что millis тикает от Timer0, у которого элементарно нет каналов сравнения которые используются для ШИМ. Для ШИМ там могут быть использованы Timer1, Timer2. Это конечно если речь про AVR.
>Документации к ней нет и я не ебу как оно там работает
А даже если была бы, это все бессмысленно, пока в документации на ардуино иде не будет написано на каком таймере работает millis().
>а bit banging для лохов, поэтому мы конечно ж ебем прескейлеры
Лучше делай все, включая ШИМ, через millis, это явно не будет хуже использования "либ" в которых ты даже не понимаешь какой из таймеров будет задействован в результате.
>Лучше делай все, включая ШИМ, через millis
Не вариант, если у тебя есть операции с неопределенным временем исполнения и датчики
Ну еб вашу мать то. Есть датчик, чтение данных с которого занимает 100 мс (ну то есть надо подать 0 на CS, а через 100 мс считать что вернет). А на основании того, что пришло с датчика уже выставляется скважность ШИМ. Таймер нужен чтоб отключить ШИМ через заданное время вообще
> Я нихуя не понимаю что за ебаные библиотеки. Это типа кто-то написал кучу функций и я могу просто их использовать?
Да, именно так
> И где прочитать список всех этих ебаных функций с их описаниями?
Обычно readme.md на гитхабе. Но некоторые не считают нужным делать документацию и приходится угадывать из примеров к библиотеке
Алсо, где, блядь, список имен пинов? Как мне их, сука, называть в моей "программе" по миганию светодиодами?
>>477942
С чего бы это? Для упрощения рассмотрим мигалку произвольным количеством светодиодов с разными произвольными периодами. Что-то вроде такого (псевдокод):
# define INTERVAL_LED1 1000
# define INTERVAL_LED2 1100
# define INTERVAL_LED3 1200
int tim_led1 = 0;
int tim_led2 = 0;
int tim_led3 = 0;
for(;;) {
if (millis() > tim_led1) {
tim_led1 = millis() + INTERVAL_LED1;
инвертировать LED1
}
if (millis() > tim_led2) {
tim_led2 = millis() + INTERVAL_LED2;
инвертировать LED2
}
и так далее
}
В чем проблема мигание одним светодиодом из этого примера немного усложнить до ШИМ, а мигание другим до считывания твоего датчика?
Если в этот код вхуярить код с непостоянным временем выполнения, то светодиоды будут мигать уже не с такими периодами, как ты задал.
Пример кода да хотя б такой
for (int i =0;i<n;i++){
DoSmth();
}
n++
НиХуЯ. Arduino nano pinout.
В какой там ссылке написано что например пины d0-d13 называются числами 0-13 и пины a0-a7 называются числами 14-21? А где написано что пин d13 ещё может быть назван LED_BUILTIN? Может у них ещё какие то имена есть?
картиночки открой, дебс.
>А где написано что пин d13 ещё может быть назван LED_BUILTIN?
в хидерах
Ну и хуль тебе тут непонятно? К тому же все пины подписаны на ардуине по номерам
>А где написано что пин d13 ещё может быть назван LED_BUILTIN?
Здравствуйте, пожалуйста, пойдите почитайте, что такое #define
>>477967
>А не надо писать такой код, это явно хуже чем "bit banging для лохов".
Почему?
>Выкини глупую библиотеку и возьми нормальную или напиши сам.
Ну у адафрута хоть какая документация есть, в отличие от других производителей
>Почему?
Потому что пока крутится этот цикл не получится больше ничего делать кроме прерываний. Но в прерываниях ничего относительно длительного делать нежелательно, как минимум потому что это может помешать другим прерываниям. Разумеется может быть и такой случай когда все это не важно и такой цикл ничему не помешает, но часто бывает иначе. И если пишешь библиотеку, то зачем закладывать такие ограничения? Почему бы не сделать две функции, одна запускает процесс, а другая проверяет готовность и записывает результат если готово, тогда пользователь может сам решить как ему организовать, через тупой цикл или как-то еще.
Да
если совсем нуб, то вкуривай самое наглядное и понятное что найдешь, архитектура и язык похуй. Рикаминдую курс ДиХальта http://easyelectronics.ru/category/avr-uchebnyj-kurs/page/5 - отсюда и в обратном порядке хотя бы пару страниц. Похуй что авр и наполовину ассемблер, тебе главное понять принцип, как там все в этих наших контроллерах устроено.
да, если ты еще не умеешь в C, то начинай уметь. Не надо искать хуету типа "С для микроконтроллеров", он там такой же, как и на пекарнях, осиль сначала базовые вещи - хотя бы как компилятор с линкером работают - на большом компе.
Первое - не лезь в это говно блять, оно нахуй никому не нужно блять, и ты не будешь.
Второе - пиздуешь в ютаб гуглишь "хирьянова", смотришь курс по сям/питону, после этого дрочишь книжки с регистрами, прочей хуйней
ну пиздец блять. Это наше программирование состоит из текста чуть менее чем полностью, какой нах ютуб.
Дурень, если инфа подаётся простая к усвоению, вообще без разницы где она, хоть блять на скалах высечена, это было моё мнение, так что давай не будем устраивать очередной никому не нужный срач
Ассемблер нужен в большей степени разработчикам железа, а не программистам. Это такая запись машинного кода, чтобы "вручную" брать байты из регистров и производить с ними простейшие однотактовые действия. Причём у каждого МК набор регистров и доступных инструкций разные.
Какие-то серьёзные программы на нём писать заебёшься, там даже умножения нет. И то, что в С пишется парой строчек с инкрементом - в ассемблере надо расписывать в хуеву гору действий.
Да, это позволяет производить некоторые особо хитрожопые хаки, но пока ты С на хайлевеле не вызубрил со всеми указателями и хитровыебанными типами данных - лезть в ассемблер не имеет смысла. А вот если ты собираешься писать свой компилятор или выпускать свой микроконтроллер - тогда лезть уже надо.
>там даже умножения нет.
Глупости, в AVR оно есть, нет только в ATTiny. Остальные твои рассуждения тоже глупости.
Ардуина сойдет для начала вполне. Писать код на ассемблере тебе под авр не нужно, но для общего развития имеет смысл почитать про регистры, тактование, таймеры
>>478175
> Ассемблер нужен в большей степени разработчикам железа, а не программистам.
Программистам, только не тем, кто разрабатывает ПО под МК, а тем, кто портирует gcc под микроконтроллеры или пишет что-то типа куба
>Какие-то серьёзные программы на нём писать заебёшься, там даже умножения нет.
Ну вам - пориджам может и заебно, зумеры 80х как то не замечали сложного ассемблера.
И это не мешало писать серьезный софт на нем.
В наше время это блядь, дети читали и понимали. Просто у них больше жажды в глазах было.
https://zxpress.ru/book.php?id=2
> зумеры 80х как то не замечали сложного ассемблера.
У вас хоть в 80х были spi, i2c, can на скорости более 1 МГц и требовалось ли гонять флоаты? Знаешь, помигать светодиодом можно и на ассемблере, но байтоебить плавающую запятую, ой неее
> У вас хоть в 80х были spi, i2c, can на скорости более 1 МГц
понимаю, что пориджи даже в прочитать даташит не могут и учатся в лучшем случае по гугл+sof/
Ну spi это элементарно, ладно. Но can и i2c уже посложнее будут, хотя сейчас опять же ассемблер ненужон, так как для этих интерфейсов аппаратные контроллеры имеются
Как-то нихуя не самостоятельно и сложно, а детский сад из говна и палок, причем мне кажется что для всех задач будет дикий оверкилл.
Я думал это будет более... железное программирование. Типа там послать что-то по какому-нибудь спи и принять што-то. А тут "да нахуй это надо вот раз раз гет пишешь и раз раз врите и готово". Эспиай, хуеспиай, вообще похуй, только питание и землю не перепутай. "Даташит? Да нахуй он нужен." Я хотел как бы,.. более низкое что ли программирование.
Почему контроллерная техника не в асу, а в радио?
Ты блять от пердуины хотел байтослесарства? лол, бери блокнот, бери С, хуярь, кто тебе блять мешает
Пушто у них плк
Вообще что ты говоришь делать достаточно руководство почитать что к контроллеру идёт.
Я вот авр программирую на родном асме с родной студии, а пердуин что-то лень выкатываться тем более, хочу СТМ...
В воркаче чето было
А после поднятие до высокого уровня, опять начинает работать с вектора сброса.
Тогда почему надо ресет подтягивать к питанию и сбрасывать землей, а не наоборот?
> происходит по фронту
Да вроде нет. Специально же городят схему сброса с резистором и конденсатором, чтоб пока конденсатор заряжался подольше держать на линии RESET низкий уровень. Чтоб гарантировано всё сбросилось.
Накидал говнокода
https://ideone.com/GoDaDp
Оно что-то читает, но явно не то что должно быть.
0x0C 0x94 0x34 0x00
Результат всегда один и тот же. На смену фьюзов реакции нет.
Что в протеусе, что на реальной ардуине с 168 мегой.
Как из программы считать Fuse
>Специально же городят схему сброса с резистором и конденсатором
Вообще-то это костыль для RS232, чтобы DTR давал импульс, а не низкий уровень на все время передачи данных
Странно все это, но я не настоящий ардуинщик и вряд ли что подскажу. Можешь попробовать посмотреть как сделано в avr-libc в макросе boot_lock_fuse_bits_get. А там из существенных отличий содержимое SPMCSR не считывается и не складывается через ori, а сразу пишется как-то так:
>ldi r18, lo8(9)
>sts 87, r18
А потом у тебя lpm, а там:
>lpm r24, Z
У этих инструкций разные опкоды, может в этом дело.
Возможно, пишу не в тот тред, но насколько я понимаю, тема сенсоров довольно актуальна для Ардуинщиков. Есть у меня один незакрытый технический гештальт, где нужен сенсор расстояния.
Дело в том, что стандартные IR сенсоры, что можно найти в наборах не очень подходят.
Для моих задач очень желательно:
- субмиллиметровое разрешение (0.5-1мм)
- погрешность измерений в районе 1%.
- маленький размер до 8×5×1.5мм (д×ш×в)
- стоимость <=75$.
Смотрел интернет по этому поводу и наткнулся на датчики ST VL61XX, но не удалось выяснить, насколько они точны в реальной работе.
Я готов искать информацию сам, но возможно есть какие-то подводные камни, которые сразу стоит принимать во внимание при выборе сенсоров расстояния, и которые легко упустить из вида?
Заранее извиняюсь, если позволил себе терминологические неточности - работаю в другой сфере.
Спасибо анон.
Там в первом случае переход из неопределенного состояния в ноль. Рискну предположить, что среда симуляции сама автоматически запустила программу, просто по дефолту сразу после инициализации. Во втором случае все сработало по даташиту.
Не помогло.
Непонятно почему оно не работает ни в протеусе не в реальном железе.
https://ideone.com/ZPTENn
всё правильно сделал?
rtos хоть используешь?
А ты не пробовал добавить 0x20 для sts? Там вроде как всё константы заточены под команду out, которая обращается к обрезанному адресному пространству, и когда переходишь к полному пространству нужно добавлять смещение. Я авр давно забросил, поэтому только догадки, ничего не помню конкретно.
В общем, проверь куда ты пишешь. Попробуй вместо SPMCSR указать 0x57.
морщу лоб уже 2 дня ни как не могу сообразить, делаю ифами
Итак - при включении качает от нуля до уставки (100), ждет падения до гис (95) и качает до 100 опять
кажется очень простым но что то идёт не так
vals-датчик давления int 0-100
p1-уставка int-100
p3-гистерезис int 0-40
key1 признак включения -bool
full признак первого набора давления bool
[code]
sum=p1-p3;
if (vals>=p1 && f_key1 == true && full == false) {
full = true;
}else{ out= HIGH); }
if (full == true && f_key1 == true ) {
if (vals>p1){ out= LOW);
} if (vals<sum){ out= HIGH); }}
[/code]
https://pastebin.com/WhAQ5HSs
Смотря как перепрограммировать. Если программатор внешний, он шьёт под ресетом (в случае авр), и такие эффекты исключены - сброс очищает все спец регистры. Но ОЗУ не трогает.
Так что как вариант новая прошивка может после сброса старые данные из ОЗУ подхватывать и настраивать ноги сразу после сброса, и будет описанный тобой эффект.
Или если шить через кастомный бутлоадер, то там все что угодно может быть в зависимости от бутлоадера.
Одно из двух.
Конечный автомат сделай, будет проще разобраться. На Ютубе хватает гайдов для ардуино.
Я ебал ради одного крохотного кастомного устройства вкатываться в погромирование.
вот так правильно будет
if (vals < (p1 - p3 )) out = true;
else if (vals > (p1 + p3 )) out = false;
Наверное ацп, потому что синяя цифровая хрень в режиме измерения 0.3мА жрет, не считая еще и затрат на обмен данными. А микрочиповский сот23 термодатчик что то около 30 мкА кушоет, его можно отключать контроллером и подключать только для измерения, + получение показаний по сути это время работы ацп контроллера, в то время как у цифрового это задержка самого измерения и протокол обмена данными
начнем с того, что твоя либа вообще не умеет определять отсутствие датчика
Что угодно может быть, но сначала код проверь.
1-wire в ардуинах бешено конфликтует с ШИМ, так что осторожнее с этой хуйней
Пошел по ссылке на гитхаб за скетчем и нихуя не понял. Где там выставлены температуры (мин, макс и ошибка), где пины? Или нигде и это просто шаблон для шарящих ребят?
Мне нравятся программы на этой вашей пердуине.
include хуй;
include залупа;
include сыр, небо, аллах...;
void poop () { do shit } // literally just one single line
Готово! Ололо я у мамы програмизд!
Спасибо. Натыкал наугад по какому-то левому гайду и вроде всё получилось, подцепилось и заработало.
Но несть еще одна проблема - омерзительный писк мотора из-за низкой частоты шим. Вроде бы сделал 31кГц
void setup() {
pinMode(3, OUTPUT);
TCCR2B = (TCCR2B & 0xF8) | 1;
но почему-то оно рандомно стопается. Просто в какой-то моменнт перестаёт работать и всё. Лежит на полу, температура низкая, ШИМ 0, транзистор закрыт, вентилятор не крутится. Нагреваю датчик и просто ничего не происходит.
Как нет-то? Писк пропал, значит сработало ведь.
Сбрасывает биты предделителя сначала в ноль, а потом выставляет бит CS0 в единицу.
Скорее всего ты не запускаешь АЦП и читаешь дефолтную температуру.
а сколько транзисторов и ног тогда понадобится?
Снова на связи. Третий день ковыряюсь в пердуино с нулём теоретической базы и без знаний программирования.
Запитал ардуино нано 12В через Vin с материнской платы с хэдера вентилятора, и одновременно подключил юсб, чтобы читать серийный порт.
Датчик снимает температуру, ардуина ее читает и генерирует ШИМ, который открывает-закрывает транзистор, который пропускает ток на вентилятор. Вроде всё просто. 12В параллельно идут на транзистор (сквозь него на вентилятор) и на Vin ардуины.
Всё работает, всё хорошо и здорово, в серийный порт стабильно раз в секунду пишется температура и шим. Но в какой-то момент при высоком нагреве датчика (выше 70 градусов) в серийный порт приходит запись ov которой в скетче нет, программа останавливается, транзистор полностью открывается.
В чем теоретически может быть проблема?
Нагрей свой датчик пару раз сам до 70 и смотри если тож самое повторица, значит программа говно
Объясните на пальцах пожалуйста, в каких случаях ставят диоды(само предназначение и принцип работы я зазубрил, но применять не умею)
Я задумал к одному источнику питания(dc) подключить через реле 3 потребителя(у каждого потребителя своё реле) но gnd у всех общий, правильно ли я понимаю что надо всем потребителям на gnd поставить диод?
И если не затруднит - накидайте простых примеров в каких случаях диод нужно ставить, что бы понять как это всё используется, спасибо
Диод ставится на вход что б если еблан пользователь перепуиает палярность то ничего не сгорело.
И ещё много где.
Если датчик DS18B20 или аналогичный, то он на 1wire сидит, а 1wire и ШИМ в ардуине по дефолту используют один и тот же таймер, в результате при определенных параметрах ШИМ или температуре они конфликтуют друг с другом.
В прошлом треде я с таким сталкивался https://2ch.hk/ra/res/411957.html#445767 (М) воткнул простую проверку на хуиту с датчика, т.е. если if (пришла хуйня) шим += рандомчик пока не придет корректное значение с термометра.
>А вот на STM без тамошней пердуины в лице CMSIS + Сube ты попросту заебешься анальной сложностью уровня mario kaizo.
Я вот наоборот несколько недель ебался из-за того, что CUBE в инициализации перепутал местами i2c и dma
>>480010
Попробовал еще потестировать. Когда на 12В нет нагрузки всё работает идеально. Датчик считается, ШИМ меняется.
Когда на 12В за транзистором появляется вентилятор , все сперва работает хорошо, но как только вентилятор серьезно раскручивается, начинается какая-то фигня. Пропуски по несколько секунд в серийном мониторе цикл 1с, датчик то и дело отдает -127, а потом всё либо молча дохнет, либо напоследок написав OV в серийный монитор.
Вроде совершенно рандомно поборол проблему.
Убрал 12В со входа ардуины, оставил на вентиляторе (через транзистор) и подал на понижающий преобразователь, а с него уже 5В на ардуину.
Пока вроде полет нормальный. Если поработает пару ночей без вылетов, соберу уже рабочий управлятор для кулера видеокарты.
Ну на кулер для вк надо было малиночку брать. Подключать её по сети к пк и следить так за температурой и вентилятором.
Сап, анон. Короче очень хочется побаловаться со светодиодами и светом вообще. Мигать лампочками, лед ленточками с алика и так далее. Различными способами, конкретной цели нет (арт проекты всякие итп., может быть, потом. ) То есть хочется макисмальных возможностей именно со светом, подачей различных сигналов с компа и их идикации при помощие все того же света. Что помимо стартер кита мне может понадобиться? Или похуй и диоды это так просто, что мне хватит стартер кита и гайдов из шапки?
Есть смысл заказывать кит с оф сайта? А то ссылка на али из шапки поломана.
а кто такой "стартер кит"? они пиздец какие разные, в зависимости от настроения китайца, чо ему взбредет в голову положить в пакетик.
Ну я потому и спрашиваю, мб имеет смысл вот это взять? Ардуино уно и инструкции.
https://store.arduino.cc/products/arduino-starter-kit-multi-language
Смогу я на уно все базовые операции м диодами делать? Особенно интересно можно ли будет конвертер из частоты в вольтаж (или как это по русски) воткнуть между платой и компом. Вот типа как тут. Вроде бы УНО у него.
https://www.youtube.com/watch?v=lU1GVVU9gLU&t=24s
>>480132
Мне что б определиться, нужно на практике поморгать лампочками. Ну что точно надо будет рано или поздно это как в видосе выше.
Гугл -> как моргать лампочками на пердуине, виды лампочек, виды управления морганием.
Смотришь варианты, берешь че те надо, всё
В мою вк встроен ебанутый кортроллер, который выставляет корректный шим только тогда, когда получает ожидаемый ответ с тахометра родной турбины. Если данные тахометра не совпадают с ожиданиями, шим начинает люто пидарасить. Если тахометр отключить совсем, шим ставиться на 100%. Что в авторежиме, что с кастомной кривой.
Я б на твоем месте погуглил проблему и попытался бы подменять ответ тахометра, а не колхозить свой контроллер
Да я даже не знаю что он там ожидает, ведь родной турбины давно нет.
Вот собрал контроллер для монтажа.
В общем купил на поиграться модулец с 24бит ацп ads1220 с китая да-да лаовай. Закрались сомнениия, что чип шлифован, обработал ацетоном маркировка слезла. Подключил к ардуино через библиотеку protocentral. Завелся и даже кажет похожее на правду, но потом наткнулся на 16 битный ads1120, они идентичны распиновокой и интерфейсом. Так вот как определить, что прислали именно ads1220?
Полазил по коду библиотеки и пока пришел к такой идее: при чтении выходного буфера ацп последовательно читается 3 байта, если добавить чтение еще одного байта то четвертый байт всегда получается 0xff, следовательно у меня 24 битный ацп, если бы был 16 битный, то 3й байт бы был 0xff. А микруха, видимо, с распайки перемаркированная.
Как еще можно проверить?
Китайцы не настолько тупы, они берут микроконтроллер и точно эмулируют протокол. Только проверять реальную разрядность
Вообще, с али последние два года идет только левак, если это не истинно китайская микросхема и стоит больше 10 центов, так что можешь не сомневаться
>так что можешь не сомневаться
В чем именно сомневаться?
>Только проверять реальную разрядность
А какими методами проверить? Подавать микровольты и смотреть на поведение? Я боюсь шумами все засрано будет.
Левак с али идет это понятно, но я склоняюсь, что б/у перемаркер прислали. Нет смысла подделывать не особо популярный чип. Даже если бы подделали зачем шлифовать, да и корпус особо не популярный для перепаковки. А, учитывая, что микрухи производятся с середины 2013г., то вполне могут быть б/у.
>Нет смысла подделывать не особо популярный чип
если бы его не покупали, на али бы его не было. Ничего редкого, не разжеванного до модулей ардуино ты там не найдешь точнее это будет вообще нерабочий перемарк
>если бы подделали зачем шлифовать
а зачем шлифовать, если не левак?
>корпус особо не популярный для перепаковки
у меня есть стопка поддельных max31856 в таком же корпусе
>вполне могут быть б/у
б/у были, когда али принимал решения по спорам в пользу покупателя. Сейчас это зависит от твоего рейтинга и настроения оператора, но как правило не в твою пользу, так что китайцы не стесняются продавать совсем говнище
чел, на али можешь считать что получаешь совместимый перемаркер в 99% случеев. Если надо что-то похожее на онигинал - смотри на таобао хотя бы.
Берешь два заведомо оригинальных чипа, один китайский, включаешь одновременно на один источник и сравниваешь. Показания будут другие, тайминги, увидишь короч
>А вот на STM без тамошней пердуины в лице CMSIS + Сube ты попросту заебешься анальной сложностью уровня mario kaizo.
>Аврки хоть рили простые и их байтоебить сравнительно просто.
Куб не нужен, CMSIS это не ардуина, а пак дефайнов и начальная инициализация. С CMSIS идёт то самое родное байтоёбство и снова становится достаточно одной пдфки reference manual, а не как с HAL'ом который уже можно пердуиной для стм назвать и кубом, где три талмуда хуем писанные и косяки в коде.
Доделал свою хуйню.
На самом деле тут куча проблем. Чтоб моторы не пищали, сделал ШИМ 31кГц. Но на транзисторе указан ШИМ до 20кГц. Наверное из-за этого тахометр показывает какую-то лютую бредятину, а на 100% ШИМе вообще 0 оборотов. Осцилографа нет, поэтому я понятия не имею, что получается на выходе на моторе.
Что же я имею на выходе после транзистора при такой разнице в частоте, как посчитать?
Это похоже на обычный ключ из мосфетов D4184. Не должно бы там быть особой разницы между работой на 20 и 30 кГц (да и до 100 кГц имхо). Задержки переключения в худшем случае десятки наносекуд (страница 2 вот здесь https://pdf1.alldatasheet.com/datasheet-pdf/view/316000/ONSEMI/D4184.html)
А на 20 кГц ШИМ тахометр не глючит?
>А на 20 кГц ШИМ тахометр не глючит?
Доберусь до дома и попробую с библиотекой сделать ровно 20 (ну и 25 тоже) и проверить.
#include "GyverPWM.h"
void setup() {
pinMode(3, OUTPUT);
PWM_frequency(3, 20000, CORRECT_PWM);
}
Вентилятор - это электродвигатель, он ссука искрит и помехи там будут. Я бы реле попробовал вынести к вентилятору. Оно кстати с оптроном или так?
Я сейчас подаю ему питание через пин ардумны пин 5в. Но если дохуя светодиодов горит, то мне кажется они горят слабее чем когда один горит.
Ну вот. Надо на каждый отдельный резистор. Сейчас у тебя светодиоды делят пропускную способность резистора, то есть чем больше включаешь, тем тусклее. Это если очень упрощённо
Да не. У меня вот этот дисплейчик с микросхемой на +5v вольтах сидиn и ещё светодиод на какой-то ножке ардуины. С резистором. Так вот светодиод тоже тускнеет если на дисплейчике больно дохуя "пикселей" горит.
А, вот как... Скорее всего просадки по питанию всей схемы. Пошевели юсб кабель на обоих концах тудысюды, попробуй подключить к более мощному питанию
>>479327
>в санузле ... включает вытяжной вентилятор через реле
Где там про brushless DC написано?
Алсо, вот здесь рекомендуют ставить LC фильтр на бесщеточный двигатель именно поминая "the noise level is quite severe and the noise Vpp reached more than 3 Volts at times, which is more than enough to cause logic gates malfunction."
Я бы PWM отключил совсем и подул в вентилятор хоть пылесосом и посмотрел, что показывает тахометр. Если и тогда глючит - может он вообще сломан, если нет - PWM, видимо, дает наводки.
Когда давал просто постоянное напряжение на вертушку - нормально показывал. Ну и ладно, хуй с ним. Что-то показывает - значит крутится, а сколько там конкретно оборотов не особо и важно.
А бля. Мне чёт показалось, что ты челу с крутиляторами на видюхе отвечал.
Бери esp8266 или esp32
Если напишешь в тг @m35476, скину почти доделанный под твои нужды проект, только под экран нарисовать интерфейс
питаю esp8266 напрямую от лития в vcc, проблем особых нет, какие подводные?
прост стращали что сгорит, но ничего, даже без стаба, даже вольтаж батарейки считывается через vccread или как там. жрет да, есть такое, но это не страшно.
Я бы тогда предположил наводки от PWM. Как побороть - трудно с ходу сообразить.
Скачал с оф.сайта драйвер, пытаюсь установить - говорит что не может. Что не так?
У гейвера норм гайд.
https://alexgyver.ru/arduino-first/
У меня была проблема что единственный оставшийся дома дерьмомикроюсб кабель оказался только для питания. Пришлось перпаять.
Кстати у ардуины нано юсб пины же не выведены отдельно? Только в разъеме? Я чет не нашел.
Vin идет на 1117 и никак не подключен к usb. Да, кстати, поэтому не стоит менять его на 3.3 В
> питаю esp8266 напрямую от лития в vcc, проблем особых нет, какие подводные?
Есть риск спалить нахер, так как выше 3.6 она не рассчитана. Но как показывает практика - рандом, может и не спалишь. Я так пилал f103c8, блюпилку, ну очень даже нормально работала
работает уже с год где то, заряжает от солнечной панели через 4056 литий и напрямую идет на ногу 3.3в. пока ничего не было.
Что такое ср210?
Тебе рекомендовали поставить драйвер для чипа ch340, который используется для поддержки USB в большинстве клонов ардуино. Драйвер можно найти наприер на этой странице: https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all#drivers-if-you-need-them
После этого при подключении твоей платы к USB будет появляться новй COM порт, в device manager можно увидеть. Тогда все заработает.
Спасибо анон, ты лучший!
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM6
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Ошибка при записи загрузчика.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e953f
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Шо делать? Гугл как-то не особо помогает. По-моему чип у меня 328, а не 328p, но они ж функционально одинаковые
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM6
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Ошибка при записи загрузчика.
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e953f
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Шо делать? Гугл как-то не особо помогает. По-моему чип у меня 328, а не 328p, но они ж функционально одинаковые
А что это? У меня arduino as isp
А что у тебя за ардуина?
У меня подобное было когда купил на али дешёвую ардуину и там оказался контроллер atmega168p. Заливать прошивки соответственно не получалось пока не добавил такую плату в файл boards.txt с нужной сигнатурой.
А у тебя может вообще ардуина идентичная натуральной на китайской версии atmega328
Ты про ардуину, которая программирует или которую программирует?
Первая уже выступала в роли программатора и работала нормально.
Программировать я пытаюсь Atmega328-AU Не 328p, а просто 328
Также, как обынчм светодиодом.
Общий катод - на землю. А на аноды подаёшь высокий логический уровень чтобы их зажечь.
Чтобы формировать цифры - нужные таблицы, которые можно найти в интернете.
Картинки не прикрепляются... Короче, датчик холла 3144E на платке в виде модуля для ардуинке без подстрочного резистора.
Ну, я нашёл инфу про сам 3144E, он может аж до 24 вольт принимать. На плате ещё есть схема LM393, она до 18 вольт может принимать. Так же есть два светодиода и куча резисторов.
Значит можно питать от 6 вольт, да? Это всё что мне нужно знать? Или я тупой и тут ещё что-то нужно?
Спасибо, анон.
Нет, на металл не реагирует. Он даже на мои магнитики с холодильника не реагирует. А вот на магнит от динамика уже да.
> > Как управлять семисигментными дисплеями с общим анодом?
> Общий катод - на землю.
С катодом понятно. С анодом как? Зачем они нужны?
Общий анод/катод выбирает цифру. Сколько цифр в дисплее, столько и общих анодов/катодов.
Чтобы вывести число, нужно переключать общие аноды/катоды по кругу с частотой от 100 Гц, чтобы более-менее сгладить моргание.
На эту тему куча материалов, тема очень простая. Я делал это и на пик, и на авр, и на плис. Настраиваешь таймер 100Гц, по прерыванию увеличиваешь номер цифры, сбрасываешь в ноль если надо, по номеру берешь значение из массива( или структуры, ведь цифр обычно не больше 4), которое нужно вывести, по таблице обменивает его на код цифры и отправляешь на ноги. Общий анод переключаешь через сдвиг. Все, выходишь из прерывания.
Для отладки выставляешь частоту прерываний 1 Гц, чтобы видеть как переключаются цифры.
И библиотек для ардуино наверняка есть целая куча.
Есть самопальная приблуда на Ардуино. Вкратце - панель для авиасимулятора. Помимо кнопок и лампочек есть в ней 4 восьмизнаковых панельки 7-сегментных индикаторов. Они на драйвере MAXчегототам. Думаю все знают. Подключены в одну шину. Так вот. В какой то момент (через полгода нормальной работы примерно) две последние в шине начали гореть ярко (ярче остальных) всеми сегментами и перестали реагировать на команды с контроллера. Сейчас иногда то горят то тухнут. Иногда горят отдельными символами нормальным накалом, но на команды не реагируют.
Прошил другую Ардуино тестовым скетчем подключал напрямую по одной - мертвые.
Софт не причём точно это Mobiflight, там своя прошивка. И она не менялась.
Скорее всего я хуево их подключил именно электрический при сборке. Об этом говорит, то, что иногда некоторые цифры на всех индикаторах пропадали, но раздуплялись когда менялось значение на них. Явно что то аппаратное как по мне. Вроде как кондеры туда надо бы пихнуть, но я нуб и не разбираюсь. Но припаять, смогу только понять что и куда и если не прямо к микрухе лол.
1) известен ли такой эффект и что случилось?
2) панелям таки видимо пизда, новые куплю не проблема, но как такого избежать в дальнейшем?
3) учитывая, что к ардуине этот паровозик прицеплен за одну линию, значит ли это, что контроллер вне подозрений?
Вроде написал. Панель для зависима. Выводит параметры автопилота и переключает его режимы.
Авиасима , быстрофикс.
Влажность видимо. Достань и поищи ржавчину синего цвета, как медный купорос. Либо в проводах, либо на плате.
Ярче горят когда МАХ сдыхает и перестает переключать цифры. Где-то замкнуло его, думаю если почистить, то ещё заработает.
Чтобы от влажности перестраховаться, можно залить плату клеем или ещё чем-нибудь. Я моментом заливал резиновым, тонким слоем все контакты и чипы.
Бро. Этой штуке полгода, в комнате стоит. Откуда влага.
Самому мне это неинтересно. Сам могу ему только с основами программирования помочь.
Там кроме стартер пака нужно что-то? Мне кажется нужен паяльник и всякий припой.
Не нужно. Там все на хлебодоске. Бредборде. Белая пластиковая херня с дырками. Все туда втыкается и перемычками объединяется.
Только без идеи что нужно сделать это будет просто кучка хлама. Светодиодами там помигаешь и всё.
Это даже не обучение нихуя как все пишут. За тебя уже другие обучились, написали модули и ты как ребенок дебил их собираешь как кубики.
Лучше лобзик ему купи, фанеры и клей, будет табуретки делать
>как ребенок дебил их собираешь как кубики
>батя-алкаш, закончивший когда то пту на радиомеханика.
Ты меня только больше убедил. Мне кажется это то что нужно.
Там ютубер говорит не брать кит дешевый за 1,5к, а брать за 3к какой-то фирменный. https://ali.ski/BbzOk Стоит его брать? Или дешевый сойдет? Брать только кит и все?
Если паяльник не нужен - збс. Если будет нужен потом сам купит или в след раз подарю.
Норм комплект (хотя немного оверпрайс), к нему бы ещё биполярных транзисторов взять штук 5 в магазине радиодеталей.
Дешёвые наборы почти всегда ардуина, бредборд, провода, светодиоды и резисторы, этого слишком мало. Конкретный набор не скуден
Нахуя большая пердуина? Бери нано. Втыкактся в бредборд и заебись на нем сидит. За ней дальше есть место для светодиодов. А эта дефолтная большая херня будет на проводах рядом болтаться и отваливаться.
Не знаю. Но если так, то это к лучшему. Куда оно должно выводить? В UART? Но какой именно и с какой скоростью, сколько стоповых бит и нужен ли бит четности? А может не в UART а в SPI или еще куда-то?
Если хочется, то для gcc можно переопределить функцию _write. Но зачем нужна пердуина, если задаешься таким вопросом?
> Но зачем нужна пердуина, если задаешься таким вопросом?
Ебался сегодня весь день со студией 4, нихуя не заработала ибо io.h not found,
приходится с пердуино иде сидеть
есть stdio для атмег.
Не знаю что там за студия, но возьми любой мейкфайл для мигалки на авр с гитхаба и все будет работать.
На авр при условии что оно развернется в одну команду будет импульс длиной один такт. На stm32 будет пропускать импульсы, потому что порты имеют меньшую частоту чем ядро. Это если на максимум все частоты выставить. Иначе зависит от настроек.
Сап радач. Есть такая хуитка пикрил 1 - кейпад на 7 клавиш, в ней установлен пикрил 2 - ATMEGA32A U-TH прошит ps2avrGB 1.4.0
Брал чтоб играть в ритм игры, где важна скорость реакции, но вот беда, хуитка работает на скорости в 125 Гц. Есть ли возможность повысить частоту опроса до 1000 Гц.
У меня есть другая подобная хуитка, на CH552G, и там 1000 Гц, но нет подсветки и слоёв, собсна, по этому я и брал новую взамен ей. А тут такая засада.
Там USB аппаратного нет, а на софтовом low speed с периодом опроса USB 10мс , да и контроллер и так на пределе скорее всего работает, забудь.
Тут очевидно нужен stm32, но видимо продавцы просто спиздили прошивку и не заморачивались созданием своей.
а у аттини85? вообще норм эта тема с клавиатурами. думаю что еще помахараить на продажу
Падажжи, я ещё погуглил, и еще на реддите спросил, говорят, мол с другой прошивкой "QMK" можно запердолить и 1000 гц. Пиздят?
А если прям на эту плату запаять другой МК, можно будет запилить такое? По пинам они совпадают?
Эту я купил на алике.
> какие тебе нужны характеристики?
Мне нужно тоже самое, что есть сейчас, только чтоб оно работало на 1000 герц.
Сейчас тут есть 7 кнопок. Настроено так:
1 - D
2 - F
3 - Left
4 - FN
5 - Right
6 - J
7 - K
И второй слой при нажатии 4 - FN
1 - ~
2 - Esc
3 - Down
4 - FN
5 - Up
6 - Enter
7 - Toggle RGB
Так же нужно чтоб осталась подсветочка с красивыми эффектами и с реакцией на нажатие клавиш.
В принципе, это всё. Сейчас это есть и мне все нравится. Могу вообще не пользоваться основной клавой, в играх на кейпаде всё есть, навигация и иговые кнопки.
Но 125гц меня убивают. Время отклика 8мс, хорошо хоть chord split нету, то есть 4 клавиши одновременно нажимаю, отправляются 4. НО, они уходят с идеальным интервалом 0мс, что каг бэ считай читерство почти. Короче, мне это не нравится.
На клаве или другом кейпаде, я нажимаю 4 кнопки сразу и получается 0мс 1.8мс 1.3мс 1.6мс, типа того.
Здесь еще бывает, если нажал, и ты попал на середину цикла опроса, то отправится 0 мс 8 мс 8 мс 0 мс 0мс - к примеру 4 кнопки.
И всё остальное ступенчато регистрируется.
Например смотри пикрил. Это игра где надо тыкать кнопочки в ритм.
Вот тут такая "лесенка. Мне надо нажать слева направо 4 кнопки.
Ну возьмём, к примеру, что между нотами расстояние в 5 мс.
Примем, что я нажимаю идеально, так вот, я нажимаю
А клава регистриует это так, 8 мс, опрос, 8 мс, опрос и выходит это на самом деле так
Игра засчитывает, что я проебал.
А клава на 1000 герц, отправляет всё отлично и правильно.
Вот в чём беда.
Мне всё нравится в этом кейпаде, я брал именно для слоёв, потому что в старом у меня их нет. И для подсветки, щоб красиво было. Но вот с герцовкой пиздец. Беда.
Эту я купил на алике.
> какие тебе нужны характеристики?
Мне нужно тоже самое, что есть сейчас, только чтоб оно работало на 1000 герц.
Сейчас тут есть 7 кнопок. Настроено так:
1 - D
2 - F
3 - Left
4 - FN
5 - Right
6 - J
7 - K
И второй слой при нажатии 4 - FN
1 - ~
2 - Esc
3 - Down
4 - FN
5 - Up
6 - Enter
7 - Toggle RGB
Так же нужно чтоб осталась подсветочка с красивыми эффектами и с реакцией на нажатие клавиш.
В принципе, это всё. Сейчас это есть и мне все нравится. Могу вообще не пользоваться основной клавой, в играх на кейпаде всё есть, навигация и иговые кнопки.
Но 125гц меня убивают. Время отклика 8мс, хорошо хоть chord split нету, то есть 4 клавиши одновременно нажимаю, отправляются 4. НО, они уходят с идеальным интервалом 0мс, что каг бэ считай читерство почти. Короче, мне это не нравится.
На клаве или другом кейпаде, я нажимаю 4 кнопки сразу и получается 0мс 1.8мс 1.3мс 1.6мс, типа того.
Здесь еще бывает, если нажал, и ты попал на середину цикла опроса, то отправится 0 мс 8 мс 8 мс 0 мс 0мс - к примеру 4 кнопки.
И всё остальное ступенчато регистрируется.
Например смотри пикрил. Это игра где надо тыкать кнопочки в ритм.
Вот тут такая "лесенка. Мне надо нажать слева направо 4 кнопки.
Ну возьмём, к примеру, что между нотами расстояние в 5 мс.
Примем, что я нажимаю идеально, так вот, я нажимаю
А клава регистриует это так, 8 мс, опрос, 8 мс, опрос и выходит это на самом деле так
Игра засчитывает, что я проебал.
А клава на 1000 герц, отправляет всё отлично и правильно.
Вот в чём беда.
Мне всё нравится в этом кейпаде, я брал именно для слоёв, потому что в старом у меня их нет. И для подсветки, щоб красиво было. Но вот с герцовкой пиздец. Беда.
> Примем, что я нажимаю идеально, так вот, я нажимаю
Бля символы не отправились. Смотри пикрил
Да, софт называется Bootmapper. Это для прошивки ps2avrGB. Настройки зашиваются прямо в железо.
> почем взял?
Пикрел 2
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3d
resp принимает разные значения, в зависимости от фаз луны, но никогда не 0x00. Более того, сам чип 100% жив, я успешно зашил в него бутлоадер по этому гайду
https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP
Схема программирования идентична схеме нано (пик 1 и пик 2). Куда копать? Что тут не так может быть? На макетке это работает.
Но у меня кварц на месте
Только это. На ардуину уно, которую я использовал в качестве isp, загружаются спокойно любые скетчи, а тут полный сас. Если собрать схему на макетке с такими же подключениями, то все работает тоже. Попробовать впаять другую атмегу?
Опрос 1000 Гц можно сделать, но передача до компа все равно будет каждые 10 мс. Аттини85 тоже без УСБ. По пинам точно придется что-нибудь менять.
а как digispark реализован? у меня он нажимает на кнопки пк, ловя ик сигнал пульта от телевизора. плеером управляю
>Опрос 1000 Гц можно сделать, но передача до компа все равно будет каждые 10 мс.
Ты имеешь в виду, что можно сделать опрос клавиш на нынешнем МК будет каждые 1 мс, но передача будет на комп всё равно каждые 10 мс? Ну это говно. Не пойдёт. Толку от этого никакого.
>По пинам точно придется что-нибудь менять.
Менять на плате или в прошивке? Если на плате, то затея мёртвая. Это пиздец, там ничего не поменяешь уже.
Если поставить ATmega32U4, у которого есть аппаратный юсб, получится его просто присрать на эту плату и в прошивке пины поменять на те, что мне нужны? Чтоб опрос был 1000 герц и передача тоже 1000 гц, там вроде нативно такое можно сделать. Туда можно накатить попенсорс QMK, там тоже всё есть и РЖБ и слои.
Ладно, я так понял, это нереально. Пины отличаются значительно. Вплоть до питалова.
Как его шить без Arduino ide?
>>482421
>>482424
В электронщике оригинал (надеюсь) все еще дешевле https://www.electronshik.ru/item/MCRCH/ATMEGA328PB-AU
Но срок поставки вырос и минимальное количество 5 штук. Ну что, вслед за стм32 хреново становится и с этими. С плисами тоже сейчас все хреново. Меня тут кто-то уверял что ситуация улучшится через пол года, может год. Прошло около половины года, стало только хуже.
> Ну что, вслед за стм32 хреново становится и с этими. С плисами тоже сейчас все хреново. Меня тут кто-то уверял что ситуация улучшится через пол года, может год. Прошло около половины года, стало только хуже.
Так бля, тут только ждать МК на тонких техпроцессах, ~22-10 нм, потому что эти мощности наращиваются, а вот древние 100+ нм - нет, и это то в условиях роста спроса на все МК
>на тонких техпроцессах, ~22-10 нм
Пока и с таким не все хорошо, как пример циклон 10GX.
>условиях роста спроса на все МК
Да если бы микроконтроллеры, это еще ничего страшного, тут с остальным проблемы есть.
Ну да, надо ждать перевода вообще всех самых ходовых ИМС на тонкие техпроцессы. Все отрасли, которым, правда нужна сертификация микросхем, сильно против этого, но другого способа борьбы с дефицитом нет.
Как проверить, что кварц работает вообще? я ткнул между ногами осциллографом, нихуя нет. Как вообще должен выглядеть сигнал и где?
Почему все? Timer1 16 битный, на нем можно сделать собственно 16 битный, но тут уже надо либы искать или ебать регистры
ты думаешь, что за удобство готовых либ не надо платить? Они загоняют тебя в рамки, ибо готовые
ты перерос их, открой даташит, прочитай описания регистров и работай напрямую
Через даташит и читаю, но например взять два analogread в дш не очевидно что надо фри ран или одиночное чтение включать, хочешь два канала ацп читать их переключить ещё надо, а вот таких тонкостей почему-то никто не пишет, или я жопой ищу
Реализовать планирую через перечислитель со значениями, которые будут передаваться в условную функцию для установки скважности каналов шим. Функцию планирую вызывать по таймеру в цикле. Вроде бы все кошерно, но есть вопрос сколько процессорного времени приблизительно понадобиться для этой затеи?
И еще вопрос, можно из прерывания менять значения ШИМ?
Что мешает взять и попробовать?
Я только начал обмазываться этим великолепием, и есть несколько вопросов по питанию. Хочу питать свои поделки от 18650. Просто потому, что они у меня есть. Нашел что есть повышающие и понижающие платы. Потянут ли они например нагрузку моторчика? Что лучше: собрать две батарейки последовательно 3,7+3,7 и понизить до 5 или собрать параллельно и повысить до 5? Так же нашел что есть специальные приблуды именно для 18650, типо с контроллером разряда, защитой и всего такого. Нужно брать их? Или хватит обыкновенных? Или я в целом сосну и лучше собирать на обычных щелочных?
Посмотри сколько тока будет потреблять твой мотор в пике и в нагрузке, посмотри, сколько будет выдавать твой преобразователь питания. Есть 18650 высокотоковые, которые могут выдавать несколько ампер, они годные, но преобразователь - понижайка/повышайка может например, только 1А. Ознакомься, почитай.
Ну у меня как раз высокотоковые. 20А. Окей. А что делать с переразрядом? Надо ещё +1 контроллер для этого купить? Н
главное чтобы по току защита соответствовала. сколько вот у движков
>Что лучше: собрать две батарейки последовательно 3,7+3,7 и понизить до 5 или собрать параллельно и повысить до 5?
А что тебе надо, силу тока и ёмкость, или напряжение? Из этого и исходи.
Лучше ставить понижайки, чем повышайки.
Плата защиты стоит 50 рублей на алике. Там есть защита от перазаряда, переразряда и по току.
Вот у меня тут мах7219 с 7 сегментными дисплейчиками. В каждом поголовно "гайде" написано "скачайте библевотеку и редактируйте примеры".
Не хочу я этой херней заниматься, чью-то шизу перебирать. Их ещё сотни всяких с разной шизой. Нахуя?!
Я поискал по первым пришедшим в голову словам, но ничего не нашлось. Только "готовые библиотеки".
Чего все так дрочат на библиотеки? Это же отвратительно! Зависеть от чьей-то шизы! тоже мне обучающая платформа...
Ардуино это экосистема библиотек и среды под них над AVR. Стирай слово ардуино в поиске и пиши AVR и будет тебе счастье
> Как с помощью блюпуп модуля отправлять уровень заряда на телефон, например, как на пикриле.
Никак
> Допустим у меня есть bluetooth самоделка с аккумуляторм,
Показывай или иди нахуй
>как его текущий заряд показывать в верхней строке состояния?
Читаешь значение текушего заряда, отправляешь
>Никак
А как сделано во всяких bluetooth наушниках?
>Показывай или иди нахуй
Я же сказал допустим, все, что я могу тебе сейчас показать, это блюпуп модуль, подключенный к ардуине(да и то модуль HC-06 или 05, а они устаревшие и не смогут показать с строке состояния уровень заряда, но я бы купил необходимый, если бы сказали какой нужен).
>Читаешь значение текушего заряда, отправляешь
Я знаю как отправлять обычные значения, но так чтобы они отображались в верхней строке состояния я не знаю.
> Я знаю как отправлять обычные значения, но так чтобы они отображались в верхней строке состояния я не знаю.
Ну например можно раскурить какой нибудь processing лол, там для ондроеда чета было
>Как с помощью блюпуп модуля отправлять уровень заряда на телефон, например, как на пикриле
Читать документацию на блюпуп. Вангую, что это работает только для носимых устройств, если вообще только не для наушников
А я думаю что надо копать андроид и как там такое отображение работает. А потом просто посылать что надо и как надо обрабатывать бла бла.
Буду срать сюда, т.к. STM тред мертвый.
БЛЯДЬ КАКОЙ ЖЕ ХАЛ ВСРАТЫЙ
ПИЗДЕЦ ПРОСТО
Дело даже не в внутрянке, а в API. Эти всратые не типизированные структуры инициализации, эти миллиарды HAL_MAT_EBAL_I_V_KINO_VODIL_PIZDU_PORVAL
всратейших макросов.
Эти установки битов через явные RMW aka &= |= .
Какой же он уебищный, просто пизда. Libopencm3 всего лишь чуточку получше, но тоже говно, учитывая, что там за 10 лет даже часть периферии старых камней не поддерживается - RIP.
Пизда, как жить то? Я не хочу писать свой ебучий велосипед на каждый чих.
Оно тоже говно. Есть МК, у которых заголовочные файлы гораздо лучше и круче. PIC
Все эти всратые 30 символьные макросы МОЖНО убрать, используя лишь заголовочник - размечая структуры в памяти и имея доступ к каждому биту или битовому полю.
GPIO->MODER->MODER2 = GPIO_MODE_PP;
FАнон, ты представляешь, насколько это блядь лучше той параши, что насрана в стмовском хидере?
В состав CMSIS входит https://arm-software.github.io/CMSIS_5/SVD/html/index.html
Из этого не сложно автоматически сгенерировать то что ты описал. Так возьми и сделай, а не ной тут.
>Анон, ты представляешь, насколько это блядь лучше той параши, что насрана в стмовском хидере?
Я не он, но не представляю. Это не прихоть стм, это требования ARM. И очевидно что они руководствовались при этом определенными соображениями, которые ты упускаешь.
>Это не прихоть стм, это требования ARM. И очевидно что они руководствовались при этом определенными соображениями, которые ты упускаешь.
Да, возможно. Я посмотрел - на всех АРМках так.
Может, возможно и есть причина. Но я хз.
Хидер это чисто языковая конструкция, она к железу отношения не имеет.
Поставил бы на то, что это сорт стандартизации.
И не слезают потому, что ну на самом деле похуй, биты ебуться дай боже 5% времени.
Это легче научиться жрать говно.
>Так возьми и сделай, а не ной тут.
Беглый осмотр диаграмм говорит, что там именно парадигма такая. Т.к. то, что описал я выше туда не заходит.
Посоветуйте хорошую библиотеку для рисования хуев и кириллицы на nokia5110 lcd (под stm32 или avr).
>Может, возможно и есть причина. Но я хз.
Причина очевидна, нужно всего лишь сопоставить преимущества и недостатки обоих вариантов.
>Т.к. то, что описал я выше туда не заходит.
С чего бы это? Там можно получить все что нужно, а именно связь вида: название периферии -> название регистра -> название бита. Чего еще надо то?
>преимущества и недостатки обоих вариантов
И какие есть преимущества у текущей над предлагаемой?
И какие у предлагаемой недостатки?
Писать в биты кроссплатформенно это пушка.
Никто не запрещает тем способом когда надо писать в регистр.
Структурки хранятся в юнионе с адрессом регистра.
О чем это?
Тот анон вообще-то писал про битовые поля, union там и все такое. И да, так делают для пиков. Преимущества и недостатки очевидны и кидаться говном не обязательно.
Так я не умею. Я не программист. Прост когда просишь что-то исправить в коде пишут "выкладывай код". Ну вот тут код есть и даже работает. Надо только фильтрацию по mac добавить. Это надо ещё и в сетевых протоколах разбираться я хз как это сделать
Ну вот же они закомментированы. Сделай как тебе надо.
Веб интерфейс с настройками адресов сделать? Ну наверное кто-нибудь сделает за отдельную плату.
Я бы мог, уже делал, но к сожалению выкатился из есп потому что комп сломался.
Блин я наверное совсем тупой но не понимаю как туда прилепить mac. Покажи как плз
Я уже показал.
Анончики, помогите пожалуйста с выбором.
Ссылки из описания поста протухли, а везде рекламный шлак.
Хочу присесть на ардуинку.
Образование позволяет отличить транзистор от диода, с принципами работы компонентов знаком, сам инженер механик. Умею в пайку, но без фанатизма. С сишечкой знаком, умею мигать пикселями на winapi.
Посоветуйте пожалуйста набор для вкатывания, но без долгих прелюдий в стиле v=i*r, ну или чтобы вкратце это было и побыстрее перешли к сути.
Спасибо большое.
ваще похую. работаю инж электронщиком уже лет семь, не знаю режимы работы б.транзистора. делаю махараи и продаю. на работе вообще почти ничего не делаю. больше асутп
Нужно для курсача составить принципиальную электрическую схему.
Составил, отправил преподу. В целом всё нормально, но он говорит, что необходимо пронумеровать ножки микросхемы.
Может кто подсказать, как это правильно сделать для Arduino Uno?
Прикладываю свою схему
GyverKIT
Пусть нахуй идет. У тебя на схеме нет микросхемы. Есть плата. С выводами. Как выводы называются вон подписано.
(то что на плате есть микросхема нам вообще похуй и неебет, там помимо микросхемы ещё много чего есть, но нам на это похуй, так схуяли надо нумеровать выводы какой-то "микросхемы"?)
Ебал всех этих "преподов" с их идиотскими требованиями делать всё через жопу и пытающимися научить меня какой-то херне которая мне ненужна.
>Есть плата. С выводами.
С разъемами. И схема должна быть соответствующая.
>Ебал всех этих "преподов" с их идиотскими требованиями делать всё через жопу и пытающимися научить меня какой-то херне которая мне ненужна.
Может быть препод хочет чтобы было хоть отдаленно похоже на требования ЕСКД или еще какой-то стандарт.
Кроме простого делителя можно вот такую йобу всобачить (диоды с закорючками - это диоды Шоттки)
Одного стабилитрона вместо этой хуйни хватит
Как это говно работает?
Допустим семисегментный дисплей с общим катодом.
Если оче упростить то: я соединяю две ножки-вывода ардуинки через светодиод и резистор. Обе ножки оутпут. И если я:
обе ножки подниму - не горит,
подниму анод опущу катод - горит,
опущу анод подниму катод - не горит,
опущу обе - не горит.
Я правильно понял?
Таким способом тогда можно этим всем управлять, ну, да, наверно. Для управления допустим квадратом 4х4=16 светодиодов понадобится 4+4=8 пинов. Профит, дальше больше.
У меня только вопрос. Вот я подключу восемь светодиодов анодом к разным пинам, а катодом - к одному. Он пин там не сгорит нахуй?
Библевотеку посмотри. Это "рекомендуемый метод". Ну по крайней мере описанный в библиотеке.
Подключаешь все пины четырех разрядного семи сегментного дисплея к пинам ардуины, указываешь их все оутпутами и с их помощью зажигаешь нужные сегменты нужных разрядов.
Я видел в другом месте с помощью мосфет транзисторов управляли. Пин-резистор-(анод-катод)-транзистор-земля. Ок понятно. А тут вот как-то без транзисторов. Потому и спрашиваю.
Ф пезду ваши либы, на пике у тебя общий анод же, который к плюсу, ты шо там ебанулся?
Где на пике общий анод?
У семисегментных дисплеев общим считается тот вывод который общий для разряда.
Ну да в глаза ебусь
В общем мой вопрос остался.
Можно ли управлять четырехразрядным семисегментным дисплеем подключив все его выходы к пинам ардуины и поднимать и опускать катоды или катоды нужно убрать на землю и управлять ими через транзистор?
Ну вот у тебя на картинке через транзистор. А у пидораса из библиотеки - нет. Кто прав?
На один сегмент мне надо девять. На следующий сегмент я могу заюзать аноды с первого и плюс ещё один катод. Если дисплей с общим катодом.
Включаю первый сегмент, подаю что надо, выключаю, включаю второй, и так далее. Мигает, да, похуй.
Но мне похуй на это! Меня интересует можно ли вместо транзистора использовать просто выход микроконтроллера как это предлагается в библиотеке выше и какие подводные?
Считаешь или меряешь ток, потребляемый одним сегментом, умножаешь на максимальное количество одновременно горящих
@
Смотришь максимальный выходной ток для одного и для всех выводов микроконтроллера в даташите
@
Если тока не хватает - вешаешь транзистор, на минус npn или n-канал, на плюс pnp или р-анал
Учитываешь сопротивление канала/напряжение насыщения
@
???
@
PROFIT!!!
Ну почему не сгорит.
Хуячишь по второй картинке >>483484 получаешь 5в / 330ом х 8 = 120 мА на катоде. Выводу катода пиздец.
А вот если хуячить по первой картинке то не сгорит. Только при много включённый св диодах они будут тухленько светиться. 5в / 330ом / 8 = 1,9 мА. А может и нормально будет. Хуй знает. От св диодов зависит.
>Выводу катода пиздец.
А защита от КЗ? Но разу не видел порта, сгоревшего от перегрузки. 20/40 ма дошел, начало падать напряжение, все.
Причем порт продолжает нормально работать, его можно считать и определить логический уровень.
Или я что-то упускаю?
>А защита от КЗ?
Это не защита. Это выходной транзистор из режима насыщения переходит в линейный режим.
>Или я что-то упускаю?
Конечно. Наличие документации. Ты похоже ни разу даташит не открывал.
Ебать у тебя ЧСВ. Ну ладно.
Спасибо.
А как вообще ардуины для кустарной промышленности? Почему все вокруг кроют атмеги хуями, но делают сойбой-фэйс при упоминании стм или с7?
Бля, мэн, пердуина уже давно не только на аврках собираеца.
А дома хоть блять на логике свои пердольки собирай
>А как вообще ардуины для кустарной промышленности? Почему все вокруг кроют атмеги хуями, но делают сойбой-фэйс при упоминании стм или с7?
Пердуина где-то с 2015 это не аппаратная платформа, а программная, по большей части. Ты можешь в пердуино ИДЕ вообще что угодно программировать, хоть есп, хоть стм. Если ты знаком с языком Си/C++ не только по ардуино иде, то можешь смело качать STM32CubeIDE и пересаживаться на стмки, там ничего сложного
Так а в чем плюсы стм, кроме мощности? Надежность?
А по видео понял только что код из 4 строк в ардуино иде превращается в 200+ строк в кубе после пердолинга с настройкой вывода ножек-многоножек.
> Так а в чем плюсы стм, кроме мощности? Надежность?
А тебе мало что ли?
Стм32 как минимум 32х битные, со всеми вытекающими. Намного больше периферии, у даже f1 имеется как правило несколько i2c и spi, имеется usb из коробки. Больше таймеров, ты можешь делать шим уже с 4096 уровнями, вместо 256. А ещё, если брать f4, то там есть FPU и ты можешь считать синус прямо на месте и быстро!
> после пердолинга с настройкой вывода ножек-многоножек.
Ты попробуй, а потом поймёшь, насколько это удобнее чем писать
PIN_MODE()
Я нубло в погромировании мк, но задание есть задание
Как сделать так, чтобы сигналы на выходах ног, лежащих в массиве Out, при приходе C = 1, сдвигались вправо на постоянку, а не при то, что при возвращении C = 0, они сдвигаются обратно.
То есть, по сути, надо сформировать регистр 4-х-битный
Все, уже не надо, разобрался
Половину не понял, но остальное понял.
Хочу рога замочить в делюге с аппаратом штабелирования, но там дохуллиард датчиков, и даже меги будет мало. Есть у стм что-нибудь на 50+ входов и просто ли выйдет перекатиться с пердуины?
> Есть у стм что-нибудь на 50+ входов
Дохуя всего, смотри на stm32f4 и f7, в этих есть точно многоножки
> просто ли выйдет перекатиться с пердуины?
Ещё раз, если ты программировал не только в среде ардуино иде, то да, легко
>2,4
Нафиг это говно в шапке?
Лучше бы в оп-пост запостили аппаратный удаленный рабочий стол на малинку, который запилил один владелец стартапа в прошлом треде.
>флаг вызова прерывания
Это ты так его назвал, а это на самом деле флаг события. События внешнего прерывания, приема передачи байта по интерфейсу, события пробуждения, измерения ацп и т.п. на который есть вектора прерываний. А уж будет ли по ним прерывание либо не будет это уже и задается другими битиками разрешения прерываний в отдельности для каждого события и бит разрешение прерываний I в регистре состояний SREG .
Зачем так сделано?
Например, что байт у тебя передался по интерфейсу какому-нибудь, как ты об этом узнаешь без такого флага, дурашка? А так ты поставил while (!TI); и ждешь, пока у тебя байт передаститя и ты сможешь обнулить этот флаг программно(это только в прерывании этот флаг аппаратно обнуляется (прямо как пыня) при входе в прерывание, а тут надо ручками) и новый байт передять. Т.е. в зависимости от твоих каких-то соображений каждое событие ты можешь обрабатывать либо по прерыванию, либо по флагу.
а хде загон для малинодебилов, а то я не вкурсе.
>Лучше бы в оп-пост запостили аппаратный удаленный рабочий стол на малинку
У нас ардуино тред. Малинобляди вообще сидят в DIY, в ra вообще никогда не было тредов по одноплатным ПК
Так цимес был в том что тот анон запилил сорт-оф ардуину(на основе атмеги) и на этом поднял стартап.
И в том треде его никто не гнал ссаными тряпками, а наоборот хвалили.
Ты про этого что ли? https://github.com/pikvm/pikvm
Но там же нет атмеги. Из аппаратной части основное там переходник HDMI-CSI.
Нубук хотя-бы не тормозит
Зависит от тока общего провода циферки. Если ток небольшой то можно использовать как общий провод просто одну из ножек микрика, если большой, то чтобы его усилить тебе понадобиться мистер Транзя.
Для всей линейки атмелов есть, для есп есть, для стм32 есть, а для PIC чот нихуя.
Не спалю еспшку если один источник питания - 5в -и на есп32 через юсб и на устройство что хочу питать?
Прикупить еще второй пик? Там джамперы 3.3в/5в переключать дают, но точно не уверен как оно работает.
>Там сишка закрытая
http://www.sourceboost.com/
>да и камень pic16 говно
Смотря какая задача. PIC18 уже вполне себе, кстати. Хотя на 16-м вполне себе пилятся gsm-сигнализации, замки с ibutton и rfid, и прочая мелкая автоматика.
>Хотя на 16-м вполне себе пилятся gsm-сигнализации, замки с ibutton и rfid, и прочая мелкая автоматика.
Но зачем, когда есть STM32L0?
>Там сишка закрытая
В смысле закрытая? А как их шить-то тогда?
PIC16 вполне бы зашёл за улучшенную альтернативу атмеги328. А ещё даже в чипидипе они в 2-3 раза дешевле ебических подорожавших аттини.
Я шил на лабах в универе pic16f84a, pic16f630, pic16f628.
Там нихуя нет. Все делаешь руками, на ассемблере. Си компилятор платный, я его не пробовал.
Единственное преимущество этих чипов - асинхронный таймер, если он есть. То есть таймер который может считать импульсы быстрее чем тактовая.
Если я чего-то не знаю, подскажите.
Собрал вот это
www.instructables.com/Retro-7-Segment-Clock-the-Final-Ones
Все было делано по инструкции, но при подключении к БП, ардуино начинает глючить и светодиодная лента просто светит цифры и не реагирует на кнопки переключение. Но при подключении к PC через miniUSB, все идельно работает. Я уже джва раза менял светодиодную ленту, подозревая, что полетел чип на одном из кристаллов и это мешает ардуино работать. Но ничего не получается...Что я не так делаю?
>>плохо оформляешь ссылки
Извини, анон.
Вот:
https://www.instructables.com/Retro-7-Segment-Clock-the-Final-Ones/
В том и дело, что питается все это от блок питания на 5v, 5a. И все равно ничего не получается.
Ему говорят взять третий бп для проверки, он упирается, нет "мой бп самый качественный во всём союзе", ф пезду
Только что проверил с помощью 3 видов блоков питания и у всех одни и тот же результат, хз кароче в чем проблема. От PC работает идеально, а когда подключаю к БП, все летит к хуям.
>>484254
>>обратно чип ничего не дает, я очень много работал с адресной лентой.
Может быть такое, что сигналы от ардуино не доходят до адреса?
Ну вдруг, чип на одном из сегментов умер, хотя по тех.паспорту - адресная и не зависят от друг друга.
если лента 2812, то при выходе из строя одного диода все остальные перестают работать. там на первый диод приходить пакет о состоянии всех диодов, первый забирает свой кусок, перестраивает сигнал без этого куска и посылает дальше.можешь видео записать?
а кстати сфоткай как у тебя подключено к ардуине? бля, я будто опять на техподдержке своих клиентов по ленте лол
На связи анон >>484240, у которого была проблема с этим - https://www.instructables.com/Retro-7-Segment-Clock-the-Final-Ones/
Собирал все по инструкции как на пике. Но при подключении к блоку питания, Ардуино начинало нещадно глючить. Переключил питания с 5V на VIN и все стало нормально работать. Так вот, знающие аноны, как думаете Ардуино от такого подключение сдохнет или будет работать? Заранее спасибо.
Такой вопрос, даже не знаю как сформулировать. Вот я пишу код на с++, заливаю, вроде всё работает. Но у меня нет четкого понимания как экономить машинное время, как оптимизировать те или иные задачи, да и попросту как писать меньше кода. Как и где этому можно научиться? Я мог бы скинуть сюда примеры своих скетчей, но вряд ли вам будет интересно в них ковыряться. Можете показать свои, я посмотрю.
На данный момент мой опус магнум - контроллер для гидропонного гроубокса с дисплеем, менюшками и часами, под 1000 строк. Но я жопой чую что написан он коряво, и это не дает мне покоя.
Что подскажете?
Насколько я знаю 5в - это выход со стабилизатора который на самой плате подпаян, а вин - вход, который допускает больший разлет напряжений питания. Я на самопальный терморегулятор еще свой лм7805 подпаивал, а то аналоговняный сигнал с датчика сильно шумел.
офк у тебя стаб не тащит ленту. лучше даже не через вин, а напрямую с бп, общую землю с ардуины только провести
Забудь про оптимизации при использовании ардуино. У тебя неизвестное кол-во слоев под АПИ, там не о чем думать.
Вот о красоте кода - да, стоит думать, тем более ардуина дает средства для этого.
Но вопрос не в размере, это ок, когда дерьмовый код после переработки становиться в 2 раза больше.
Вот дефолтные правила
0. Имена всего должны быть понятные и без сокращений. Для булевых используй префиксы is\has.
1. Переменная объявляется там, где начинает использоваться. (кроме глобальных).
2. Функции не длинее экрана, чем меньше, тем лучше.
2.1 Вообще старайся всю явно выделяющуюся хуйню выносить в функции, даже если 1 раз используется. Это приведет к огромной читаемости кода.
3. Вложенность 2 - хреново, 3 не приемлемо. Ни о каких for в for или switch в switch'е даже речи не идет.
4. По возможности выход из функции в одном месте (кроме проверки начальных условий)
5. Делай в каждой функции что то одно
6. Старайся делать чистые функции, а всю грязь группируй в одном месте каком.
7. Не мешай уровни абстракции. Лучше нагороди функций где будет одна строчка в каждой.
8. Избегай стейт машин любой ценой.
9. Еще дохуя чего, но так с ходу не вспомню...
А вот еще важное.
Метод должен называться глаголом, переменная существительным. И желательно не только называться, но и являться.
> Более менее сложная ака полезная стейт машина это нечитабельный ад, который трудно отлаживать.
Чем заменить
>>Насколько я знаю 5в - это выход со стабилизатора который на самой плате подпаян, а вин - вход, который допускает больший разлет напряжений питания
>>484395
>>офк у тебя стаб не тащит ленту. лучше даже не через вин, а напрямую с бп, общую землю с ардуины только провести
Да, собственно именно в питании было дело. Снизил до 4,7V все заработало как положено.
Спасибо Аноны за наводку! С наступающим!
>Более менее сложная ака полезная стейт машина это нечитабельный ад, который трудно отлаживать.
няш, ты же в курсе, что сложный конечный автомат совершенно необязательно означает кучу вложенных свичей на несколько страниц?
>высокоуровневого ООП фреймворка
а вот кстати автоматы вполне неплохо ложатся на ООП. Абстрактные состояния со стандартными интерфейсами для переходов и регистрации следующих состояний, все такие вот дела.
https://alexgyver.ru/lessons/code-optimisation/
https://alexgyver.ru/lessons/dynamic-memory/
Там поле непаханное для оптимизаций.
Отдельный прикол про библиотеки к модулям, которые бывают тяжёлые как ёптвоюмать, и не везде нормально встают. Если тебе от какой-то либы нужна какая-то отдельная функция - приходится все километры кода в скетч перекопировать, а потом вручную оппиливать оттуда всё ненужное, отшивать от объектов и.т.п. И это код прилично так ужимает. Нет, компилятор так хорошо резать ненужное не умеет.
В этом дурацком иде нет автозаполнения, а писать имена целиком каждый раз или копипастить это ручки отвалятся.
Пробовал писать на ардуино, простая хуйня с ацп заняла всю память attiny13.
Переписал все на регистрах в том же скетче, объем кода снизился в 5 раз, скорость выполнения увеличилась.
Критичные к времени выполнения участки лучше писать на регистрах. Если камень маленький и много функционала - имеет смысл сразу перейти на них.
Зависит.
Тредом с прямыми задержками и перезапуском, а не изменением состояния например.
>>484447
КА которые на массивах или не дай боже на паттерне сделаны наверно еще хуже.
На ООП все не плохо ложиться, т.к. ООП лучше чем процедурная залупа.
>>484463
Залей блядь на Ideone.
>>484470
Не работай в дурацких IDE. Развивай слепую печать.
Будешь делать иначе - будет write-only говнокодище.
>Тредом с прямыми задержками и перезапуском, а не изменением состояния например.
Вынь хуй из глаз.
1. Земля тебе пухом.
2. Треды это общее понятие, оно не обязательно про плюсы.
3. На МК стандартные треды плюсов вроде в 2.5 местах только реализованы.
Ты реально глупый такой?
Я тебе написал - тред, он же поток, это общее понятие, есть на ++ их из коробки не сделали, не значит что их нельзя сделать. Ебануться. Фриртос тебе нахера?
PS еще кроме тредов, альтернативой КА может быть DSL или простенькая VM.
Можно оптимизировать:
по скорости
по размеру исходника
по использованию памяти
по красоте кода
Для таких пациентов не существует ничего кроме последнего пункта. Других критериев оптимизации он не признает, как видите.
Конечный автомат для него сложнее многопоточности, метапрограммирования, и даже виртуалки, охуеть.
Функциональное программирование это считай та же комбинаторная логика. То есть самый простой уровень. И он плохой, нужно все в объекты в объекты пихать.
Сейчас бы он начал исходить на говно, рассказывать что никто ничего не понимает кроме него, если бы не эта строка.
Нет. Я просто считаю что ты доунич, раз считаешь в общем случае что либо важнее читаемости и кач-ва кода.
Ты либо нихуя длинее пары тысяч строк не писал в своей жизни, либо необучаемый райтонлер, каких ссаными тряпками отовсюду гонят.
>раз считаешь в общем случае что либо важнее читаемости и кач-ва кода.
Ага, я именно так и сказал. Зачем ты повторяешь?
>в общем случае что либо важнее читаемости и кач-ва кода
Тут нет общего случая. Если у тебя что-то низкоуровневое и не с кучей либ - да, можно писать красиво, зато потом ебаться пару дней с настройками компилятора. Если у тебя много либ - то настраивать компилятор и писать makefile ты заебешься для получения быстрого кода. А ещё иногда надо помнить про то, что компилятор не всегда умный и, написав совершенно нечитаемую строку, ты можешь получить прирост в производительности БОЛЕЕ ЧЕМ В 5 РАЗ https://youtu.be/bVJ-mWWL7cE
Если у тебя какая-нибудь высокоуровневая параша, то разумеется ничего не нужно кроме читаемости кода, там один хуй оптимизировать нечего.
Хули нет?
Да кто ж заперщает то? Ради эксперимента - пожалуйста, а так есть 100500 готовых интегральных схем, поэтому оно просто не нужно
Вы тут с ума сошли все блядь.
Нахуй вам оптимизации, придурки?
Вы пишите нагруженную рилтайм хуйню и не укладываетесь в тайминги?
Ваше приложение не лезет в железо?
Вы хотите удишевить продукт перенеся на слабое железо?
Нахуй вы оптимизируете? Понимаете, что вас С-деды затролили тут.
Первое правило программирования - НЕ ОПТИМИЗИРУЙ БЕЗ НУЖДЫ БЛЯДЬ. Это не я придумал, это придумали и поддержали умнейшие люди, легенды, столпы, но все равно вылезает клоун типо >>484522 и рассказывает какие все не пограммисты, а бизнесмены...
Проблема софта не в скорости работы, на нее всем похуй, даже если бы не случился муровский бум. Проблема, что софт сложнее всратой унитазосмывалки не возможно поддерживать.
Проблема, что софт обфусцированный опти-клоуном содержит ошибки с большей вероятностью и заранее заметить или даже зная о наличии найти - гораздо сложнее, в итоге твоя говномсмывалка однажды врубит бачок ночью и сольет тебе пару сотен литров воды.
Охуеть, в ардуинотреде мне затирают про оптимизацию. Пиздец просто.
ПС если компилятор у тебя оптимизирует в 5 раз в зависимости от вида написания чего-либо -- у тебя структура программы и кода говно. Компиляторы действительно не столь умные, как принято считать, но они прекрасно делают свою работу, если от них не просят хуйни.
>у тебя структура программы и кода говно
Нет, там речь про отказ от использования условных переходов, так как они медленные. Вообще видос я скинул ради троллинга, так как предсказателей ветвлений в МК нет в принципе
>А как получить доступ к методам библиотеки? Я учился яве вообще, там можно всё посмотреть, а тут вроде вордпадом можно открыть, но это мозгоебля какая-то.
Ну открой не вордпадом, а любой подходящей IDE, хоть дефолтной ардуинской. Это всё один хуй текстовые факлы.
>>484522>>484542
Вот этого двачую. Есть задача, есть больные места, определяемые условиями задачи. Бутылочные горлышки могут быть принципиально разной природы. Где-то нужно работать с жёсткими лимитами по оперативке, где-то с жёсткими лимитами по скорости или бюджету. Каждый случай индивидуален.
>>484551
Не всякий код нужно дохуя рефакторить и глушить ежемесячными обновлениями. Бывают микроконтроллеры, которые в принципе шьются один раз в жизни. Или вояджеры на древнем фортране до сих пор летят, потому что на них модный камень не поставишь и перепрошивать их часто не нужно, а вот потратиться на десятикратной проверке оптимизированного кода совершенно не западло. И иное дело когда ты быдлоигру для смартфончика обслуживаешь, а в команде у тебя индусы аутсорсящие индусов, которые каждый день новые, и всё даже дебилу должно быть понятно.
Здесь как с инженерией в целом. Где-то круто дрочить на модульность, где-то на ремонтопригодность, где-то на выжимание запредельных характеристик дорогущими хитровыебанными деталями. Ядерный реактор это не китайский мотоцикл, а китайский мотоцикл не ядерный реактор. Не надо доводить концепции до абсурда и делать резиновый дилдак с 10-кратным запасом прочности и возможностью делать на советских заводах стомиллионными тиражами. И сверхкомфортный автомат с латексным прикладом и массажером тоже не нужно делать.
Большее время задержки по сравнению со специализированными схемами, дополнительная нагрузка на контроллер, при зависании или неаккуратной отладке может выдать максималку.
На десятках-сотнях кГц нужен драйвер полевиков, который стоит чуть дешевле полноценного dc-dc преобразователя, без него будет низкий кпд. Плюс нужен токовый шунт и второй канал/компаратор для защиты от КЗ.
У нас ребята делали схему с пропуском тактов (как на mc34063) на таймере и встроенном компараторе К1986ВЕ92, все работало автоматически без участия ПО.
Без драйвера кпд 30%, с драйвером норм, в итоге по габаритам, стоимости и надежности взяли готовый dc-dc.
>Почему не стоит делать регулятор напряжения используя шим и адц от ардуино?
Регулятор напряжения для чего? Для лампочки? Для многоТЭНового нагревателя с обратной связью по температуре в десяти точках? Для электронно-лучевого микроскопа?
Где-то ардуины много, где-то её мало, где-то её как раз.
Я ставил контроллер вместо штатной микры в пауэрбанк, в принципе напряжение держало как-то, но не тестировал ничего.
>Конечный автомат
>Одни раз написал и работает
>Ничего не надо поддерживать
>Давайте лучше ртос уебем.
>Появилось тонна зависимостей
>Во, теперь мы сможем код поддерживать!
Нассал тебе в карман.
Тебе 12 лет? Ясен хуй все это дерьмо имеет градации и когда у тебя КА для смывалки говна в унитазе - ясен хуй лучше просто сделать всратенький КА.
А ты видал КА TCP\IP стека на 9000 строк?
А видал более менее сложную бизнес логику многофункционального устройства, где количество состояний превышает несколько десятков?
Знаешь сколько там багов, которые почти не возможно отловить ввиду комбинаторного взрыва?
PS ты RTOS хотя бы раз в проект руками а не из кубов таскал? Там нет внешних зависимостей, там 2-3 файла (1 макродефайны, 1 сишный и 1 опциональный ассемблерный) портируемости и все.
О каких зависимостях ты говоришь? РТОС это не всратая жабсовская либа для сравнения двух интеджеров. Она не тянет ничего за собой.
>КА TCP\IP стека
>МК, не ПЛИС
>многофункционального устройства
>КА
>Тебе 12 лет
Я не знаю, зачем ты пишешь говносмывалки постоянно. И зачем тебе там много функций и интернет, и обязательно на неподходящей парадигме.
Учись абстракции правильно выбирать.
>зачем ты пишешь говносмывалки постоянно.
Потому, что категорично мыслят дети.
>КА TCP\IP стека
Скажи привет либам вендора.
ПС
>Тащить плис, в систему требующую эзернета
Денег много?
>многофункционального устройства
>КА
>и обязательно на неподходящей парадигме.
>Учись абстракции правильно выбирать.
После того как я сру этим 20 постов, двачер с каменным еблом напишет это как контраргумент мне.
Даже хз, наверное это хоть какая то победа...
Мне похуй на победы твои, я сразу написал что ситуации разные бывают, кабану, который написал что автоматы и ФП не нужны. Ты назвал это клоунством.
Ну пуьедил, молодец.
> слышал много о том, что ардуино нельзя питать от юсб порта кудахтер, ибо сам порт может сгореть.
Может и не сгореть
>как вообще правильно запитывать эту плату, чтобы не сгорела квартира?
Сначала нада стать прохесром по шизике, там понимание само придёт
Vin и Gnd прямо в розетку суй.
>слышал много о том, что ардуино нельзя питать от юсб порта кудахтер, ибо сам порт может сгореть
Ардуина сдохнет быстрее, чем порт, так что не парься
>как вообще правильно запитывать эту плату
Блядь, спроси у гугла, 100500 статей на тему питание ардуино для чайников
>слышал много о том, что ардуино нельзя питать от юсб порта кудахтер, ибо сам порт может сгореть. как вообще правильно запитывать эту плату, чтобы не сгорела квартира?
Максимальный ток USB порта по стандарту 0.5А.
Соответственно, берёшь потребление платы, складываешь с потреблением периферии, смотришь результат. Если вышел за этот лимит - сгорит. Не вышел - не сгорит.
Нихуя там не сгорит. Может пукнуть предупреждением в винде, может нихуя не случится, может напряжение просядет. Но точно ничего не сгорит.
Два RGB, по одному на обе стороны платы, и делай что хочешь.
Аккум очевидный от вейпа.
Ну как идея, можно сделать "спираль в шаре", раз шар прозрачный. Спираль из белых светодиодов, холодных, под снег. Бегущий огонь будет выглядеть как вращение спирали.
Я хотел сделать несколько штук таких умных игрушек для ёлки (и загнать в переходе) чтобы их можно было заряжать, и не нужна была розетка и провода.
>Аккум очевидный
А заряжать ты его когда собрался? Это полдня минимум нужно.
А если шаров много? 1 декабря будешь начинать зарядку? Или купишь 10 зарядных устройств специально для шаров?
А если аккум сдохнет посреди праздника?
А чем он будет заниматься в остальное время года? Дохнуть впустую на антресолях? За десять лет будет всего 10 циклов заряда-разряда, лол (но аккумы столько не проживут сами по себе).
А нахуя хранить столько литиевых аккумов?
А нахуя тебе литиевый аккум для вейпа на конский ток, если у тебя слаботочное устройство?
Очевидно, что нужно использовать обычные батарейки.
Игрушка должна будет отработать минимум 10 дней (хотя бы с 31.12 по 8.01 + некоторый запас на всякий случай). Тогда, для среднего тока потребления в 5мА, емкость источника питания должна быть около 1 Ач.
Так что выбор невелик: это батарейки АА или ААА (у ААА как раз емкость 1 Ач).
Кстати, получается, что надо предусмотреть какое-то управление, чтобы можно было включать и выключать шарики, желательно все сразу, а не по одному. Инфракрасный пульт?
алекс гейвер недавно делал елочный шар.
Напиши программу, которая записывает данные из сериалпорта в файл. Питон / Qt (c++). Управишься за час
Ахуенный совет. План рабочий. Иди на хуй. В самом посте написал, что не работает нормально ничерта, поэтому и пришел сюда нагло пиздить у тех, у кого работает. А ты пиздуй дальше 900кк/наносек зарабатывать. Пиздеть не мешки ворочать.
Нет, работает. Вот только в отличие от тебя, умника, я не такой самонадеянный и раз у меня не получается снять с компорта данные 10 бит, переводя их в байты и обратно для совместимости, то я это признаю и обращаюсь за помощью. Но не волнуйся, тебя это не касается. Можешь дальше сидеть и отвечать всем подряд "напиши в питоне скрипт за час и заебись".
>Нет, работает
Может тогда стоит сначала написать, что именно у тебя не работает? Потому что, ну, это реально пишется в 5 строк на питоне или в 50 на сишке. Если ты осилил ком порт на ардуине, то, представь себе, на ПК работа с ним аналогичная, тебе просто надо добавить запись в файл, что умеет любой школьник.
Ну и чем тебя не устроил путти то?
https://putty.org.ru/articles/capture-putty-session-log.html
Включаешь логирование, открываешь порт и всё, профит
>Ну и чем тебя не устроил путти то?
Ты тупой или прикидываешься? Твоё ебанный путти по 8 бит считывает, понимаешь? 8 блять. А ардуинка значения в 10 битах хранит. 8 и 10, разницу видишь или ты, имбецил, только и можешь что продолжать писать "да там всё легко"? И сейчас первую ссылку с гугла мне со своим ебаным логом путти скинул.
Возьми какой-нибудь монитор с логированием. Тысячи их. Нахуя велосипед изобретать.
Ты в курсе, что ты окончательно там ебнулся? Я вообще другой анон.
Ты высрал невнятный вопрос, получил какой мог ответ... высрался на него и вместо посыла тебя на хуй, получил наводящий впорос от меня.
И что ты делаешь? Высираешься опять.
Ебнутый.
Еще и мнительный, раз придумал, что кто то чет там подумал и понадеялся.
Опиши задачу нормально, придурок.
Нет такой функции ни в одном языке, мальчик.
Тем более "дефолтной". Что еще за "дефолтная" функция, блять?
>Нет такой функции ни в одном языке, мальчик.
>Тем более "дефолтной". Что еще за "дефолтная" функция, блять?
Экшуалли, именно та.
Иди си поучи что ли, ебанутся. У вас тут всегда так весело и какие-то абсолютные нубы бунтуют?
Си-хуй соси, блять. Не тебе меня поучать, нищук андроидный)))) Достань стандарт ISO/IEC 9899:2011 из очка своего бати-членодевки и прочти там, что С - язык РЕГИСТРОЗАВИСИМЫЙ СУКА БЛЯТЬ ахах. Это НЕ как в паскале, который ты учил "на инфарматики" )
FOPEN и fopen - разные имена в С, долбоеб малолетний )
И никакой функции FOPEN не существует блять, чмоха )))
> А ардуинка значения в 10 битах хранит. 8 и 10, разницу видишь
Какие нахуй значения? Я вообще перестал понимать, про что ты, шизло. У ардуины буфер вообще 64 бита, откуда ты 10 взял? У uart вообще нету никакой специальной длины слова, ты можешь ставить любую, транзация оканчивается стоповыми битами, лишь бы размер был меньше буфера. Если я напишу в ардуине Serial.println("Tvoya mamasha soset hui"), то что монитор порта в ардуине, что putty правильно это примут. Так что с тобой сука не так, а?
Нечего сказать по факту - доебись до анона, который использует капс вместо болда, да
Не, я пониманию, что для тебя ардуиана только в контексте ебли мамаш используется, сын шлюхи. Ты перед одноклассниками иди выебывайся, раз не знаешь, что у существуют аналогвые входы, которые, ничего ж себе, могут для записи чего-либо использовать не дефолтные байты (у уно это 10 бит например). Понимаю, на робототехнике в твоём 8б этому не учат, но ниче.
>ACKCHYUALLY
Некберд, спок. Ты думал, ты самый умный здесь, но был попущен на элементарной вещи.
Разрядность АЦП и байты, которые ты в ЮАРТ шлешь - это разные вещи, довн
>>485105
Мне ничего не остается, кроме как помочиться на этого дохуя уверенного в себе ардуинщика.
Иди на микропитоне программируй, а не ссылками на стандарты сри, не понимая базовых основ.
Просто охуеть кадр.
Ладно, снизойду до тебя, даунича.
То, что у тебя АЦП конвертит в 5, 8, 10, 12 или 1488 байт - никого не ебет. Оно все один хуй у тебя внутри МК лежит в байтах, которые иногда (применительно к АВР экшуали) логически представляются как полуслова ака uint16\32 да сколько хочешь.
Фактически это просто 2 байта хранимые в оговоренном порядке.
Передаются по UART (не изьебскому, а дефолтному) они по 8 бит, ака по байту.
Соответственно, что бы срать своим говном из своей обоссаной наводками пердуины, тебе надо просто брать по байту и толкать их в УАРТ.
И точно так же на принимающей стороне брать по байту и лепить из них 16 битный интеджер или структуру.
После чего срать ими в FOPEN.
Что из этого господин профессор говна тебе было не понятно?
>существуют аналогвые входы, которые, ничего ж себе, могут для записи чего-либо использовать не дефолтные байты
Ты совсем пизданулся? Какие ещё аналоговые входы и цифровой uart?
Ладно, давай мы по-другому поставим вопрос: какой из параметров uart тебя не устраивает?
Если ты откроешь порт путти, то в нём будет каша или всё ж данные которые ты хочешь записать?
Полагаю, что ты хотел сказать про количество битов данных, которое отличается от стандартного 8. И устройство у тебя явно не ардуино, потому что у ардуины как раз используются дефолтные 8 бит, и никак не 10, читай тут
https://www.arduino.cc/reference/en/language/functions/communication/serial/begin/
> config: sets data, parity, and stop bits. Valid values are:
> SERIAL_8N1 (the default)
Это значит, что по умолчанию у тебя 8 бит данных, нет бита четности и 1 стоп бит.
А вообще ты просто пиздец какой мудак, потому что в путти даже не догадался залезть в НАСТРОЙКИ Serial, где есть все возможные параметры UART. И твоё ебучие количество бит данных. Нет надо сука зашитпостить своими боевыми картиночками в ардуино тред, да. Спасибо хоть не забудь сказать
Т.к. ты даунич небось нихуя не понял и уже тужишься изрыгнуть какшулину из своего смрадного ебла - распишу тебе легче.
Даже если твоя сраная пердуина из ANALogGet() (или что там у вас за пердоАПИ), выдает переменную типа ANALogReading_t - это с 99% вероятностью тайпдеф int16_t\uint16_t и с 1% вероятностью это структура struct { uint8_t msb, uint8_t lsb};
Т.е. несмотря на то, что твой даунский АЦП срет 10 битами, хранится все это говно в 2х байтах, просто представлены они могут быть по разному.
И все что тебе нужно сделать, вся шиза которой ты ебешь мозги добрым анонам в треде уже сутки, заключается в том, что тебе надо взять высранную ебань и разбить на 2 переменные по байту.
Для случая с тайпдефом на 16 битный интеджер это будет:
uint8_t lsb = (uint8_t) analog_reading;
uint8_t msb = (uint8_t) (analog_reading >> 8);
А со структуркой
uint8_t lsb = analog_reading.lsb;
uint8_t msb = analog_reading.msb;
А как определишь где старший, а где младший байт? Лучше отвести под это дело бит признака. Или вовсе текстом слать, если скорости хватит.
>FOPEN
Блять пиздец, ему на ебло его тупорылое уже десять раз нассали за это, а он так и продолжает это говно жрать! Необучаемый обосратый псиночерт блять, ору с него, просто сидит и срет себе в штаны нахуй реально )))
И что, слать 10 бит как будто там 16? Зачем, что это за говноподход васянский? Там может тупо скорости не хватить. Надо слать по 10 бит без пропусков и иногда байты синхронизации и контрольной суммы.
Ага, сидит и такой "пс-пс" в штанишки, и думает, что всех тут затроллил. А по делу какую-то невнятную хуйню высирает, типа "возьми 10 бит и отошли как два байта", лол. Еще бы как 4 байта посоветовал слать.
>Там может тупо скорости не хватить
> UART
> жаловаться на скорость
Кто тут ещё с говноподходами, а? UART это крайне хуевый выбор для высокоскоростных коммуникаций.
Это вроде регламентируется стандартом. В uint16_t - старшие 8 бит будут старшим байтом, а и битовые сдвиги будут работать, как ты ожидаешь. Но только, если ты до этого работал с переменной как uint16_t, если ты просто по указателю на байт че-то считал, там уже надо эндианность учитывать.
>>485119
Какой скорости, ты на ардуине воду в бачке унитаза логируешь.
Нет ты можешь все это шифтить в поток бит, а потом из потока бит доставать, тебе оно надо?
> говноподход васянский
Это когда ты оверинжениришь задачу, не до конца понимая базовые вещи.
Лет 7 назад, мне на вопрос о правильной, оптимизированной реализации хуйни на С++ - ответили, мол попиши лет 5, а потом задавайся вопросами оптимизации. Я вот пописал и теперь не задаюсь, пока это не станет нужным.
>Это вроде регламентируется стандартом.
Чего? При чем тут это? Как у тебя байты не перепутаются местами при отправке через UART? Тут либа дурина у тебя должна начинать отправку когда порт на компе уже открыт, либо как-то обозначать где старший, а где младший байт. Или ты предлагаешь понадеяться на то что никто не откроет порт в момент между передачей двух байт?
Я отвечал по поводу того, как они не перепутаются в коде.
То что ты хочешь иметь - протокол обмена.
Тогда я тебя сразу предостерегу, не стоит делать широковещательные протоколы, где мастер просто срет в никуда, а кто-то его слушает.
Прям никогда никогда так не делай, это архитектурно кривое решение и я много говна с такими пожрал.
Самое простейшее что могу предложить:
1) Логирующее ПО(мастер ведущий) - главное, пока оно не даст отмашки - ардуина(слейв ведомый) с ничем не срет, а кеширует в себе пока может и сколько надо.
2) Мастер шлет определенный стартовый байт, приняв который слейв высирает 16 битную пару. (А может в кач-ве стартового байта будет кол-во высираемых пар, тут зависит).
А теперь, вспомнив вскукарек даунича про то, что там 6 бит овершут и не хватит скорости:
1) Тебе нужна CRC т.к. данные могут биться при передачи - +1 байт (а т.к. у ЦРЦ8 шанс коллизии просто огромен, лучше +2 байта (ЦРЦ16), а то и +3 (ЦРЦ32))
2) А че делать, если CRC битое? WOW!!! Ой не подумали, да? Ну можно просто заигнорить, возможно записав предыдущее значение. А если тебе прям пизда нужно каждое значение? Знакомься - задача двух генералов.
https://ru.wikipedia.org/wiki/Задача_двух_генералов
И вот раскуривая все это придешь к тому, что надо хуячить header посылки, handshak'и и прочую ебаторию.
Спойлер: Для достаточно надежной передачи тебе придется напиздярить полномасштабный протокол уровня Modbus
Понимаешь, почему вскукарек даунича про 6 лишних бит так потешно звучал? Потому, что, что бы правильно все это дело передавать, тебе придется срать таким кол-вом вспомогательной информации, что эти 6 бит, просто ничто.
К чему все это? Потому, что тут 10 раз подняли вопрос о задаче - не просто так. Есть разные аспекты и цели, их баланс... надежность, скорость, простота, кол-во и сложность кода и т.д.
Все разом ты не получишь, твоя задача как разработчика - правильно расставить приоритеты и понять, чем можно поступиться, а что жизненно необходимо. И блядь ни один анон не имея полного представления о задаче тебе на это не ответит.
Я отвечал по поводу того, как они не перепутаются в коде.
То что ты хочешь иметь - протокол обмена.
Тогда я тебя сразу предостерегу, не стоит делать широковещательные протоколы, где мастер просто срет в никуда, а кто-то его слушает.
Прям никогда никогда так не делай, это архитектурно кривое решение и я много говна с такими пожрал.
Самое простейшее что могу предложить:
1) Логирующее ПО(мастер ведущий) - главное, пока оно не даст отмашки - ардуина(слейв ведомый) с ничем не срет, а кеширует в себе пока может и сколько надо.
2) Мастер шлет определенный стартовый байт, приняв который слейв высирает 16 битную пару. (А может в кач-ве стартового байта будет кол-во высираемых пар, тут зависит).
А теперь, вспомнив вскукарек даунича про то, что там 6 бит овершут и не хватит скорости:
1) Тебе нужна CRC т.к. данные могут биться при передачи - +1 байт (а т.к. у ЦРЦ8 шанс коллизии просто огромен, лучше +2 байта (ЦРЦ16), а то и +3 (ЦРЦ32))
2) А че делать, если CRC битое? WOW!!! Ой не подумали, да? Ну можно просто заигнорить, возможно записав предыдущее значение. А если тебе прям пизда нужно каждое значение? Знакомься - задача двух генералов.
https://ru.wikipedia.org/wiki/Задача_двух_генералов
И вот раскуривая все это придешь к тому, что надо хуячить header посылки, handshak'и и прочую ебаторию.
Спойлер: Для достаточно надежной передачи тебе придется напиздярить полномасштабный протокол уровня Modbus
Понимаешь, почему вскукарек даунича про 6 лишних бит так потешно звучал? Потому, что, что бы правильно все это дело передавать, тебе придется срать таким кол-вом вспомогательной информации, что эти 6 бит, просто ничто.
К чему все это? Потому, что тут 10 раз подняли вопрос о задаче - не просто так. Есть разные аспекты и цели, их баланс... надежность, скорость, простота, кол-во и сложность кода и т.д.
Все разом ты не получишь, твоя задача как разработчика - правильно расставить приоритеты и понять, чем можно поступиться, а что жизненно необходимо. И блядь ни один анон не имея полного представления о задаче тебе на это не ответит.
>Прям никогда никогда так не делай, это архитектурно кривое решение и я много говна с такими пожрал.
А ничего, что допустим DVB например только в одну сторону работает и всем нормально?
>потешно звучал?
Это сам ты тут потешный. Укатывайся со своим говномодбасом умник!
>1) Тебе нужна CRC
Ага, конечно же. Особенно оно нужно чтобы передать пару байт от одной микросхемы к другой на одной и той же плате и на небольшой скорости.
Выебнуться захотел?
Digital Video Broadcasting
Протокол в имени которого широковещание блядь, даунич. Когда ты уже примешь достаточное кол-во урины себе на ебало.
>>485163
МНЕ СКОРАСТИ НИХВАТИТ!!!
@
ПАРУ БАЙТ ПЕРЕДАТЬ
@
НА НЕБОЛЬШОМ БОДРЕЙТЕ
Давай тужся деточка, спустя еще пару суток обоссывания, мы узнаем что тебе все таки потребовалось.
Я просто мимо проходил, а у тебя явно детектор сбоит.
>Протокол в имени которого широковещание блядь, даунич. Когда ты уже примешь достаточное кол-во урины себе на ебало.
И что? Какие могут быть причины чтобы подобное не работало с UART?
>МНЕ СКОРАСТИ НИХВАТИТ!!!
Это вовсе третий анон писал. А может ты тоже так траллируешь? Не можешь же ты действительно в такое верить?
Даже если вопрос действительно по скорости, то АЦП в атмеге максимум
>Up to 15kSPS
Ну, скорости 115200 может и не хватит, но 460800 уже нормально. И без каких-либо ухищрений.
Скажите, на этом Ардуине можно сделать антропоморфного робота?
>Какие могут быть причины чтобы подобное не работало с UART?
Я не сказал, что оно не будет работать. Эта хуйня, от которой ты 10 раз плюнешь, когда попытаешься хотя бы чуточку расширить решение.
Представь у тебя добавится 2й параметр, 3й, 4й.
Ок будешь их по очереди передавать, а если они с разной частотой генерируются?
А теперь тебе потребовалось добавить какую-то команду и ответ на нее.
Короче делать широковещание без необходимости именно широковещания - очень хуевая затея.
Которая совсем чуть чуть легче банального - запрос\ответ, но при этом настолько сковывает расширение, что ну его на хуй.
>А может ты тоже так траллируешь? Не можешь же ты действительно в такое верить?
Я уже в любую хуйню тут поверю.
Насчет ЦРЦ выебонов - это выебоны ровно до того, пока ты не делаешь что либо сложнее ПРУФ-КОНЦЕПТА ЗАПУСКА UARTа.
А во всем более менее прикладном - тебе на хуй не нужна ебля с отладкой, ебля и дрочение показаний и т.п.
Это очень заебись, если у тебя шлются некие легко апроксимируемые показания, у которых иглы будут легко заметны, а если это замеры некой хуй пойми как меняющейся единицы или замеры через какое-то длительное время?
Мы опять же вернулись к необходимости понимать полную задачу...
Федора?
>куча текста, ничего собой не представляющего
Ладно, другой пример - NMEA. Все работает, всем нормально и при необходимости расширяют. Если у тебя руки кривые или мозги, то попробуй к доктору сходить, явно пора уже.
>Ок будешь их по очереди передавать, а если они с разной частотой генерируются?
Ага, если... А если вдруг захочется скорость в тыщу раз повысить, тоже заранее предусматривать такое? Какой же ты идиот, однако.
> Тут либа дурина у тебя должна начинать отправку когда порт на компе уже открыт,
И вот у тебя такие запросы, опять же, к UART. Ну пользуйся тогда пинами RTS CTS, хуле. На ардуине их, кстати, нету, зато есть на большинстве TTL
> либо как-то обозначать где старший, а где младший байт
Блядь, у тебя MSB или LSB - регламентируется тупо реализацией кода в конкретном девайсе, стандарта тут нет
> И что? Какие могут быть причины чтобы подобное не работало с UART?
Да никаких, делаешь tcp/ip поверх UART и сидишь довольный. Ну разумеется, в этом случае придется использовать уже не UART, а USRT и со всем набором пинов, что есть в стандарте, такими как RTS, CST, DTR и т.д.
> Ладно, другой пример - NMEA.
А ничего, что протокол верхнего уровня, а не физический интерфейс?
Сразу видно, что ты долбоеб.
>Прям никогда никогда так не делай, это архитектурно кривое решение
>я много говна с такими пожрал
То, что ты тупой, не доказывает недопустимости такого решения. В случае широкого потока данных с датчика, например, это вполне правильное решение.
>А че делать, если CRC битое
Ну ты внатуре же тупой. Если ЦРЦ битое, оно все равно не сойдется с данными, довн. И не обязательно слать ЦРЦ на каждый пук, можно слать его на 10, 50, 100, 1000 пуков, раз в секунду, и т.д. Несовпавшие кадры отбрасываются, у тебя на ардуине все равно нет ни памяти, ни скорости, чтобы их пересылать заново (а новые все прибывают). Выравнивание потока помечается данными синхронизации, которые тоже не нужно слать на каждый пук.
Поэтому таких метаданных будет сильно-сильно, НА ПОРЯДКИ БЛЯТЬ СУКА меньше, чем 6 бит из каждых 16.
(Да я не он, мне просто было интересно, как даун вроде тебя реализовал бы непрерывный бит-ориентированный поток данных, мне похуй на 6 бит.)
>Представь у тебя добавится 2й параметр, 3й, 4й.
>Ок будешь их по очереди передавать, а если они с разной частотой генерируются?
>А теперь тебе потребовалось добавить какую-то команду и ответ на нее.
А в чем проблемы у тебя реализовать это?
Шлешь данные посылками, посылки имеют црц, синхронизацию и тип посылки: данные, временная метка, ответ на команду, например. Одинаковые данные можно батчить, если не нужна максимальная точность по времени, или если время можно восстановить по синхронизации или временным меткам (например, известен период измерения).
А вот протоколы с двусторонним взаимодействием - куда как более сложная хуйня с состоянием, вот его-то как раз нахуй без острой необходимости.
Нук расскажи, как ты на военный фактически спутник будешь данные отправлять с мобилок, и какой долбоеб в принципе тебе позволил бы это делать.
Я не он, но уже предлагал простейшее решение. Вот, даже нарисовал. Может кому-то будет жаль 6 оставшихся бит, но по моему это зря. Проблем при этом никаких, начало посылки определяется однозначно. Какие еще нафиг CRC и прочий бред больной головы. Нечего тут выдумывать лишнего.
Или еще простое решение - передаем все текстом.
Это вообще не при чем. Забавнее другое другое:
>То что ты хочешь иметь - протокол обмена.
>Modbus
А потом хренак и...
>протокол верхнего уровня, а не физический интерфейс
Как после такого можно продолжать общение?
Боже, какой спутник? Речь шла вообще про UART, при чем тут спутники?
Ты просто такое же дурное ебало как он. Типичный двачеребенок, пусть и 25 летнее пердло по возрасту.
Разговор был про неизвестность задачи, гороховое мудило. Я тебе ща придумаю любой юзкейз где самым логичным варинтом будет ебля твоего бати в очельник с твоими слезами вместо смазки.
У тебя дебс пытается передать 2 байта и не знает как ему это сделать, при этом кокочет про 6 лишних бит. Я ему в нескольких постах пытаюсь обьяснить, что бы он сделал простейшее решение, но опять вылезает какое то мудло, предлагающее реализовать плавающее окно и bulk передачу двоичных данных. Да, давай, вперед, делай блядь. Обмаж детектор смыва срального очка 7 уровнями OSI.
И главное без либ. На хуй всю придуманную даунами хуйню, надо свое заколхозить, что бы спасти 6 бит.
>>485191
В том, что у него в итоге и выйдет протокол с 2мя мастерами.
Вместо того, что бы не делать не обоснованной хуйни и оставить источник данных слейвом - ты предлагаешь наставить костылей, срать кучей говна, а потом гордо бороться с всей этой хуйней на принимающей стороне.
>>485195
Я просто не очень хочу пояснять тугим двачерам базовые вещи в проектировании. Т.к. обычный даунец, лишь бы не подать виду, что ему окропили ебальник уриной притащит 1000 пограничных кейзов в доказательство что он прав.
Успехов. Реализовывай широковещательный навигационный морской протокол, для чтения 2х байт с ардуины. Вперед. Это же просто вершина рациональности.
>сложнааа рряя у миня нипалучаица значитб ахритехтурный пиздец мам ну скажы им ани нислушают
Вот это у тебя школьника тупорылого очько пригорело, лол )))
>бороться с всей этой хуйней
Раз ты софт нихуя проектировать не умеешь, ты со своей тупостью только будешь бороться, петушок малолетний. Пока что ты ей проигрываеш) А мы проигрываем над тобой ахах))
>не очень хочу пояснять тугим двачерам базовые вещи в проектировании
Правильно не хочешь. Ведь ты сам не знаешь нихуя, дурачок, просто сидишь тут срешь не снимая свои штаны.
>при этом кокочет про 6 лишних бит.
Не особо заметно. Скорее это можно понять как то что он обратно в 10 бит сложить не может.
>протокол с 2мя мастерами.
Зачем выдумывать на ровном месте каких-то мастеров? Какие проблемы будут в случае >>485194 Абсолютно никаких.
>Я просто не очень хочу пояснять тугим двачерам базовые вещи в проектировании.
Как хорошо что у меня на работе один такой же мудак как ты свалил. Тоже любил все усложнять. Плохо только то что свое глючное говно оставил.
>Успехов. Реализовывай широковещательный навигационный морской протокол, для чтения 2х байт с ардуины. Вперед. Это же просто вершина рациональности.
Это был всего лишь пример того как делают несколько иначе чем ты столь категорично советуешь.
>Зачем выдумывать на ровном месте каких-то мастеров?
А он забыл уже, что это он сам же и придумал. Память-то у дурочка как у ардуинки, пост еле умещается, приходится биты считать:
>>485167
>Представь у тебя добавится 2й параметр, 3й, 4й.
>Ок будешь их по очереди передавать, а если они с разной частотой генерируются?
>А теперь тебе потребовалось добавить какую-то команду и ответ на нее.
А потом верещит, что ему тут СЛОЖНА делают.
Ты скозал? Ну раз так, то ОК.
Как обычно из всратых щелей говноНИИ и потных домашних РАДИОМАСТЕРСКИХ вылезли знатоки передачи на спутники и получения навигации с кораблей.
Я тебе сказал, не сложно - вперед делай. Если такой мудило всрет некоторую часть своей жизни для реализации даунских оверинженирнутых решений - все только выиграют, т.к. в эти моменты он не будет никого донимать своими охуенными идеями.
>>485201
>усложнять
ПРОСТО срать потоком хуйни, панически пытаясь ее поймать и не проебать
@
Охуенно сложная, невероятно замудренная отсылка порции информации по запросу от принимающего.
Жаль, что подобные вещи представляют для тебя сложности.
>>485202
Ровно в тот момент, когда у тебя на линии появляются 2 устройства.
В том месте, что устройство шлет данные не задумываясь о том принимает ли кто-то их в данный момент. Ты вообще не контролируешь, что у тебя принято, что потеряно, что успели принять, а что нет.
Зачем делать так, если можно просто ждать байт по RX и по нему судить, что принимающий ждет следующую пару?
Я не говорю, что оно не будет работать. Но как-только тебе захочется как-либо это расширить - полезут костыли.
Это рабочее решение, в случае если ебантяю ТС требуется только это и ему вообще поебать, что дойдет, что похерится. А МЫ ДО СИХ ПОР ЭТОГО НЕ ЗНАЕМ.
Разница между моим и твоим в том, что мое на микрописю сложнее, но при этом в разы гибче, ведь если дебил ТС захочет читать данные с другого канала - ему потребуется просто послать другой байт и у него остается полная свобода в любой момент добавить любой другой запрос.
>просто ждать байт по RX и по нему судить
Отослал я тебе команду отправить данные, она испортилась и получилася команда включить паяльник в твоем очке на полную! Харашо получилось? то что надо лол
Ты если не в состоянии до элементарных вещей сама додуматься, почему не слушаеш объяснения учителя в радиокружке, а сучка тупая малолетняя? Да у тя небось двузначный айкью нахуй, псина!
>устройство шлет данные не задумываясь о том принимает ли кто-то их в данный момент.
Очень хорошо. Пусть никто не принимает, кому от этого сразу и однозначно хуже будет? Могу опять в сторону NMEA отправить, которое много где работает и всем нормально.
>А МЫ ДО СИХ ПОР ЭТОГО НЕ ЗНАЕМ.
И поэтому необходимо безальтернативно предлагать способ, наиболее универсальный на твой взгляд?
Более того, вполне вероятен обратный пример, когда твои ужимки будут не только бесполезны, но и вредны. Например если требуется обеспечить фиксированную частоту дискретизации АЦП для последующей обработки цифровыми фильтрами.
Для меня никакой из вариантов сложности не представляет, дурачок. Делал разные варианты, все работает. Это ты хуйню всякую на ходу придумываешь, а потом кочевряжишься, что твоей в очередной раз разъебанной жопе опять сделали СЛОЖНА.
>>485201
>Как хорошо что у меня на работе один такой же мудак как ты свалил
Да пару лещей этой охуевшей макаке просто не въебали вовремя, чтоб очко свое закрытым держала, вот и корень проблемы. Ну ничего, еще свое получит, такие анальные выебонщики умом как правило не отличаются.
>кому от этого сразу и однозначно хуже будет?
Недоросли пиздлявой, вертящей своим ебалом под струей широковещательной урины со спутников, конечно
Ой внезапная помехозащищенность потребовалась!
>>485212
>И поэтому необходимо безальтернативно предлагать способ, наиболее универсальный на твой взгляд?
Когда его цена почти не отличается от других -- да.
>будут не только бесполезны, но и вредны
А ты опять притащил частность. Да, при неизвестных условиях я предлагаю баланс между гибкостью, простотой и универсальностью.
А теперь поясняй почему это не верно?
>>485214
Леща даст разве тебе твой пидор батя, хуем по раздолбанному очельнику.
>Ой внезапная помехозащищенность
Да, твоему попущенному очеллу опять сделали СЛОЖНА, петушок.
>батя БАБАХ
Ахах лол, неслабо бомбанул. Видать, уже получал по ебальнику своему обезьяньему дурачок.
Когда ж уже тред догадается, что на физическом уровне не стоит вопроса помехозащищенности и коррекции ошибок?
Тут один буйный семен бунтует только, который не смог 2 байта переслать.
https://electronics.stackexchange.com/questions/269554/which-layer-does-uart-belong-to
> With reference to the OSI model, a UART implements the data link layer (layer 2). The physical layer (layer1) is covered by several driver standards that all utilize the UART data link layer, among the most popular are RS232C, RS485 and RS422.
Энивей, UART это не протокол. Расскажешь, какой у нас из интерфейсов первых трех уровней реализует коррекцию ошибок? Или все-таки в случае битого пакета (уровень 3), протоколы высшего уровня запрашивают пакет по новой?
PS не стоит или стоит, только OSI в вакууме видели только... нигде.
Особенно в встраиваемке, где зачастую обработка интерфейса и протокола может жить в 1й функции, а иногда и в одной строке.
Короче интерфейсы и протоколы это частенько и человек и пароход. Разбивать приятно, но часто это может стоить слишком дорого, а где-то I2C EEPROM вообще трудно поддается.
>>485226
Не прикасайся к душному петуху.
PS FOPEN()
Пояснил тебе за щеку, дурачок, что тут всем похуй на твою клоунаду с ахуенно авторитетными ссылками на индусов со стековерфлоу и моделью оси. Тем более, ты сам в ней нихуя не шаришь и делаешь грубейшие ошибки. 10 бит по юарту не можешь перегнать, а че то кудахчешь про оси, ваще ебать пиздос нахуй долбоеб.
>FOPEN
Нихуя у петуха до сих пор жопа горит, я уж и забыл как он обосрался себе в штаны вчера.
>А ты опять притащил частность.
Хорошая такая частность, цифровая обработка сигнала.
>А теперь поясняй почему это не верно?
Я тебе лучше объясню почему это вредно.
С какой фиксированной частотой сможешь отправлять с компа посылочки? Может все упрется в квант времени? А это где-то 10..20 мс. Если берем максимальную частоту дискретизации 15 кГц, то за это время наберется 150..300 посылок, то есть минимум 300..600 байт. Примерно такой буфер придется делать в микроконтроллере. Конечно может быть такая частота дискретизации не потребуется, но все равно логика та же.
>Я тебе лучше объясню почему это вредно.
Ты напрасно с этим школьником серьезно разговариваешь. Он не осилил широковещательный протокол реализовать, о чем с этой глупышкой можно вообще говорить. Зато он вздумал поучать тут, как два байта переслать.
>10 бит по юарту не можешь перегнать
Перегони 10 бит по i2c или по spi, тогда и поговорим, сука ты тупая
Единственная проблема, которая может возникнуть - низкий интеллект, как у тебя. Но я ж не ты, у меня ее нет.
Да неужели? SPI передаёт за транзакцию 8 или 16 бит, а i2c всегда 8. Ну и как же ты передашь 10? Неужели придется из 10 бит сделать 16, НО ЭТА ЖИ МЕДЛЕННА, НЕ ЫНТЕРПРАЙЗНО, ФУУУ, НАДО НАПИСАТЬ СВОЙ 10 БИТНЫЙ ИНТЕРФЕЙС
Энтерпрайзно, как раз будет гонять 16 бит до одурения, пока иначе попросту будет никак.
Никому нахуй не нужно в велосипедых и хитровыебанных оптимизациях разбираться.
Это забавный факт, который я только в коммерции осознал - оптидрочат в большинстве любители или очень хуйные НИИКБ деды.
> SPI передаёт за транзакцию 8 или 16 бит
Экшуали, как раз SPI хоть 32 может передовать, хоть 40. В отличии от I2C это не регламентируется нормально.
И вообще, кончай с дауничем этим разговаривать. Ты ничего не добьешься от него, кроме визгов и демагогии.
>>485233
Ну ты же опять принес свой частный случай. Но ты понимаешь, что передача быстрого потока данных с строго определенной частотой, это охуеть вырожденный случай? На него еще 1000 вариантов использования, где это не надо.
PS если у тебя сам сенсор гарантированно делает измерения с конкретной частотой - я не очень понимаю, как твои фильтры будут завесить от частоты приема? По-моему какой-то проеб архитектурный, но мне не приходилось, признаюсь, могу заблуждаться.
Тебе уже сказали, что у тебя низкий интеллект, чего ты еще добиваешься, дурачок? Нет никакой проблемы передавать пакеты по 10 бит в 8-битных байтах. Я же говорю, кроме твоей тупости ничего не мешает. Упаковываеш и передаеш потихонечку :3
>>485264
>факт, который я только в коммерции осознал
Да сразу видно, что ты тугой умом. Пока всю урину в мире на свой ебальник тупорылый не примешь, не успокоишься, даунито.
>свой частный случай
Ты блять джуняра школьник ебаный даже не понял нихуя, о чем тебе говорят, чушпан ты блять необучаемый. Большой компьютер с большой осью (macOS/Win/NeckbeardPrysheOS) не может блять с нужной частотой дрочить твой контроллер в принципе, потому что ты в системе не один, петушок, и тебе никто проц отдельный выделять не будет.
>признаюсь, могу заблуждаться.
Лучше тебе подтянуть основы радиотехники, РЦС там и все такое, в процессе может и остальная дурь из головы улетучится.
>Я же говорю, кроме твоей тупости ничего не мешает.
А может ты пидор? Тебе уже сказали выше в треде, каким образом получать на ПК 10 бит, так зачем продолжать засирать тред?
>Большой компьютер с большой осью не может
Анус ставишь долбоеб?
Рожаешь кастомный драйвер и ХУЯК.
inb4
Ой ой, я хочу иметь скоростной стримминг данных используя UART, FOPEN компорта и скриптик на питоне
Ты и жопу свою не по назначению используешь, как собственно и голову, че с тя взять.
>не может блять с нужной частотой дрочить твой контроллер в принципе, потому что ты в системе не один, петушок, и тебе никто проц отдельный выделять не будет
1) Будет, если ты не веб макака и умеешь в приоритеты процессов. Можно занять хоть целое логическое ядро, если ты дружишь с планировщиком системы
2) Лол, да ты упрёшься в ограничение скорости самого UARTа или твоего конвертера быстрее, чем в то, что тебе другие процессоры не дают достаточно часто дёргать ДРАЙВЕР USB УСТРОЙСТВА.
Например, у самого популярного cp2102 максимальная скорость это 921600 бод/с, и это ТОЛЬКО для 7 и 8 бит данных возможно. В случае UART это ~912 кбит/с, тогда как USB 2.0 разивает среднюю скорость в 30 Мбит/с.
Ну у нас же тут попался кадр, у которого 900 кбит/с - высокая скорость, лол
>>485272
Не поможет, ведь он необучаемый хуесос.
>>485273
Еще один дебилоид, а может, и тот же.
Кешируешь битики с датчика, накопилось кратно 8 - выпинываешь по и2ц, остаток меньше 8 оставляешь лежать в буфере. У тебя реально одна извилина в башке твоей тупой, додик.
>>485275
>Рожаешь кастомный драйвер
Ты нахуй будешь послан с драйверами со своими нубскими под сто осей разных. Если каждый хуесос так будет делать, процу некогда будет основной работой заниматься. Периферийные контроллеры, не, не слышал? Мальчонка, у тебя вечер удивительных открытий сегодня, лол, реализатор маняпротоколов хуев.
>>485277
>системы
Какой системы, блять, дурик? Их дохуя.
>приоритеты процессов
>упрёшься в ограничение скорости
А ты реально джуняра-школотун ебаный, я-то рофлил, а оно вон внатуре правдой оказалось. Ты сука ваще не шаришь о чем тебе говорят баклан малолетний. У тебя тред таймслайсы блять в МИЛЛИсекундах, умник блять ты умственно-отсталый.
>Ты нахуй будешь послан с драйверами со своими нубскими под сто осей разных. Если каждый хуесос так будет делать, процу некогда будет основной работой заниматься. Периферийные контроллеры, не, не слышал? Мальчонка, у тебя вечер удивительных открытий сегодня, лол, реализатор маняпротоколов хуев.
>inb4
>Ой ой, я хочу иметь скоростной стримминг данных используя UART, FOPEN компорта и скриптик на питоне
С 100 шагов белке в глаз. Хотя ладно, с метра жирному пидору в анус. Это было ожидаемо.
>Какой системы, блять, дурик? Их дохуя.
Всего то 3. Да и вообще линукс поддерживать не обязательно
> с компорта данные 10 бит
Открой даташит на мегу328 и посмотри какой размер регистра UDR
>>485104
> (у уно это 10 бит например).
Там же посмотри размер ADCL и ADCH
Что тут вообще происходит?
Вы тут совсем ебнулись?
Хоть один додумался вбить в Гугл "atmega328p datasheet" скачать документ и почитать его.
Расскажи ка мне, придурок, как ты 14400 байт в секунду будешь из-под винды (или из-под прыщеоси) по одному байту пересылать равномерно по времени. У тебя не выйдет ни-ху-я, даун. Ты либо отсылаешь все данные за один раз в буфер, либо дико замедляешь машину манядрайверком с которым тебя один хуй нахуй пошлют. Хотя это скорость 115200 пердуиновская.
Блять сука малолетний полуграмотный ты ебанат, ору с тебя.
Слышал звон да не знаешь где он, кек.
Еще один даун. Блять, новогодний парад даунов сука.
>размер ADCL и ADCH
Ну вот возьми даташыт и поищи там у себя за щекой ADLAR
>>485286
У меня для тебя в таком случае просто наипиздатейшее решение:
https://github.com/RoanBrand/ArduinoSerialToTCPBridgeClient
> Прочерки че обозначают
INRd,P Чтение порта
OUTP,Rr Запись в порт
Ну-ка расскажи, умный человек, как ты прочитаешь и запишешь в UDR эти два бита?
Ну реально толсто. Начинал вроде ничего было, а сейчас уже перетолстил
светодиода. Символ 1 – включить светодиод, символ 0 – выключить светодиод.
Еще раз перечитай свою пургу и сформулируй по человечески
Открываем даташит, читаем про USART0. Ещё раз, как ты собрался передавать 10 бит?
UART в атмеге не поддерживает 10битный кадр. А Arduino IDE не поддерживает 9 битный кадры, только 5-8.
>но как только я в цикле задаю ifы на сравнение данных с датчиков, то все пиздец, транзистор постоянно закрыт
Отлаживать принтАми, очевидно же
Наш главный специалист по кличке Ванга помер, ожидайте рождения следующего
берешь ебать мультиметр, добавляешь в код дебажные принты и сидишь смотришь открылась ли нога на дилдуине и пришел ли на самом деле ток. Может ты нахуевертил и резистор перебрал, не хватает тока для открытия. Но скорее ты в коде обосрался.
https://github.com/GyverLibs/GyverTM1637/blob/0cbc2563cab29259de2ee6fbdf04e94818792434/src/GyverTM1637.cpp#L257
Так в сишечке это точно так же работает. В данном месте выделяться будет конечно же на стеке. По моему так осторожнее надо, легко в неподходящий момент стек переполнить.
Зачем вообще там С++ ?
Да блядь, похуй, все решилось. Почему то на новой пердуинке надо было выбрать не "атмега328п (олд бутлоадер)" , а просто "атмега328п".
Как я сука должен это знать?? У них элементы идентично одинаковые!! Я же их блядь в одном месте заказал, этом ебучем греат валл стор, но почему то разведены они сука по разному.
Похуя как разведены, схема одинаковая, я надеюсь. Но почему они разные то?? Маркировка элементов одинаковая. Что там ещё разное то?
Можно их как-то привести в одинаковое состояние?
На новой "китайской" ардуино нано быстро мигает L и нихуя не прошивается. Пробовал стандартный блинк. Отключил, подключил +12 в через вин, так же мигает Л.
Старая ардуина нано работает нормально.
Что тут можно попробовать? Пересаживать последовательно мега328п, сх340с, резонатор. Больше то тут ничего нету.
Я паяю намного лучше чем програмирую. Прост я монтажник.
При прошивке выдает:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe6
Гугл говорит проверьте-проверьте-проверьте. Проверил.
Тебя наебали.
Меги разные на этих платах.
Я так разок покупал нану, а там оказался вообще 168р
Ну лан. Спасибо.
в последней строчке 2028T3B - старая, 20335EV - новая
Дак это, бутлоадер найди в интернете и прошей на обе одинаковый
Разное ПО (бутлоадеры). Посмотри по фьюзам, на какой бутлоадер занимает меньше флеша, и прошей такой же в другую (фьюзы не забудь тоже обновить).
Спасибо, нихуя не понял. Пойду погуглю каждое слово.
А то как баран читаю какой-то код, думаю опять пользовательских библиотек нахуевертили, а оказывается это там и так есть.
>как ты прочитаешь и запишешь в UDR эти два бита?
Во-первых, для ADLAR=1 не нужно их читать. Данные для того и сдвигаются вправо, чтобы можно было сразу старшие биты считать, а остальные два отбросить.
Во-вторых, мальчик, старшие два бита из 8 выделяются вот так:
uint8_t data;
uint8_t two_bits = data >> 6;
uint8_t two_bits_2 = data & 0b11000000;
Что пиздец-то, школьник? Ты первый день в embedded и не знаешь, что байтоебство и веб-параша веб-интерфейсы - братья навек?
У меня на ESP8266 был Bootstrap. На тот момент эталонная эджы хипстер веб ссанина.
Чем вообще этот жабаскриптинг так принципиально отличается от сишки кроме автопреобразования типов и мусоросборщика, который на пердуинах работает хуй знает как?
Для пердуин так-то проще ссылки с указателями задрочить. Сильно дохуя вложенные абстракции там просто применять не к чему, не вебсервер же на них поднимать.
>Я понимаю что там все тарнскомпилится
Сразу видно, что ты их даже палкой с пяти метров не касался.
Как ты будешь канпилировать в 80 кб оперативы язык, у которого одна переменная 100 байт занимает? Оно в принципе нежизнеспособно на таких железках, все время падает и висит.
А вот железочки покрупнее - это уже что-то вроде распберри, на котором ващет целый докер запустить можно, не то что питоны с нодами.
>Зачем вообще там С++
Дауна забыли спросить
>>485503
>автопреобразования типов
А в ссышачке твоей нет "автопреобразования типов"?
>Сильно дохуя вложенные абстракции там просто применять не к чему
Ну тебе-то с твоим опытом виднее, конечно, дохуя 32кб для развесистых кучерявых абстракций на шаблонах, или не дохуя
Ты не тот толстый троль и ты вообще не понял в чем суть вопроса.
А уж про сдвиги и маски любой дурачек знает.
Переставай строить из себя умника, дебил блять.
Тебе пишут: разрядность ADC атмеги 10 бит.
Ты пишешь: посмотри размер ADCL и ADCH.
Смотрим: они хранят 10 бит суммарно, все сходится.
Ты спрашиваешь: как ты запишешь в UDC эти 10 бит
Отвечаю: запишу первые 8 бит, дождусь следующих 10 бит с ADC, запишу в UDC остаток первой посылки и 6 бит новой, дождусь следующего измерения и запишу 4+4 бит, и т.д.
Хули ты недоволен, черт тупорылый? Про бит-ориентированные протоколы не слышал никогда? Ну так учись! Там вообще никаких байт и слов фиксированной длины может не быть, будешь тупо битовые последовательности парсить.
Если что, то анон выше хотел отправлять 10 битные кадры по uart. При том что атмега не поддерживает такой размер кадра. А ты пишешь очевидные вещи
Это как? Разве espruino можно засунуть во что-то слабее чем stm32f4 или esp8266?
Я не он, но если брать скорость 921600, то при учете стартового и двух стоповых битов будет 921600/11=83700 байт в секунду. При этом АЦП в атмеге максимум 15 ksps. Проблема на ровном месте выдумана.
Я прочитал описание команды, но всё ещё не понял.
https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
void setup() {
Serial.begin(9600);
Serial.println("start");
// 0 1 2 3 4 5 6 7 8 9
int i[] = {0,0,0,0,0,0,0,0,0,0,2};
boolean b[] = {0,0,0,0,0,0,0,0,0,0,2};
Serial.println('i ',i[10]);
Serial.println('i ',i[10]);
Serial.println('i ',i[10]);
Serial.println('b ',b[10]);
Serial.println('i',i[10]);
Serial.println('b',b[10]);
Serial.println(i[10]);
Serial.println(b[10]);
Serial.println();
}
void loop() {
}
start
10000000100000
10000000100000
110100100100000
25120
1101001
98
2
1
Это как-то больше программирование. Не знаю зачем это в /ра/.
Я прочитал описание команды, но всё ещё не понял.
https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
void setup() {
Serial.begin(9600);
Serial.println("start");
// 0 1 2 3 4 5 6 7 8 9
int i[] = {0,0,0,0,0,0,0,0,0,0,2};
boolean b[] = {0,0,0,0,0,0,0,0,0,0,2};
Serial.println('i ',i[10]);
Serial.println('i ',i[10]);
Serial.println('i ',i[10]);
Serial.println('b ',b[10]);
Serial.println('i',i[10]);
Serial.println('b',b[10]);
Serial.println(i[10]);
Serial.println(b[10]);
Serial.println();
}
void loop() {
}
start
10000000100000
10000000100000
110100100100000
25120
1101001
98
2
1
Это как-то больше программирование. Не знаю зачем это в /ра/.
Все пробелы в программе проебались. Но на картинке видно.
Я сходил нахуй, посрал, подумал и что-то понял.
Первое значение в print в одинарных кавычках передается только последние два байта.
i[10] == 2 потому что int, b[10] == 1 потому что boolean.
Если я сую число во второе значение в print, то по идее он должен обрезать знаки поле точки, но знаков после точки нет, и он почему то переводит значения в двоичную и десятичную систему счисления.
>>485545
Ну это конечно так, но эта хуйня вместо посыла меня нахуй пытается сделать что-то недокументированное (?) и я щитаю что это плохо.
Долбоебов с хуйней в коде нужно гнать нахуй, а не пытаться что-то тут как-то интерпретировать.
Чо вообще за нахуй и нахуя?????
Даже большие числа может переводит в большие системы счисления.
Чего блядь?????
>Ну это конечно так, но эта хуйня вместо посыла меня нахуй пытается сделать что-то недокументированное (?) и я щитаю что это плохо.
Много хочешь. Так-то в сишечке повсеместно происходит неявное приведение типов. Всякие integer promotion там и прочее, что может привести к не столь очевидным ошибкам.
<< и >> двигают только в пределах переменной и не циклично, всё сдвинешь - останутся нули.
Потом мне сказали что даже bool занимает целый байт вместо бита и я попытался изобрести велосипед.
И потом попытался что-то выводить и совсем заблудился.
>Чо вообще за нахуй и нахуя?????
Ну ты код ардуиновский открой хотя бы.
https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/Print.cpp
>size_t Print::println(int num, int base)
1) У тебя там не строки. Строки - в двойных кавычках, а в одинарных символы. Поэтому получилось численное значение - 0x2020. 20 - код пробела в ASCII.
2) Второй аргумент - основание системы счисления. Там где двойка получилась - двоичная система. Где единица - без понятия, можно разобраться, но явно ничего хорошего.
Вот оно тебе эти 2020 в двоичном виде и напечатало.
Похоже все правильно, чего тебе может не нравиться?
Да пожирнил прост
> Ну это конечно так, но эта хуйня вместо посыла меня нахуй пытается сделать что-то недокументированное
но там буквально все написано
https://www.arduino.cc/reference/en/language/functions/communication/serial/println/
https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
> Долбоебов с хуйней в коде нужно гнать нахуй, а не пытаться что-то тут как-то интерпретировать.
> сам написал хуйню не читая доку
> гонит долбоебов
Ты ебанутый или да?
><< и >> двигают только в пределах переменной и не циклично, всё сдвинешь - останутся нули.
Ну и что? Хоть так напиши https://ideone.com/pjCSzw
> буквально все написано
Там строго написано "пермиттед валуес бин окт дек хек". А если цифра, то обрезает знаки после запятой. Ни про что другое там не написано.
Ты да ебанутый.
Замечательно что там это написано в потрохах. Но с описанием на сайте это не совпадает.
И кстати, при таком коде avr-gcc уже при -O1 оптимизирует весь сдвиг в пару инструкций ror и bld. Только что проверил, оптимальней некуда.
>Замечательно что там это написано в потрохах. Но с описанием на сайте это не совпадает.
Про то чтобы посмотреть внутренности писал тебе я, а не этот анон.
>Но с описанием на сайте это не совпадает.
С хрена ли это?
>пермиттед валуес бин окт дек хек
Без всякой справки очевидно что это тоже числа, либо через enum, либо вовсе #define
Да и вообще, не стоит ардуины касаться.
> очевидно
Для кого-то кто давно пишет - очевидно. Для того кто недавно взял ардуину и открыл иде - нет.
> не стоит ардуины касаться
Это ардуино тред. А /ра/. Не знаю почему тут. Но что поделаешь.
А чего касаться?
жирнич, ты первый день пограмируешь? Если да, топиздуй в па, если нет - то нахуй ты так толстишь как ты до своих лет то дожил, раз не можешь доку или сорсы открыть? Это ж блять ебаный принт, не какой-то рокет саенс.
Но атмега 8 битная. Поэтому какая разница, сколько там значащих, если тебе всё равно понадобится 16 бит, чтоб записать 10?
Ебать ты умственно-отсталый, дружок )
Остальные 6 бит, не используемые значением ADC, могут хранить какие-то другие данные, вот какая разница.
https://www.youtube.com/watch?v=I__Rt2WBrws
> упрощения работы с таймерами
А чего там упрощать? Посмотри на его либу. Это тупо работа с регистрами.
https://github.com/GyverLibs/GyverTimers/blob/main/src/GyverTimers.cpp
Открывай DataSheet и вперед. Можешь в его либу поддержку добавить
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega4808-4809-Data-Sheet-DS40002173A.pdf
А потом вангую будет:
"Ахаха, нуб пользуется халом/прочим генератором, а деды писали код на голом жилезе"
>халом/прочим генератором
Если ты про стм32, то хал это не генератор.
Без понятия что имел в виду тот анон, но в данном случае проблема несколько иного порядка. Попробуй сделать с помощью этой библиотеки измеритель длительности импульса или энкодер подключи. А с помощью того же хала (от стм32), а лучше LL такое можно сделать. Так что нечего тут проводить такие аналогии. Причем от необходимости знания устройства таймеров все эти библиотеки не избавляют.
Хотя я не изучал эту библиотеку, могу ошибаться на ее счет.
Могут, но в дискуссии выше никаких других данных не было, так что сас
https://lmgtfy.app/?q=arduino+ds3231+set+time+from+pc
Ещё чтоб за тебя искали первые ссылки из гугла блядь
Щас бы время компиляции считать точной установкой времени.
Пока оно скомпилится, пока прошьется, пока оно там распарсит timestamp уже не актуально.
Спаять там легко, и обезьяна справится. Там сложно все намотать и собрать до кучи, если руки из жопы.
Ты открыл первую ссылку, а?
mode COM3 BAUD=9600 PARITY=n DATA=8
@echo off
for /F "usebackq tokens=1,2 delims==" i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.i.'=='.LocalDateTime.' set ldt=j
set hours=%ldt:~8,2%
set minutes=%ldt:~10,2%
set /A seconds=%ldt:~12,2%+2
set miliSeconds=%ldt:~15,3%
:loop
if %TIME% LSS %hours%:%minutes%:%seconds%.00 goto loop
for /F "usebackq tokens=1,2 delims==" i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.i.'=='.LocalDateTime.' set ldt=j
echo S%ldt:~12,2%, >COM3
echo D%ldt:~10,2%, >COM3
echo H%ldt:~8,2%, >COM3
echo S%ldt:~12,2%,
echo D%ldt:~10,2%,
echo H%ldt:~8,2%,
set /A seconds=%ldt:~12,2%+4
:loop2
if %TIME% LSS %hours%:%minutes%:%seconds%.00 goto loop2
echo T%ldt:~6,2%, >COM3
echo M%ldt:~4,2%, >COM3
echo J%ldt:~0,4%, >COM3
echo T%ldt:~6,2%,
echo M%ldt:~4,2%,
echo J%ldt:~0,4%,
Ты открыл первую ссылку, а?
mode COM3 BAUD=9600 PARITY=n DATA=8
@echo off
for /F "usebackq tokens=1,2 delims==" i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.i.'=='.LocalDateTime.' set ldt=j
set hours=%ldt:~8,2%
set minutes=%ldt:~10,2%
set /A seconds=%ldt:~12,2%+2
set miliSeconds=%ldt:~15,3%
:loop
if %TIME% LSS %hours%:%minutes%:%seconds%.00 goto loop
for /F "usebackq tokens=1,2 delims==" i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.i.'=='.LocalDateTime.' set ldt=j
echo S%ldt:~12,2%, >COM3
echo D%ldt:~10,2%, >COM3
echo H%ldt:~8,2%, >COM3
echo S%ldt:~12,2%,
echo D%ldt:~10,2%,
echo H%ldt:~8,2%,
set /A seconds=%ldt:~12,2%+4
:loop2
if %TIME% LSS %hours%:%minutes%:%seconds%.00 goto loop2
echo T%ldt:~6,2%, >COM3
echo M%ldt:~4,2%, >COM3
echo J%ldt:~0,4%, >COM3
echo T%ldt:~6,2%,
echo M%ldt:~4,2%,
echo J%ldt:~0,4%,
Бочку делаешь?
Сгенерированный халом код это пизда в чистейшем ее проявлении. Это дикий срач в проекте, вербузность везде, которую тебе придется протащить через весь проект и в случае нужды от которой ты заебешься избавляться.
Я всегда предаврительно оборачиваю хал в собственные функции платформы - фасады, где отвязываюсь нахуй от всех его всратых макросов и тайпдефов.
Позже, при нужде переписываю конкретное для себя, частенько методом копипаста из этого же хала.
Хал делает непозволительное - он тащит платформозависимость в мейн, плодя тысячу железозависимых инклудов, а это говнокодище в пике своей славы.
Вменяемые люди считают хал говном именно из-за этого, а не по причине медлительности. На это всем посрать совершенно, пока обратное не важно.
>он тащит платформозависимость в мейн
Бля, вот здесь не поспоришь. Всегда охуевал с того, что в либах вот такое почти всегда встречается
>Сгенерированный халом код
Какой такой хал? Их много разных, но не слышал чтобы был генератор с таким названием. Ты точно ничего не путаешь?
>Хал делает непозволительное - он тащит платформозависимость в мейн
И что же в этом плохого? А ты тогда свое не-платформозависимое пиши не в мейне, а еще где-нибудь. Какая разница где оно будет?
Шиза вобщем какая-то.
>Какой такой хал?
Бля я с кубом попутал. Его постоянно вижу в связке, язык заплетается.
>И что же в этом плохого?
Что у тебя бизнес логика врастает в платформу и наоборот. Получается дикое говнище, полное багов и ебнутых зависимостей.
>Какая разница где оно будет?
У тебя будет платформа диктовать как писать прикладную часть.
Я правильно думаю, или хуйню несу?
> 18650
Там же 3,7-4,2 вольта. Значит две банки уже 7 вольт минимум.
> AMS1117-3.3
Там вроде +1 вольт надо. Пока твои две банки упадут до 4,3 они уже будут безвозвратно мертвые.
>Что у тебя бизнес логика врастает в платформу и наоборот. Получается дикое говнище, полное багов и ебнутых зависимостей.
Ничего не понял. Для начала, что ты называешь мейном? Функцию main? Тогда что плохого в том что там будут вызываться функции хала? Эта функция все равно обычно совсем короткая. Или ты весь свой код запихиваешь в одну функцию?
Или может быть мейном ты называешь файлик main.c? А ничего, что файлы могут иметь какое угодно название? Пиши свое в другом файле, совершенно ничего не изменится. Или вовсе сделай несколько таких файликов для разных микроконтроллеров, если такое потребуется.
>У тебя будет платформа диктовать как писать прикладную часть.
В каком месте? Пишешь ты свою прикладную часть в разных файликах, а потом вызываешь свои прикладные функции в прерываниях и функции main. Это вне зависимости от куба и прочего.
>Что у тебя бизнес логика врастает в платформу
Какую ты, блядь, бизнес-логику в контроллер собрался пихать? Таки кампилятор вставляет в код только задействованные твоем проекте функции HAL, а не весь. Вангую в тебе пориджа, начитавшегося вкудахтовых стен и "блистающего" познаниями в /ra/
Под мейном я имею ввиду верхний уровень зависимостей.
По факту в мейне ты должен все запустить, произвести связывание и больше туда никогда не попадать.
И вот там, я хочу видеть это и только это, а не кучу высранных кубом комментов, несколько уровней его абстракций от платформы и анальное пропихивание своего нейминга.
>>485756
Часть кода, которая выполняет прикладную задачу, не дрочит драйвера, библиотечки, уартики и прочую ебань. А делает то, что
К примеру - проверка заданной температуры и открытие клапана это бизнес-логика.
Установка уровня GPIО подающего сигнал на открытие реле - нет.
Считывание какого нибудь датчика по UART - нет, но при этом "Получение данных о температуре" - да.
Расчет PID - нет, но получение необходимого воздействия для регулирования - да.
(хотя тут уже начинается тонкая грань).
Чувствуешь подвох? В МК с дедовских времен это говно любят мешать. У тебя считывание битов GPIO может находится где-нибудь где идет оперирование полностью предметными сущностями, например оборотами двигателя.
Потому, что по хорошему, ее надо обернуть в 2 функции, считывание ножки и считывание "сигнала". Когда-то это было дорого, МК имели фиксированную максимальную глубину стека, а компиляторы не умели в кросс объектную компиляцию.
Сейчас это вообще поебать, с большой вероятностью с включенной оптимизацией компилятор просто заинлайнит твое читание битов сквозь несколько функций, а если и нет - тебя реально это не должно парить, до очень частного случая, т.к. производительности дохуя и поверь, теряется она не в такие моменты.
>>485754
>Вангую в тебе пориджа
Вангую в тебе студента, не высравшего мамины пироги, но уже козыряющего возрастом.
> Там вроде +1 вольт надо
Спасибо то что и хотел узнать. Видимо возьму стабилитрон. В самой есп будет трекинг питания, буду хуярить алерты что бы акум не переразрядить. Там все равно планируется 100% онлайн, с дипслипом по паре часов, конечно.
>Под мейном я имею ввиду верхний уровень зависимостей.
Забавно. Но в целом просто чушь.
>Потому, что по хорошему, ее надо обернуть в 2 функции, считывание ножки и считывание "сигнала".
Ну и делай так. Между прочим сходным образом почти везде делают. Чем куб тебе мешает то? Мне вот ничем не мешает, тем более я редко касаюсь STM32, а когда касался, обходился LL. Но ты реально бред несешь.
Так если тебе посрать на производительность, то что мешает реализовывать бизнес логику отдельным файлом и его инклюдить, и уже вызывать функции из него?
>Так если тебе посрать на производительность
Вот это зря. "Производительность" тут если и связана, то очень опосредованно.
В остальном конечно все так. Нечему там мешать. Всякие недостатки можно приписывать кубу вместе с халом, но уж точно не то что наплел тот анон. Может это тот же анон? >>485161 Симптомы схожие.
Ну раз ты сказал, ок. Очень аргументировано.
> Между прочим сходным образом почти везде делают
Почти везде, это где? Почти везде куб используют только на прототипировании, потом все переписывается под нужды.
Я в отличии тебя в воздух не пержу. Вот мейн флиппер зиро, где просто происходит инициализация и ничего больше.
Хочешь сказать обратное, пруфай крупным проектом, где в мейне насрано кубом и кто-то это поддерживает.
>>485769
Вызывать кем? У тебя бизнес логика является инициатором всего, единственное что может с ней произойти из вне - ее запуск.
Ты же предлагаешь, разодрать ее на старте (хз что ты имеешь ввиду под вызывать функции, т.к. я хз кем, предположу, что это интеррупты халовские) и в итоге у тебя куча инициатором уровнем выше.
Вот наступил 2019 и все твои Ф103 стоят по 10 тысяч рублей. Тебе надо уезжать куда еще.
Но у тебя весь проект врос с куб и его хал. Вместо того, что бы просто перенести код бизнес логики и под его интерфейсы реализовать адаптеры и фасады для хала - тебе придется думать, каким хуем, раскидывать дерганье бизнес логике на новом железе, которое нихуя не факт, что имеет теже источники событий и принцип их действия.
В кратце - у тебя бизнес логика будет диктоваться платформой, а не наоборот.
Даже если исключить маняслучай переезда - это будет не очевидное ПО, которое нельзя читать сверху вниз, которое невозможно проектировать сверху вниз (ты можешь конечно, но это будет то еще извращение).
PS Я не говорил, что это не будет работать, будет и многое увы так и работает. Но это всратый путь и генерация проекта через куб заставляет тебя им идти.
Я эту проблему решил тем, что в основной проект стмовский хал подключаю руками, а отдельно держу проект с кубовой генерацией, откуда тягаю, что нужно. Получается некий баланс.
>Вызывать кем? У тебя бизнес логика является инициатором всего, единственное что может с ней произойти из вне - ее запуск.
Инициализатором? Ладно, я не эмбед разработчик, а простой ардуинщик, поэтому чего-то могу не знать. Но, смотри
>Часть кода, которая выполняет прикладную задачу, не дрочит драйвера, библиотечки, уартики и прочую ебань. А делает то, что
>
>К примеру - проверка заданной температуры и открытие клапана это бизнес-логика.
>Установка уровня GPIО подающего сигнал на открытие реле - нет.
>Считывание какого нибудь датчика по UART - нет, но при этом "Получение данных о температуре" - да.
>Расчет PID - нет, но получение необходимого воздействия для регулирования - да.
>(хотя тут уже начинается тонкая грань).
Ну допустим, тот же ПИД.
Ты берешь (или сам пишешь, не суть) код на С, который реализует ПИД, допустим этот https://github.com/tcleg/PID_Controller
И в мейне просто вызываешь инициализацию пида, а потом рассчет.
типа такого
uint8t signal;
void main() {
signal = PIDCompute();
HAL_PWM_WRITE(signal);
}
И вот HAL_PWM_WRITE можно заменять на тот же ардуиновский AnalogWrite() или любой другой, чтобы перенести на другую платформу. Не, не так что ли?
>Вот мейн флиппер зиро, где просто происходит инициализация и ничего больше.
Очень хорошо, путь даже дурацкая игрушка. Теперь представь что это нагенерили кубом, что изменится? Да ничего, только вместо одной функции furi_hal_init будет несколько нагенерированных.
>Почти везде, это где? Почти везде куб
Я куб не использую, как и STM32.
>Вот мейн флиппер зиро, где просто происходит инициализация и ничего больше.
У тебя баттхерт от количества комментов тут или от чего? Тебе припекло с того, что периферия инициализируется прямо в мейне, а не в furi_hal_init() ?
юзай tpl5110 какая же охуенная вещь
>рассказывать, то в мейне должны быть только инициализации
>в ардуино треде
ТОПИШЬ ЗА КУБ
@
НЕ ИСПОЛЬЗУЕШЬ КУБ
Куб генерирует мейн, невозможно (на сколько мне известно), просто генерировать либы и функцию их инициализации.
Помиомо этого, куб срет миллиардом бессмысленных коментов.
Когда-то фронтендеры отказались от (забыл названия) автогенератора веб страниц мышью, т.к. код им генерируемый было просто не возможно читать и разбираться.
И ты не можешь его удалить, если хочешь вносить изменения через куб, ты должен следовать - писать код там где куб разрешил.
Куб не генерит некий HAL_Init() где инициализируется все что надо, он генерит инициализацию на каждую периферию, иногда часть ее заворачивая в BSP_Init() а часть нет. В итоге даже в чистом кубовом проекте, без пользовательского кода, найти что откуда растет не получится в пару кликов.
Пикрил из инета.
А там же всего лишь только GPIO.
>>485791
Да.
У меня нет претензий к медлительности или забагованности куба, это вендорский демо инструмент, они бы просто не смогли бы поддерживать, если бы писали функции под каждый МК.
У меня претензии, что куб заставляет себя использовать как есть. Не давая возможности полностью изолировать свою кодогенерацию.
>>485783
У тебя вырожденный случай программы из 3х строк.
А теперь попробуем пример посложнее.
Представь... примерно следующую программу (некий контроллер теплицы)
GreenHouse:
ClimateController:
CO2_Controller
HumidityController
TemperatureController:
PID
Sensor
И теперь ты весело в TemperatureController запиздяриваешь управление PWM.
Теперь, оказалось, что тебе надо иметь 2 ШИМ (не спрашивай зачем, к примеру в устройстве 2 нагревателя разной мощности появилось).
И вот ты пошел менять везде где у тебя были вызовы ШИМ на вызовы двух ШИМ.
Поменял тут, поменял там. А здесь забыл. У тебя бага, которая выявится только:
1) При покрытии тестами HW периферии, что тот еще заеб.
2) При тестировании непосредственно железа, что еще больший заеб.
3) Во время эксплуатации, когда огурцы замерзнут.
А ты мог бы просто, сделать некий драйвер нагревателя (НЕ ШИМ, драйвером ШИМ является HAL_PWM_Set()) и дергать из бизнес логики его, а уже в нем, в единственном месте обращаться к железу и это был бы уровень портирования.
Вот это и называется помесь бизнес-логики с платформой.
PS а еще добавь, что просто HAL_Write() ты не можешь, а должен что то проверить, например его текущую частоту и вот это все у тебя начинает быть размазанным по всему коду.
ТОПИШЬ ЗА КУБ
@
НЕ ИСПОЛЬЗУЕШЬ КУБ
Куб генерирует мейн, невозможно (на сколько мне известно), просто генерировать либы и функцию их инициализации.
Помиомо этого, куб срет миллиардом бессмысленных коментов.
Когда-то фронтендеры отказались от (забыл названия) автогенератора веб страниц мышью, т.к. код им генерируемый было просто не возможно читать и разбираться.
И ты не можешь его удалить, если хочешь вносить изменения через куб, ты должен следовать - писать код там где куб разрешил.
Куб не генерит некий HAL_Init() где инициализируется все что надо, он генерит инициализацию на каждую периферию, иногда часть ее заворачивая в BSP_Init() а часть нет. В итоге даже в чистом кубовом проекте, без пользовательского кода, найти что откуда растет не получится в пару кликов.
Пикрил из инета.
А там же всего лишь только GPIO.
>>485791
Да.
У меня нет претензий к медлительности или забагованности куба, это вендорский демо инструмент, они бы просто не смогли бы поддерживать, если бы писали функции под каждый МК.
У меня претензии, что куб заставляет себя использовать как есть. Не давая возможности полностью изолировать свою кодогенерацию.
>>485783
У тебя вырожденный случай программы из 3х строк.
А теперь попробуем пример посложнее.
Представь... примерно следующую программу (некий контроллер теплицы)
GreenHouse:
ClimateController:
CO2_Controller
HumidityController
TemperatureController:
PID
Sensor
И теперь ты весело в TemperatureController запиздяриваешь управление PWM.
Теперь, оказалось, что тебе надо иметь 2 ШИМ (не спрашивай зачем, к примеру в устройстве 2 нагревателя разной мощности появилось).
И вот ты пошел менять везде где у тебя были вызовы ШИМ на вызовы двух ШИМ.
Поменял тут, поменял там. А здесь забыл. У тебя бага, которая выявится только:
1) При покрытии тестами HW периферии, что тот еще заеб.
2) При тестировании непосредственно железа, что еще больший заеб.
3) Во время эксплуатации, когда огурцы замерзнут.
А ты мог бы просто, сделать некий драйвер нагревателя (НЕ ШИМ, драйвером ШИМ является HAL_PWM_Set()) и дергать из бизнес логики его, а уже в нем, в единственном месте обращаться к железу и это был бы уровень портирования.
Вот это и называется помесь бизнес-логики с платформой.
PS а еще добавь, что просто HAL_Write() ты не можешь, а должен что то проверить, например его текущую частоту и вот это все у тебя начинает быть размазанным по всему коду.
Спешите видеть ХУЕВЫЕ лекции клин кода в ардуино треде.
Да ладно, может кто проникнется. Все остальные треды мертвые.
Ну не умею я в трифорс и разметку!
То есть ты для миграции вместо того, чтобы переписывать мейн, хочешь переписывать свой слой абстракций, как фури в примере с флиппером? А в чем выигрыш то?
>Хочешь сказать обратное, пруфай крупным проектом, где в мейне насрано кубом и кто-то это поддерживает.
Я тебе вовсе на ардуине принесу и не глупую игрушку как у тебя, а другую поинтереснее. https://github.com/hjd1964/OnStep
Там из ардуино-авр-ная хрень по всему коду раскидано. Вот что стоило не напрямую пихать cli, sei и прочие digitalWrite, а хоть через дефайн какой-то. Теперь вот фиг перенесешь так просто.
У тебя какая-то очень странная логика, ты повсеместно сравниваешь теплое с мягким. Ты извини, но похоже на легкие симптомы шизы.
>>485799
Я более чем уверен, что большое кол-во ардуинщиков не осилило свой проект именно ввиду говнокода и не понимания, как его исправить и дополнить после разрастания, так что считаю, что да, как минимум упоминать, что встраиваемые системы это не только дедов говнокод из запихивания HTML страницы в регистры эзернет модуля, но можно делать иначе.
>Вот мейн флиппер зиро, где просто происходит инициализация и ничего больше.
>и ничего больше.
Ващет там FreeRTOS управление передается. Ты совсем ебанутый?
Нет, я считаю что у тебя все-таки шиза. Также я считаю что по моей ссылке весьма годная штука, в отличие от того что ты притащил.
Ты просил принести где нагенерили кубом и наверное предполагал что будет все "в перемешку". Вот, пожалуйста, только без куба.
С переносимостью у этой поделки не так и плохо, как может показаться на первый взгляд. Наличие внешнего RTC там сделали опциональным, опциональная поддержка энкодеров, опциональная аппаратная коррекция периодической ошибки и все это работает на множестве разных ардуин. Но есть определенные сложности с переносом не на ардуину, если бы разработчики чуть подумали перед тем как писать, было бы намного лучше. Но даже сейчас не все так плохо.
>Ты просил принести где нагенерили кубом
> Вот, пожалуйста, только без куба.
>я считаю что у тебя все-таки шиза
Лол
>>485809
>По факту в мейне ты должен все запустить, произвести связывание и больше туда никогда не попадать
>ы должен все запустить
Мне, что бы всякие душные перцы типо тебя не писали, надо каждый раз академическое определение вхуячивать? И к каждому посту глоссарий и краткой РАНЕЕ как в сериальчиках вставлять?
Это целиком зависит от задач и целей. Если ты пилишь марахайку или простой девайс, то пиши себе пожалуйста весь код в мейне. Какая разница, если твой проект под ардуино?
Если тебе возможно потребуется миграция, то стоит конечно отделить периферию и бизнес логику, тогда для переноса хватит просто замены функций для работы с периферией. А вот если ты собрался выпускать кучу разных устройств сразу под кучу разных платформ, то тогда уже стоит писать свой ХАЛ и полностью разделить бизнес логику и код для работы с периферией.
Вообще я подозреваю, что в твоём примере с флипером фури леер это что-то типа
#ifdef STM32
#define GPIO_Output HAL_GPIO_Output();
#elif defined(ARDUINO)
#define GPIO_Output DigitalWrite();
Ну анон, ясен пень, я говорю про что то более менее объемное, а не поделку, которую можно уместить в 5\50\500 строк.
>И к каждому посту глоссарий и краткой РАНЕЕ как в сериальчиках вставлять?
Пользуйся общепринятой терминологией. Как маленький ребенок на своем языке что-то лепечешь.
>Лол
У тебя точно что-то странное с логикой. Ну не смог я принести с кубом, а принес где насрано еще хуже - ардуиной.
Хорош
Хз, я бы просто захреначил задание скважности ШИМ отдельной функцией (при необходимости inline), и переписывал под несколько ШИМов/атмегу/миландр уже ее.
Как и чтение с АЦП, прием/педерача по интерфейсам, запись/чтение с флэшки и все остальные аппаратно-зависимые операции.
А в них уже делал все на HAL/LL/SPL.
Так и делается, только работающая прикладная штука, обычно одним шимом не ограничивается, еще калибровочки, пороговые значения, настройки и т.п.
Это все лучше обернуть в отдельный класс или хотя бы С-модуль.
Так что твое решение правильное. Но, тебе очень круто иметь вызовы инициализации и конфигурации железа все там же, а не в некой общей HAL_Init() все по тем же причинам.
К сожалению архитектура в эмбеддеде это молча забытая и похороненная тема, поищешь в гугле и найдешь около 0 инфы.
Лучшее к чему я пришел это Бизнес логика -> Прикладная сущность -> Платформо независимый драйвер железа -> Платформа -> HAL
Понятное дело, что для мелких проектов это слишком и что то можно упразднить, но упразднять лучше с конца.
>ты должен следовать - писать код там где куб разрешил.
Да ты ебанутый напрочь. Если ты больше не собираешься перегенерировать инициализацию, клоки всякие и подключать через куб дополнительное железо, типа таймеров, адц, дак, хуяк..., то пиши где тебе заблагорассудится. Удоляй комменты и делай с нагенеренным, что хочешь.
А ты уверен, что не придется? Пиздец, откуда у вас такое узкое мышление, я хуй знает.
Вот прям стартуешь новый проект и у тебя у же в бошке 100% уверенность, что тебе блядь потребуется 4 таймера, 2 уарта и I2C, SDIO-4Bit и фриртос.
Нихуя же не может поменяться.
А если оно поменяется, придется пиздюхать менять ручками.
В этом и ебучая проблема и всратость куба - это интересная идея, которую абсолютно убого реализовали.
Подключить хал к проекту руками и вписать запуск его методов, займет ровно столько же, сколько нагенерить проект и почистить блядь.
>что тебе блядь потребуется
Так вот когда будешь уверен на 95%, что больше не будешь перегенерировать, тогда и три комменты. Чем они тебе мешают нахуй? По ним макросы для Doxygen-a можно расставить. Чем тебе, блядь, мешают комментарии?! Они же не компилятся в итоговый бинарник!! В том и прелесть Куба, что ты всю эту мутотень, типа инициализаций, можно захуярить парой кликов мышью.
Кто тебе мешает в чистовой проект скопипастить?
Ох ебать какой ты некомпетентный. Пиздец.
На этом я с тобой заканчиваю разговор, не столько по причине твоей душности, сколько реально в недостатке знаний.
Пиздец, ты же кроме как на ардуине и не писал не начем поди?
Я не злой и ненависти к тебе не имею, но вместо того, что бы имея лишь базовые познания в любительском фреймворке - спорить, ты бы лучше послушал и улучшил свои умения.
А я злой! Допустим ты в этом контексте писал о модулях. Тогда при чем тут "C"? Нет, не отвертишься!
Си модуль, это зачастую пара .c\.h, хотя это не обязательно.
https://www.embedded.com/modular-programming-in-c/
Модульность это не "поддержка удобных модулей" это возможность писать законченные функциональные куски кода.
>Модульность это не "поддержка удобных модулей" это возможность писать законченные функциональные куски кода
>Возможность
Сильно сказано.
Красава!
Халофоб съебал в свой стм32-петушатник с божественного ардуино-треда?
Смысл на паянных проектах столько I/O выводов тратить? Берёшь сдвиговый регистр за три гроша и зажигаешь сколько угодно светодиодов тремя пинами (их можно по цепочке соединять).
>Это дикий срач в проекте, вербузность везде, которую тебе придется протащить через весь проект и в случае нужды от которой ты заебешься избавляться.
Как вы заебали, пиздуйте в оОМЕРИКУ пиндосы со своим ты через слово. В русском языке ты в безличном предложении не используется.
>Что у тебя бизнес логика врастает в платформу
>>485747
>У тебя будет платформа диктовать
>>485753
>Пишешь ты свою прикладную
>>485754
>только задействованные твоем проекте
>>485760
>факту в мейне ты должен нужно все запустить
>>485760
>И вот там, я хочу видеть это и только это
Это все что я хочу там видеть
>>485760
>У тебя считывание битов GPIO может
>>485760
>о по хорошему, ее надо обернуть
Охуеть, а почему здесь не "ты должен не обернуть"?
>>485760
>Сейчас это вообще поебать
Сейчас тебе вообще поебать на это. Вот!
>>485779
>У тебя бизнес логика является инициатором всего
>>485779
>Но у тебя весь проект врос
>>485779
> хала - тебе придется думать
>>485779
В кратце - у тебя бизнес
Вкратце блядь! Ты сука в век автозамены живёшь, нахуй вообще лишние пробелы жать?
Ой впизду все выписывать заебался.
>Что у тебя бизнес логика врастает в платформу
>>485747
>У тебя будет платформа диктовать
>>485753
>Пишешь ты свою прикладную
>>485754
>только задействованные твоем проекте
>>485760
>факту в мейне ты должен нужно все запустить
>>485760
>И вот там, я хочу видеть это и только это
Это все что я хочу там видеть
>>485760
>У тебя считывание битов GPIO может
>>485760
>о по хорошему, ее надо обернуть
Охуеть, а почему здесь не "ты должен не обернуть"?
>>485760
>Сейчас это вообще поебать
Сейчас тебе вообще поебать на это. Вот!
>>485779
>У тебя бизнес логика является инициатором всего
>>485779
>Но у тебя весь проект врос
>>485779
> хала - тебе придется думать
>>485779
В кратце - у тебя бизнес
Вкратце блядь! Ты сука в век автозамены живёшь, нахуй вообще лишние пробелы жать?
Ой впизду все выписывать заебался.
семисегментные?
Используются в пром. автоматике. Например, в контроллерах Спекон СК-2-24.
Для светодиодов и семисегментников норм, для более требовательных вещей есть spi/i2c I/O expander.
Я второй день пытаюсь чисто плк с модулями подружить.
Вопрос в том, сколько стоит подобная работа? Станок по паллетированию тротуарной плитки, кстати.
>хочешь реализовать
а что такое реально на ардуине ?
просто интересуюсь такой возможностью
>схуга
серьезно? лол
4 года. ст 138ук
реализовать в плане: сделать пульт если потерял свой, или сделать автопульт, или типа того
только что сейчас взять альтернативному атмеге? чтобы тоже с энергосбережением, а то кризис, атмеги как стм стоит, а стм как корова, корова как цех, а в цеху ардуинщики диодом моргают
спасибо. задача такая: светить постоянно ик диодом и ловить постоянно аналоговый «сигнал» от фотодиода и его изменение. пропускать нельзя вообще ну может раз в 100мс
это вообще реально реализовать чтобы батарейки хватило на долго? хотя бы 24ч было на почти голой атмеге, частота уменьшена, питание 3.3. батарея от старого телефона 800mAh, хватает часов на 8. батарею больше не воткнуть.
Гугл пишет что атмега жрет около 20mA в работе. Должно хватить впритык. Что ты там такое делаешь ебанутое?
Тут цена за единичный проект, а не работа на постоянке. Так то я уже трудоустроен типа асушником за 40к. (город 20к рыл, если это можно назвать городом)
>серьезно?
Нет!
https://flipperzero.one/
>>486315
>а стм как корова
Бери L0 или L1, че как маленький? Они даже есть в TSSOP корпусах, спаяешь всё без фена
>>486316
Ну pic32 ладно ещё, а вот pic24 и stm8 ты совсем ебанулся советовать? Их охуеешь программировать, плюс там куча нюансов, это совершенно странные МК. И gcc под них нет
ик диод же, причем яркость максимальная, иначе не пробивает.
ну я сетую на саму батарею, она уже старая.
а я пиздоглаз, думал ты какой-то диод ловишь, а если еще и светить то уже совсем тяжко, там минимум еще 20ма
да, я вроде измерял где то около 50ма было, но это не точно. да и проект уже в работе. пока людям хватает, но на следующий образец надо учесть всё
эх хорошо быть ардуинобогом и не знать ничего кроме
>Кстати, пацаны, что такое махарайка?
Марахайка , -и, ж. ( айтишники )
Значение:
кустарно изготовленный девайс или программа.
некачественный, плохо работающий девайс.
любой прибор или устройство, употребляется как синоним слова девайс.
Синонимы:
махарайка
Пример текста:
(1) Создание марахайки начинают с уяснения работы узлов по принципиальной схеме. • Напишу марахайку на VisualBasic с дальнейшим сохранением данных в удобном формате. • Эту марахайку я сам сделал, нехрен деньги отдавать причем большие за то что можешь сам сделать.(2) Ансамбль для сельской свадьбы: играет под марахайку составом два чела плюс доярка Галя на подтанцовках. • Марахайка глюкнула и зависла.(3) Эта марахайка питается от абонентской линии и свободно помещается в телефонную розетку. • Оказалось, что моя DVD-марахайка умеет играть DivX, записанный на DVD-R.
Сейчас в контексте ПО уже не употребляется, только про устройства
>Блять какое же это говно по сравнению с ардуиной.
А на ардуине (допустим, ESP32 с ардуино-ядром) реализация данной задачи была бы проще? Тормознее? Гибче? Оптимизированней?
Интересно с точки зрения вечных срачей "ардуино-фреймворк для детей даунов vs низкоуровневое программирование для ассемблерных аутистов".
C-код выглядит как роспись сикстинской капеллы, языки стандарта МЭК как наскальная живопись из раннего палеолита.
у меня был подобный проект, тоже сортировщик. в итоге не сработались и вместо сортировщика поставили гастарбайтеров
овен, да, пездос. зато сертификаты
клон ардуины? Все действительно так радужно как пишут? https://ali-sale.ru/lgt8f328p-analog-atmega328p/
посмотри у гейвера, он описывал проблемы с этой платой, а вот w208 интересно
>EEPROM в китайской LGT8F328P эмулируется на флеш и можно сконфигурировать для этой цели до 8 Кб памяти, у ATmega328P (Arduino nano) всего 1Кб.
1 Кб ЕЕПРОМ это получается аж 1024 регистра записи? Правильно я понимаю? То есть компилятор меня не засмеет за EEPROM.write(b,1023)?
Я хочу хуйни попридумывать. Борда то анонимная, понимать надо.
Ты перепутал местами аргументы, но это мелочи. Однако откуда компилятору gcc знать о китайской ардуине? Также в ардуиновском коде нет никаких static_assert и подобного. Хотя я не знаю С++ и могу ошибиться. https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/EEPROM/src/EEPROM.h Как видно, в конечном итоге оно вызывает функции eeprom_write_byte и eeprom_read_byte из avr-libc и если какие-то проверки и ограничения там есть, то только в этих функциях и только в процессе их выполнения.
Изучай Си, ассемблер, регистры и сможешь с точностью хоть до одного такта дрыгать ножками.
Быстрее всего ногами дрыгать непосредственно через регистр. Это такая внутренняя однобайтовая переменная, где каждый бит отвечает за конкретную ногу:
void digiWriteFast(byte pin,bool cond)
{
if(pin<8 && cond==1) PORTD |= (1 << pin); //работаем с портом PORTD, включить бит от 0 до 7
else if(pin<8 && cond==0) PORTD &= ~(1 << pin); //работаем с портом PORTD, выключить бит от 0 до 7
else if(pin>=8 && cond==1) PORTB |= (1 << pin-8); //работаем с портом PORTB, включить бит от 0 до 7
else PORTB &= ~(1 << pin-8); //работаем с портом PORTB, выключить бит от 0 до 7
}
>Где там частота 16 мгц? Где её руками щупать?
16мгц это такты процессора, где за один такт выполняется только что-то очень простое типа битового сложения. Всякие перемножения и циклы требуют множества тактов. А в стандартных ардуиновских функциях вообще много неоптимизированной хуйни.
Быстрее всего не только дрыгать через регистр, но и вешать периферию с учетом этого.
Допустим, если у тебя пять светодиодов, нужно постараться повесить их на один порт подряд, лучше сначала.
Тогда можно будет убрать все сравнения и получить огромный прирост производительности.
У меня вопрос, это для какой задачи тебе потребуется дёргать ногу с частотой, близкой к частоте работы МК? Ты собрался програмно реализовывать какой-то высокоскоростной интерфейс? Обычно такое делается на отдельных контроллерах интерфейса или на ПЛИС.
Я тоже хотел спросить, но сошёлся на том в своей голове, что даже если скорость не нужна, будет экономия по питанию.
сравнение целочисленной хуйни это один опкод, по идее. ну может три учитывая положить циферки в стек, раз уж хочешь оптимизнуть то вынеси secP + 1000 в отдельную переменную. Хотя подозреваю конпелятор и так это сделал за тебя.
Но я думаю ты хуйней маешься. Не проще взять delay просто? Это будет не идеально 1 секунда за счет небольшого дрифта, который будет из-за остального кода, но не похуй ли?
Ерунда какая-то. Тебе что сделать то требуется? Не должно быть никаких зависаний, если понимаешь что делаешь.
Приведу пример, для простоты числа будем считать что все числа по 8 бит. Нужно отсчитать интервал времени длительностью 32 мс.
1) Запоминаем текущее время, причем оно оказывается близко к переполнению timer_start=0xEF
2) Проверяем событие в первый раз, millis()=0xEF, millis()-timer_start=0
3) Проверяем событие второй раз, millis()=0xF0, millis()-timer_start=1 и так далее
4) Доходим до переполнения, millis()=0x00, millis()-timer_start = 0x00 - 0xEF = 17
5) Доходим до нужного времени, millis()=0x0F, millis()-timer_start = 0x0F - 0xEF = 32
Как видно, переполнение не мешает.
>что не совсем оптимально.
Если беспокоишься о таких мелочах и на это есть какие-то причины, то для начала можешь брать от millis() не все 32 бита, а поменьше, 16 например.
>сравнение целочисленной хуйни это один опкод
Учти что там по 8 бит регистры.
>положить циферки в стек
Зачем? И оно не может со стеком сравнивать, только регистр с регистром. Это же RISC.
Да может конечно, я то про ассемблер для микрух мало что знаю, спизданул не подумав конечно. Что не отменяет того, что тот анон явно какую-то хуйню делает и оптимизирует не там где надо.
>Нихуя не понял в твоих роботических загогулинах.
15 лет назад это во многих школах проходили где-то в 9-10 классах. Сейчас уже отменили информатику?
>правильно?
Да, я о том же.
>unsigned long
Вот это как-то не здорово. Зачем оно нужно, если в стандарте не прописано точное количество бит в нем? Есть же в С99 uint32_t.
Например, для дисплея с мультиплексированием.
Да и так ведь попросту удобнее.
>или на ПЛИС
Да блять, буду ради десятка семисегментников ставить дорогую микруху, а то и несколько. Хуйни-то не неси, долбаеб
>дорогую микруху
Я не он, но не так оно дорого. В диджикее атмега328 $1.79, а при этом плисина, в которую не только какой-то мультиплексор или сдвиговый регистр влезет, а целый процессор и пошустрее атмеги, всего лишь $5.25
https://www.digikey.com/en/products/detail/microchip-technology/ATMEGA328PB-AUR/5638753
https://www.digikey.com/en/products/detail/lattice-semiconductor-corporation/ICE5LP4K-SG48ITR/5324267
Хотя у них там нет в наличии уже даже атмеги...
> Например, для дисплея с мультиплексированием.
Не совсем понял тебя
> Да блять, буду ради десятка семисегментников ставить дорогую микруху, а то и несколько. Хуйни-то не неси, долбаеб
Даже если положим, что тебе надо обновлять один индикатор с частотой 60 Гц, то это 8×60=480 бит/с. Если у тебя мультиплексор который преобразует последовательный код в параллельный, то это надо дергать ногу с частотой 480 Гц. Даже если у тебя сто дисплеев, то ногу придется дергать с частотой всего 48 кГц
> индикатор с частотой 60 Гц,
Всегда делаю динамическую индикацию на 100-200Гц, иначе мерцание очень заметно при движении.
Энивей, ты даже близко не подберешься к 1 МГц
Но я хочу управлять чем-то в реальном мире. Слепить несколько датчиков, светодиодов, кнопок и выключателей. Стоит ли брать ардуину и использовать её? Код выглядит элементарно, ничего критически нового не вижу.
Да
Да
Задача отслеживать 4 входа вкл-выкл 12 вольт (напрямую от автомобильной бортсети), 4 аналоговых входа 5 вольт (от датчиков, питание у них тоже от 12 вольт, выход до 5 вольт), вольтметр (тоже будет подключен к 12 вольт), выводить результаты на экран и моргать светодиодами.
Для защиты от перепадов напряжения. Это же автомобильная сеть.
Ебанёт генератор 20 вольт и привет.
ну тогда по питанию надо тоже и lm какой нибудь от 12
Спасибо. А это все автомобильные сети такое говно? Я правда не шарю. Что сложного поставить стабилизатор после генератора? Как машины не сгорают вообще каждые 3 секунды?
Может супрессоры поставишь? Не?
Ну я видел очень короткие всплески до 100-120 вольт, если система реле-регулятора не с цифровым управлением ( PWM or LIN) Обусловлены в основном резким снятием нагрузки при повышении оборотов, когда остаточная намагниченность якоря дает всплеск. Но это неофициальная версия, мои фантазии.
Кто-нибудь разбирается в документации от ST?
Не могу найти - надо ли снова заливать в датчик VL6180x настройки после POR (на пин GPIO_0 подан низкий логический уровень)?
https://www.st.com/en/imaging-and-photonics-solutions/vl6180x.html#documentation
Смотря какие настройки. Часть регистров перезаписывается при старте из nvm. Если записать настройки в nvm, то загружать не нужно будет.
Это то что я понял из описания регистров.
Короче, попробую включить \ выключить и посмотрю, что понадобится.
Просто датчик ещё не пришёл. Думал тут может кто его тыкал.
Спаял махарайку из мини про, макетки под пайку и четырех реле, которые окружают на плате мой контроллер, при управлении 220 на реле плата дико глючит, отказывается работать. Видимо катухи реле дают наводки на плату? Где про это можно почитать и как грамотно управлять нагрузками?
Попробуй подключить через оптопары/цифровые развязки.
На плате делают разделение на цифровую землю МК и силовую землю.
Давай схему подключения целиком
Давай схему, где-то ты нахуевертил, не может там быть наводок на ровном месте. Но может обратка ебануть при размыкании, может от этого плата и в охуевозе, диод ебани на низковольтный вход релешки
Ну хуй знает, вроде нормально сделал. А приколы начинаются только когда 220 подключено или без него тоже хуевит?
Попробовал, переделал щиток и код на одно модульное реле (модулей больше не было), работает относительно нормально. Сложность в том, что я всю плату уже спаял на макетке 5х8 см, и надо всё распаивать к хуесам.
Ну обмажься конденсаторами тоже. Вообще странно, что у тебя нагрузка с 220 В дает помехи которые аж мешают ардуине и это при гальванической развяжке. Что за нагрузка то?
Вообще там нагрузки ни о чем, генератор озона 200 ватт, вентилятор на ватт 120 и пара лампочек. Но глючит даже без нагрузки, с накинутыми к клеммам 220 в.
>/Compute Rest of PID Output/
> output += outputSum - kd * dInput;
ПИИДОРАААААААААСЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ. Действительно блядь, с какого же хуя у меня коэффициенты, которые были получены моделированием, нихуя не работают. Кулибины ебаные блядь. И это самая как бы популярная и задокументированная ПИД библиотека
Настолько говно, что детектит высоковольтные приколюхи поблизости? Без подачи высокого ывсё работает норм.
Ну это магия тогда, я хз лол
Давай-ка фотки своего говна в сборе, а не картинки. Не может просто так релешка на ардуину наводить ТАКИЕ помехи
http://www.martin-kumm.de/wiki/doku.php?id=05Misc:SMD_Solderstation
Схема и программа внутри. Я собрал на бредборде используя ардуино нано, китайскую, две.
Оно работает, но температура застревает на максимуме и не регулируется, если во время разогрева (при включении температура поднимается от 0 до 400) нажать DOWN (закоротить д12 на землю), то она перестает подниматься.
Может кто-то увидит банальную ошибку очепатку.
Я напишу на почту что там указана в контактах, может и ответит.
А ничего что в этом примере на ножку бахнет пять вольт без ограничения?
Где? В ардуине? Встроенный?
Ничего, у нас КМОП, которые управляются напряжением, а не током. Ну и пердуина работает на 5В, так что точно нормально. А на пикрил самая банальная кнопка
То есть если я всё запитаю от амс1117 5.0 (максимум 0,8 А) То всё будет норм?
Землю амс на землю ардуины, +5 амс на +5 ардуины и на д13 ардуины.
Я спалил дисплейчик светодиодный запитав его от амс без резистора.
Нет конечно, нахуя, можно на дваче спросить. Зря я что ли за интернет плочу?
Там внутри этого SSR есть оптопара и симистор. Может там внутри и PNP транзистор есть. Хотя не должно.
Ты тестил? А снаружи точно NPN?
Ну и ты же в курсе, что это не реле, а симисторная сборка и чем симисторы отличаются от реле?
Кароч, что если я отковыряю один резистор, что идет к линии питания, и буду управлять передним фронтом? Гениальное и элегантное решение или хуйня?
Я могу написать
uint8_t period = 10;
uint8_t duty = 0.1;
void loop {
digitalWrite(SSR_Pin, HIGH);
delay(periodduty);
digitalWrite(SSR_Pin, LOW);
delay(period(1-duty));
}
Но как это сделать без делеев? На millis не хочу, это что-то не то, так как ещё будет вебсервер.
Ноутбук не видит китайскую ардуино нано. При попытке установить драйвер выдаёт "the driver is successfully pre installed in advance".
Удалить драйвер тоже не получается.
Ну ладно, оказывается это не так и сложно, лол
У кого=нибудь есть на примете простенькая либа?
Монстров от каких-либо адафруит или спаркфана не предлагать. Пиздец там всё накручено. Не разобрал.
У меня запара с трансляцией шрифт -> сборка.
> сбой запроса дескриптора устройства
Попробуй другой кабель\порт. Эта ошибка _обычно_ значит что пека даже не поняла что ты в нее всунул. Это легко подтвердить если открыть свойства устройства и глянуть "id оборудования" или как-то так.
Суть: собираю игровой руль на ардуине с помощью mmjoy2. Собрал, прошил, на переменных резисторах все работает как надо. Меняю резистор на датчик холла (ss45e, аналоговый, биполярный), все так же работает, НО: уровни сигнала max и min при поднесении разных полюсов магнита не такие, как у переменного резистора, а 863 и 182 соответственно, тогда как на переменных резюках они 1023 и 0.
Это норма и датчик просто требуется калибровать в настройках джоя и игр или я что-то делаю не так?
Ясен то хуй надо калибровать, резистор то у тебя напряжение наверняка до нуля убирал, а в типичной схеме нуля никогда не будет. B 5В не будет. И если сделать поправку на это, выйдen как раз почти те цифры что у тебя - 1024/5 = 204, 1024/5*4 = 819.
про мм джой не в курсе, может там есть какая-то настройка адекватная. пили фотки, кстати, интересно глянуть что у анонов интересного выходит
Напряжение до 5в поднимал*
Быстро фикс. Те минимум там было условных 0.1-0.5в, максимум - 5, тк резюки рулей обычно упираются в контакт выхода, то есть минимальное сопротивление - 0 ом. Если сделать поправку на эти же 0.1-0.5в выйдут твои цифры 1в1 просто.
>пили фотки, кстати, интересно глянуть что у анонов интересного выходит
Все пока на стадии разработки моделей под печать и сборки схемы. Будет руль с отдачей, педали и кпп-шифтер. Детали пока с али идут. Если получится не всрато, то фотки будут. Но до этого еще срать и срать месяца два. Такого полного комплекта самоделки в инете я не видел, только либо отдельные элементы, либо построено это из спичек, желудей и моторчика от мамкиной стиралки и выглядит убервсрато. Плюс авторы сие поделий вообще не делятся нюансами настройки/калибровки элементов, не дают схемы и чертежи, чтобы оценить конструкцию хотя бы примерно. Все подается по типу "пук-среньк-прикрутил-поебалися-заработало-кек". И поэтому всплывают такие вон нюансы, на выяснение которых уходит время.
> Если получится не всрато, то фотки будут
Если всрато даже лучше, обязательно запости.
Я так понимаю ты хочешь все на 3дпринтере печатать? Я видел челы берут просто нищебродские бу рули и их переделывают под нормальные, не думал в эту сторону?
>нищебродские бу рули и их переделывают под нормальные, не думал в эту сторону?
Ничего из этих переделок нормального не выходит - тот же колхоз из хомутов, деревяшечек и подкладок с вырезанием ненужного пластика. Дешевенькие рули и имеют к тому же дешевенькие внутренности механики и годятся только если уж совсем дела плохи с финансами.
У меня вся механика изначально проектируется на подшипниках с довольно мощным мотором обратной связи (775) и с настоящим спортивным рулем. Привод там будет ременный для снижения шума. Плюс такой мотор потребует мощного бп, которому нужно место. Короче, в типичный корпус типичного бюджетного руля это все физичеcки не умещается, поэтому проще все проектировать с нуля, не упираясь постоянно в ограничение стандартного корпуса.
Я бы посоветовал тебе заглянуть в вг в тред к автосимам. Возможно там встретишь задротов которые шарят за это все хотя бы с теоретической точки зрения.
Кстати, не думал спиздить просто дизайн серийных педалей? Правда те что я видел все стальные, но можно просто пластик потолще ебануть и пружины попроще.
Будешь смеяться, но я у авиасиммеров на форумах был и полезной инфы не почепнул. Все в духе "пук-среньк-сделол". Ну и симмеры делятся на два типа в основном - строители всратоватых деревянных кабин и штурвалов и покупатели дорогих модных девайсов. Есть и альтернативщики с 3д принтерами, но их мало. Авиасиммы все-таки специфичное направление в конструкции тех же педалей. Хотя, в теории, я хочу сделать и нормальный штурвал.
Дизайн педалей не проблема, я как раз и гляжу на серийные образцы. Проблема в механике, в ее конструкции. В серийниках применяются резюки, конструкция там одна. Датчики Холла пока нигде не встречал в виде открытой и сфотографированной конструкции, которая отличается от резюковской. Иными словами мне нужно видеть варианты таких датчиков: где стоит, как, где установлен магнит, какое расстояние между ними и прочее. Вот с этим то и проблемы. Я пересмотрел несколько всратых конструкций, чтобы сделать примерное представление как можно это исполнить. Вот сейчас и рисую испытательный стенд, чтобы закрыть вопрос о количестве магнитов и точности реакции педали. А размножить получившуюся в итоге удачную конструкцию на три (у меня три педали будет) дело нескольких минут. Обидно, что самые активные самодельщики в основном делают всратотень из швабр и корпусов от телевизора.
С кпп тоже маленькая проблема - у меня будет 8-ступенчатая H-образная коробка с рычагом. Я уже нашел готовую конструкцию для печати, но автор почему-то не выложил модель корпуса - только потроха. Из-за этого я не знаю его высоту. Корпус мне все равно новый придется рисовать для крепления на подлокотник кресла, но вот отсутствие оригинальной модели затрудняет это. Я написал автору на предмет поделиться оригиналами моделей, но, судя по всему, он не заходит на сайтец и пока за неделю ничего не ответил. Уже готовлюсь морально все переделывать сам.
В общем, буду периодически сюда писать про ход работ и скидывать фото моделей и прототипов, если кому интересно
Прогугли автора, возможно нарулишь его почту или фейсбук. Делал так еще в древние времена, всяко больше шансов получить ответ чем на забытом сайте.
450к
https://pastebin.com/UpfJxbmZ
Собственно, в чем проблема. Вместо реле к пину подключен светодиод. ПИД настроен так, что в общем-то ебашит в 1000. Однако, светодиод очень заметно мигает и не остаётся включенным постоянно, а мигает со скважностью 2 и более, хотя в монитор выводится что Output действительно 900-1000. В чем может быть проблема?
Код спизжен отсюда
https://github.com/br3ttb/Arduino-PID-Library/blob/master/examples/PID_RelayOutput/PID_RelayOutput.ino
Вроде бы всё логично и одинаково
Если убрать на строке 104 myPID.Compute(); и поставить просто Output = n, то светодиод мигает предсказуемо и с ожидаемой скважностью
Подстроечник то подкрутил? Он контраст регулирует, может он в ноль там скручен.
да, это совет уровня "включил ли пеку в розетку"
Лол, про это ж буквально в каждом его обзоре говорят. Рад что помог, удачи в начинаниях!
Спасибо. Я не смотрел обзоров, пару скетчей из гугла только прошил и огорчился что буковки не печатаются.
Ля вредитель какой.
Одна кнопка задает направление вращения, другая дает команду на считывание. Тупо зажимаешь кнопку вращения или держишь ненажатой, а кнопку управления тыкаешь нужное количество раз.
Нет.
Для вращения в одну сторону:
Зажимаешь А
Зажимаешь B
Отпускаешь A
Отпускаешь B
В другую:
Зажимаешь B
Зажимаешь A
Отпускаешь B
Отпускаешь A
А если в скетче задано несколько шагов для считывания поворота, то ему так "ходить" по кнопкам придётся несколько раз для одного действия.
Так у кнопок ещё и дребезг есть.
Хреновая затея в общем.
Если скетч написан с использованием прерываний, то на внешнее прерывание вешается один меандр, другой - на любой цифровой вход. По восходящему фронту будет срабатывать прерывание и проверяться уровень на входе - если уровень низкий, то вращение в одну сторону, если высокий - в другую. Поэтому кнопку на входе вовсе необязательно нажимать и отпускать при каждом такте.
Выковырял его из щитка наконец-то. Поставил туда твердотелы и нано на терминале.
Кто-нибудь, расскажите ему, почему по-хорошему делают пропилы под реле, трансформаторами там
Датчика таких два пришло, оба показывают одинаковые значения. Термопары две разных К-типа, обе работают нормально с цифровым LED-термометром.
Всмысле, это же рабочая температура чипа?
у меня на работе двое не знали что у термопары есть полярность. инженеры киповцы блеат. понабрали
А почему она есть? Не, на практике я тоже знаю, что она есть, но у нас же РАЗНОСТЬ потенциалов, так что какая в общем разница, как её включать?
Если ты не в том направлении эту разность потенциалов прилагать будешь, у тебя при нагревании термопары отображаемая температура будет падать. Термопара не "знает", сколько сейчас градусов, она даёт разность с холодным спаем.
Что бы не пробило на низковольтную часть, очевидно. И нахуй ты это вспомнил? От этих 5мм пропила наводки сразу перестают существовать? Ты ебанутый?
Ладно, ошибся. Короче у него там металлизированные отверстия. ЕСТЕСТВЕННО БЛЯДЬ переменка 220В наводит в них токи, это работает как очень хуёвый, но трансформатор. Так наводки добираются до сигнальной части и всё, пиздец
Так обычные платы почти всегда заливают слоем меди вокруг дорожек и пускают туда землю забыл название этой хуйни, там то наводок нету.
С одной стороны есть шанс что ты от части прав, с другой - ну какие там наводки то, не должно от этого так микросхему шатать.
>>489066
а как ты плату питаешь? Ебни кондер на вход питания.
>Так обычные платы почти всегда заливают слоем меди вокруг дорожек и пускают туда землю забыл название этой хуйни, там то наводок нету.
Так у него префборда. Наводки идут на ноги, кондер по питанию тут не поможет. Поможет замена распаяных реле на реле модули, на плате, типа тех как у амперки/тройки
Так а какая разница перфборда или нет? И как это решит модуль? Ну будут наводки из другого места идти.
Конкретно тут то да, кондер не поможет, я поэтому и спросил чем питает, просто на всякий случай.
Питаю от блока питания типа как на диодные лампы, 5а.
logic level
>Так а какая разница перфборда или нет?
Про планарные трансформаторы ты же слышал? У нас наводка идет как-то так и доходит до пинов пердуины. А если убрать нахуй под реле проводник, то наводка сразу станет меньше, логично же блядь
Спасибо анон, что-то не сообразил провести парралель с планарными. Да, думаю ты прав. Было бы круто если бы кто-то в треде собрал схему как у того анона и осцилом замерял реальные наводки.
Вообще может я не прав. У анона непонятно какие реле. Возможно там нет диода и ЭДС самоиндукции тоже виновато в наводках
Рядом с пинами питания адруины. Можешь прям на ардуину припаять ближе к контроллеру.
Перегазружать пробовал? Причем так что бы пеку обесточить. При кз современные пеки уводят порт в защиту до перезагрузки\обесточивания, хотя странно что питание осталось.
>так что бы пеку обесточить.
Спасибо, анончик, помогло! До этого перезагружал без обесточивания и не помогало.
>При кз современные пеки уводят порт в защиту до перезагрузки\обесточивания, хотя странно что питание осталось.
Действительно странно.
Рад что помог. По идее за питание отвечает бп и ему нужен был сбро состояние через обесточивание, но может тут и на уровне мамки это обработалось как-то, в любом случае спасибо технологиям, раньше при кз пекарня просто тушилась целиком.
По моей задумке в корпус клавиатуры должен поместиться павербанк(с выходом для подзарядки) ардуино нано(?) и блютуз модуль. Всё должно быть подключено так, чтоб при дохлой батарее я мог впихнуть в клавиатуру кабель, заряжать её и при этом юзать. Пк должен принимать сигнал через обычный блютуз свисток.
Скажите, реально ли такое провернуть с учётом того что я ардуину вживую не видел и ничего про неё не знаю, но умею паять и js джун?
Беглой пробежкой по интернету нашел 2 способа:
1) Топорный - купить это http://handheldsci.com/kb/ , разодрать корпус и впихнуть готовую волшебную коробку в корпус клавиатуры пользуять гайдом из этого видео:
https://www.youtube.com/watch?v=o-wbPVkkyWg
но судя по всему это тот самый модуль adafruit
2) Купить adafruit bluefruit le и попытаться понять что это вообще такое. Судя по всему это тот самый блютуз модуль для ардуино нано который умеет эмулировать hid девайсы? Или нужно разбираться с HC-05? Или вообще какой-то радио модуль который бьёт на 2км натыкался на него, теперь не могу найти?
Короче помогите пожалуйста структуизировать мои дальнейшие шаги, куда идти и с чем разбираться. Надеюсь эта задумка реальна
>из своей usb клавиатуры беспроводную bluetooth клавиатуру.
но зачем?
у тебя из-за поуербанка клава станет тяжелее и менее беспроводной. Ну чисто по теории ты ее хочешь таскать на диван, но мож просто купить еще одну клаву?
Ну вот просто хочу
В первую очередь для того чтоб на столе не было кабелей, во вторую возможность откинутся на стуле и кинуть её себе на ноги. Без лишних проблем с кабелем клавиатуру можно убрать со стола если надо - сплошные преимущества!
Вес для меня не проблема, а наоборот преимущество. Меньше будет ёрзать по столу. Почему она станет менее беспроводной не понял. Нужно подзарядить или поиграть в шутаны - подключаю кабель, в дефолтном режиме кабель отключен
Стилизуй под оно сендаи 7 киберспейс.
Анончики, вопрос первый.
Насиловал я как-то нано во всепины и подал 12 вольт на какой-то не тот вход, и плата пошла по пизде. Включаешь - там горят все диоды и дико греется сам камень, но при этом она не сгорает. Как ее можно оживить или умертвить окончательно?
Анончики, вопрос 2.
Будет ли твердотельное реле работать на частотах ШИМ и можно ли управлять так переменной нагрузкой?
>Будет ли твердотельное реле работать на частотах ШИМ
Нет, не будет. Твердотелка - суть оптопара с зерокроссом и симистор.
Двачую вопрос.
Шьется как ардуина нано на новом бутлоадере, но в порт шлет крякозябли и непонятно что там с кварцами, блинк мигает как шальной.
Это закончились запасы после ковидла или больше не изготавливают или что? 168 то не подорожала. Там же разница в доступной памяти?
Хуемния. Говорю же что 168 не подорожали. не так сильно
Для начала, в изучение китайского языка: https://www.aliexpress.com/wholesale?SearchText=w806
Так это давно такие же фейки, как STM'ки. Мне последний раз оригинальные атмеги на али попались года 4 назад, и те оказались сальважом.
Если тебе светодиодами поморгать, то бери, конечно, но если будешь, скажем, делать девайс с батарейным питанием и задействовать режимы сна, то тебя ждут неприятные сюрпризы с повышенным энергопотреблением, не соответствующем даташитам.
На 16 килобайтах нет жизни, это реально мало для моих проектов. Мне год назад попадались типа совместимые клоны avga328p, может на них перекатиться? Что это вообще за зверь? Не могу теперь найти.
Попробуй перекатиться на STC8: https://www.stcmcudata.com/STC8F-DATASHEET/STC8-english-20180320.pdf Если продавцы на алиэкспрессе не врут и на тех пиндюрочных платках за три доллара (плюс около доллара за доставку) действительно STC8A8K64S4A12, то будет у тебя целых 64 килобайта флэш-памяти и 8 килобайт ОЗУ.
P.S. Вот только ядро там 8051, хоть и допиленное, так что работа с памятью за пределами традиционных 256 байт будет, э-э-э… несколько через жопу:
[code]MOVX A,@Ri Move extended RAM(8-bit addr) to Accumulator (Read)
MOVX A,@DPTR Move extended RAM(16-bit addr) to Accumulator (Read)
MOVX @Ri,A Move Accumulator to extended RAM(8-bit addr) (Write)
MOVX @DPTR,A Move Accumulator to extended RAM(16-bit addr) (Write)
MOVX A,@Ri Move extended RAM(8-bit addr) to Accumulator (Read)
MOVX A,@DPTR Move extended RAM(16-bit addr) to Accumulator (Read)
MOVX @Ri,A Move Accumulator to extended RAM(8-bit addr) (Write)
MOVX @DPTR,A Move Accumulator to extended RAM(16-bit addr) (Write)[/code]
Конкретно с 8051 засада в том, что это додревняя аккумуляторная архитектура, где всё делается через жопу аккумулятор. Аналогов атмеговских LDS/STS там нет и трёх регистров, с автоматическим инкрементом/декрементом, для косвенной адресации — тоже нет.
> Макрос написать и все, если сильно часто нужно.
Если на C писать, то компилятор, даже SDCC, всё сам напишет. Но, см выше.
Без готовых ардуино-совместимых библиотек это шляпа.
В дивное время живем, 328 мега даже оптом стоит в районе 10-12$ за штуку (новая орига, не нонейм фейки с али), что с нынешним курсом мягко говоря кусается. Советую научиться писать свой минималистичный говнокод на основе внутренностей готовых библиотек, чтобы впихивать необходимое в 8-16 кб меги или даже 1 кб тини13 из заначки.
Например, мне надо было парсить время из того что высирает gps модуль, с готовыми универсальными библиотеками это жрало в районе 6-8 кб, а свой код под эту задачу занял около 1 кб.
Можно сказать, что возвращаются времена байтоебства, в духе дедов.
Насколько реально питать сервопривод от линейного источника питания? Например от lm7805 с 12В? Или взять импульсный? Как вообще правильно организовывать питание сервопривода?
есть простой скетч:
#include <SoftwareSerial.h>
void setup() {
Serial.begin(9600);
Serial.println("Start!");
}
void loop() {
Serial.println("continue!");
}
На уно все отлично идет, а вот на 2 других на основе esp8266, на сетупе принт не отрабатывается, на лупе все опять же отлично. Менял версий ардуино иде, компы, кабеля, шил через usb-ttl, менял скорости.
куда копать?
Можешь взять MSP430F5310 в электронщике, пока еще по 156 рублей. По объему памяти они даже лучше чем ATmega328.
Ошибочка у меня вышла. У этих корпус BGA, а с более удобными для самоделок корпусами остались только микроконтроллеры попроще.
это часть скетча для сим модуля и мне нужно проверять инфу по модулю когда его включаю, и гонять его по лупу мне не зачем, конечно можно заморочится, но мне уже принципиально
> Корпус FBGA80
Спасибо, и че мне с ними делать? да, я быстрый
С ардуиной кайф в том что ничего почти знать не надо, за тебя всё сделали. А если не ардуина, то это какие-то дикие микроконтроллеры в которых надо разбираться. Я не очень умный.
Если ток переменный - то трансформатором тока, если нет - то гугли датчики на эффекте Холла.
>надо было парсить время из того что высирает gps модуль
ЛОЛ! Изучи регистры и пиши на С, а не вот это всё. Фрэймворки - то ещё говно!
>надо было парсить время из того что высирает gps модуль
ЛОЛ! Изучи регистры и пиши на С, а не вот это всё. Фрэймворки - то ещё говно!
>это часть скетча для сим модуля и мне нужно проверять инфу
Ты что-то делаешь не так. Организуй конвеер с прерыванием по приёму на UART, всё станет проще
мимо-делал-сигналки-на-гсм-когда-это-не-было-мэйнстримом
благодарствую
Благодарю.
Может проблема в том, что я подаю 5 вольт на vin? Там же наверное еще один стаб в самой ардуине и на нем выпадает сколько-то вольт? Может сразу питание с 7805 подавать на 5 вольт ардуины? Я её не спалю?
На Vin надо подавать 6,5-12 вольт.
Там стоит AMS1117 5.0 У него Dropout Voltage 1,1-1,3 вольта.
Короче, на вход надо подать как минимум на 1 вольт больше чем ты собираешься получишь на выходе. А лучше на 1,5 вольта больше, потому что допуски и китайский брак.
Так бортовая сеть автоткхники обычно 14.5 вольт. И подумаешь напряжение будет меньше нормального, кренка же не выключится просто стабилизировать перестанет.
Анон, в связи с этой ебанутой экономической ситуевиной, какие околодуиноподобные платы для всяких домашних поделок, еще стоят адекватных денег? Ну вот всякие еспехи/вемосы/д1/нодмцу, про которые тупо где-то слышал, не более, и в изменении цен ориентироваться не могу.
Бамп.
Какая пердуина-то? Та же уно питается 7-12 В через разъём этот свой. Но можно и въебать зарядку от телефона на 5В пин просто, да.
> питается 7-12 В через разъём этот свой.
а dc-dc преобразователь не охренеет если заедет 19в? Или все ардуину нано за 900 рублей теперь выбрасывать?
Зарядку от телебона возьми на барахолке и всё.
>на 5В пин
>Та же уно питается 7-12 В через разъём этот свой
А через другой свой разъем? Пизда ты долбаеб дружище.
Нет, ты. Шиться так будет не очень удобно, да и вообще без отдельного питания есть шанс не прошиться, если ты какую-то йобу соберёшь.
Купи 12-вольтовый блок для светодиодной ленты ватт на 40, хватит всё питать одновременно.
Беру свои слова назад. Ты не долбаеб а нракоман
> ADS1115
> 1 выход дифференциальным(A0-A1)
Ты хотел сказать вход?
Даташит читай https://www.ti.com/lit/ds/symlink/ads1114.pdf
Пишут, что входы 0 и 1 дифференциально относительно 3 может измерять
Да вот целый день гуглением занимаюсь, только не очень понимаю в электротехнике. На выходе сигнал может достигать всего лишь 200мВ, реально ли его усилить до 12в?
Вот эта схемка до 12В сможет усилить, я просто не очень схемы читаю
Теоритически у него макс разрешённые 12 вольт. А автомобильная сеть это 13-14. Хз что будет при привышении. Может выходное повысится и спалит твою пердуинку.
> Оригинальная педруина до 20в держит
AMS1112-5.0 рассчитан от 5+1 до 12 вольт. Можешь провести ебараторную работу и спалить пару штук. Я б не втыкал так просто.
Квадрипл не спиздит!
Каво?
К1156ЕУ5 70 р,
КИГ 0.2-220 70 р,
2 электролита 30 р,
КДШ160АС9 5 р:
170 руб в розницу у барыг из чипдипа.
Если похуй на потребление, линейник и электролит ~ 50 рублей.
>Можно ли питать китайскую ардуинку напрямую от автомобильной сети 12-13в?
Я делал махарайку с обычным линейным стабом в корпусе ТО-220, работает.
Можно ещё схитрить, расчитать токопотребление ардуинки и модулей, разделить их примерно поровну и сделать двухслойное питание. Первый стаб режет 12в до 5в, остальные 7в сливает на выход. С этого выхода 7в приходят на второй стаб, который режет их до 2в. Получается два внутренних источника питания, которые должны примерно совпадать по току. И если они совпадают - КПД системы получается на уровне пиздатого трансформатора.
Ладно, посмотрю
Если они будут никак не связаны или развязаны через оптопары, тогда норм.
У тебя 5 В между землями, на пердуину придут +10 В и она сгорит.
А еще нужны стабы с низким падением напряжения.
Знает кто, что можно взять?
Маленькие новости.
Начал с блока педалей. Сделал всратый стенд на пике 1. Отработал, посмотрел, что конструкция хуйня и надо все переделывать.
Переделал в пик 2, подсмотрев идею у другого моделлера. Устранил мелкие недостатки, размножил в трех экземплярах на пике 3, получив временно пик 4. Проверил в работе - приемлемо. Спроектировал корпус, нужны еще мелкие доработки.
Сейчас начинаю такую же работу с рулем. Пока не смог определиться с приводом для обратной связи - либо ремень, либо редуктор из шестерен. Пока начал с шестерен, на днях начну потихоньку печатать стенд руля.
>>Фрэймворки - то ещё говно!
Двачую.
С 90-х на няшном С (еще БорландС под ДОСом). Поэтому когда появился "мертвый страус" для меня мир ООП уже был закрыт.
Пытался в эти наследования,классы и инкапсуляции....но как тогда говорили,перековаться на ООП заскорузлому С-шнику..очень тежело.Да и он еще был тогда в зачаточном развитии и обьяснялки мозговыносящие.А может это я такой был ленивый ))
>перековаться на ООП заскорузлому С-шнику..очень тежело
Могу понять, потому что вкатывался в ООП после ассемблера и vhdl.
Тут как с математикой - без хорошего практического примера не разберёшься.
ООП как известно хорошо подходит для программирования игр и графики.
Ну или допустим нужно создать графический или любой другой редактор - холст + инструменты.
С одной стороны инструменты выполняют разные функции, с другой стороны у них есть общие свойства.
Общий интерфейс (апи объекта), например метод "включить" отправляется в общий родительский класс, чтобы не копировать код. При этом нужно чтобы каждый инструмент возвращал свой собственный статус, например. Поэтому общую часть кода выносят в родителя. Вот тебе и полиморфизм, и наследование, и интерфейсы, и инкапсуляция - умные слова означающие простые вещи.
ООП это разработка сверху вниз. Сначала придумывают систему из объектов, потом думают из чего ее собрать. В отличие от железячников которые смотрят на ресурсы и думают как их лучше применить или обощить (сделать драйвер).
Кстати, я сишников ебал в рот. Или пиши на ассемблере или бери сразу скрипты, а си и джава ни туда ни сюда. Сплошные ограничения ради одной только переносимости, которой все равно не существует на практике.
Ну на АСМе особо не разбежишься писать под AVRку,которая рулит например Экраном+GPS+Компас+радиоканал.
Я лет 10 назад кропал такой проект на 128ой меге.
"Искалку" . Запрос к фигне,фигня отвечает грит ГПСкоординаты и шлет обратно. Твоя "Искалка" принимает,считает и на экран рисует стрелку и расстояние. Компас следит что бы ты мог крутится.
На АСМе ты ебнешься. Я же кооперативную ОС прилепил,jacOS.
Когда её вкуришь (а она полегче RTOS) вообще заебок))
Прям насмерть умерла? Может питание было больше, чем нужно? Там 3.3 вольта. Просто боюсь, что у LoRa маленькая скорость и большая задержка, и что это будет влиять на управляемость.
>Просто боюсь, что у LoRa маленькая скорость и большая задержка, и что это будет влиять на управляемость
Я не особо в теме. Но такое читал только про дешёвые модули.
Дорогие - топ. Даже в квадриках используются.
А чипдип переименовал диванные войска потому что против спецоперации типа?
Чипдип в принципе ебанулся. У других магазинов/барыг куда более разумные цены.
Продолжаю. Отпечатал стенд-прототип, чтобы отработать механику и выявить недостатки конструкции. Завтра напечатаю переходную муфту и установлю сам руль.
Решил заодно сразу поставить подрулевые переключатели от калины, чтобы два раза не вставать как говорится.
От редуктора из шестерен на FFB решил отказаться - сложно, шумно и возни с конструкцией много. В итоге сделал сначала пик 1. В интернете нашел ремень подходящей длины и заказал пару штук - один на FFB, второй на привод энкодера. В субботу забрал и охуел - я проебался с длиной ремня во всех случаях на 15-20мм длины. На FFB решил проблему путем увеличения высоты опоры мотора, а вот с энкодером всё, приехали. Ремня такой длины нет, с али заказывать это ждать месяца 2-3, если не больше в текущей ситуации. Поэтому энкодер быстро переделал на косозубый зубчатый привод на пике 2.
Собрал, все работает чисто механически, но сразу вылез дикий косяк в виде кривой шпильки М12. Придется обращаться к бате, чтобы он мне выточил шпильку и нарезал резьбу на станке. Сейчас же вся конструкция под диким напряжением и изгибом при работе. Как стенд для испытания пойдет, а вот для полноценной работы уже нет.
Чел, эта строительная шпилька, с тонюсенькими нитками резьбы, только под весом руля начнет гулять, пара жестких моментов с выворотом руля, и будет гнутая ость.
Ну и поцчему ты не сделал регулировку натяжения, как у генератора?
Нет, к счастью. В нескольких местах смотрю и нахожу нужное говно.
Напечатал муфту, поставил руль, попробовал систему FFB путем включения мотора напрямую. Сразу куча недостатков: передаточный момент сейчас 10:1, усилие не очень сильное на самом руле и при удерживании руля на максимальном напряжении мотора шкив начинает проскальзывать из-за малой площади контакта. Хз что делать, как бы не пришлось мастрячить редуктор из шестерен. Пока не знаю как поступить, буду думать.
В таких случаях имеет смысл для начала нужно открыть документацию, чтобы понять что может дисплей сам по себе. Вот тебе картинка со всеми командами дисплея. Как видно, нет такой команды как ты хочешь. Однако никто не мешает двигать курсор куда угодно, отдельно, уже после команд записи. Вероятно в твоей библиотеке такая возможность имеется.
Спасибо, доки смотрел, но тоже не нашел такой функции, жаль. Двигать курсором не вариант, видно будет перемещение символа курсора.
>Двигать курсором не вариант, видно будет перемещение символа курсора.
Время выполнения команд всего лишь 40 мкс. Если библиотека более-менее нормальная, то не будет видно.
1920x1080, 0:03
>Время выполнения команд всего лишь 40 мкс
К сожалению, это время выполнения команды. А сами пиксели на дисплее переключаются куда медленнее. На видео плохо видно, но даже за 100мс символ курсора не может в полную силу "загореться".
>А сами пиксели на дисплее переключаются куда медленнее.
Разумеется, иначе и быть не может. Но тебе не требуется ждать окончания переключения. Ты же не ждешь перед выводом следующего символа окончания переключения предыдущего? Ну или как вариант в твоей библиотеке слишком большая задержка стоит.
Хм, я попробовал перенести на свой скетч
>Однако никто не мешает двигать курсор куда угодно, отдельно, уже после команд записи
оказалось очень даже неплохо. Спасибо!
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xdf
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xdf
...
Насколько понял, проблема распространенная и вызвана может быть чем угодно. По советам с формуов пробовал держать сброс перед началом прошивки, результата никакого. Что еще можно проверить?
Спасибо, анон, грузит! Но интересно все-таки, почему первый раз загрузилось без этого
Обязуюсь как придет записать видео, как я мигаю своим диодом, ну вы понели, чтоб не зря.
Там это, у гайвера какой-то набор есть.
Цена, конечно, пиздец, но на https://kit.alexgyver.ru/
Нахуй это дерьмо. Выбери что-то конкретное и колхозь. Я вот в первую очередь небезызвестные часы на ИН-12 собрал.
Стойте. Там ардуины уно нету что ли?
Зато две наны.
А как это так? Ардуино набор без самой ардуины.
Ты так говоришь переучиваться, кае будто вы вы там регистры напрямую дёргаете
Если либа совместима, то вообще ничего не меняется от выбора камня
>Ты так говоришь переучиваться, кае будто вы вы там регистры напрямую дёргаете
Можно и подёргать, если отказаться от их этой библиотеки.
Arduino.h немного отличается от HAL, хотя в целом похоже
>Ты так говоришь переучиваться, кае будто вы вы там регистры напрямую дёргаете
А разве нет?
http://we.easyelectronics.ru/STM32/stm32-primery-koda.html
https://habr.com/ru/post/407083/
Нативный код под стм32 (да и под любой другой МК) это и есть сплошное дёрганье регистров, потому что ничего другого кроме регистров МК не "знает". Ардуина это фреймворк, позволяющий на прямое дёрганье забить хуй. При этом требуется ардуиноядро под конкретный камень (регистры-то везде разные), не под все камни ардуиноядра существуют, а где существуют - там не факт, что все фичи реализованы.
А вот библиотеки для модулей с алика часто написаны под wiring (т.е. ардуиновский упрощённый код) и без ардуинового ядра не работают. Или они могут знать некоторый ограниченный набор камней (дефолтная атмега328 и ещё несколько популярных) и работать с их, например, таймерами. Но на другие камни не встанут, ибо таймеры там выглядят как-то иначе. Или прерывания там как-то иначе работают. Бывает, что эти библиотеки откровенно хуёвые, громоздкие и требуют доработки напильником вручную. Поэтому нельзя просто так взять китайский i2c экранчик и приармянить к любому рандомному микроконтроллеру
>>492771>>492772
Гайвер уно не котирует. Говорит, что это первый блин комом. Громоздкая бандура, в которой ещё и не все АЦП выведены.
Уно исходит старой идеи соединения унифицированных по форме шилдов этажеркой. Вот только их давно уже никто по форме не унифицирует, всё соединяется перемычками, и затея с этажеркой в общем так и не взлетела.
Или с запитыванием от кондёра всё сильно проще чем я думаю?
>Но тут сразу проблемы: он на 2.7 вольта, а значит надо поднимать.
ATmega328P работает при питании от 2.7В. Поэтому можешь взять ионистор на напряжение чуть побольше и не потребуется ничего поднимать. Только включать не до LDO, а после. Ну и ток заряда/разряда соблюсти в соответствии с документацией.
>А потому вопрос: есть ли какое-то готовое решение для этого дела?
Видел что-то такое у Analog Devices, но это все лишнее.
>хотя бы на пару минут
Тут нужно определить какой будет потребляемый ток. Допустим ты снизишь тактовую частоту примерно до 1 МГц и потребляемый ток будет 1 мА. Как известно для конденсатора q=CU или C=Δq/ΔU.
ΔU = 5 В - 2.7 В = 2.3 В. Это при учете того что конденсатор заряжаешь до 5 В.
Δq=IΔt=1 мА х 120 секунд = 0.12 Кл.
C = 0.12/2.3 = 0.053 Ф = 530 мкФ.
Как-то так. Если у тебя основной потребитель это микроконтроллер, то хватит пары фарад, а если снизить тактовую частоту или использовать спящий режим, то хватит простого электролитического конденсатора.
а почему аккум нельзя? просто интересно
https://giant4.ru/catalog/komplekty/maksimalnyy_nabor_arduino_gyverkit_pro_/
Нет. Ты и сам с али всё это можешь заказать, а больше ничего хуйвер и не делает при изготовлении такого набора.
https://cnc-tehnologi.ru/drajvery-shd-yako/drajver-3-kh-faznogo-shd-ykd3606m
Короче, вопрос в следующем: легко ли ардуинкой разогнать шаговый двигатель до, скажем 6000 об/мин (1200000 шаг/мин)?
>разогнать шаговый двигатель до, скажем 6000 об/мин
Гони сразу до 30к, заместо шпинделя поставишь. Кек.
Да, я уже посещал цены. До путинского финта ушами на Украине этот набор стоил 8500. На 5к меньше. Ебануться просто.
>Видел в одной статье, что с ардуинки нельзя подавать импульс "сделай шаг" на шаговый двигатель чаще чем 400 раз в секунду. Это ведь не правда?
Смотря с какой ардуинки, смотря как подавать.
Во-первых, есть лимит драйвера. Вроде как у A4988 это 25000ш/с. Но здесь я могу ошибаться. Есть разные драйверы, может и охуенно скоростные есть.
Во-вторых, гайверские либы обещают до 30000ш/с на незагруженной ничем другим атмеге. Esp8266 в пять раз шустрее атмег, соответственно должны выжать до 150000ш/с.
В-третьих, если тебе просто хочется шаговик по приколу раскрутить - это можно сделать вообще без ардуинки. Собрать на компараторах дохуя-мегагерцовый ШИМ генератор, подъебенить напрямую и плавно наращивать частоту. Не факт, что подшипники шаговика такую хуйню выдержат.
>>492927
>гайверские либы обещают до 30000ш/с на незагруженной ничем другим атмеге. Esp8266 в пять раз шустрее атмег, соответственно должны выжать до 150000ш/с.
Вот только если брать драйвер step/dir как A4988, то максимальная частота импульсов, которую сможет выдавать атмега, равна половине тактовой частоты, если выдавать через модуль сравнения таймера. И отдельный вопрос еще насколько эти ваши либы адекватно сделаны.
>Собрать на компараторах дохуя-мегагерцовый ШИМ генератор
Можно и просто две синусоиды подать.
>Не факт, что подшипники шаговика такую хуйню выдержат.
Тут не в подшипниках проблема будет, а в моменте. Оно даже просто с места не сдвинется при более-менее существенной скорости.
Есть какие-нибудь эффекты для матрицы 5х5?
Ещё смотрю в сторону тетрисных игр, но 5х5 будет маловато для них.
В общем, кто сталкивался - посоветуйте.
Не, мне не по приколу, я кое-что собираю, вот и выбираю способ.
Мне нужен вал, который будет вращаться до 30 об/с, и при этом на околонулевых оборотах иметь до 150 Нм. На больших можно меньше. Причем, он будет эксплуатироваться так по несколько часов подряд с постоянно меняющейся скоростью.
Вот я и думаю взять шаговик, т. к. они крутящий момент на нуле большой имеют, поставить на него понижающий редуктор 3:1, и таким образом, мне нужен двигатель 50 Нм при старте и 100 об/с.
В идеале, надо найти/сделать двигатель с большим шагом, градусов 15, допустим. Но найти у меня не получается, а делать я боюсь. Если брать стандартный NEMA130, то у него 200-300 шагов на оборот. Это 20-30к шаг/с. Я правильно понимаю, что по той ссылке в таблице "Частота входного сигнала, кГц: 0-400" означает, что 30к шаг/с для этого драйвера норм? У всех драйверов этих габаритов примерно такая максимальная частота.
>>492941
> половине тактовой частоты
Там в МГц меряется -- точно хватит.
> либы адекватно сделаны
Тоже правда, возможно придется перебирать разные, и если что писать свою...
> моменте
На пуске от вала надо 150 Нм. На оборотах выше 15-20 герц от вала достаточно 10-15 Нм. С понижающим редуктором это 3-4 Нм из номинальных 50.
Есть одна самодельная панель для авиасимулятора. В числе прочего к ней припиздячены четыре модуля пикрил. Подключены последовательно, но на каждом свой ввод питания и земля. Показывают всякие цифирки. В какой-то момент поумирали два последних модуля, то есть теперь они горят всеми сегментами и ярче чем работающие.
Вопросы:
1) Что я сделал не так?
2) Что с большей вероятностью умерло сегменты или Мега (понимаю маловероятно, но вдруг)?
2) Что сделать, чтобы такого не происходило после замены модулей?
А да, умершие модули горят всеми сегментами про простой подаче питания на ардуину, то есть даже когда софтина на компе, которая с этой системой общается не запущена, поэтому это явно не глюк настройки софта. Перешивать ардуинку прошивкой для общения с софтиной уже пробовал, по нулям.
>и 100 об/с.
Я не совсем в теме, но сомневаюсь что шаговые двигатели такое могут, по крайней мере за вменяемые деньги. Может тебе лучше BLDC какой-нибудь?
> умершие модули горят всеми сегментами
Значит не сильно они умершие. Драйвер MAX7219 наверное скопытился.
>до 100 градусов, скажем
До 150 градусов термо-сопротивления можно использовать.
Термопары - где температура поболее.
Под оба типа датчиков есть микросхемы у Максим.
Купил в итоге DS18B20 в гильзе и с кабелем, чтобы не возиться с матешей какой-то и не бояться двухметрового кабеля. Посмотрим, как поведёт себя.
Я не могу найти библиотеку esp8266 в менеджере библиотек чтобы она была как пик 1.
У меня там стопицот библиотек и ни одна из них та что мне надо, я искал. Пик 2
Главное что когда добавил ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json библиотека там одна в поиске находилась.
Теперь не находится. При этом скетчи для есп конпилируются и работают.
Что делать.
esp8266 это таржет, а не библиотека, ты хрень какую-то делаешь
Мля, не судьба мне трифорсить
attachInterrupt(pin1, []() {
if(!Edit)
time = millis() + TIME_;
}, FALLING);
Не знаю C++, оно для меня избыточно, но очевидно что в твоем примере анонимная функция.
Вот потому то ардуина это вовсе не так просто как дрочить регистры, потому что это полноценный С++, да еще с гнутыми расширениями, а не что-то там упрощенное, как тут многие считают.
>>492802
>wiring (т.е. ардуиновский упрощённый код)
>Не знаю C++, оно для меня избыточно, но очевидно что в твоем примере анонимная функция.
>Вот потому то ардуина это вовсе не так просто как дрочить регистры, потому что это полноценный С++, да еще с гнутыми расширениями, а не что-то там упрощенное, как тут многие считают.
Можно попроще? Я не программист
Благодарю. Просто стал гуглить и увидел делители напряжения, а с электротехникой у меня хуёво.
Я тоже не программист. Анонимные функции знаю по другим языкам программирования.
Ну прочти что-нибудь про анонимные функции. Если кратко, то это функции без своего имени, хотя бы просто для того чтобы запись была короче и не выдумывать название.
То есть []() это просто обозначение вот этой функции
{
if(!Edit)
time = millis() + TIME_;
}
которая вставлена в вызов прерывания, хотя можно было записать её отдельно, дать ей имя, а перывание вызвать
attachInterrupt(pin1, имя_функции, FALLING);
?
https://docs.microsoft.com/ru-ru/cpp/cpp/lambda-expressions-in-cpp?view=msvc-170
Вот. Вроде все понятно, в том числе почему такие скобки. Кстати, в сишечке такое вроде тоже собираются сделать в новых стандартах.
>То есть []() это просто обозначение вот этой функции
Нет, это не обозначение. В квадратных скобках перечисляются захватываемые переменные, а в круглых - аргументы этой функции. В этом примере захватываемые переменные и аргументы просто отсутствуют.
>а перывание вызвать
>attachInterrupt(pin1, имя_функции, FALLING);
Это ни разу не вызов прерывания. Я не разбираюсь во внутренностях ардуины, тут указатель на "имя_функции" передается в качестве аргумента в attachInterrupt. И уже attachInterrupt вероятно записывает этот указатель в какую-то переменную. А в самом обработчике прерывания (который похоже спрятан от ардуинщиков) уже есть код, вызывающий эту функцию по записанному указателю.
Мда. Печально это всё
Восстанавливать точно не буду, новые уже лежат. Тут вопрос скорее что случилось и как избежать. Они как-то кучно сдохли.
>Правда я не знаю какое там напряжение
Лучше поищи готовые проекты.
На стабилитроне могут быть выбросы от которых как минимум пин двинет кони. Там как минимум делитель нужен...
Или гугли: защита налогового входа у МК.
А если через оптрон подключить? Делитель и стабилитрон на лампочку, а транзистор к ардуине?
Нафиг нужен ядерный модуль? Могу ошибаться, но наверняка можно в юзерспейсе через libusb, еще и кроссплатформенно будет.
>Что не так с кодом?
Все не так. Таймеры в атмеге могут аппаратно посчитать тебе количество импульсов. Для низкой частоты, как у тебя, можно обойтись и без этого.
>analogRead
https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/
>it takes about 100 microseconds
Период 200 мкс это частота 5 кГц. Тебе то может и хватит, но так себе.
В остальном ты делаешь что-то странное. Как работают частотомеры знаешь? В течение определенного интервала (например 0.1 секунды или 1 секунды) измеряют количество периодов входного сигнала. А у тебя что?
Мало того что ты учитываешь только половину периода, так еще все в int хранишь. 50 Гц - это период 20 мс, у тебя millis - time_buf будет около 10 мс, да пусть даже исправишь и будет 20. Но дальше ты делишь 60000/20 и получаешь что? Ноль, потому что у тебя все числа целые. А если ты воткнешь туда float/double, то учти что они долго будут считаться на атмеге.
Ну ок, как мне тогда аппаратно посчитать импульсы с моего оптрона? Куда гуглить?
>Куда гуглить?
Не знаю. Это страшные регистры в ужасно огромном количестве в виде пары штук.
Сделай просто:
>В течение определенного интервала (например 0.1 секунды или 1 секунды) измеряют количество периодов входного сигнала.
И избавься от analogRead, тогда более-менее заработает. А сейчас, если я правильно понял твою идею, ты пытаешься измерять длительность импульсов, не надо так.
Ок, переделал так. Теперь показывает RPM сети в пределах 2900 - 3100
>2900 - 3100
То есть измеренная частота в пределах 48.3...51.6. Ужасно, не прыгает частота в сети в таких пределах. Переделывай по нормальному.
>В течение определенного интервала (например 0.1 секунды или 1 секунды) измеряют количество периодов входного сигнала.
Да мне и так на мопед сойдет. Может я еще неправильно среднее значение высчитываю, надо всё суммировать и только потом делить на n_samples
>и только потом делить
>на Ардуине
Надеюсь флоаты делишь, лол? Тебе трудно зарядить таймер на выдачу 0,6сек интервалов и считать импульсы за интервал?
>Надеюсь флоаты делишь, лол?
В том то и дело что нет.
>>493650
>Тебе трудно зарядить таймер на выдачу 0,6сек интервалов и считать импульсы за интервал?
Даже это не обязательно, можно в условии цикла проверять интервал счета, а в теле цикла обнаруживать и считать фронты входного сигнала. Тоже ерунда конечно, но уже лучше, а главное страшные регистры не придется трогать.
Есть один девайс под названием LCD2USB.
Он сделан на ATMega8. Под руками такой нет, но есть ATMega48.
Как перепилить прошивку, если есть исходники?
https://github.com/harbaum/LCD2USB
>Как перепилить прошивку, если есть исходники?
Мейкфайл поправь и перекомпилируй. В остальном наиболее существенное отличие ATMega48 от 8 это вдвое меньший объем памяти, есть некоторая вероятность что не влезет.
Подозрительно наличие объектных файлов в репозитории.
>Что править
https://github.com/harbaum/LCD2USB/blob/master/firmware/Makefile
Самое главное строку 13.
>и чем
Любым текстовым редактором.
>и как компилировать?
https://ru.wikipedia.org/wiki/Make
Как-то так. Соответственно тебе так или иначе нужна эта программка, если у тебя ее нет. Под винду такое удобно ставить через MSYS2. Далее нужен тулчейн для AVR, можно взять ардуиновский но лучше https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers или через тот же MSYS2.
Не нашел как отключить там автоматическую установку скобки, как сделать чтобы вместо двух пробелов ставились четыре, или лучше табы, как включить непечатаемые символы и как повесить сборку и прошивку на нужные клавиши
>Не нашел как отключить там автоматическую установку скобки
Это дело привычки. Им там виднее как тебе лучше.
>как сделать чтобы вместо двух пробелов ставились четыре,
Лучше два пробела.
>или лучше табы
Пробелы дучше табов.
>как включить непечатаемые символы и как повесить сборку и прошивку на нужные клавиши
Просто не нужно, тем более пересобирать постоянно.
А если серьезно, то зачем при таком подходе ардуина, особенно для мелких attiny? Выброси все ардуинство, напиши мейкфайл или возьми готовый где-нибудь и будет еще лучше.
Вот так можно, например.
Нашел таки, откуда брать эту строку.
ESP не поддерживает analogWrite. Пока получается только полностью включить или выключить.
>. Соответственно тебе так или иначе нужна эта программка, если у тебя ее нет. Под винду такое удобно ставить через MSYS2. Далее нужен тулчейн для AVR, можно взять ардуиновский но лучше https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers или через тот же MSYS2.
В каком порядке всё это ставить?
Тогда делай аппаратно.
Сервис, а не платку
Посмотри в сторону датчиков освещённости, которые на выходе выдают уже вычесленную величину освещённости, lux.
Например, VL6180x от ST и ему подобные - работают по I2C.
Библтотек под ардуино полно.
Так возьми есп или стм.
У меня задача минимум для умного дома - набор датчиков без управления. Температуры/влажности/протечки воды/задымлённости/герконы и с веб-мордой/телеграммом. Если собрать это в одной месте проблем явно не каких. Но мне же это всё всё надо разнести по квартире. Суммарно датчиков 20. У меня вопросов очень дохуя. Я не знаю потянет ли ардуина витухи на метров 15-20. Если не потянет, то как решать? Неужели все ставят в каждый угол отдельный микроконтроллер и потом связывают их как-то? Я уже и в сторону ESP смотрю, вайфай это заебись, но его же запить надо всё равно в каждом углу, и везде мутные решения по этому вопросу вытянет ли повышенный вольтаж или накроется через месяц. Плюс всего один аналоговый вход - ставить мультиплексор к каждой ESP?
Пока самое подходящие направление увидел это majorDomo на отдельный веб-сервер, собирающий инфу по MQTT. Но как это всё связать в одну систему пока не нашёл подходящего решение. Не хочу покупать сотни разных датчиков и контроллеров, чтобы понять какой мне подойдёт, а хочу сразу продумать проект. Как это всё лучше реализовать? Я просто явно ещё не знаю сотен вариантов, и не хочется опять же по 10 разных железок перепокупать.
Возьми эти "датчики" с RS-485 модбасом и вешай их все на одну витую пару, делов то.
Какая еще ардуина? Зачем она тебе нужна?
Берешь готовые промышленные "датчики" с модбасом, соединяешь витой парой и втыкаешь через переходник RS485-USB в любой компьютер, например "расбери". Все, не нужно ничего паять, ардуинить и заниматься другими подобными глупостями.
Какой-то полу промышленный вариант получается. И датчики особые надо и цены на них выше.
>blynk
это говно сразу нахуй. Накодить самому не проблема. Проблема только по физической части - размещение, коммутация, электропитание.
>ESP-32
Чем их запитывать в каждой комнате? 18650?
Заказал за бабки юрлица олед-дисплей, который на алике 120 рублей. 2500 на чипидипе)))
в Крыму не работает, вообще никак
Ещё и мосфеты блять палёные, сукаааа!!! А их хуилы потом втирают "мы НИТОРГУЕМ подделкой!!!".
У них ssd1306 почему-то нет в наличии, а что есть стоит 400 рублей так ещё и распаивать придется самому
> это говно сразу нахуй. Накодить самому не проблема.
Накодь.
> Чем их запитывать в каждой комнате?
Анусом твоей мамки.
Аниме, или что-то другое - не важно.
Хочу собрать коллекцию.
>ATtiny84
512 байт ОЗУ.
>тип long
В дурине используется gcc, смотрим документацию https://gcc.gnu.org/wiki/avr-gcc long там 4 байта.
>long ms[148];
148 умножить на 4 будет явно больше 512.
А еще локальные переменные выделяются на стеке, если они не static. С подобным надо осторожнее. Стек то хоть и в ОЗУ, но компилятор не может оценить сколько будет задействовано программой и не предупредит. В твоем случае конечно все очевидно, но когда используется несколько функций в каждой из которых понемногу переменных, то все не столь очевидно.
Рассказываю дальше.
Руль. Эксперимент с двухступенчатым шестереночным редуктором с передаточным отношением 1:27 показал две вещи - высокую шумность передачи и недостаточную прочность мелкозубых шестерен. Решил полностью отказаться от этой идеи и вернуться к конструкции с ремнем. Пришлось немного переделать саму конструкцию руля: ввел второй двигатель 775, увеличил число зубьев ведущих шестерен двигателей с 12 до 16-20 зубьев (заказал два комплекта для тестов), увеличил ширину ремня с 6 до 10мм. Придет это все через месяц, поэтому новый прототип собрать пока не могу, но и без него хватает работы. Из-за изменения конструкции немного выросла ширина корпуса руля и сдвинулось внутреннее расположение узлов. Проектирование корпуса с БП практически полностью окончено, осталось только разместить гнезда проводки и саму плату управления. Начал вводить узел крепления и регулировки к столу (будет крепиться на стол струбцинами с регулировкой высоты и угла наклона).
Педали. Проектирование окончено, рабочий прототип сейчас в процессе печати частей для сборки. Распечатал и склеил сам короб-корпус. Из-за высокой трудоемкости по его печати не стал его прототипировать и собрал сразу "как есть" - наверняка всплывут ошибки в эргономике, но да похуй, не на продажу ведь делаю. Думаю, на следующей неделе педали будут полностью собраны и смогут работать.
КПП. Удалось связаться с автором. При помощи гугл-переводчика (он итальянец вроде) объяснил ситуацию и он мне дал файл самой трехмерной модели КПП. Недавно начал ее переработку под ручку КПП от MAN. Нужно будет изготовить саму ось рукоятки из стальной трубки диаметром 14мм с нарезкой мелкой резьбы (в оригинале там строительная шпилька под М8). В принципе потроха модели готовы и можно печатать, но не готов пока сам корпус и узел крепления к креслу - само крепление придется испытывать и не раз переделывать.
Можно ли питать потребители напрямую от digispark или надо делать через реле?
Побитовое "или" забыл перед знаками =.
>digispark
Допустимый ток на вывод ATtiny85 довольно большой - 40 мА, но суммарный ток по всем выводам не должен превышать 200 мА. Следует учитывать что при большом токе напряжение проседает, по документации до 4.3 В при 10 мА.
Вот и считай, можно твою нагрузку подключать или нельзя, а то нагрузки разные бывают.
Нужно вычислять объем воды в десятикубовом, цилиндрическом танке, имея только датчик давления 4..20мА, инсталированный в днище. Тама надо вычислять площадь сегмента круга, используя неебический матан в виде синусо-косинусов, квадратных пятичленов и прочих плавающих точек.
Ардуина совладает или надо Зион на 24 потока?
>используя неебический матан в виде синусо-косинусов, квадратных пятичленов и прочих плавающих точек.
каво.
Зойчем тебе площадь сегмента на лету вычислять? Танк цилиндрический? Один раз посчитал площадь сечения и все. Дальше давление p = ρgh, объем V = Sh = (Sp)/(ρ*g)
>Один раз посчитал площадь сечения и все.
Танк то, цилиндрический. Только цилиндр лежит горизонтально, а не вертикально. Такие дела.
А что там сложного? R^2/2(x-sin(x)), где x - стягивающий хорду угол в радианах. Даже без math.h можно посчитать, взяв синус через первые три-четыре члена ряда Тейлора. Угол определять как 2arccos((R-h)/R). Наверняка можно ещë упростить. Арккосинус тоже в ряд Тейлора из трëх-четырëх членов. Будет тебе счастье даже с фиксированной дробной точкой. Кстати, если понадобиться, то квадратные корни тоже можно вычислять с произвольной точностью в столбик, т. е. при помощи тех операций, которые умеет целочисленное АЛУ.
Так если тебе не критична скорость, то все упирается в объем памяти для этих функций, только и всего. Для AVR вроде как весь набор функций из стандартной сишной библиотеки для плавающей запятой занимает не более 4 кб. Если у твоей ардуины флешка не меньше 8 кб, то должно хватить даже если не пытаться оптимизировать.
Возьми STM32 или ESP32, всяко чаще смогут срать объёмом вычисленным, да и памяти больше у них.
Можешь разбить весь танк по высоте на 2^N сегментов и заранее замерить/вычислить значение давления столба воды на границе каждого сегмента. Данные запишешь в таблицу, если N=8 и значение с датчика занимает слово, то займет 512 байт. Потом ближайшее значение с датчика ищешь бинарным поиском по таблице и получаешь N бит высоты в сегментах
>Нужно вычислять объем воды в десятикубовом, цилиндрическом танке, имея только датчик давления 4..20мА, инсталированный в днище. Тама надо вычислять площадь сегмента круга, используя неебический матан в виде синусо-косинусов, квадратных пятичленов и прочих плавающих точек.
>Ардуина совладает или надо Зион на 24 потока?
Даже милипиздрический шестиногий ATtiny10 совладает, если правильно к задаче подойти. Заменить тяжёлый матан забитыми в массив аппроксимированными функциями, заменить float на long, деление на умножение, умножение на битовые сдвиги.
https://alexgyver.ru/lessons/signal-encoding/
https://alexgyver.ru/lessons/code-optimisation/
Конкретно в твоём случае надо вечерок попердолиться с экселем, разбить диапазон на 10-20 отрезков с приемлимым для тебя отклонением (оно тебе надо миллиграммы учитывать?), и дальше тупо искать точку на двухмерном графике прямых линий. Всей хуйни на 200 байт и 40 тактов. Массив забить в PROGMEM, если ровный пацан. Всё.
>>495328
>Возьми STM32 или ESP32
Да хули там, пусть сразу Teensy 4.1 берёт, самое то объём воды в ебучей бочке вычислять.
>>495579
Выше немного хуйню написал, но подход тот же - из значения давления получаешь высоту в попугаях сегментах, где 2^N - 1 - самая высокая точка бака, и по таблице находишь объем при заполнении до этого уровня. Оставшийся объём в пределах одного сегмента можно досчитать линейной аппроксимацией
Продолжаю.
Сегодня подключил макет руля чисто для "попробовать" и педали. Педали уже дорабатывал на днях - убирал ощутимую мертвую зону в их ходе. Из-за особенностей работы датчиков холла это тот еще гемор. В целом, их работа меня устраивает, но не идеально. Дело в том, что нет линейности в уровне сигнала и хода педали - примерно на 1/5 хода сигнал вырастает на 10-15%, потом, до 3/4 хода сигнал растет до 80-85%, а оставшийся ход дает еще 10-15% к сигналу. Но, в целом, все терпимо и явно не мешает.
В ETS2 все работает хорошо, в Spintires - тоже. А вот в FS17 c газом и тормозом явная проблема - работать это все начинает только на середине хода педали и газ набирается резко за небольшой ход, как и тормоз. Видимо, проблема в самой игре - там очень скудные настройки контроллеров и сама игра не заточена для езды. А может это особенность моей самосборки. В любом случае, пока это гораздо лучше, чем нажимать на кнопки клавиатуры.
Батя изготовил мне стержень для рукоятки КПП и сегодня я начал печать ее деталей. На днях закончу с электроникой педалей и выведу разъемы для подключения КПП и возможного дополнительного кнопочного блока (пока делать его не планирую).
Вот, кстати, ещё один из /ra/ который до ютуба дорос.
https://www.youtube.com/c/ИнженерПетров/videos
>самое то объём воды в ебучей бочке вычислять.
Не, ну а хуле. Стоят как палёная нано, при этом любой говнокод проглотят. Спросивший пердолингу не особо рад был бы, я так понял.
Меня просто аноны попросили изредка отписываться о результатах, вот я и пишу. Ответов я и не ожидаю - кому нужно, те напишут, а внимания мне не нужно.
STM32 сейчас действительно пиздецки подешевели, но я бы не сказал, что любой говнокод и совсем без пердолинга.
Ардуиноядро под стмки ещё надо настроить, не со всеми платами из ебического зоопарка оно может работать одинаково хорошо, какие-то библиотеки могут не встать. Что хуже, большая часть этих копеечных STM32 блюпиллов с алика - на самом деле китайские клоны, и их внутренняя периферия может отличаться от оригинала. Бывают ещё полуклоны, когда бракованный чип с подрезанным функционалом используется в роли более простой модели. https://habr.com/ru/company/ruvds/blog/525842/
Короче, при перелезании на СТМки надо быть морально готовым к пердолингу в области дебаггинга, который под ардуиной иногда довольно эзотеричен. Либо качать Cube MX и пердолиться уже по-хардкору.
С esp-шками тоже не всё гладко. Там есть нюансы при подключении, чтобы оно вообще корректно загрузилось. Там много закрытой инфы касательно внутренней периферии. И там мы имеем дело с довольно громоздким ядром, которое чекает wi-fi, работает с каким-то подобием RTOS, и лишь прикидывается обычным микроконтроллером. Короче, это не просто более мощная ардуина. Это свадебный лимузин, сделанный из самолёта, который надо уметь готовить.
Ну и ещё проблема и СТМок, и ЕСП в том, что они нежные, и легко убиваются нубами, которые на них пятивольтовый модуль прицепили, а КЛУ поставить забыли, и питание не так организовали. Атмеги дубовые и прощают дохуя всего - отсутствие в критическом месте капов, сопротивлений, всякие индуктивные скачки напруги, мелкие камни даже переполюсовку по питанию могут выдержать, от чего STM или WeMos тазиком накроются. С ними вообще желательно работать, вооружившись осциллографом, чтобы своё поделие постоянно протыкивать на предмет ненормальных напряжений.
>Либо качать Cube MX и пердолиться уже по-хардкору.
Да не такой и хардкор там. Щас ведь в один иде всё слеплено, да и инфы много есть, есть где спиздить код.
>и легко убиваются нубами, которые на них пятивольтовый модуль прицепили
Так стм это прощает, потому что там основная доля пинов в 5 вольт может. Опять же, я впервые имел дело с и свой говнодиплом склепал до того, как успел убить. Не так оно и страшно, думаю.
Фидбека пока нет - второй мотор и новый ремень придут только через три недели. Тут еще моя особенность конструкции - пока внешний корпус не будет сделан, с фидбеком не поездить - основу будет проворачивать, т.к. крепление к столу идет через корпус.
Вообще я знатно маюсь с этой залупой - гайда от и до как такового нет, везде собираются крупицы нюансов. В частности схема не работает с энкодером с али - нужно вводить два подтягивающих резистора, которые на схеме отсутствуют, т.к. почему-то там за основу взяли энкодер от лазерного принтера, который работает без них.
Да не, я про прошивку. Я как-то давно тоже хотел руль с фидбеком попробовать сделать, но не нашёл не то что каких-то мануалов, но даже описания, как игра на руль информацию передаёт.
Подруби через оптопары.
Мое безумное умение из соседнего треда. Суть в том, чтобы управлять реле через i2c расширение, а не прямо с ног ардуины. Здесь модуль реле на оптопаре, но я тестил модуль на обычном биполярнике и было ок
1) Экономит ноги. Шина I2C это всего две ноги для передачи данных, а только на одну PCF8574 можно вешать до 8 модулей
2) Универсальность. Можно подключать хоть к ардуине, хоть к любому порту GPIO
3) Надежность. Если мк заглючит и ребутнется, то чип продолжит держать реле (но это я не тестил, лол)
>>495707
Типа тока не хватит? По идее тут транзистор стоит до оптопары, у него через сток идет до 100 мА, они же идут дальше на пару. Сам транзистор управляется чипом расширения
Таки да, мой косяк я кривую схему модуля нарисовал. Вот что обычно можно у китайцев взять, транзисторы присутствуют
Я подключал похожий модуль без оптопары, с управлением напрямую через базу, но тока с ноги чипа не хватало, чтобы прокачать ток в цепи коллектора. У него по даташиту 30-300 мкА, у меня чип выдавал максимум 64. Может быть замена биполярника бы помогла, в модуле был обычный КТ3102АМ, но кто я такой чтобы лезть в сторонний модуль, пусть даже я сам его спаял
В прошивке фидбек присутствует, но подозреваю, что он там не шибко функционален как в серьезных рулях, поэтому допускаю, что мелкие залупки вроде дрожания руля от двигателя или езда по гравию, там отсутствуют.
Вот сегодня опять ебался с аналоговой системой подключения проводов в схеме руля, чтобы от одного контакта можно было питать 4 кнопки. Гайдов нет, все отрывисто. В итоге сделал как написано, а заработало только три кнопки - четвертая никак. Вот и ебись как хочешь, выясняя где залупа зарыта. Или тот же mmjoy - автор не дописал подробных гайдов, забросив работы наполовину. В итоге по отрывкам выяснил, что 132 кнопки можно подключить только используя модули сдвиговых регистров, а без них только 49 кнопок. К счастью столько кнопок мне не надо, поэтому простых подключений хватит.
Вот реально хоть садись и пиши отдельный гайд как руль с педалями и кпп сделать без залуп и поисков инфы на сотнях страниц в интернете.
> Вот реально хоть садись и пиши отдельный гайд как руль с педалями и кпп сделать без залуп и поисков инфы на сотнях страниц в интернете.
И пости на швабру!
Внезапные новости, которых я не предвидел.
Я столкнулся вчера с той же проблемой, что и некоторые другие аноны, юзавшие прошивку с прогой Weelconfig - отказ программы соединяться с платой и, как следствие, невозможность настроить параметры руля и кнопок. Проблема старая, ее решение неоднозначное и работает рандомно. Погуглив форумы и группы вконтактике я наткнулся на пост такого же бедолаги, который мельком упомянул решение - переход на другую прошивку и программу. Гугл нихуя не давал от слова совсем. Полазив по форумам я понял почему - прошивка распространяется исключительно в узкой группе лиц на странице группы разработчиков в фейсбуке. Есть бесплатная версия с урезанными настройками и платная (10$).
Заодно хочу, чтобы у Цукерберга отвалилась жопа - такой кошмарный интерфейс его поделия не сделаешь даже специально за бабло. Мне пришлось буквально продираться через всякую хуйню, чтобы найти нужное.
В итоге нашел мелкий пост на стене, где была ссылка на скачку лайт версии программы управления и прошивки со схемой подключения. Быстренько это все надергав я прошил плату и протестировал. Работа руля меня устраивает полностью, и отдельно порадовали педали - туда блядь можно подключить мои поделия на датчике Холла и они после настройки работают как надо без танцев с бубном.
Теперь мне нужно немного переосмыслить концепцию размещения плат управления - педали станут просто коробкой и будут соединяться шнуром с рулем, а схема mmjoy2 переедет в КПП. Нужно опять немного переделывать модели
>но надо брать побольше или поменьше сопротивления?
Зависит от нагрузки. R2 должно быть много меньше сопротивления нагрузки чтоб делитель делил в рассчетном соотношении
Если решил я это всё ткнуть в аналоговый пин МК для замеров вольтажа, то что мы берём за сопротивление нагрузки?
https://www.avrfreaks.net/forum/minumum-current-required-analog-pin-atmega328
Короче говоря бери кОмы и не парься в таком случае
Тоже погуглил ещё и увидел, что обычно КОмы и ставят. Купил на 4.7 и 39. Спасибо и на этом.
В Microchip studio написал программку для мигания диодом на ассемблере, скомпилировал, залил в Протеусе - всё ок.
Дальше хочу залить на ардуинку(uno) использую .hex файл и прошиваю через CodeVision - хуй.
Пробую через avrdude - хуй.
Может кто так делал или что подскажете?
Интерес чисто спортивный, уже ебусь второй день. Вместе диода только глаз дёргается.
>RTOS
>T
>O
>S
Всем суп. Читнул трэдца, так понял что свою вумную розетку мне желательно на RTOS делать. А как там по совместимости с ардуиновскими либами? Ну скажем если какая-то либа зависит от delay()
>Ну скажем если какая-то либа зависит от delay()
То это хуевая либа. Но в целом, наверняка можно сделать что-то вроде
#define delay xTaskDelay
Почему у меня датчик lm 35 начинает пиздеть после того как включит релюшку? Щелкнет релюшкой выдает правильный показатель, а через минут добавляет + 40 к текущим показателем.
https://pastebin.com/sYYM9w1z
Наводка очевидная. Я с этими реле насосался пиздец.
Такая форма приемлема? (Я не пограммист если что, разве что на яве)
grad = (float) ( temp/1023.0 )5.01000/10;
На днях пришел второй двигатель, напечатал новые детали для руля. Опять объебался с длиной ремня, пришлось делать ведущий шкив на 140 зубьев. Передаточное отношение сейчас 1:8,75. Поиграл в играх, посмотрел отдачу.
FS17 - обратная связь отсутствует. Видимо, не завезли вообще.
Spintires - не работает, хотя в настройках галочка вроде стоит. Хз что с ней.
ETS2 - все работает, все настраивается. Руль потяжелел, появилась имитация вибраций. Ездить стало приятнее.
Сейчас неделю поезжу, потестирую, чтобы выявить недостатки конструкции.
МК загружает в рандом память .data и .bss секции: avr-size -A your.elf.
.text секцию он запускает из флэш. Для МК что рандом память, что флеш, выглядит как какие-то адреса памяти.
https://electronics.stackexchange.com/questions/224156/how-does-a-microcontroller-boot-and-startup-step-by-step
>lm 35
Ты уверен, что они настоящие?
Я 3 (ТРИ СУКА) раза их заказывал у разных продавцов по разным ценам и каждый раз приходили сточенные перемаркированные транзисторы.
На свои посмотри, может тоже увидишь как их наждачкой затёрли.
Я в итоге сдался и купил 18B20
3172 заказа и только 3 отзыва с 1 звездой о том, что они не работают.
Сам как думаешь?
Бери конечно.
У меня явная проблема. Не могу закончить электронику на КПП. Ебусь уже третий день и все без толку.
Суть: сделал подключение кнопок матрицей как на пике. На макетке все работает нормально. Но стоит перенести схему на КПП, как тут же появляются двойные нажатия. Опытным путем выяснил, что фантомные нажатия появляются если подключен полутораметровый кабель RJ45, который я использую как соединитель между КПП и схемой. Видимо дело в наводках. Как от них избавиться?
Может ли ардуино записывать данные на саму себя?
Может
>Может ли ардуино записывать данные на саму себя?
Только рекурсивно запись не запусти. Свернет пространство-время и пиздец Вселенной.
Никто не может подсказать на сколько этот потенциометр? Можно будет его разобрать сверху, всё уже залито спермоклеем, подобраться к нему никак больше. Если я подберу другим потенциометром нормальные параметры контрасности и спаяю делитель из резисторов, это будет работать или этот дисплей постоянно нуждается в регулировке? хотя он нормально работает и в дождь и в жару и я не крутил его пот ни разу после первого запуска
Благодарю, подумал об этом тоже. В итоге подтянул 5 вольт через резисторы на каждую колонку в матрице и все ложные срабатывания ушли. Собрал и протестировал коробку. Не ясно как на ней ездить в ETS2 - там странная логика переключения передач через делитель, нужно будет в спецтреде спросить.
Затестил в Project Cars 2 - нормально, но все же не та игра для такой вальяжной коробки. Сейчас нужно еще разобраться с режимами кнопок в прошивке и нормально допечатать оставшиеся детали и устранить недочеты в корпусе КПП.
Педали закончил, они в готовом состоянии проходят тест.
тупо запаяй резистор между ногами. я не помню какие, но ты найдешь. я ставил 3.9кОм и контраст был норм.
Хватило интеллекта купить ATiny88 под видом Nano. Повёлся на цену, когда мои любимые Nano и Micro взлетели до 500 рублей.
Надо в общем на нём звук вывести. Я разобрался как подружить МК и среду разработки. Код заливается и работает.
Но мне в моём проекте надо использовать динамик, а функция tone не работает.
Можно как-то через analogwrite сделать музыку?
У меня выходит только пердёж.
Прикрути R-2R на один из портов! Даже analogwrite не нужен!
Библиотеки для программного ШИМ на атмегах поищи. Или сам сделай. Для пищания динамиком обычного таймера на millis() и micros() вполне достаточно.
Тут другие вопросы должны быть.
>функция tone
Как написано https://arduino.ru/Reference/Tone дает меандр на выходе с заданной частотой. И если хочется заменить именно эту функцию (вероятно у анона есть готовый код и использованием этой функции), то что ШИМ, что импровизированный ЦАП тут ни у чему. Всего лишь нужно разобраться с регистрами таймеров и научиться выдавать меандр с разными частотами.
В остальном ШИМ в аттини хватает даже для воспроизведения речи.
Я хочу собрать что-то вроде пеленгатора, но для довольно маленьких расстояний (От сантиметра, до полуметра)
То есть, стоят четыре каких-то датчика по углам поля и постоянно замеряют расстояние до маячка.
А затем эти расстояния обрабатываются компьютером, и вычисляются координаты X и Y
Так вот, существуют ли вообще в природе такие вот радиодальномеры, как их искать и где покупать?
Уже весь Aliexpress облазил и ничего подходящего даже близко не нашёл. Только ИК и УЗ-дальномеры. А они в моём случае вообще не подходят.
И если там не йоба сложная схема, то можно ли собрать такой датчик самостоятельно - мне впринципе будет достаточно любого параметра - хоть угла с которого сигнал приходит относительно 90градусного угла, хоть просто условной "Силы сигнала" которая будет падать при удалении, и возрастать при приближении к такому датчику
Может быть знает кто такие йобы?
> Так вот, существуют ли вообще в природе такие вот радиодальномеры, как их искать и где покупать?
Да, и называется это чудо РАДИОВЫСОТОМЕР. Угадай почему, лол.
Наеб в том, что ты не получишь погрешность меньше половины длины волны. Если конечно обмазаться доплером, то можно и точнее, но тут ебейший матан будет.
Либо взять 60 ГГц ФАР, тоже может подойти, че то такое используется устройствами стандарта 802.11ad.
В целом к твоему вопросу ближе всего будет автомобильный миллиметровый радар, который в парктрониках используется, но удачи его подключить к ардуине.
Можешь погуглить radio indoor tracking, какие-то исследования на тему я находил.
>>498245
А, ну да, в общем случае то что ты хочешь, называется радар. Что я могу тебе сказать по этому поводу за 4 из 6 курсов специальности радиолокационные системы? Не лезь блядь, оно тебя сожрет!
Но если ты супераутист...
https://hforsten.com/third-version-of-homemade-6-ghz-fmcw-radar.html
>>498255
Это не совсем то, что нужно.
Мне нужно замерять расстояние/время прохождения сигнала/угол только до одного определённого маячка, который излучает сигнал.
А не сканировать всё подряд.
> автомобильный миллиметровый радар
Там же вроде ультразвук юзается? С ультразвуком - вообще никаких проблем. Уже есть готовые компоненты - например HC-SR04 которые тысячами продаются на алиэкспрессе и в магазинах ардуинщиков.
Но тут проблема в том, что любой посторонний предмет собьёт к херам все измерения.
>Но тут проблема в том, что любой посторонний предмет собьёт к херам все измерения.
Это и с радио будет точно так же.
С ультразвуком есть еще измерители скорости и направления ветра, которые устроены почти как у тебя на картинке нарисована.
А не проще ли приспособить готовые дальномеры (tof модули)? Такие как VL53L0X.
> Это и с радио будет точно так же.
Я конечно не эксперт, но по-моему, радиоволны (Особенно низкочастотные) проходят сквозь препятствия. Если там не свинцовая стена, конечно
> С ультразвуком есть еще измерители скорости и направления ветра, которые устроены почти как у тебя на картинке нарисована.
> А не проще ли приспособить готовые дальномеры (tof модули)? Такие как VL53L0X.
Они все либо на ультразвуке, либо на ИК.
Я впринципе, не против использовать их, но мне интелекта не хватает придумать, как с помощью них игнорировать препятствия
>но по-моему, радиоволны (Особенно низкочастотные) проходят сквозь препятствия.
Сантиметровый диапазон не проходит, через препятствие в виде ладошки, например. Дециметровый не сильно лучше. Может в метровом диапазоне как-то можно сделать такое, но сомневаюсь.
А есть тогда вообще, хоть какой-то нормальный способ найти эту хуйню?
> Мне нужно замерять расстояние/время прохождения сигнала/угол только до одного определённого маячка, который излучает сигнал.
Ну, вторичный радар это называется. Вот с ним погрешности будут точно не меньше чем лямбда пополам.
Ты же в курсе, что Valve Lighthouse работает ровно наоборот?
>>498270
> Я впринципе, не против использовать их, но мне интелекта не хватает придумать, как с помощью них игнорировать препятствия
Никак, да это и не нужно. В теории можно использовать терагерцовый диапазон, он проходит через диэлектрики и имеет достаточно малую длину волны, но проблемы сам понимаешь какие.
>>498271
Опять таки, лямбда пополам - фундаментальное ограничение погрешности измерения
Посмотри что-то помимо атмеги.
Возможно прочухали, что на них стали делать контроллеры типа джойстиков или рулей с педалями
Вот допустим я передаю в функцию локальную переменную по ссылке (т.е. не саму переменную, а указатель). Это работает быстрее, поскольку не нужно создавать в оперативке копию переменной и тратить такты процессора. Если переменная какая-то охуенная тяжёлая структура - это может быть долгим.
А как этот работает с глобальными переменными? Их тоже имеет смысл передавать по ссылке, или всё глобальное работает сразу, без копирования, проверок области видимости и всякой хуйни?
И есть ли разница в случае с RTOS?
>Это работает быстрее, поскольку не нужно создавать в оперативке копию переменной и тратить такты процессора.
Не быстрее, потому что нужно создавать "в оперативке копию ячейку с адресом переменной и тратить такты процессора". Даже более того, указатель в атмеге 16 бит, а переменная может быть 8 бит.
>Если переменная какая-то охуенная тяжёлая структура
Да, тогда будет целесообразно передавать по указателю, ну или по ссылке если использовать C++.
>А как этот работает с глобальными переменными?
Глобальные переменные от локальных отличаются только тем что локальные лежат в стеке (как правило, могут и в регистрах, если компилятор оптимизирует), то есть точно так же в ОЗУ, только немного по другим адресам.
>области видимости
Это немного про другое. Тут нужно думать о времени существования переменной, а именно осознавать что локальные переменные - они на стеке.
>И есть ли разница в случае с RTOS?
Как именно передаются аргументы функциям и как функции возвращают результат, определяет соглашение о вызовах, а не RTOS. https://gcc.gnu.org/wiki/avr-gcc
>Глобальные переменные от локальных отличаются только тем что локальные лежат в стеке (как правило, могут и в регистрах, если компилятор оптимизирует), то есть точно так же в ОЗУ, только немного по другим адресам.
Т.е. замена прямого обращения на ссылку может дело ускорить?
У меня ситуация с быстрым чтением с SD-карты. Библиотечная тяжелая переменная типа File через myFile.read парсит данные с флешки, потом жуёт, потом раскладывает тяжелую 28-байтную структуру. Все вспомогательные переменные передаются ссылками. А вот myFile и структура - глобальные. Вот и думаю, будет ли парсер работать быстрее, если работать с глобальными переменными через ссылки с указателями.
>Т.е. замена прямого обращения на ссылку может дело ускорить?
Это еще почему? При "прямом обращении" компилятор может оптимизировать как угодно, потому что адрес этой твоей переменной будет известен на этапе компиляции. А по ссылке наоборот, может прилететь любой адрес, если в общем случае. На практике конечно может быть что угодно, но тем не менее.
И еще, как всем известно, обилие глобальных переменных это не очень хорошо, такое запутывает код. Однако и в стек пихать слишком много не стоит, если в случае с глобальными переменными компилятор на этапе компиляции проверяет влезают ли они в память,то со стеком компилятор не может проверить никак. Поэтому используй еще и static, где оно уместно.
>Вот и думаю, будет ли парсер работать быстрее, если работать с глобальными переменными через ссылки с указателями.
Ерунда это все. Нужно писать код чтобы он был понятнее. Это также к тому, что глобальные переменные несколько запутывают код. Если что-то слишком медленно работает, ну возьми тогда другой микроконтроллер, делов то. У тебя же наверняка нет задачи сэкономить энергию при питании от батарейки или сэкономить копейку, применив самый дешевый микроконтроллер.
>У тебя же наверняка нет задачи сэкономить энергию при питании от батарейки или сэкономить копейку, применив самый дешевый микроконтроллер.
У меня задача парсить G-команды с флешки, с учётом разной стилистики их написания разным софтом, отфильтровывая комменты и ненужную хуйню. Команды вида "G(int) X(float) Y(float) Z(float) E(float) F(int)".
Контроллер взял esp32. Минимизировал операции с float до единственной. Почти все ветвления сделал на switch вместо if/else. Сделал скип-флаги, чтобы нарвавшись на ненормальный символ парсер проматывал всё до следующей команды, минуя основной сортировщик символов.
Сделал тестилку с таймером на миллис. Среднее время чтения команды 1мс. В кратком виде 400-600мкс. Чё-то как-то дохуя для 240МГц.
При парсинге длинного файла некоторые команды почему-то парсястя за 10мс - наверное RTOS там на фоне хозяйничает. Впрочем, если сделать буфер на 10-20 команд, это не проблема.
Проблема в том, что 1мс это ДОЛГО, и я пока нихуя не понимаю, где тут узкое место. Или запись в глобальную структуру идёт очень долго. Или сам акт чтения флешки идёт очень долго. Может я упёрся в аппаратные пределы SD-ридера, может скорость SPI-интерфейса искуственно зарезана. Хуй его знает.
Ерундой какой-то занимаешься. Может возьмешь тогда что-то с нормальным FPU и без вай-фая с ртос?
>и я пока нихуя не понимаю, где тут узкое место.
Так замерь, что тут сложного? Можно прямо в коде таймером померить. Можно даже просто ножкой дрыгать и смотреть длительность импульсов осциллографом.
>может скорость SPI-интерфейса
>esp32
Падажжи, у esp32 есть SDIO, зачем тебе SPI?
>и я пока нихуя не понимаю, где тут узкое место
Есть такое
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/perfmon.html
https://github.com/espressif/esp-idf/tree/master/examples/system/freertos/real_time_stats
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/app_trace.html
Возможно поможет. Ну и я б взял JTAG и обмазывался брейкпоинтами, замеря почти по шагам где проеб.
>Ерундой какой-то занимаешься. Может возьмешь тогда что-то с нормальным FPU и без вай-фая с ртос?
Например, что? Из более-менее популярного STM32F411 всего 100МГц, в 2.4 раза медленнее. Как там работает FPU - я в душе не ебу.
Меня, правда, крипанула статья https://blog.classycode.com/esp32-floating-point-performance-6e9f6f567a69 с разницей аж в два порядка при соизмеримых частотах. Но там речь про STM32F767, плата на пару классов выше и стоимостью под сто баксов, причём её уже в каждом магазине не купишь.
Esp32 привлекает тем, что их нынче как говна за баней. И ещё что он двухъядерный. А мне двухъядерность очень желательна, изначально я вообще хотел два контроллера поставить и какой-то шиной соединить, ибо на втором будет вертеться высоконагруженная задача.
UPD: Оптимизировал код, выкинув проверку currentFile.available(), которая производилась каждый символ. Заработало в 2 раза быстрее, по 300-450мкс на команду.
UPD2: Тестовый измеритель, который только считывает символы и ничего не делает, показал 12.5мкс на считывание символа, что даёт как раз искомые 300-450мкс при типичной длине строчки в 24-36 символов. Значит, мой парсер таки пиздато оптимизирован, и проблема в SD-карточке.
По даташиту у esp32 SPI работает на 8мгц. Стало быть, он должен проталкивать почти 1Мбайт/с. А у меня почему-то 80кбайт/с. Понятно, что на каждый принятый байт надо ещё отправить как минимум 4 байта адресации, но всё равно трёхкратная разница получается. Библиотека SD-карточки кривая мейби?
>>498582
>Падажжи, у esp32 есть SDIO, зачем тебе SPI?
Я пока крайне смутно представляю, что это такое, и с чем его едят, и как модуль по этой схеме коннектить. Менюшку я вообще изначально написал для атмеги, и она там даже худо-бедно работала, но памяти уже не хватало.
> Я пока крайне смутно представляю, что это такое, и с чем его едят, и как модуль по этой схеме коннектить
Модуль никак, коннекти sd карту напрямую. Алсо, попробуй разогнать spi, хуле там
https://radioprog.ru/post/334#file_read
Вейт, а по скорости есть разница между file.read() и file.read(buf, len)? И какой тогда длины оптимально делать buf?
Допустим, один такт SPI занимает 0.125мкс, байт 1мкс. Стало быть, при побайтном чтении 11.5мкс карточка занимается хуй знает чем. Стало быть, если взять буфер на 10 байтов, то процесс займёт 10+11.5мкс или в среднем 2.15мкс на чтение символа, я правильно механику понимаю?
>Вот допустим я передаю в функцию локальную переменную по ссылке (т.е. не саму переменную, а указатель). Это работает быстрее, поскольку не нужно создавать в оперативке копию переменной и тратить такты процессора.
Ну допустим что-то из этого может быть не очевидно, но потом:
>>498621
>Вейт, а по скорости есть разница между file.read() и file.read(buf, len)?
Даже если не знать что там внутри этих методов/функций происходит и что там в итоге карточка, разве не очевидно что вызвать функцию один раз, то есть один раз передать аргументы (и прочие процедуры, выполняемые при вызове функции), будет быстрее если делать один раз, а не сотню?
Занятно ты хочешь в одном месте сэкономить пару тактов, когда в другом месте...
Ну а в остальном разумеется флешка быстрее прочтет сектор разом, чем по байту. Другой вопрос что там у тебя в ардуине происходит.
Однохуйственно, бро.
Короч есть такой код для парсинга энкодера. Помогите ленивому аутисту поменять его на 3 кнопки. Соответственно одна соответствует кнопке энкодера, а две других - вместо вращения вправо-влево.
Я так понимаю, нам надо тупо вместо этого
if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue=1;
if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue=-1;
На нажатие правой или левой кнопки ставить encoderValue 1 или -1. Но как бороться с дребезгом контактов тут? Или вот такая конструкция что сначала у нас прерывание, а потом мы в нем делаем digitalRead этой же кнопки - достаточная защита от дребезга?
Не совсем понимаю, как его повесить на интеррапт и вообще как выглядит его дискретная версия
>его повесить на интеррапт
Просто слушать и всё, дребезга там уже не должно быть.
>как выглядит его дискретная версия
Я 74HC14N пользовал, например.
А нахуя? Ну слушай пины подольше, не знаю. Для энкодеров и кнопок 100500 прошивок высрали, подбери что-нибудь оттуда.
Потому что надо модифицировать существующий проект, очевидно же. А я уже собрал плату и впихнуть там некуда триггер шмитта
Так сделай программный аналог триггера Шмитта. Счетчиком и с гистерезисом. Вот тебе немного кода, там может немного лишнего для тебя и вместо uint8_t наверное лучше bool.
Отдельную микросхему действительно нет смысла втыкать, что бы там не писал анон выше.
Подскажите, ничего не сгорит если я к gpio (там вроде бы 5v) подключу крутилятор на 12v?
Снизив напряжение ток тоже упадёт. Если вентилятор твой, то будет где-то 30 мА, но лучше считать 40. Тянет пин столько, или нет?
/ra/ 2022
В документации. В разделе электрических параметров.
Питай вентилятор от того же блока питания, и не еби мозги, если не знаешь.
Ну так припаяй вентилятор к обрезку USB-кабеля и питай, лол.
Первые итоги.
КПП
Доделал полностью, устранил мелкие недочеты. В качестве ручки используется рукоятка КПП от грузовика MAN. Датчики положения рукоятки - герконы, оси перемещения и фиксации на подшипниках. В прошивке пришлось прописать кнопки мультипликатора и делителя как тумблеры для корректной работы в ETS2, но это корректно не работает уже в FS22. Неприятно, но не смертельно. КПП подключается к основному модулю через разъем RJ45.
Педали
Прикрутил к постаменту ножки, на ножки наклеил липкую резину, которая нихрена не хочет держаться на клее. Как ее закрепить на ножках я пока не понимаю. Впрочем, она более-менее липнет к основе и если не двигать ее не поднимая, то все вполне исполняется свою функцию. Педали так же подключены к основному модулю через разъем RJ45, в качестве датчиков используются самодельные датчики Холла. Оси педалей на подшипниках. Сам постамент педалей мне не очень нравится, хотелось бы немного переделать эргономику, но пока буду пользоваться этим.
Теперь остался только корпус руля. С ним постоянно возникают проблемы в виде новых идей и устранения выявленных недостатков. Сейчас я переделываю уже третью версию корпуса, где введены две новые кнопки и ребра жесткости для моторов FFB
Вопрос: как оно понимает какой тактовый источник использовать? Можно ли изменить источник тактового сигнала программно?
Найди схему и посмотри куда подключен этот кварц. А еще esp8266 это микросхема под вон той металлической крышкой, а вовсе не та плата с антенной. Посмотреть схему той платы с антенной тоже не мешает.
Тот кварц не для есп, а для CH340.
>А еще esp8266 это микросхема под вон той металлической крышкой, а вовсе не та плата с антенной.
Да ладно.. Что серьезно?
>Тот кварц не для есп, а для CH340
Там CH340C со встроенным генератором, нах ему еще кварц?
Может все-таки схему откроешь? Или даже просто посмотришь к какой микросхеме идут дорожки от кварца?
Или настоящие ардуинщики не ищут простых путей?
>Можно ли изменить источник тактового сигнала программно?
На стм32 точно можно, здесь тоже, вероятно.
Толсто
Но байты не выходят, на scl клок не выклоковывается у меня есть яйцелограф ебический.
В чем проблема может быть? Где полизать?
На другой пердуине запускал своё говно?
как правильно переключать референсы?
На другой пердуине запускал своё говно?
По классам нормально не распихивается. Там ветвящееся меню, хитровыебанное тактирование и взаимные зависимости.
> переменную не видит, то дефайны, то инициализацию проёбывает, то ещё какая-то хуйня. И глобальных переменных тоже дохуя, от них не отказаться
Ты явно делаешь что-то не так
Потому то я онли С...без классов и вообще ООП. Онли стронг GCC und nano под линухом))
Если нужно "асинхронно" рулить 3-4 железяками (гпс,гсм,экран,магнитометр,RFM12B) беру RTOS JacOS. И всё влезает в AVR128.
На пердуине ,разве что БЫСТРО...хуяк,хуяк. ЗАРАБОТАЛО)))
Когда нужно конвертер IR команд какой,ну еще Ethernet шилд прицепить и тупо релюшкой пощелкать. А так..."конструктор"))
Не тралльь
>Ты явно делаешь что-то не так
Конечно делаю, ебусь через терни к звёздам методом проб и ошибок. Я ж не синьор-помидор 80лвл, а хуй с горы.
Вот сейчас мне нужен метод: как с наименьшими потерями взять кусок кода, вынести в отдельный файл, а в основном оставить #include "zalupa.h". Чтобы какие-нибудь директивы компилятора помогали файлам друг на друга ссылаться. И простой положняк, где можно обойтись малой кровью, а где переделывать всё нахуй.
Есть, конечно, ардуино-вкладки, которые тупо раскидывают огромный скетч по последовательным страничкам, но это решение на крайний случай.
Не разбираюсь в ардуинах и цпп, но
1) Осознай что препроцессор в #include только копипастит текст из .h файла, точно так же как если бы ты скопипастил руками. Ничего сверх этого оно не делает.
2) Есть специальные меры чтобы заголовочный файл дважды не инклюдился в один .c файл. Это либо #pragma once (не по стандарту), либо чуть более многословно, но по стандарту. За редкими исключениями такое должно быть во всех заголовочных файлах.
3) Прочти что такое прототипы функций, static (для функций и переменных) и extern.
Все, если не лезть в цпп, то по этому вопросу почти ничего сверх этого знать не требуется.
>>И простой положняк, где можно обойтись малой кровью, а где переделывать всё нахуй.
Позравляю...отсюда и начинаются постройки "велосипедов".
Есть 2 пути...
"Быстрый" (копи паста), в результате которого ты проебешся хуй знает сколько.
"Долгий" (курим доки,начинаем с "элементарного С")...и ВНЕЗАПНО всё работает , как ты хотел.
Ну либо "семафорь" и дрыгай лапками.
Твой выбор))
А я обычно хуячу все в один файл на десятки тысяч строк, потому что постоянно времени не хватает.
Некрасиво, зато быстро и работает ровно так же.
Плюс все равно управляющая логика везде своя и можно голову сломать над правильным разбиением.
Вот работу с датчиками и прочее отдельное унифицированное барахло лучше в отдельные файлы переносить, там плюсы перевешивают.
Ты давно на гитхаб не заходил видимо
Планирую подключить эту штуку (https://github.com/FYSETC/FYSETC-Mini-12864-Panel) к адруине. Посмотрел на схемы и вроде всё понятно. Нужно просто подключить к соответствющим пинам и дёргать соответствующие для нужных компонентов.
Но в описании есть предостережение (пикча 1):
In order to be compatible with some motherboards, such as RAMPS1.4, mini12864 is equipped with RST (R3) and KILL (R4) optional resistors. At present, some motherboards (S6/Spider) change the KILL to 5V. At this time, please make sure that R4 on the mini12864 is in the empty state, otherwise pressing the button on the screen will cause a short circuit between 5V and GND, and long-term operation will cause the motherboard to be damaged.
Правильно ли понял, что самым правильным вариантом будет просто тупо не подключать эти пины?
Ну и опционально интересно было бы услышать вангнования нахуя вообще это сделано? Типа некоторые материнские платы ДОЛЖНЫ передавать по соответствующим пинам доп. питание, а того, что по VCC они передают недостаточно?
Хммм. Подключил vcc, gnd (на обоих экспах) и биппер. Попробовал побипать: чёт ноль эффекта. Либо спалил нахуй, либо тут как-то хитрее нужно всё подключать.
Какое-то унижение ардуино заниматься. Ну да ладно. Есть шанс что если я с этой хуйнюшкой поработаю, поучусь смогу выучить дизайн циркутов и как обычные микроконтроллеры устанавливать на платы и программировать? Или смысла нет и надо лучше дрочить книжки? Не могу нигде найти никаких гайдов, схем и тд, на ардуино поди есть сотня туториалов, поэтому спрашиваю.
Там нет встроенного генератора. Надеюсь ты подаешь туда меандр с частотой около 3 кГц, а не постоянный уровень?
Надо элтис прошить, а то местные мастера ничего не могут сделать со своими алишными прошиваторами.
Лол. Тоже когда-то думал над такой идеей. Хотел при помощи микрофонов детектить место в пространстве. Накидал систему уравнений для этого и обосрался с ее решением. Причем пробовал сам решить, при помощи вольфрама, питоновскими либами для аналитического решения, делал модельку и пытался численными методами высчитать - все хуйня.
Не он первый.
Уже лет 5 назад на эту тему были задумки.
Копья ломали шо пиздец.
В результате все хуй забили))
Трёхмерную триангуляцию сделать не проблема. Проблема найти такие микрофоны, чтоб слышали комара с рандомного направления хотя бы с 5 метров, и при этом не наводились ни на что постороннее.
начни с экспериментов расстояние - уровень сигнала в хрущевке с переотражением от стен, а не абстрактно в космосе, убедись, что ты не получишь расстояние ни с какой вменяемой точностью, страдай
подсвечивай комнату в ик диапазоне/нейросеточку на распознавание с камеры
https://a.aliexpress.com/_DCOXJfv
Led & key, она подключена к ардуине, надо на диоды повесить реле, когда заказывал я думал - в модуле реле отпаяю резисторы, ведущие к плюсу, выведу провода от оптопар и будут у меня гальванически развязанные входы, впаяюсь ими вместо диодов в эту плату. Всё приехало, я сделал задуманное и был удивлен - сигналы на выходе led&key для горящих и негорящих диодов одинаковые - смотрел осциллографом, а оптопара реле, подключенная вместо любого диода всегда включена, независимо от того зажжен диод на led&key или нет. Ну ладно, подумал я, резистор поможет может в оптопаре может диод получше, однако резистор не помогает. У меня только три свободных ноги на ардуине, напрямую цеплять не вариант, надо 6 каналов реле 4 кнопки и индикатор. Двач, помогай.
Я решил сделать клавиатуру из резистивного тача: https://github.com/MichaelDworkin/Arduino-USB-Macro-Keyboard
Исходник не компилируется, говорит, что не задан тип переменной(?) Что я делаю не так?
Ты #include то написал?
Ну распиновка у него примерно та же, что и у esp7/esp12, только выводы перепутаны. Так что ищи типовые схемы для esp12 и воссоздавай. Лучше по мотивам WeMos D1 mini, он стабильнее.
Ардуино - налог для хохлов, и шапка итт это подтверждает.
Эта ваша ардуина затащит сто мегабит в секунду ворочать? Допустим, хочу из нее сетевой монитор сделать (в теории, через эзернет-разъем, но если можно через другие то похуй куда провода совать).
Ардуины разные бывают, да и не вполне понято что именно ты хочешь. Но в целом вряд ли хоть какая ардуина потянет. Вероятно тебе нужно брать как минимум полноценный роутер, может для openwrt есть то что ты хочешь в готовом виде.
Если брать самую распространенную ардуину на ATmega328P, то даже чтобы всего лишь прочитать 8 бит с порта (то есть просто лог. уровни с 8 проводов) и сохранить это в память, потребуется инструкция in для загрузки в регистр, а потом для сохранения st, можно push. В сумме это три такта. А тактовая частота там 20 МГц максимум, таким образом максимальная скорость записи (без какого либо анализа) входного сигнала 50 мегабит всего лишь. Это для гипотетического случая, когда источник сигнала будет синхронизирован с тактовой частотой атмеги.
Я краем уха слышал что там есть ДМА и всякие нулевые копирования.
Прост стало интересно, затащит ли она отзеркаливание трафа. Оврт сила, но требования к потреблению растут, да и собирать оврт это пиздец, например, а у вас по ф5 все заливается.
В принципе, мне ж не обязательно через логические входы. Можно аналог. А можно и вообще встроенный эзернет. Но с ним, походу, вообще какая-то порнография, я тут почитал немного по теме.
>Я краем уха слышал что там есть ДМА и всякие нулевые копирования.
В атмегах, как наиболее популярных ардуинах, такого нет.
>Прост стало интересно, затащит ли она отзеркаливание трафа.
Зависит от того что ты под этим понимаешь. Просто перекинуть эзернетовские фреймы? А толку? Однако даже такое атмеги явно не потянут на скорости в сотню мегабит. Из такого около-ардуинского вероятно только ESP32 что-то такое отдаленно потянет, если я правильно тебя понимаю. Да и то в них лишь один Ethernet MAC.
>А толку?
Да хочу, блядь, хуле ты доебался?
>Зависит от того что ты под этим понимаешь.
Это вполне конкретный технический термин, тут не может быть никаких альтернативных пониманий и двойных прочтений.
Да, походу нужен стм. Ебучая ардуина, никак не придумать под нее задач. Че вы вообще на ней делаете? Гирлянды?
>Да хочу, блядь, хуле ты доебался?
Всего лишь не понимаю смысла. Это же не анализ, о котором ты писал в начале. То же самое что напрямую соединить проводами.
>Это вполне конкретный технический термин, тут не может быть никаких альтернативных пониманий и двойных прочтений.
Это вряд ли. Одно дело эзернетовские фреймы гонять, а совсем другое тупо с параллельной шины что-то брать. И совершенно третье внутрь tcp лезть.
>Да, походу нужен стм.
У них по одному Ethernet MAC, если что. Да и есть разные ардуины, не "слабее" чем стм.
>Че вы вообще на ней делаете? Гирлянды?
Я ничего не делаю. Делал только недавно из usbasp почти гирлянду - управление лампочкой через usb. Очень было нужно дистанционно включать с компа. Но и то делал без ардуинских иде с либами.
>То же самое что напрямую соединить проводами.
Нет, не то же самое. Не забивай голову задачей, мы сейчас возможности железки обсуждаем.
> Одно дело эзернетовские фреймы гонять, а совсем другое тупо с параллельной шины что-то брать. И совершенно третье внутрь tcp лезть.
И чем зеркалирование кадров отличается от зеркалирования уровней шины с точки зрения упомянутого мною зеркалирования трафика?
>Да и есть разные ардуины, не "слабее" чем стм.
Что ж ты тогда про них молчишь? Какие ардуины могут 100мбит через себя пропускать в том или ином виде, хоть кадрами с эзернета, хоть аналоговыми уровнями на четырех проводках, пофиг, главное чтобы она успевала сотку снимать с одного аппаратного интерфейса и тут же передавать на другой?
>И чем зеркалирование кадров отличается от зеркалирования уровней шины с точки зрения упомянутого мною зеркалирования трафика?
Схемой, программой, задействованной периферией. Из общего только наличие микроконтроллера.
>Что ж ты тогда про них молчишь? Какие ардуины могут 100мбит через себя пропускать в том или ином виде
Та же ATmega328P сможет в виде последовательности команд (я имею в вид ассемблер,если что) in, out, передавать с одного порта на другой с частотой вдвое меньше тактовой. Ну еще бесконечно in, out там не будет, потребуются команды перехода, но они редко могут быть. И если что, то это без записи в озу, только передача через регистр. Тактовая там 20 МГц, так что будет 80МБит, но можно немного разогнать тактовую и потянет сотню.
Вот только это то же самое что проводами соединить. Ну почти проводами - через параллельный регистр.
>Схемой, программой, задействованной периферией
Ты спрашивал "зачем" про задачу, а теперь объясняешь мне разницу между различными вариантами ее решения. Соберись.
>>503538
>Вот только это то же самое что проводами соединить
И все равно не то же самое.
Ладно, спасибо за консультацию. В принципе, все как и было обещано в шапке.
>Ты спрашивал "зачем" про задачу, а теперь объясняешь мне разницу между различными вариантами ее решения. Соберись.
Я вообще тебя не понимаю. Как будто на разных языках говорим.
>И все равно не то же самое.
Вот это как пример. Я то самодельные процессоры на плис делал, поэтому что ты мне втираешь какую-то дичь...
И в том что касается сравнения ардуин с стм32, то есть дурина Portenta H7, в которой STM32H747.
Скорее всего нет, и даже топовые стм32 вряд ли 100 Мбит потянут.
Сетевой стек сам по себе жирная и медленная хуйня, тут либо специализированный камень, либо ПЛИС с кастомным кодом, который будет быстро пробрасывать пакеты и делать все, что тебе нужно.
Еще понадобятся 2 ethernet phy с MII/RMII.
Если нужно только мониторить - дешевый коммутатор с 2 портами 100Base-TX и третьим портом MII, и камень, который сможет обрабатывать поток пакетов от коммутатора.
Если просто отзеркалить трафик - бери коммутатор и управляй им по SPI/дергай питание.
хочу уметь врезаться в это дерьмо - куда двигаться?
мне пока в голову приходит байпас из урдины на каждую кнопку, и при замыкании ключа она бы прокликивала что надо
но мне кажется можно в какой нибудь один сигнальный проводок врезаться и все
Есть 2 задачки:
1) Ардуино с часами (постоянным элементом питания) и wifi модулем которая парсит погоду в определённом месте и на основании данных показателей включает реле на определенное время.
2) Главный приемник ардуино с радиомодулем, который переключает реле на основании полученного радиосигнала с сомнатных датчиков СО2 (собранных тоже на ардуино)
Стандартные решения на базе обычных реле по типу РИУ-01М чет слишком дохуя выходят
https://aliexpress.ru/item/1005003510088478.html
https://aliexpress.ru/item/1005003239862904.html
https://aliexpress.ru/item/4000320561458.html
https://aliexpress.ru/item/1005002303050387.html
https://aliexpress.ru/item/1005001392172293.html
Паять не нужно (ладно только 5 проводков к модулю co2). Программировать тоже, лишь заполнить по мануалу конфигурационный файл.
https://esphome.io/index.html
Кстати забыл про более дешевый клон CCS811 под названием SGP30. Он есть в формате d1-mini что паять вообще нихуя не надо.
https://aliexpress.ru/item/4000575428246.html
>Что легче научится программировать
Смотря какая цель, для каких задач и прочее. Проще всего наверное "chinese arduino". Хоть с пердуино иде, потому что по части программирование оно не отличается от оригинала. Хоть без этого, потому что там наиболее простая начинка.
>или лучше начинать аттиайни на ассемблере?
Возможно, лишним точно не будет. Ассемблер очень простой и много времени изучение не займет, кто бы что не говорил. На ассемблере только писать сложно и бессмысленно. Это как брейнфак, проще некуда (почти), но писать очень сложно.
И по части ассемблера attiny не сильно отличаются от атмег, всего лишь у атмег набор команд немного расширен по сравнению с attiny, но все что есть в attiny, есть и в атмегах.
Чому не есп32?
Да и нахуй ардуино. Тебе уже дали есп идф с кучей батареек и фриртосом, а люди всё себя загоняют в рамки прослойки скрывающей все фичи
Откровенно не понимаю как люди ебашат спагетти без тасков, очередей, ивентбаса и тому подобных абстракций
Как тогда без всяких операционных систем сделаны такие довольно объемные штуки как lwIP, uIP, FatFs и прочее подобное?
Они делают одну задачу и написаны специально что бы подходили под любой кусок мякиша где нет ничего
Ну и их же писали прошаренные челы. А я простой Иван город Тверь и хочу удобства, что бы хуяк хуяк и в прод и не грести потом спагетти что бы добавить новую плюшку
Очередь при чтении из нее может лочить таску в ожидании что кто то другой возможно даже с другого ядра в неё запишет
Решил купить на пердуину RC522. Поставил запустил. Картчоки из комплекта читает и пишет.
А вот когда дело доходит до ключа от домофона вылезает это PCD_Authenticate() failed: Timeout in communication.
Это получается частота не та?
Собираю сирену из 8-омного 2 ваттного динамика из рации. Все примерно соответствует схеме пикрил, только без подстроечника в цепи динамика, и у меня транс PN2222A - он шел в каком-то ките когда-то в древности купленном.
Так вот, звук получается довольно тихим, даже если резистор в цепи базы всего 220 Ом. Еще я измерил ток через базу когда на выходе порта HIGH лвл, он составил примерно 20 мА, что приемлемо. Кратковременное закорачивание дает примерно 60 мА, что уже много для порта.
Вопрос такой: если я использую функцию tone(), то на выходе фактически ШИМ сигнал со скважностью 0,5 получается (примерно), значит ли это что безопасно накоротко питать базу транзистора в таком режиме? Просто с 220 Ом звук тихий, а при коротком подключении в самый раз.
5 В/8 Ом = 625 мА, у тебя транзистор недостаточно мощный.
60 мА это дохуя для пердуины.
Лучше поставить полевик с логическими уровнями на 2-3 А или составной транзистор.
>>504428
Полный мост, на динамике будет напряжение с в 2 раза большей амплитудой.
Это самый лучший вариант для громкой сирены.
561лн2 можно заменить на 2 ШИМ в противофазе.
Только что подумал что тупо можно собрать каскад, примерно вот так (пикрил). Норм?
> мост
Для меня, дауна, это как-то слишком сложно. Я вообще не понимаю почему оно должно быть громче и как вообще будет работать. Там что ли правая и левые части в противофазе открываются? Мне достаточно бы было просто кинуть на динамик чистые 5V, с полностью открытым трансом, при этом звук достаточно громкий для моей цели (это контроллер температуры дымовых газов в угольном котле, просто надо чтоб было слышно за пределами бытовой котельной, и все)
Нет, мне нужно готовое устройство хакнуть. Датчик температуры поменять не вариант.
Входное сопротивление атмеговского АЦП — 100 МОм. Забей на свои десятки кОм.
А хотя...
>>504547
>Вот подключаю я ардуинку после термистора и считаю падение напряжения
Так, падажжи, ёбана...
Падение на термисторе меряешь? Он от источника тока питается? Если нет, то хуйню меряешь, от изменения сопротивления меняется и ток и получается херня.
Схему в студию короч. Сопротивление АЦП не влияет, забей. Но по описанию не понятно, можешь в принципе хз что измерять.
Отбой, анон. Сегодня после работы расковырял девайс и понял что все попутал. Там был термопредохранитель, а не терморезистор. Пик стронгли релейтед.
Себя пожалей. Это, во-первых, тупо оповещение, для того чтоб лучше соблюдать режим, запас по допустимой температуре на дымоходе там примерно пятикратный для длительного режима. Во-вторых, это просто прихоть, ты вообще много видел котельных где кто-то контролирует температуру выхлопа?
> нуфаг
Ну да, а путать сраную аналоговую схемотехнику с построением девайсов на контроллерах - это пиздец продвинуто.
> пиздит на ардуино
ты надеюсь не настолько нуфаг сам, чтоб не понимать что проблема ардуино не в самой платформе и ее надежности, а в долбоебах которые на нем строят?
Олсо, все сделал на паре транзисторов, все работает.
Поставь everycircuit или electronic workbench, простенькие схемки смотреть самое то.
Кто из этих китайцев самый топчик для подключения к другим, рандомным контроллерам, логику работы с которыми я типа буду кодить в пердуино иде? Они ведь все умеют от внешнего таймера работать?
Обосрался, кстати
А то 2 пвм пина есть, а нужно 3. Покупал жопой.
Заебался читать бесполезные гайды, т.к. на этой параше не все бибилиотеке заводятся.
Зависит от того какая тебе нужна частота и насколько точный нужен.
И насколько у тебя код нагружен.
Вообще суть в том что все delay() заменяешь на свою функцию в которой циклично ничего не делаешь кроме переключения своего пина.
И в loop() вызываешь её же для дёрганья пина.
Обычный датчик и ардуина на одной с ним плате спасёт отца заводской автоматизации.
>Есть ли датчики, которые передают именно частоту в цифровом виде?
прям датчиков нет, частоту мерить не их задача, ищи тахометр
При чем тут ардуина?
Вот типичная зависимость чувствительности от длины волны для монохромной матрицы. И сравни это с https://ru.wikipedia.org/wiki/Закон_Рэлея_—_Джинса
Так что нет, не получится. Матрицы, даже InGaAs теряют чувствительность при длине волны максимум 2 мкм. А чтобы на 2 мкм ощутимо светило, нужна температура несколько сотен градусов.
Ну незнаю, мне кажется только в этом отеле мне бы ответили, ну и я не ошибся с выбором треда. Вот вчера подключил фототранзистор инфракрасный к ардуино, принимал сигнал в простенькой программе на компьютере, двигал по 5 мм и вручную менял какой по счету квадратик будет принимать данные. Фототранзистор поставил вертикально, сверху горело пламя горелки(посередине полосы). В зависимости от силы сигнала менял насыщенность красным и синим
А всё, вроде разобрался. Видимо не все библиотеки работающие с пердуиной, работают на esp
пламя горелки может излучать и в видимом ик диапазоне. 850 нм например
Пытаюсь собрать мини пианино для дверного звонка на базе точной копии ардуино lgt8f328p.
Вопрос такой, к каким пинам подключается динамик в этой прошивке? Правильно ли я понимаю, что я могу объединить файл pitches.h и добавить его в SSdurino.ino?
Видео того, как все работает здесь:
https://www.youtube.com/watch?v=dj_LvYzI0t4[РАСКРЫТЬ]
Скетч здесь:
https://www.dropbox.com/sh/yerkj5g8pvlw17a/AABKPxtBe8epZLmsfezQo9Oca
Хуйня какая-то. Твой скетч что ты дал просто пишет в Serial что сейчас надо играть.
>Serial.begin(31250);
>noteOn(0x90, note1, 0x7F);
>// plays a MIDI note. Doesn't check to see that
>// cmd is greater than 127, or that data values are less than 127:
>void noteOn(int cmd, int pitch, int velocity) {
> Serial.write(cmd);
> Serial.write(pitch);
> Serial.write(velocity);
>}
И куда это отправляется?
У самого автора указано, что тебе целый синтезатор нужен и тогда понятно, что эти коды в него отправляются.
Но на фотках и видео у него никакой синтезатор не подключён.
ЯННП.
>точной копии ардуино lgt8f328p
Ну, во-первых, это чип, а ардуина — девборда. А во-вторых — нихуя себе точная копия!
>У чипа Logic Green LGT8F328P есть ряд особенностей по сравнению с ATmega328P.
>131 инструкция, из которых более 80% выполняются за 1 такт.
>Отсутствие фьюзов — все параметры микроконтроллера можно настроить или изменить прямо в программе.
>Внутренний осциллятор генерирует тактовую частоту до 32 МГц, но поддерживаются и внешние генераторы импульсов.
>Напряжение питания от 1,8 до 5,5 В при максимальной тактовой частоте 32 МГц.
>12-битный АЦП на 12 каналов.
>8-битный ЦАП с внутренним источником опорного напряжения.
>Два компаратора аналоговых сигналов с гистерезисом.
А по аппаратному ускорению операций с float известно чё? Если да, то оно уже может конкурировать с СТМками младших серий.
Ещё бы улучшенный клон atmega2560 по той же схеме запилить, цены бы ему не было.
>А по аппаратному ускорению операций с float известно чё?
Допустим даже оно в каком-то виде имеется, но компилировать чем будешь? обычным gcc с флагом -mmcu=atmega328p ?
Да, спасибо за ответ.
Спустя несколько дней чтения кода понял, что у него участвует в схеме синтезатор.
Компилируется все просто. Добавляем ссылку на плату в левом меню Ардуино IDE. Потом в настройках выбираем модель и все загружается не хуже нано, причем всего за 2$
Дилдак с радиоприёмником.
В любой непонятной ситуации припаиваешь к контроллеру жк экран и клавиатуру, как в кнопочных мобилках, а дальше само придёт.
Ардуино ИДЕ уже стало вменяемой? (с тех пор как я грузил последнюю, где все еще не было даже банального автокомплита)
мимокрок
Конкретно в моем случае работает без проблем последняя версия.
С ранними версиями 1.8 были проблемы, скетчи отказывались заливаться.
То есть для того чтоб признать ИДЕ "нормальной", достаточно уже того что она грузит собственные же скетчи? топ кек. говноедство как есть.
>говорить об этом что-либо плохое.
Незаслуженно плохое, а так то недостатки можно указать в сравнении, здоровая критика полезна.
Ты слишком много хочешь от анона, который любитель обкладываться сотнями-десятками стм-ок и мастурбировать на них, если мой детектор правильно работает.
В остальном, сравни хотя бы с qt creator, который вполне подходит для микроконтроллеров. Как минимум там более-менее автодополнение работает и средства для рефакторинга имеются.
То есть то что в исходном посте было указано про отсутствие автодополнения кода - не считается, да?
Есть arduino nano. Перестала определятся компом, подключился через UART (usb-com PL2303, RX, TX, GND, DTR через конденсатор). Система стала видеть ардуинку, но при попытке записать скетч, долго думоет, а потом пишет:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9c
...
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9c
Failed uploading: uploading error: exit status 1
Что я делаю не так? Может выпаять родной CH304?
>Сижу на Arduino IDE, отличная штука.
Ага, особенно когда открываешь проект который делал 2 года назад и пытаешься подобрать параметры компиляции под него совсем от другом чипа, под который он написан.
А потом ещё пытаешься починить его под новые версии библиотек, которые обновил для другого проекта.
А в PlatformIO ты 1 раз настроил параметр компиляции, и они навсегда там.
Выбрал из списка библиотеки, и они установились в папку проекта.
Один проект у тебя под STM32 со своими библиотеками, другой под ESP8266 и они оба прекрасно компилируются не сбивая настройки друг друга.
И это я ещё не сказал про божественную подсветку ошибок, которые IDE сразу видит и указывает тебе без всяких компиляций.
>А в PlatformIO
А еще надежнее взять мейкфайл какой-нибудь с гитхаба и при необходимости немного подправить под себя. Или qmake, CMake тоже номально. А ты про какую-то совершенно лишнюю сущность.
Может тогда сразу на ассемблере писать? Зачем все эти удобности с графическими средами и кнопками?
Не разбираюсь в ардуинах, но
>UART (usb-com PL2303
Совсем не то же самое что
>stk500
UART это для для использования бутлоадера, а stk500 это полноценный программатор. Очевидно stk500 физически отсутствует.
>Может выпаять родной CH304?
Вряд ли поможет, т.к. оно по схеме подключается через резисторы 1к. И даже если там все нафиг перемкнуло что можно, все равно PL2303 перетянет уровни. Хотя мало ли что у тебя там реально припаяно, нужно посмотреть. А проще сразу отпаять, тем более что это дел на пол минуты.
выбери old bootloader в таржете
Так *make как раз про удобности с кнопками. Напердолил один раз, и срёшь потом в привычной среде.
>UART это для для использования бутлоадера, а stk500 это полноценный программатор. Очевидно stk500 физически отсутствует.
А почему avrdude пытается обратиться к нему? По умолчанию в IDE стоит AVRISP mkII. Что совершенно не мешает разным людям с ютуба сказать "Просто подключите эти 4 провода и залейте скетч".
>Очевидно stk500 физически отсутствует.
А как оно тогда без программатора шьётся через IDE, если даже на обычной плате идет всего лишь usb-ttl преобразователь?
>Вряд ли поможет, т.к. оно по схеме подключается через резисторы 1к. И даже если там все нафиг перемкнуло что можно, все равно PL2303 перетянет уровни. Хотя мало ли что у тебя там реально припаяно, нужно посмотреть. А проще сразу отпаять, тем более что это дел на пол минуты.
Ампутация чипа ничего не дала. Всё так же виснет и срет ошибками. Но через SPI все работает, что не очень удобно, потому что программатором выступает Raspberry pi.
>выбери old bootloader в таржете
Не помогло
>А как оно тогда без программатора шьётся
Через ардуиновский бутлоадер.
Любые микроконтроллеры в общем случае (бывают разные варианты, исключения) можно шить либо программатором, либо через бутлоадер. Программатор в общем случае независимо от состояния памяти микроконтроллера может взять и прошить. А бутлоадер это программка в пзу микроконтроллера, которая может принимать по какому-либо интерфейсу байтики и шить их в пзу. Для ардуин этот бутлоадер принимает байтики по uart. Ни стк500, ни isp не связаны с бутлоадером, это про прогрвмматор. Также бутлоадер в атмегах не идёт с завода, его прошивают в ардуину отдельно.
Ещё раз: разъем isp там для программатора, а uart для бутлоадера. avrdude вроде как также не имеет отношения к бутлоадеру.
Если что, то ардуин некасался, поэтому не могу подсказать какие именно кнопки там нажимать.
Получается, у меня накрылся bootloader и его нужно прошить через SPI, чтобы потом шить через UART?
Весьма вероятно. Вот тут https://alexgyver.ru/lessons/programmer-tips/ почитай, как через программатор работать, восстанавливать загрузчик или работать без него.
>>507645
>Зачем нужен контроллер для шагового двигателя, если уже есть ардуина которая может это делать?
Во-первых, чтобы разгрузить ардуину. Шаговику нужно правильно менять фазы: (0,0), (0,1), (1,1), (1,0) соблюдая цикличность. Всё это раздувает программу и жрёт такты процессора. И значительно замудоханнее всё становится, если эмулировать ардуиной микрошаг. А драйвер всё это берёт на себя, ему достаточно тактовым сигналом тыкать.
Во-вторых, шаговик нельзя подключать к пинам микроконтроллера напрямую, ему нужно тока дохуя и напруга часто в разы выше, чем у ардуины. Т.е. нужна прокладка из высокоскоростных мосфетов и токорегулирующего резистора (и кап для компенсации индуктивных нагрузок), в драйвере всё это изначально встроено.
Короче, если прям сильно хочется, можно и без драйвера шаговик прихуячить, но городить этот троллейбус из хлеба ты заебёшься. А нахуя, если A4988 копейки стоит?
>А нахуя, если A4988 копейки стоит?
Для прототипа да, а если я все на одну плату скомпоновать и atmega отдельным чипом припаять? Как мне этот а4988 втулить в одну плату? Самому разрабатывать новый контроллер?
есть int 0-50 нужно 50-0 то есть 50=0 49=1 1=49
я что то ни как не соображу
с меня как обычно
>Как мне этот а4988 втулить в одну плату?
Как на любой материнской плате 3д-принтера сделано. Припаеваешь колодки, а в них уже сверху драйвер вставляется.
Крайне сомнительно. От того что микросхема CH340 сгорела, содержимое ПЗУ само по себе не изменится.
Ты подтвердил всю суть ардуинодебилов!
Почему их безустанно форсят? Сейчас можно макету 32х бит cortex или risc-v купить свободно за 4 бакса.
Потому что у восьмибитников есть свои преимущества (в том числе такие, которые не связаны с разрядностью, но тем не менее присутствуют в конкретных семействах).
Например, у АВР (и пердуино) высокоомный АЦП.
Кроме этого, у восьмибиток команды короче (занимают меньше байт). Т.е. в восьмибитный контроллер с тем же объемом флеша влезет значительно больше кода.
-иногда количество нужных либ тупо больше
-иногда 5в питание и входы критично в проекте
-коммьюнити тупо больше, больше статей и проектов
-всегда есть под рукой, в ближайшем магазине, на али
А то чет даже по гуидам из гугла всё подрубаю и ардуинка вырубается
>Объясните нахуя сейчас в мире где есть 32х разрядные МК нужны Ардуино и прочие восьмибитники?
>Почему их безустанно форсят? Сейчас можно макету 32х бит cortex или risc-v купить свободно за 4 бакса.
1. Ардуино это не МК. Ардуино это мультиплатформенная среда, позволяющая работать с целым зоопарком чипов от разных производителей с одного IDE, сохраняя более-менее взаимозаменяемость.
2. Восьмибитные атмеги (в простонародье именуемые ардуинами) банально лучше всего изучены и предсказуемы. На них точно работают все библиотеки, под них точно есть ядро (и не одно) с нормальной поддержкой, и в этом ядре всё работает как надо и легко дебажится. В отличие от хитровывернутых ядер для esp12/32 или всяких там Teensy. Не под все МК ядра вообще дописаны, а где-то они написаны по-ёбнутому и половину памяти выжирают.
А ещё атмеги довольно дубовые и неубиваемые. Короче, это такие жигули, которые всегда едут, а если не едут - их устройство просто и понятно, и не требуется эзотерического пердолинга с низкоуровневыми функциями.
В планах сделать простой чпу на CNC shield
>легко дебажится
А как ты легко дебажишься в ардуине, расскажи мне? Я вот только в кубе умею легко дебажиться.
Мне надо ресетить доску из кода при такой фигне, или этот датчик можно как-то поднять без перезагрузки?
Говнокод: https://gist.github.com/rurubell/27117b0a152cea41cfa440bc6aaec34f
Насмотрелся я пикрила и решил запилить свою аркадную машину, да не простую, а с монетоприемником. Но не могу придумать, как реализовать его работу.
По моей задумке в ней должен быть таймер, в котором прибавляются минуты при забросе монеток - чем больше монет, тем больше минут. Когда время заканчивается, отключаются джойстики. Но я даже не знаю, с какой стороны к реализации этой идеи подойти, в какую сторону начать гуглить.
Учитывая, что я в ардуине в целом не шарю, то даже не знаю, как правильно задать вопрос. В моем понимании ардуино должно стоять в центре всей этой затеи, монетоприемник посылает сигнал на счетчик, по окончании времени ардуино отключает джойстики.
Но еще нужно, чтобы посылался сигнал на выход из эмулятора, чтобы игра не оставалась включенной и вся система выходила в главное меню для выбора игр. Или всю эту затею можно реализовать программно, без помощи внешней электроники?
>Насмотрелся я пикрила
Твой протык?
Непонятно, что ты хочешь. Чтобы несколько игр крутились на ардуине и на ней же считались монетки, или ардуина только считает, а игры на чём-то другом?
>Твой протык?
Не, просто ретроблогер, не бери в голову
>Непонятно, что ты хочешь.
Игры будут крутиться на компьютере. HyperSpin в качестве оболочки, плюс эмуляторы. В качестве джойстика - самосбор из комплекта кнопок и джостиков, с алиэкспресса. От ардуины требуется, чтобы она отсчитывала время, прибавляла к таймеру по сигналу с монетоприемника и включала / выключала джойстики. И еще чтобы в комп комбинации кнопок отправляла иногда. Еще хотелось бы, чтобы воспроизводила звуковые файлы при достижении определенного времени на таймере - есть идея, чтобы когда время подходит к концу, это голосом озвучивалось. Звук, естественно, будет из обычных компьютерных динамиков идти.
Ну, в целом, да. Одной ардуиной обойтись вполне, только исполнительные устройства понадобятся. Таймер на борту есть, счётчик монет вот https://youtu.be/lH4qfGlK2Qk, для звука возьмёшь ЦАП i2c или spi с усилителем, джойстикам будешь выключать питание ключом любым, на комп по уарту будешь слать байты.
Вот только для реализации надо уметь погромировать хоть как-то.
Про программирование сейчас уроки курю, думаю справлюсь. Вопрос такой - если включать / выключать джойстики, то не будет ли винда сношать мозг тем, что новое устройство найдено / ненайдено? Что такое уарт?
>будет ли винда сношать мозг тем, что новое устройство найдено / ненайдено?
Хз. Скорее всего будет.
>Что такое уарт?
https://ru.wikipedia.org/wiki/Универсальный_асинхронный_приёмопередатчик
Конвертер UART-USB — самый простой способ коммуникации ардуины и пекарни. И он уже есть на плате.
Понятно, спасибо.
1) Какие подводные сейчас в покупке нанок за 200 рублей с Али? У меня с незапамятных времён оставалась пара палёнок, одна даже неотмытая от флюса. Работают нормально, но я их тут покупал (пропердолился полвечера с одной из них, но оказалось, кабель говнится).
2) Что бы такое взять с вафельницей на борту?
3) Что бы такое придумать в качестве энергонезависимой памяти на несколько байт (максимум килобайт)? Понятное дело, что слоты для SD стоят копейки, но блин...
У меня нет жестких требований по качеству, мне поиграться, внутри помещения.
Ладно, я дурачок, и то, что у меня есть целый килобайт EEPROMа, нагуглить смог, давайте заменю на разумный вопрос:
3а) Чем бы вы запитывали автономный ардуинодевайс? Понятное дело, что самый лучший вариант — это помер-банк, но если девайсов несколько, то зачем мне столько помер-банков? Пока мой выбор — копеечная коробочка для 18650, одну на пробу заказал, скоро забирать. Но если есть вариант более подходящий и дешёвый, я бы вдул.
>Какие подводные сейчас в покупке нанок за 200 рублей с Али?
Да особо никаких. Ну клоны бывают, но с ними особых проблем нет.
>2) Что бы такое взять с вафельницей на борту?
Wifi? Для чего? Кота поилкой поить за сто рублей в соседней комнате или тайный сервер поднимать по торговле наркотиками?
>3а) Чем бы вы запитывали автономный ардуинодевайс?
Для чего, тысяча чертей? Для автономного шпионского датчика? В машине фарами мигать? На квадрокоптер повесить? Токи измерять с точностью до микровольта?
От АЭС бы запитывал. Вот бы было охуенно иметь личную АЭС, а ещё я бы там жил и тёлок водил трахаться в пультовую.
Автономный шпионский квадрокоптер по торговле котами в машине, как вы вообще без них живёте?
Да блин, для любой самодвижущейся хренотени нужно и то, и другое. Или самоносимой. Не могу, знаешь ли, без мигающей диодом в кармане платки на улицу выйти, боюсь, что быдло бояться не будет.
Вот так. Собственно так определяют что за железка воткнута в комп, если лень или не получается внутрь залезть и посмотреть, а драйвера не установлены. Ну например, винда слетела на ноутбуке, установил заново а какие драйвера пихать непонятно. Хотя если у тебя драйвера установились, то и VID&PID должны совпадать, но кто тебя знает.
Она вообще не видится в диспетчере, там просто ком порт1 и все, пердуина не подсвечивается.
Перезагружал, не помогло. Это буквально первое что я делаю в любой не понятной ситуации.
Ну это слишком винтажно. Минимум 8051, вот на него со скрипом ардуину можно натянуть ещё
Не натянешь, для ардуина С++ нужно.
>>510690
А зачем 8048 вообще? Реально чтобы ногами с такого нормально подрыгать, придется к выходу цеплять КР580ВВ55, это после того как память прицепишь, потому что внутри слишком мало. Зачем оно так?
Лучше возьми ИМ1821ВМ85А, по количеству микросхем примерно то же самое получится в итоге, но посовременнее оно и с компиляторами лучше дела обстоят.
А я тебе говорил сразу в закремленном треде, чтобы ты не выебывался и учил фасм.
Школота ебаная. Два месяца прошло а ты до сих пор не сделал нихуя.
>пубертатное говно
Ето ты так лисапединк своего ассемблера на фасмг для проца 50-летней давности при живых родных ассемблерах из 70-80х называешь? Но меня это не интересует ты пойми... Я бы паскакаль или си бы делал но при таком колве памяти ето нинужно... Лучше бы ты под CP/M настоящих тулз порекомендовал или на спектрум а не выебывался попусту...
>Не натянешь, для ардуина С++ нужно.
При очень большом желании это не проблема!
https://habr.com/ru/post/313898/
После долгого раздумья было решено взять clang и использовать его для синтаксического разбора пользовательского кода с последующим созданием чистейшего C-кода, который уже будет собираться SDCC. Таким образом, мы используем clang как транслятор С++ кода в Си, а не как полноценный компилятор.
>>510690
Могу найти в металле и золоте RISC-V. От миландра, да. А керамика не нужна уже, нахуя тебе DIP в 2к22?
>это не проблема
Проблема. Под 8048 нет си.
>2к22
Если мне нужна не мелкосхемка в белой керамике с окошком, а микроконтроллер, я беру стмку/еспшку.
На I2C ты их в параллель будешь вешать, на SPI для CS обыкновенный дешифратор поставь.
>Если мне нужна не мелкосхемка в белой керамике с окошком, а микроконтроллер, я беру стмку/еспшку.
А нахера тебе металлокерамика то? Керамика нужна только если у тебя DIP, но МК в корпусе DIP никто не производит давно, ближайшее это типа
1986ве92у конечно хуй купишь ты их, но суть ты понял
Угу, отлично.
Я просто заказал ещё кусок деталей, пинов может не хватить, не хочу наткнуться на то что ещё одну деталь ждать месяц, возможно есть какое-то общеизвестное решение, а не как я, который будет переключатель на транзисторах будет собирать вручную.
Ты троллишь или просто тупой? Зачем люди себе покупают оригинальные ZX спектрумы и коммодоры в 2к22?
Ну а каким хуем тогда там ардуина? Люди точно покупают спектрумы не чтоб запускать там линуксы или микропитоны.
А КР1816ВЕ51 разве не было в металлокерамике? И вообще, если упарываться совсем, то можно сделать самому керамический адаптер для какой-нибудь QFN микрухи, но совместить советскую металлокерамику с ардуиной - вряд ли. Только если найдешь что-то подо что есть sdcc
>КР1816ВЕ51 разве не было в металлокерамике
Нахуя мне твой ВЕ51, если у меня УЖЕ есть ВЕ48, умник
>покупают спектрумы не чтоб запускать там линуксы
Ты что купил себе спектрум чтобы запускать на нем ПРЫЩЕ-ОСЬ?
Можно ли это пересобрать на пищалку, и насколько я понял в модели перегорает led, что нужно добавить на плату что бы этого не происходило? Опыта в электронике у меня нету. Опыт с паяльником небольшой есть. Буду рад советам, если что полезу ковыряться сам.
https://www.youtube.com/watch?v=rfPwOtoGO4E Пока что единственная модификация платы которую я нашел, думаю частично повторю в тупую потом буду разбираться.
>производит
>новые разработки
Жопой-то не верти, умник.
Причем тут разработки вообще? Это же всего лишь корпусировка.
На маузер заходишь в микроконтроллеры, фильтруешь по дип-корпусам. Видишь сотни актуальных моделей.
Поздравляю, ты только что усилитель
А ты уроки сделал на понедельник, знаток малолетний?
Корпусировку делают для промышленных предприятий, а не для школьников наподобие тебя. Никто на заводе проволочки твои к QFN припаивать не будет.
>можно ли где-то новые дисплеи взять, чтоб без этих всех телефонных вырезов
Телефонные дисплеи, уже лет 12-14 как, поголовно с интерфейсом MIPI. Ардуина в такие скорости не умеет совсем никак.
>помощнее могут?
Могут. У ST, вроде 7хх серия с этим интерфейсом есть. Но один хуй, там диффпары, выравнивание длин дорожек, милипиздрические разъемы и тяжелый матан при погроммировании.
> поголовно с интерфейсом MIPI
Спасибо, я по запросу нашёл статью про esp32 и емкостный дисплей, даже со ссылкой где купить
https://www.youtube.com/watch?v=kNFrFcyY0PE
>тяжелый матан при погроммировании
Что, либок прям ваще не завезли? юзать дисплей на стандартном интерфейсе это дохуя нетривиальная задача?
Для разрешения до 480х320 есть без проблем на АлиЭкспресс с параллельным интерфейсом или spi. Там видеобуффер встроен. Частота кадров - сколько успеешь.
Дальше идёт lvds который можно преобразовать в параллельный и обратно с помощью пикрил.
Lvds нормально работает до x720 и даже х1080.
Другое дело что ардуина такое видео не сформирует, и смысла нет. Потому что в таких дисплеях нет буффера и изображение нужно выводить постоянно потоком.
Наконец есть hdmi дисплеи для распьерри.
Наверное подойдёт, спасибо. Разве что не нравится, что у неё очень большие края. В идеале хотелось бы больше относительную площадь дисплея.
>>511006
> Наконец есть hdmi дисплеи для распьерри
Так это же для одноплатных пк, а не для микроконтроллеров, не?
> 480х320 есть без проблем на АлиЭкспресс с параллельным интерфейсом или spi
А там есть ёмкостные и размером от 3.5 до 5.5 дюймов?
Нет, мальчик, никто к нему проволочки паять не будет, ибо он для этого не предназначен (тем более на заводе). Такие выкрутасы называются "колхоз".
>qfn крута мам смари
Ты напрасно полагаешь, что если QFN сложнее для твоих кривых ручонок, то и для линии автоматической сборки он тоже сложнее. Все совсем наоборот.
Есть какие-то модули или чипы или ещё что?
Анимедаун спок
Поделить на 4 и усреднять.
>А там есть ёмкостные и размером от 3.5 до 5.5 дюймов?
https://aliexpress.ru/item/1005004345381420.html
Как грязи!
Спасибо, закажу
Правда я пересчитал, и понял, что мне побольше надо в ширине, чем 5 см, 6-7 см лучше, причём желательно дисплей ближе к квадратному или круглый/овальный. Ладно, пока начну хоть с какого-нибудь.
Да все с тобой ясно с самого начала было. Ты 15-летний дебил с комплексом уженевзрлслого, которого гнобили родители на тему сначала вырасти, и ты в итоге сделал целью своей жизни доказывать всем вокруг что ты взрослый.
И вот такие как ты, совершая маленькую ошибку в прочтении сообщения, ничего не могут с собой поделать, кроме как привычного паттерна.
Я тебе просто сообщил, что dip нахуй никому твой не нужен на заводе, там сразу qfn припаяют и твой аргумент про завод не канает. А ты начал какую-то ахинею нести сделав вид будто не понял о чём речь. Ну хуй тебя-то знает, может ты и всерьез такой.
Теперь у тебя в паттерна два варианта: отмолчаться или гринтекст, простыня ряя. Но ты сам попросил объяснить тебе, то что ты не понимаешь. Что я и сделал. Так что не надо больше обижаться.
>dip нахуй никому твой не нужен на заводе
Почему тогда всякие блоки питания так часто делают с ножечными элементами? Причем на гетинаксе. И не только блоки питания.
мимо проходил
Я тебе по секрету скажу, что твой пост ему не докажет, что ты уже взрослый человек. А все почему что ты пишешь недостаточно солидно и весомо и не создаешь впечатления взрослого человека... Но ничего, если постараться, то у тебя получится. Дерзай. Можно его забороть вместе. Вот, а еще твоя ошибка в том, что завод только производит и собирает плату. Проектирует же плату обычно заказчик. И завод, следовательно, физически не может там поменять DIP на QFN, т.к. у него нет исходного проекта платы.
>Очевидные большая мощность/напряжение очевидны.
У TL494 и подобных более современных?
>Дешево.
Конечно, а еще и вытекающие из этого последствия.
Современные не делают, рассыпуха smd, остальное выводное только потому что нет альтернативы дешёвой.
А раньше массово делали, по-другому не могли.
>>511121
>твой пост ему не докажет, что ты уже взрослый человек.
Я и не претендую.
>все почему что ты пишешь недостаточно солидно и весомо и не создаешь впечатления взрослого человека...
Ну это просто мечта любого русского, стать большим, а остальные люди просто живут и делать вид им не нужно. Достаточно быть собой.
>Но ничего, если постараться, то у тебя получится. Дерзай. Можно его забороть вместе. Вот, а еще твоя ошибка в том, что завод только производит и собирает плату. Проектирует же плату обычно заказчик. И завод, следовательно, физически не может там поменять DIP на QFN, т.к. у него нет исходного проекта платы.
Я думаю, ты семенишь. Не надо никого бороть, надо поправить пиздеж если есть и все.
>Современные не делают, рассыпуха smd, остальное выводное только потому что нет альтернативы дешёвой.
Пошли жалкие оправдания. Не, там основная проблема в том что из гетинакса многослойные платы не особо получаются.
>А раньше массово делали, по-другому не могли.
Обыкновенные TL494 в смд существуют ну очень давно, так что это не аргумент.
>надо поправить пиздеж если есть и все
Вот и поправь свой пиздеж. Он есть
>Современные не делают
Можешь на маузере проверить, что делают. Ну что ты как невзрослый человек.
На макетной плате это будет хуйня на соплях. А без хотя бы макетки ты как собирался? Навесным? %5Ебанутый?%%
>>511153
Потому что в БП есть компоненты в большинстве которым как раз критично напряжение и все эти там пропилы и интервалы. А совмещать сру-хол линию и смд - дорого, да и нахуя, когда у тебя и так производственным линиям по 20+ лет, а они ещё работают и удовлетворяют спрос? Поэтому там и используют DIP.
Но, в компактных маломощных БП можно встретить и совмещенный монтаж.
Смотрю в сторону WeMos D1 mini. Самый недорогой вариант выходит.
У меня следующий проект:
Девайс должен зайти по вайфай в интернет. Посетить сайт, там взять с помощью регулярки число. Число в диапазоне от 0 до 25. Чем оно выше - тем больше частота мигания. (ну либо диапазоны, типа 0-5 - частота Х, 5-10 - частота х*2 и т.д.)
Я нуб, но вроде WeMos D1 mini полностью подходит. Тем более у него питание по юсб, просто подключит к павербанку и пусть лежит себе, помигивает.
Также есть олед компонент. одно в другое залезает, удобно. Но это уже второй этап.
И еще не могу понять зачем берут ардуино когда есть пикрил? У него и проц. сильнее, вайфай встроен. ЮСБ как питанеи и как заливка. Размер меньше. Ок, согласен, пинов меньше.
>И еще не могу понять зачем берут ардуино когда есть пикрил?
Дуйня это просто и понятно, а ты под свою хуйню попробуй покодить на нативе.
> Дуйня это просто и понятно, а ты под свою хуйню попробуй покодить на нативе.
Нахуя? https://github.com/esp8266/Arduino
>Нахуя
Замена дуйневого говнокода на правильно написанный натив сразу компенсирует нехватку вычислительных мощностей. Вот только натив на авр требует сферические две-три строчки на инициализацию оборудования, а на есп, как впрочем и на любом другом 32бит цп, нужно производить знатные приседания, и все это при том, что возможностей авр зачастую предостаточно для решения задачи.
>вайфай встроен
Это постоянно отваливающееся говно само по себе живой форумный гэг конца десятых.
Ты че попутал пердуина нейтив РИАЛЬНЫЙ.
Ты слыш епта веб сервер мне запилил быра в три строчки бля нахуй.
Бля вот с ардуиной внатуре чотенько терь пахает.
>Замена дуйневого говнокода на правильно написанный натив сразу компенсирует нехватку вычислительных мощностей
Ну для 8266 может быть, но для 32 ардуина это вполне себе официальный и легитимный фреймворк. Да и какая нахуй нехватка вычислительных мощностей на ДВУХЯДЕРНОМ 32 БИТНОМ ПРОЦЕ НА 240 МГЦ?
>>511191
Можешь взять esp32-wroom-devkitC, там всё ещё пиздатее по той же цене
Да не слушай ты етого тупого быдлана он нешарит. Скорей всего он шкальник пердикс. У него блять менеджед код на аврке ебааать ваще шиза.
>Тем более у него питание по юсб, просто подключит к павербанку и пусть лежит себе, помигивает.
Да, только ненадолго. Выжрет он твой павербанк за сутки, потом будешь чесать репу что с этим делать. Так например китайский клон wemos wroom (esp шилд с кроваткой под батарейку) жрёт в простое порядка 9мА даже при использовании deepsleep'а, что дохуя, и поэтому живёт от стандартного 18650 не более пяти суток.
Да запросто может быть такое как пишет тот анон. Достаточно всего лишь впаять вместо малопотребляющего LDO что-нибудь вроде AMS1117 и будет при вовсе отключённой нагрузке потребление 5-10 мА.
При подключении горит только повер(плата UNO)
Ой NANO фикс
Это который черный длинный? На нем ничего не написано, как можно узнать какой?
const uint8_t EN = 3;
const uint8_t L_PWM = 11;
const uint8_t R_PWM = 10;
не работает нихуя. подключаю двигатель к блоку питания напрямую - все нормально. напряжение блока питания 12,67v
как можно еще попробовать проверить работоспособность этого драйвера? без ардуины это возможно? уже думаю, что китайцы свинью подложили мля....
У атмеги выводы аппаратного шима фиксированы.
>проверить драйвер без ардуины
Подай постоянку на вход шима.
>У атмеги выводы аппаратного шима фиксированы.
что это значит? если для чайника?
>Подай постоянку на вход шима.
можно поподробней? не совсем представляю как это сделать. я должен оставить питание 5V на VCC и GND? и при этом еще подать любой слабый сигнал (например от батарейки 3,3в) на L_EN (-) и L_PWN (+), например?
>что это значит?
Забей. Прочитал код, в этом случае пофиг.
К S+, S- подключай питание мотора, к Vcc, R_EN, R_PWM подключай +5 В, к GND, L_EN, L_PWM 0В. Мотор должен закрутиться на максимальной скорости.
>Если тебе дали то, что тебе нужно, причем совершенно бесплатно - верх неблагодарности говорить об этом что-либо плохое.
Это просто-напросто необходимое дополнение к платам, ибо школьники навроде тебя мейкфайлы и гцц осилить не в состоянии. Естественно, затраты на разработку этого гибрида батника и блокнота включены в цену самих плат.
>>506898
Это ты еще не видел версию 2.0... Это говно на электроне.
Забей, ты ничего не докажешь дебилам, которые не чувствуют говно.
не сработало. все-таки свинью подкинули китайцы.
Если мне надо проверить, замкнута ли цепь на массу, я делаю INPUT_PULLUP mode и проверяю состояние входа, правильно?
А если к тому же выключателю, который замыкает цепь на массу, подключено ещё что-то? Мне надо ставить какой-то диод на вход ардуино, чтобы ток не пошёл на вход ардуино? Или всё и так будет работать?
>А если к тому же выключателю, который замыкает цепь на массу, подключено ещё что-то?
Например 220 из розетки? Тогда сгорит может быть, в зависимости от остальных подключений. А может там подключен "запал от атомной бомбы"? Это значит что в зависимости от этого чего-то может быть что угодно.
>Мне надо ставить какой-то диод на вход ардуино, чтобы ток не пошёл на вход ардуино? Или всё и так будет работать?
Нарисуй для начала схему. В процессе может и сам сообразить.
>Например 220 из розетки?
Нет, те же 5 вольт, что ардуино питают.
Схему нарисовал, но пока не сообразил.
Например, на пикче кусочек. Слева разъём, контакт №8 подключен к датчику, замыкающемуся на массу.
Справа №11 - вход, который должен определять, замкнута ли цепь на массу. Параллельно подключен диод. Пойдёт ли ток после диода только на массу через разъём слева, или ещё и через вход ардуино?
Законы Кирхгофа изучи.
>Параллельно подключен диод
Это ты про светодиод? Ладно, тогда можно на примере светодиодных светильников. Взяли удлинитель с тремя розетками на выходе. В первую розетку воткнули лампочку. Дойдет ли "ток" до оставшихся розеток.
Извини, если что. Но я тебя даже понять не могу.
Спс, примерно понял.
Ты же понимаешь, что штучное производство аккумулятора/платы такой точности/дисплея выйдет дороже, чем пойти купить новые Samsung watch и переставить из них начинку?
У меня уже есть аккумуляторы похожего форм фактора в сломаных блютуз наушниках на 30Mah и на 60Mah. OLED Дисплеи продаются без проблем, к примеру тот же SSD1306 0,66 дюйма за за 5 баксов на алике.
Единственное, что сложно, так это плата и и смд пайка.
>платы такой точности
Если речь идет о ATtiny85, то это максимум qfn корпус, ничего особого для него не требуется. А стоить плата таких размеров и до 6 слоев у jlcpcb будет 700 рублей вместе с доставкой, ну и по желанию еще трафарет 1000 рублей.
>>511889
>Единственное, что сложно, так это плата и и смд пайка.
Ну что поделать и что советовать? Освой какой-нибудь сапр для печатных плат, начерти все, закажи и припаяй.
Клеем мастер из фикспрайса заливаю все платы.
>, что сложно, так это плата и и смд пайка
Проводами запяй, тут же соединений почти нет. У 85 всего-то 6 линий максимум.
Выйдет даже компактнее, если сделать 3д монтаж.
Только часы получатся неточные, смарт функции какие? Калькулятор разве что без датчиков.
Зарядка через ltc4054. УСБ тайп си есть 2 пиновые, 6 пиновые чисто на питание, которые легко запаять.
Защита от переразряда с помощью детектора пониженного напряжения.
Наверное лучше делай все таки плату, слишком много деталей. Но прототип все равно проще из модулей сделать на проводах.
Ну и по итогу окажется, что avr лишняя деталь в конструкции.
А китайцы умудряются в свои часы впихнуть слот сим карты и микро сд.
Я еще не определился с микрухой, да и с платой тоже.
Нужно что-то изучить, а то на фломастерах с лутом ничего таких размеров, думаю, не получится.
>>511933
Как макет, навесной монтаж на время отладки сойдет, но не на постоянку.
Думаю дополнительный часовой модуль с кварцем вроде DS1337 или еще чего-то, не знаю еще.
А функционал который нужен: минимум: часы, календарь с днями недели, секундомер, напоминалка о днях рождениях. Другой функционал вроде и нужен, но не обязательный, да и наверное может и не поместится в корпус, будильник с пьезо динамиком или зуммером, доступ к блютусу и вайфаю для отображению уведомлений с телефона и отображение погоды, но это чувствую нужно ESP, а оно уже совсем слишком масштабно и чрезмерно.
ltc4054 есть кстати, и еще какие то микрухи из сломанных наушников, но не могу разглядеть слишком уж мелко.
Лучше просто повтори чью-нибудь готовую конструкцию.
https://gitlab.com/_Pegor/kepler_fw/-/tree/master/Hardware
Вот это выглядит более-менее, с учётом того что многие справедливо считают смарт часы бесполезной игрушкой.
Дополнительный модуль не стоит того, проще взять контроллер со встроенным RTC.
У меня идея аналогичная сделать смарт плеер. Формат часов слишком много накладывает ограничений для меня.
В плеере есть кнопки навигации по меню нормальные и экранчик. Это самый удобный способ управления устройством из простых.
Функции туда добавить все из смартфона, которым не нужно декодировать видео.
Тут будет и флешка micro sd и аудиовыход 3.5, и вай-фай с блютуз. Хотя возможно от УСБ откажусь в пользу esp32-c3.
Можно будет использовать как беспроводные наушники, плеер, может быть и подкасты послушать удастся с Ютуба.
Дополнительно хотелось бы встроить туда низкоуровневые функции, типа терминала uart. Экран цветной будет.
Нет, на вид это будут обычные часы, только с OLED экраном.
>>512045
Вот это то что нужно! Благодарю, а то сам то я бы это не нашел.
CC2640 я про него даже и не слышал... Покопался в исходниках и прифигел, наверное это слишком сложный проект для меня, я до такого уровня не дорос. Но определенные идеи из него можно взять.
>>512046
Наверное проще, но я же не знаю какой, даже мыслей нет.
Это еще сложнее, во всяком случае в программном плане.
Решил, что буду делать не смарт часы, а просто часы с OLED экраном, с 3 кнопками, с аккумыляторным блоком питания на 30Mah, а из функций, часы, секундомер, календарь с днями недели, и возможно будильник и напоминалка о важных датах и днях рождения.
>обычные часы, только с OLED экраном
Т.е. ты возьмешь дедовы часики, вынешь оттуда механизм, и засунешь олед с алика? Лол.
Ну вон там по ссылке выше так и сделано со старыми касио.
Ничего такого в этом нет, в отличии от ардуины, да и смарт-часов тоже.
Там без тача. Как ты собрался без тача всей этой хуйней управлять? Учить магические заклинания из кнопок?
Порридж, спокуха. А то заставлю тебя настроить механические наручные часы.
Одной кнопкой переключать режимы, и ещё две на стрелки.
Мимо
>Порридж
Своих кривляющихся в пок-поке выблядков так называй, мань.
>Одной кнопкой переключать режимы, и ещё две на стрелки.
Зачем так много? Достаточно одной: обычное нажатие - режим, короткое и длинное - стрелки. Можешь еще термодатчик рядом приделать, тогда у тебя еще будут холодные и горячие нажатия. Для холодных юзер может носить с собой лед в термосе, для горячих использовать свой пердак)).
Гибрид Casio (почти нихуя не умеют) и Apple Watch (живут несколько дней) хочешь себе ты, а хлопок тут у кого-то другого почему-то, лол )
https://www.youtube.com/watch?v=N5e-LE5BJOU
Алекс, иди нахуй.
Ну или посоветуйте что лучше взять, чтоб запитать esp32, чтоб это мне подходило
Давай тушить тогда скорей! Подстанавливай свой полыхнувший пердак!
>>439210
>стедикам
если ты еще тут, поищи инфу по SimpleBGC и STorM32 - контроллеры и софт для управления бесщеточными моторчиками по трем осям исходя из показаний датчиков положения (сомневаюсь, что оно опенсорс с доступными схемами, но есть туча гайдов по DIY-сборке - возможно подкинет тебе пару идей для реализации)
и просто позанудствовать, вроде оригинальные стедики были неактивные - только система противовесов на шарнире
Пожалуйста анончик у меня опущенная жизнь а ты видно всего добился между нами пропасть зачем тебе троллить просто пройди мимо пораши, ты же все равно уже съехал с темы на которой обосрался, зачем тебе ещё меня мучать? Пожалей омежку.
>Надо сделать метеостанцию.
>Или можно собирать соединять заливать прошивки и готово.
Так готовые продают.
А если делать, то тебе питание от батареек нужно? Если от батареек, то тут очень легко обосраться по сравнению с готовыми метеостанциями, у которых батарейки в датчике хватает на год и больше.
Готовые метеостанции хуйня какая то. Один модуль на улице а один дома, на каком то вайфае ебаном. А мне надо сразу 5 на улице. А что ардуина от одной 18650 херово работать будет? Там по сути надо чтобы раз в 5 минут датчик считывал температуру и радиомодуль отправлял сигнал. Это что много энергии жрать будет.
>Готовые метеостанции хуйня какая то.
Может быть, особо не интересовался. Тоже делал что-то вроде метеостанции, но у меня довольно специфическая по применению штука на MLX90614, еще и камеру туда вкорячил. На твоем месте я бы рассмотрел использование если не готовых метеостанций, то хотя бы выносных термометров от них, чтобы самому не велосипедить такую ерунду. По крайней мере на rtl-sdr оно прекрасно принимается через https://github.com/merbanan/rtl_433
Вот, по 300 рублей продают https://aliexpress.ru/item/1005005070264875.html В отзывах пишут что оно принимается через rtl_433. Как вариант можешь взять на лохито старенький планшет на винде с x86, воткнуть туда свисток и все, останется только написать простенький скриптик, который возьмет данные от rtl_433 и красиво нарисует. Планшет можно за пару тысяч рублей взять, термометры 5 штук по 300 рублей и еще rtl-sdr около 1000 рублей, в сумме все получается около 5000 рублей если по минимуму за почти полностью готовое решение. А на ардуине так ли сильно дешевле обойдется? Да еще и кучу всего банального велосипедить нужно.
Самому лучше делать что-то с уникальными характеристиками, например на TMP117 для разнообразия, хоть и смысла в этом не особо.
>А что ардуина от одной 18650 херово работать будет?
Смотря как делать. Можно считать что по мере разряда у 18650 напряжение меняется от 4.2 до 3.5 В примерно. Это соответствует небольшому току разряда и почти полному использованию емкости аккумулятора.
А потом берем Пердуино УНО, а там отдельный вход питания есть, но туда нужно подавать от 6...7 до 12...20 В в зависимости от того какой LDO вкорячат китайцы. Поэтому если запитывать так, то нужно два аккумулятора. Ну ладно, ничего страшного, можно и два поставить. Вот только LDO там даже без нагрузки будет отжирать 5 мА а то и больше. А этого хватит на 2000 мАч/5=400 часов или чуть больше двух недель или даже меньше, в зависимости от LDO. При этом в готовых метеостанциях пара батареек АА или ААА с намного меньшей емкостью, а хватает на год. Все, ты обосрался если решил брать пердуино уно для датчиков.
Но можно взять Пердуино ПРО Мини, без LDO. Вариант с кварцем на 8 МГц можно питать напряжением в диапазоне 2.7 - 5.5V, то есть от одного лития напрямую. Еще лучше было бы кварц на 4 МГц или меньше, тогда нижняя граница питания была бы 1.8 В, но Пердуино ИДЕ вроде как не поддерживает такие инновации. При этом разумеется все остальные части также должны работать в требуемом диапазоне напряжений питания и не отжирать ток в существенных количествах, пока бездействуют. И разумеется необходимо в самой пердуине использовать спящий режим. Однако и тут множество способов обосраться, если сравнивать с готовыми решениями.
>Готовые метеостанции хуйня какая то.
Может быть, особо не интересовался. Тоже делал что-то вроде метеостанции, но у меня довольно специфическая по применению штука на MLX90614, еще и камеру туда вкорячил. На твоем месте я бы рассмотрел использование если не готовых метеостанций, то хотя бы выносных термометров от них, чтобы самому не велосипедить такую ерунду. По крайней мере на rtl-sdr оно прекрасно принимается через https://github.com/merbanan/rtl_433
Вот, по 300 рублей продают https://aliexpress.ru/item/1005005070264875.html В отзывах пишут что оно принимается через rtl_433. Как вариант можешь взять на лохито старенький планшет на винде с x86, воткнуть туда свисток и все, останется только написать простенький скриптик, который возьмет данные от rtl_433 и красиво нарисует. Планшет можно за пару тысяч рублей взять, термометры 5 штук по 300 рублей и еще rtl-sdr около 1000 рублей, в сумме все получается около 5000 рублей если по минимуму за почти полностью готовое решение. А на ардуине так ли сильно дешевле обойдется? Да еще и кучу всего банального велосипедить нужно.
Самому лучше делать что-то с уникальными характеристиками, например на TMP117 для разнообразия, хоть и смысла в этом не особо.
>А что ардуина от одной 18650 херово работать будет?
Смотря как делать. Можно считать что по мере разряда у 18650 напряжение меняется от 4.2 до 3.5 В примерно. Это соответствует небольшому току разряда и почти полному использованию емкости аккумулятора.
А потом берем Пердуино УНО, а там отдельный вход питания есть, но туда нужно подавать от 6...7 до 12...20 В в зависимости от того какой LDO вкорячат китайцы. Поэтому если запитывать так, то нужно два аккумулятора. Ну ладно, ничего страшного, можно и два поставить. Вот только LDO там даже без нагрузки будет отжирать 5 мА а то и больше. А этого хватит на 2000 мАч/5=400 часов или чуть больше двух недель или даже меньше, в зависимости от LDO. При этом в готовых метеостанциях пара батареек АА или ААА с намного меньшей емкостью, а хватает на год. Все, ты обосрался если решил брать пердуино уно для датчиков.
Но можно взять Пердуино ПРО Мини, без LDO. Вариант с кварцем на 8 МГц можно питать напряжением в диапазоне 2.7 - 5.5V, то есть от одного лития напрямую. Еще лучше было бы кварц на 4 МГц или меньше, тогда нижняя граница питания была бы 1.8 В, но Пердуино ИДЕ вроде как не поддерживает такие инновации. При этом разумеется все остальные части также должны работать в требуемом диапазоне напряжений питания и не отжирать ток в существенных количествах, пока бездействуют. И разумеется необходимо в самой пердуине использовать спящий режим. Однако и тут множество способов обосраться, если сравнивать с готовыми решениями.
1) Зачем тебе 5 градусников на улице? Смотри на один и тот же пять раз, результат точно такой же будет.
2) 18650 при минусовой температуре обмякнет через три минуты, ты.
А у этих термометров с Али позывные уникальные? Как сдр будет их различать. И что если на ардуино с радиомодулем на 433 и экраном сделать приемник этих температур. Он сможет их расшифровать?
Улица сарай гараж подвал и прочее
>А у этих термометров с Али позывные уникальные?
Не знаю, нужно уточнять. На али еще продаются WH31, там явно можно задать канал переключателями под крышкой. Можешь еще поискать что-нибудь, их же много разных должно быть.
>И что если на ардуино с радиомодулем на 433 и экраном сделать приемник этих температур.
Могу ошибаться, но похоже что почти у всей этой ерунды на 433 МГц используется тупо амплитудная манипуляция, поэтому действительно можно принять этими простыми радиомодулями которые для амплитудной манипуляции.
>Он сможет их расшифровать?
Только если ты напишешь код. А ты справишься? А если справишься, то не жалко времени для такой ерунды?
Как понимаете, события и время к творчеству не особо располагало, но раз уж обещал показать результаты, то приходится делиться контентом.
Руль завершен на 95%. Во время сборки снова всплыли проблемы, о которых молчат другие авторы (или они с ними не сталкивались) и на решение которых уходит время и нервы.
Моя проблема в том, что я немного ошибся при разработке платы mmjoy2 и так же не обратил внимания на соединение контактов подрулевых переключателей от калины. Но самый ахуй мне доставила сегодня программа программирования кнопок в контроллере. Выяснилось, что не смотря на её возможность подключить 49 кнопок в теории на моей версии микросхемы, задать режим работы кнопки получается только до кнопки 32. Кнопки 33 и далее игнорируют установку параметра работы и сбрасывают его в исходное значение. Причина мне не ясна, а гайдов, как я писал ранее, нет. Разбираться в причинах уже нет времени и сил. Моя версия разводки платы такова, что половина кнопок находится за диапазоном 1-32 и корректной работы переключателей с фиксацией я получить не могу.
Попробую изменить временно режим работы за счет переброса распиновки кпп на эти диапазоны, а переключатели переведу на контакты кпп, которые работают в диапазоне 1-32. Так же пришлось припаять временную разводку на саму плату, потому что не хватило рядов на кнопки. В общем, плату придется переделать и перепраграммировать все кнопки на диапазон 1-32, но пока хочу запустить в работу с этой версией. Гемор так же доставили сами подрулевые, где один общий контакт идет и на режим с фиксацией и без нее. Изначально предполагалось, что фиксированный режим будет работать на плате mmjoy2, а режимы без фиксации уедут на плату руля. Но общий контакт заживо похоронил это дело - при попытке соединить общий контакт с платой руля на ней появляются ложные срабатывания кнопок при включении режима с фиксацией. В общем, опыт - сын ошибок трудных.
В целом, корпус готов, собран. Его форму я вновь изменил, остановившись на одном из вариантов. Нужно допечатать оригиналы крепежа подрулевых выключателей и декоративные крышки (пока напечатаны временные версии). Надеюсь на этой неделе соберу и опробую в деле. Пока бегло выяснилось, что усилие моторов и вибрация руля мгновенно раскручивает гайку его крепления вместе с пружиной шайбой. Планирую посадить это все на фиксатор резьбы.
Как понимаете, события и время к творчеству не особо располагало, но раз уж обещал показать результаты, то приходится делиться контентом.
Руль завершен на 95%. Во время сборки снова всплыли проблемы, о которых молчат другие авторы (или они с ними не сталкивались) и на решение которых уходит время и нервы.
Моя проблема в том, что я немного ошибся при разработке платы mmjoy2 и так же не обратил внимания на соединение контактов подрулевых переключателей от калины. Но самый ахуй мне доставила сегодня программа программирования кнопок в контроллере. Выяснилось, что не смотря на её возможность подключить 49 кнопок в теории на моей версии микросхемы, задать режим работы кнопки получается только до кнопки 32. Кнопки 33 и далее игнорируют установку параметра работы и сбрасывают его в исходное значение. Причина мне не ясна, а гайдов, как я писал ранее, нет. Разбираться в причинах уже нет времени и сил. Моя версия разводки платы такова, что половина кнопок находится за диапазоном 1-32 и корректной работы переключателей с фиксацией я получить не могу.
Попробую изменить временно режим работы за счет переброса распиновки кпп на эти диапазоны, а переключатели переведу на контакты кпп, которые работают в диапазоне 1-32. Так же пришлось припаять временную разводку на саму плату, потому что не хватило рядов на кнопки. В общем, плату придется переделать и перепраграммировать все кнопки на диапазон 1-32, но пока хочу запустить в работу с этой версией. Гемор так же доставили сами подрулевые, где один общий контакт идет и на режим с фиксацией и без нее. Изначально предполагалось, что фиксированный режим будет работать на плате mmjoy2, а режимы без фиксации уедут на плату руля. Но общий контакт заживо похоронил это дело - при попытке соединить общий контакт с платой руля на ней появляются ложные срабатывания кнопок при включении режима с фиксацией. В общем, опыт - сын ошибок трудных.
В целом, корпус готов, собран. Его форму я вновь изменил, остановившись на одном из вариантов. Нужно допечатать оригиналы крепежа подрулевых выключателей и декоративные крышки (пока напечатаны временные версии). Надеюсь на этой неделе соберу и опробую в деле. Пока бегло выяснилось, что усилие моторов и вибрация руля мгновенно раскручивает гайку его крепления вместе с пружиной шайбой. Планирую посадить это все на фиксатор резьбы.
Как писал мне один анон, шпилька м12 действительно оказалась хлипковата - из-за установленного подрулевого блока ее длина увеличилась и при сильном нажатии на подрулевые переключатели, руль слегка гнется на оси. Придется потом поменять на М16 с переделкой опор под новые подшипники. В целом, пока доволен. Недостатки буду устранять в следующем году.
>Придется потом поменять на М16 с переделкой опор под новые подшипники.
Может быть не обязательно переделывать. Возможно теперь стоит взять шпильку из нержавейки, они все намного прочнее дешевых из углеродистой стали. Либо вовсе можно взять высокопрочную шпильку с классом прочности повыше. Они конечно дороже, но и переделка время займет.
>>513667
Он вроде писал, что BATYA обладает токарным, там уже много вариантов получше шпильки вырисовывается.
Алсо, можно попробовать алюминиевый конструкционный профиль, на котором 3д-принтерасты собираются. Малый вес, йобистая жесткость, шестерни с квадратным отверстием скорее лопнут чем провернутся, ну и в пазах можно линии под всякие кнопки прокладывать.
Я такой вариант попробую. Проблема в том, что кабанчики в магазинах готовы продать тебе товар либо километрами, либо вагонами. Я уже не раз сталкивался с тем, что нужный мне товар продают только оптом и никто не готов работать со штучным заказом. В магазинах крепежа в городе всё те же шпильки из леруа. Мне придется купить через интернет метровую и отрезать от нее менее трети, ибо шпилек по 30см я пока не видел. Но посмотрю еще раз.
На самом деле слабая шпилька это сейчас не самая большая проблема. Куда более серьёзный нюанс вылез при установке шкивов на моторы с передаточным числом 11.6. На испытательном стенде было соотношение 8.75, плюс пониженное напряжение бп из-за сгибания основания и проворота ремня. Сейчас эти недостатки я устранил и выяснилось, что два мотора 775 при полной мощности лихо раскручивают контргайки на рулевом шкиве. А до этого раскручивали гайки руля. Руль сегодня посадил на фиксатор резьбы, завтра посажу на фиксатор сам рулевой шкив. Не знаю, хватит ли этого.
>>513672
Batya не хочется напрягать лишний раз, да и шпильку высокопрочную он мне не сделает - не из чего.
Квадратный профиль это пиздец конечно. Мало гемора со шпилькой мне. Хотя именно по причине шпильки я не подключил гудок на руле - провод никак не подвести. Да и вообще никак их не вывести, на руле ведь нет ограничителя оборотов, все ставится и работает только при запущенной программе управления рулем
Фиксатор резьбы пока держит все соединения. Нужно переделать крепеж подрулевых, они близко к рулю встали и при активном рулении периодически включаются. Ездить на них в режиме шифтера неудобно - ложные нажатия и не вращаются единым блоком вместе с рулем. Но руль изначально делался на неторопливые игры типа ETS или говномесов.
Заказал уже новую электронику и провода под переделку, саму модель пока не менял, допечатаю декор для этого варианта, а дальше видно будет. Вообще когда занимаешься подобными вещами, начинаешь понимать сколько человеко-часов вложено в серийные модели и каков объем труда на каждом этапе, особенно когда что то делаешь впервые и не факт, что это что то будет рабочим вариантом.
Самое интересное выше было что ли? Почему не рассказываешь, как телеметрию из игры получаешь? Как в игре видится руль? На чём плата управления и как USB реализован?
1. Прерывания
2. Опрос.
Это просто счётчик, внутри одно единственное число. От него и отталкивайся.
До следующего поста пройдет пару месяцев минимум, так что пока вкратце расскажу как устроена система и опишу какой апгрейд я хочу сделать.
Изначально нашел схему с первого пика и работал с ней. Сразу скажу всем - НЕ ИСПОЛЬЗУЙТЕ ЕЕ, не тратьте время и нервы. Программа управления рулем там багнутая, периодически теряет связь с энкодером без возможности быстрого восстановления.
На втором пике схема, которую раскопал я на странице фейсбука ее автора. Она распространяется бесплатно вместе с программой управления и калибровки. Но если сделать донат автору в размере 10$ на пейпал, то он сбросит тебе индивидуальную программу для твоего ПК в виде расширенной версии управления, где можно, например, задавать кривые осей. Я хотел приобрести именно расширенную версию, но из-за одного Пидораса я не знаю, когда смогу это сделать. Для нищеброд-стайла пойдет и лайтовая версия программы. Во всяком случае я пока не столкнулся с непреодолимыми трудностями в играх из-за отсутствия тонких настроек руля и педалей. Сам автор прекратил выпуск новых прошивок на ардуино и сейчас ведет разработки на микросхеме STM32.
Для руля берется все та же плата ардуино леонардо с чипом 32u4. Прошивается прошивкой и подключается согласно схеме. Все работает после этого "из коробки", ничего дополнительно крутить-вертеть не надо. На новой схеме, кстати, на энкодере уже установлены подтягивающие резисторы, отсутствующие на первой схеме (на первой схеме в качестве энкодера используется зачем-то старый энкодер от лазерного принтера).
На третьем пике схема из проекта mmjoy2. Ардуино микро на чипе 32u4, прошивка от mmjoy2. Изначально я использовал ее в первом варианте схемы для работы кнопок и педалей на самодельных датчиках Холла, т.к. первая схема напрочь отказывалась их видеть. Когда же переехал на вторую схему, где заработали педали, хотел отказаться от этой ардуины, но понял, что новый вариант поддерживает работы кнопок в качестве простого нажатия, в то время как моя КПП требовала режим работы в качестве тумблера, который можно было задать в mmjoy2. Так в моем руле вынужденно образовались две платы - плата руля с простыми кнопками и плата mmjoy2, где задавалась работа кнопок, которые работали как тумблеры. Подключается это все дело двумя usb кабелями к ПК
До следующего поста пройдет пару месяцев минимум, так что пока вкратце расскажу как устроена система и опишу какой апгрейд я хочу сделать.
Изначально нашел схему с первого пика и работал с ней. Сразу скажу всем - НЕ ИСПОЛЬЗУЙТЕ ЕЕ, не тратьте время и нервы. Программа управления рулем там багнутая, периодически теряет связь с энкодером без возможности быстрого восстановления.
На втором пике схема, которую раскопал я на странице фейсбука ее автора. Она распространяется бесплатно вместе с программой управления и калибровки. Но если сделать донат автору в размере 10$ на пейпал, то он сбросит тебе индивидуальную программу для твоего ПК в виде расширенной версии управления, где можно, например, задавать кривые осей. Я хотел приобрести именно расширенную версию, но из-за одного Пидораса я не знаю, когда смогу это сделать. Для нищеброд-стайла пойдет и лайтовая версия программы. Во всяком случае я пока не столкнулся с непреодолимыми трудностями в играх из-за отсутствия тонких настроек руля и педалей. Сам автор прекратил выпуск новых прошивок на ардуино и сейчас ведет разработки на микросхеме STM32.
Для руля берется все та же плата ардуино леонардо с чипом 32u4. Прошивается прошивкой и подключается согласно схеме. Все работает после этого "из коробки", ничего дополнительно крутить-вертеть не надо. На новой схеме, кстати, на энкодере уже установлены подтягивающие резисторы, отсутствующие на первой схеме (на первой схеме в качестве энкодера используется зачем-то старый энкодер от лазерного принтера).
На третьем пике схема из проекта mmjoy2. Ардуино микро на чипе 32u4, прошивка от mmjoy2. Изначально я использовал ее в первом варианте схемы для работы кнопок и педалей на самодельных датчиках Холла, т.к. первая схема напрочь отказывалась их видеть. Когда же переехал на вторую схему, где заработали педали, хотел отказаться от этой ардуины, но понял, что новый вариант поддерживает работы кнопок в качестве простого нажатия, в то время как моя КПП требовала режим работы в качестве тумблера, который можно было задать в mmjoy2. Так в моем руле вынужденно образовались две платы - плата руля с простыми кнопками и плата mmjoy2, где задавалась работа кнопок, которые работали как тумблеры. Подключается это все дело двумя usb кабелями к ПК
Сейчас у меня проблемы с подрулевыми переключателями - иногда контакт тех же поворотников проскакивает на соседнюю дорожку по инерции. На автомобиле этим делом управляет реле, которое довольно инерционно, а здесь электроника мгновенно реагирует как на срабатывание тумблера и отключает поворотник. И получается ты ручку повернул, он мигнул и тут же погас, а ручка повернута стоит. Как от этого избавиться электронно я не знаю, попробую пошаманить с пружиной рычажка, чтобы уменьшить ее жесткость и усилие переключения.
Буду заново переделывать платы руля и кнопок - у руля уберу пару рядов неиспользуемых под кнопки контактов, а на плате кнопок корректно пропишу использование выключателей по номерному порядку.
Думаю еще как-то решить вопрос с двумя проводами питания этих плат на один. На ум пришел провод-сплиттер, но у нас они не продаются, а на али китайцы честно пишут, что на передачу данных работает только один провод из соединенных двух.
Заказал еще три кнопки с али, думал сначала добавить их на переднюю панель руля, но сейчас уже задумался об изготовлении полноценного буттон-бокса с ключом зажигания и прочей аутентичностью. Так же жду металлические крепления двигателей 775 - сейчас стоят пластиковые, мне не нравится их жесткость.
Установленного простенького блока питания с али на 150вт хватает для питания двух моторов 775. Уже понял, что можно было немного сэкономить на месте, если купить блок как от ноутбука и перевести руль на внешнее питание моторов. Но это уже экстетизм.
Сейчас у меня проблемы с подрулевыми переключателями - иногда контакт тех же поворотников проскакивает на соседнюю дорожку по инерции. На автомобиле этим делом управляет реле, которое довольно инерционно, а здесь электроника мгновенно реагирует как на срабатывание тумблера и отключает поворотник. И получается ты ручку повернул, он мигнул и тут же погас, а ручка повернута стоит. Как от этого избавиться электронно я не знаю, попробую пошаманить с пружиной рычажка, чтобы уменьшить ее жесткость и усилие переключения.
Буду заново переделывать платы руля и кнопок - у руля уберу пару рядов неиспользуемых под кнопки контактов, а на плате кнопок корректно пропишу использование выключателей по номерному порядку.
Думаю еще как-то решить вопрос с двумя проводами питания этих плат на один. На ум пришел провод-сплиттер, но у нас они не продаются, а на али китайцы честно пишут, что на передачу данных работает только один провод из соединенных двух.
Заказал еще три кнопки с али, думал сначала добавить их на переднюю панель руля, но сейчас уже задумался об изготовлении полноценного буттон-бокса с ключом зажигания и прочей аутентичностью. Так же жду металлические крепления двигателей 775 - сейчас стоят пластиковые, мне не нравится их жесткость.
Установленного простенького блока питания с али на 150вт хватает для питания двух моторов 775. Уже понял, что можно было немного сэкономить на месте, если купить блок как от ноутбука и перевести руль на внешнее питание моторов. Но это уже экстетизм.
Руль же можно больше одного оборота провернуть ? Каким образом работает датчик положения руля
Да и двигателя тут только 2.
Двигателей там два - по краям. Оба модели 775. В центре под валом руля стоит энкодер.
>>514885
Руль вращается свободно. Ограничитель вращения ставится программно - включается программа управления рулем, где ты задаешь параметры: угол поворота, силу ограничителя, инерцию и прочее. Когда программа загружена, ограничитель работает. Доходит до крайнего положения и включает двигатели на сопротивление вращению.
Спасибо за ответ
У меня необычный реквест
Нужно сделать на ардуино херню которая будет подключаться к трубке моего домофона, и при поступлении звонка на него через wi-fi слать http запрос на заданный адрес
Готов ли кто-то взяться за деньги? Сколько это будет стоить? И еще было бы круто если бы вы для меня статью написали по итогам этой поделки подробную: как, что, куда, зачем
без проблем, я так понимаю с этой есп это будет чуть сложнее чем с ардуино, я согласен хоть так хоть так, лишь бы работало
Да.
Хочу реализовать все на прерываниях, сейчас реализовано так. Прерывание настроено на любой тип изменения сигнала(и фронт и спад), когда прерывание срабатывает, то запоминается считывается конкретное значение в данный момент времени, патом запускается таймер, который через какое то время, должен измерить состояние на этом пине, и сказать что произошло, если из за дребезга, опять произойдет прерывание, то таймер сбросится и начнёт свой отчёт сначала.
4 варианта трактовки первое и последнего измерения:
if(первое измерение == 1 && последние измерение == 1)
{
Кнопка нажата
}
if(первое измерение == 1 && последние измерение == 0)
{
Кнопку нажали и отпустили
}
if(первое измерение == 0 && последние измерение == 0)
{
Кнопка отжата
}
if(первое измерение == 0 && последние измерение == 1)
{
Кнопку отпустили и нажали
}
Норм?
Посоветуйте книгу о программировании ардуино на современном C++. Можно на английском.
После семи лет активного ардуинодрочерства, десятков завершённых проектов, меня ставит на место обычный LCD-дисплей, с какими играются дети, которым подарили их первых ардуино-набор.
Из двух (2004 и 1602) не работает ни один на двух разных ардуинах - nano и mega. Ни по i2c, ни напрямую. Если и работает, то отображает только один символ в строке. Либо показывает иероглифы, хотя я точно помню, что на 2004 выводил кириллицу года три назад. Примеры из интернетов и от библиотек не работают. Пробовал на современном arduino ide, и на старом. Везде результат одинаково печальный.
Пишу не столько ради того, чтобы мне помогли, сколько чтобы выплеснуть хоть куда-нибудь свой рейдж. И порадовать здешнего анончика чужой болью :3
>показывает иероглифы
Это нормально. В этих дисплеях всего лишь один набор из 256 символов. В некоторых дисплеях два таких набора. Соответственно все алфавиты не помещаются никак, поэтому для кириллицы нужна специально локализованная версия. Конечно есть вариант исхитриться с пользовательскими символами, но их слишком мало для всего алфавита сразу.
>Примеры из интернетов и от библиотек не работают.
Лишь бы только документацию не открывать...
у тебя или потенциометр выкручен на максимум, или китайская подделка I2C-to-SPI адаптера, и нужно использовать другую либу, не родную.
или и то и другое сразу.
for chinese chip "PCF8574T", "ABX919.", "1 12", "knG18133", board label "MH"
first use i2c_scanner to find I2C address (e.g. 0x27)
then try these two libs:
1) recommended: https://github.com/duinoWitchery/hd44780
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
// hd44780_I2Cexp lcd(I2C_addr, chiptype, RS_pin, RW_pin, EN_pin, D4_pin, D5_pin, D6_pin, D7_pin, BL_pin, BL_level);
hd44780_I2Cexp lcd(0x27, I2Cexp_PCF8574, 0,1,2,4,5,6,7,3,HIGH);
then use I2Cexpdiag example until
> Walking 1s data test: PASSED
> Address line test: PASSED
if not - rotate the PCF8574 PCB and connect its pins 0-16 to 16-0 pins on LCD, and repeat.
! 1 thing to remember to get the backpack mounted correctly is: to trace down where the potentiometer center lead goes. It must connect to pin 3 of the LCD. If it isn't, it means the backpack is backwards, flip the backpack over an it should now connect to pin 3.
then
! If all pixels are on, or no pixels are showing, but backlight is on, try adjusting contrast potentiometer
- rotate the blue box until pixels appear
2) could try also: https://github.com/fmalpartida/New-LiquidCrystal
#include <LiquidCrystal_I2C.h>
// LiquidCrystal_I2C lcd(I2C_addr, EN_pin, RW_pin, RS_pin, D4_pin, D5_pin, D6_pin, D7_pin, BL_pin, BL_polarity);
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
у тебя или потенциометр выкручен на максимум, или китайская подделка I2C-to-SPI адаптера, и нужно использовать другую либу, не родную.
или и то и другое сразу.
for chinese chip "PCF8574T", "ABX919.", "1 12", "knG18133", board label "MH"
first use i2c_scanner to find I2C address (e.g. 0x27)
then try these two libs:
1) recommended: https://github.com/duinoWitchery/hd44780
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>
// hd44780_I2Cexp lcd(I2C_addr, chiptype, RS_pin, RW_pin, EN_pin, D4_pin, D5_pin, D6_pin, D7_pin, BL_pin, BL_level);
hd44780_I2Cexp lcd(0x27, I2Cexp_PCF8574, 0,1,2,4,5,6,7,3,HIGH);
then use I2Cexpdiag example until
> Walking 1s data test: PASSED
> Address line test: PASSED
if not - rotate the PCF8574 PCB and connect its pins 0-16 to 16-0 pins on LCD, and repeat.
! 1 thing to remember to get the backpack mounted correctly is: to trace down where the potentiometer center lead goes. It must connect to pin 3 of the LCD. If it isn't, it means the backpack is backwards, flip the backpack over an it should now connect to pin 3.
then
! If all pixels are on, or no pixels are showing, but backlight is on, try adjusting contrast potentiometer
- rotate the blue box until pixels appear
2) could try also: https://github.com/fmalpartida/New-LiquidCrystal
#include <LiquidCrystal_I2C.h>
// LiquidCrystal_I2C lcd(I2C_addr, EN_pin, RW_pin, RS_pin, D4_pin, D5_pin, D6_pin, D7_pin, BL_pin, BL_polarity);
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
Спасибо этому >>517378 товарищу за решение ковырять на низком уровне.
>Конечно есть вариант исхитриться с пользовательскими символами, но их слишком мало для всего алфавита сразу.
Восьми пользовательских символов достаточно, остальное колхозится из латиницы и японских иероглифов.
Вот они "знания" дуинщиков во всей красе.
>остальное колхозится
Вот именно. Если на английском написать, будет лучше выглядетб чем такое.
Ну спросил.
> А можно как-то попроще, чтобы бкз него?
Ну, попробуй через ФНЧ пропустить: https://digilent.com/reference/learn/microprocessor/tutorials/debouncing-via-rc-filter/start
В общем, жажду советов мудрых.
Пять секунд работы акселерометра, и точно так же включится сирена.
Представь: ты сидишь на пляже, на соседнем полотенчике лежит рюкзак. Подходит какой-то альфач в трусах, роется в рюкзаке. В рюкзаке что-то визжит. Альфач с невозмутимым видом продолжает рыться. Что-то берёт и уходит.
Ну и что ты сделаешь?
Он возвращается с глумливой рожей и ссыт в рюкзак. Визг в рюкзаке захлёбывается. Снова уходит.
Купил rc552. Припаял ножки. Соединил с ардуиной как написано. Проверил 10 раз. В ардуино уно прошил rfid-cloner из примеров. В сериал порт пишу 1.Read card. Ничего не читает. И как понять я что-то сделал не так или мне дохлую плату дали? Я и карточку прикладывал и брелок - ничего.
>децибел на 120
Децибел на 120 тебе киловаттный аккумулятор надо в рюкзаке носить и концертную колонку с пять рюкзаков размером.
На 120 рекламных, а не реальных децибел. https://www.amazon.com/dp/B079L2KBG7/
Но пишут, что всё равно очень громко.
Ну я примерно за столько ее и купил.
Подключил еще 3.3в и гнд, которые не были указаны, теперь комплектные брелок и карту читает. Ключ от домофона почему-то не видит. Почему так?
Я даун. Там частота другая.
Ладно. Еврей я или нет, в конце-то концов?
Кто даст охуенно крутой, подробный и детальный ответ, который позволит, уже не сомневаясь ни в чем, собрать то что планируется, и ответит на все возникшие по ходу изучения вопросы, тот получит 500 рублей на то платежное средство, которое он оставит в том же самом посте.
Добрый вечер всем присутсвующим. Я авиасиммер, хочу собрать педали, потенциометр достану из старого джойстика, но не хочется колхозить и всю остальную ненужную начинку вставлять в конструкцию. Можно ли на ардуинке все это собрать с учетом того, что я совсем не понимаю в электронике и программировании? Есть NanoV3 с чипом 168 и какое-никакое умение паять. Каковы мои шансы? Есть готовые скетчи на такой случай?
Если ты не шаришь от слова совсем, то тебе пизда. Ты либо делаешь адский колхоз, либо начинаешь хоть чуть-чуть изучать предмет, чтобы сделать что-то стоящее.
По поводу твоего вопроса вот https://sites.google.com/site/mmjoyproject/o-proekte. Покупаешь микросхему, прошиваешь, подсоединяешь, калибруешь, летаешь.
Анон а как управлять бесколлекторным мотором как шаговым (не знаю как правильно написать). Помню где то видел как им на немного поворачивали через какую то плату. Но не могу вспомнить что это было.
>BGC 3.1 MOS Large Current Two-axis Brushless Gimbal Controller Driver alexmos
Короче есть вот такой. Это управление подвесами камеры. Контроллер. Он двумя движками может управлять. Есть на три. Как найти нечто подобное для одного движка? И что бы он контачился с ардуино и позволял управлять так же. Фиксация в одном положении, небольшой угол поворота. Я просто Brushless Controller Driver нашел но хуй знает который то что я хочу.
чтобы управлять бесколлекторным мотором как шаговым, нужна какая-то обратная связь по положению, по акселерометру как в >>519693 или по энкодеру, как в принтерах. Определись с этим и сделай сам:
https://www.instructables.com/DIY-Brushless-Gimbal-with-Arduino/
Какая охуенная статья. Спасибо анон буду разбираться.
https://github.com/dilshan/arduino-superhet
>вашей
Твоей. Ты точно куда больший ардуинщик чем большинство анонов в тренде.
>сделал СУПЕРГЕТЕРОДИН на ардуйне
Там ардуйня только для управления синтезатором частоты. То есть дурина там совсем не основная деталь, считай так, просто сбоку прилеплена.
Я точно куда меньший ардуинщик чем большинство анонов в тренде.
там совершенно обнаковенная атмега с минимумом обвязки. Бери и пиши без ардуинских библиотек, кто тебе мешает?
>как работают эти интерфейсы не узнаешь
Там знать нехуй, да и тебе не нужно это будет в большинстве случаев. Другой вопрос, что часто нужно бывает узнать, почему эти интерфейсы НЕ работают, как надо...
1. Nvidia jackson
2. Nvidia jetson tx
3. Neural Compute Stick
На первые два можно грузить мощное такое ПО с нейронкой на борту. Третий вроде бы уже с готовой нейроночкой на борту, можно прям к первым двум подключать и он будет распознавать изображение
Да как же вы заебали... Это просто разные девайсы, для разных целей. Всё равно что "нахуй нужен молоток, если есть перфоратор".
> Ардуино
Ебать сложная хуйня эта ваша ардуина.
Открыл гуид на хабре по постройке дрона и тут же меня начали пичкать пикрил матаном, а потом каким-то жутким кодом
Ничего не понятно что куда подключать, где питание, сколько вольт
ты ещё стм не пробовал
А зачем ты матан в школе не учил?
Это на ардубина сложная, это дроны сложные, а ты сначала светодиодиком помигай и лазерную турель из указки пары сервоприводов запили.
> лазерную турель из указки пары сервоприводов запили
define турель
если самонаводящаяся, то тут надо видеопоток в реалтайме обрабатывать, ардуине на такое не хватит ни мощности, ни памяти
А причём тут ардуина? Это пид-регулятор обычный. Он так будет выглядеть хоть на ардуине, хоть на стме хоть на вышеупомянутой невидии.
Ты понимаешь, что это НЕМНОГО разные вещи? Ардуина это микроконтроллер, это даже не SoC. А ты скинул полноценные компьютеры
>>520479
> гуид по постройке дрона
> начали пичкать пикрил матаном
Здравствуйте, добро пожаловать в ТАУ. Как ты без матана сможешь выдать на пропеллер такие обороты чтобы у тебя коптер завис в воздухе?
> без матана сможешь выдать на пропеллер такие обороты чтобы у тебя коптер завис в воздухе
И че теперь в матан вкатываться ?
Нужен МК, дешёвый, доступный, чтоб у китайчав всегда в наличии. Главное требование - USB и минимум 44 цифровых IO.
https://www.lcsc.com/products/Microcontroller-Units-MCUs-MPUs-SOCs_11329.html
параметры поиска не сохраняются в url, так что вбивай сам
общеизвестные посредники - это вопрос времени, когда они попадут под санкции. Серьёзные кабанчики создают свои фирмы-прослойки, им из бюджета бабло хорошо отваливают, и всё равно их периодически банят
обычным людям - рекомендую просто не жить у вас
а малинка уже не входит в задачу
Ну собирай на чём другом. Формула регулятора не изменится и надобность в нём не пропадёт.
Не, ну так все могут..
Что из них менее геморней, чтоб было как на ардуньку куча модулей? Или хотя бы нормальная среда разработки. И что из ник ВНЕЗАПНО не пропадёт.
Значит наводящуюся по внешнему целеуказанию.
>рекомендую просто не жить у вас
Спасибо, но нет. Мне тут нормально, а "не у вас" меня никто не ждёт да и просто ничем оно не лучше. Что-то мои знакомые армяне не рвутся обратно на родину, как раз наоборот. Потому что они армяне, а не идиоты.
>>520686
>Или хотя бы нормальная среда разработки.
Нормальные среды разработки универсальны - такие как qt creator, visual studio, clion, в них через симейк или другой мейк можно прикрутить для компиляции что угодно. Там где такого нет уже только из-за этого нормальными не назовешь.
>чтоб было как на ардуньку куча модулей?
Чего? И с какого перепугу "модули" от "ардуиньки" нельзя подключить к любому другому микроконтроллеру? Если ты о тех модулях которые платы с детальками.
>нормальная среда разработки
>ставит в пример ардуино иде
Ебанутый? У тех же стм эклипс на куче плагинов. Это уже в 1000 раз лучше, чем всратый ардуиноблокнот. Ещё и отладка внутрисхемная, ничем внешне не отличающаяся от отладки компьютерной программы, да ещё кодогенератор для конфигурирования периферии мышкой.
У авр есть студия. Можешь кстати брать свою пердуину и прошивать сразу камень на ней, без этих вот костылей с загрузчиками и usb-uart.
У китайцев тоже есть свой пердоленый эклипс с нескучным скином, разве что без генератора.
У остальных хз, но наверняка что-то подобное. Даже если у кого-то нет напердоленного производителем установщика, в котором всё собрано, осталось только установить, то этот >>520694 прав. Главное тулчейн достать, к любимому блокнотику с кодом оно привязывается за пять минут.
Суп. Аноны. вопрос следующий. Я новичок, мало что понимаю в этих делах.
Получил с Алика клон Arduino UNO R3 на чипе ATMega328PB. Нет загрузчика.
Есть ардуино ATMega328P, там загрузчик есть. Скетчи грузятся, диод мигает.
Пробую прошить загрузчик, подключаю по пикрилу.
Поставил MiniCore. Выставил там настройки пикрил2.
avrdude: device signature = 0xff0000
avrdude main() error: expected signature for ATmega328PB is 1E 95 16
double check chip or use -F to override this check
Не шьется.
Нашёл какую-то мутную инструкцию (https://arduino.ru/forum/obshchii/vse-pro-atmega328pb-0?page=1), что надо менять конфиг avrdude, но так и не понял, кто на чем стоял.
Помогите, пожалуйста.
удобряю. Arduino IDE - то еще говно говн. Vscode или eclipse с ардуинскими (или platformio) плагинами куда вменяемее, если хочется юзать либы оттуда.
>У тех же стм эклипс на куче плагинов
Такая же хуйня, даже еще хуже, потому что ебли на старте больше.
Ебаный блядосишный код во все поля. Структурки-структурочки ебаные. Заполняем ебаные поля, ребята! Даже ардуиновский недо-апи приятнее.
За каким хуем вообще графический редактор (по сути) WYSIWYG нужен для настройки ПИНОВ МИКРОКОНТРОЛЛЕРА блять, тоже непонятно.
>Ебаный блядосишный код во все поля
>Пишешь на си, выёбуешься на стандартные конструкции языка
Какое такое, кстати, чудоапи ардуиновское?
>WYSIWYG
Не совсем и WYSIWYG, во вторых — натыкал мышкой, получил рабочее устройство в половине говнослучаев, когда нужен очередной переходник между интерфейсами или типа того.
Есть ардуино уно и есть шилд А9 gprs/gsm.
Есть ли способ сделать из этого говна сервер, чтоб отправлять на него http запросы и чтоб ардуина щелкала релешкой.
Я сделал вариант когда ардуина подключается к моему серверу и постоянно шлет гет-запросы и читает состояния релешек с моей БД. Но это говно работает со скоростью 10 секунд на включение реле.
А мне нужно очень быстро.
Хуярить малинку на линуксе и разворачивать сервер на ней и ее колхозить к ардуине с релешками?
Есть у кого опыт вывод ардуины в сеть и желательно на щите а9 (https://iarduino.ru/shop/Expansion-payments/gsm-gprs-shield.html)
Я полагал что скорости 40кбит/сек достаточно чтоб считать пару цифр состояний с моей БД, но там гет запросы и ответ на них пиздец долго идут. А уже включение это модуля занимает целую минут. Вчера весь день потратил на тестирование и смог сделать только 10 секундную задержку на команду. Пиздец.
хзз как для этого модуля, но в общем держи tcp соединение как можно дольше, а не открывай новое каждый раз
digitalWrite(), Serial, Wire и прочая хуйня. Весьма упрощает перенос кода между железками, знаешь ли (особенно учитывая, что либы тоже, как правило, их все поддерживают).
>>520768
То же самое можно делать и кодом, без всяких кликаний мышкой. Например, как в ардуино: Serial.begin(9600); Serial.println("HELLO"). Но нет, блядь, нужно запилить целый графический редактор для неграфических данных, который еще и тонну бойлерплейт-дристни высрет зачем-то.
>digitalWrite(), Serial, Wire и прочая хуйня. Весьма упрощает перенос кода между железками
Наоборот оно все усложняет. Как пример https://github.com/hjd1964/OnStep
Только посмотри что там делалось для переноса на разные микроконтроллеры. Ну и стоило оно того? По моему нет, выигрыша по объему и сложности кода никакого. Зато теперь фиг перенесет на то для чего нет ардуйни. Хотя тебя вряд ли это переубедит.
Ардуино-боги! Нарисуйте куда подключить ваше IDE к древнему контроллеру i.mx257?
>Ардуино-боги!
Я не из этих, извини. Но отвечу.
>к древнему контроллеру i.mx257
Это целый SoC, там линукс работать может или андроид.
>Нарисуйте куда подключить ваше IDE
Не нужно, но если так хочется, то ставишь туду линукс, а под линуксом запускаешь иде. Если хочется и код прям из иде там запускать, то например https://github.com/maniacbug/ncore
Оно самое и есть по сути, хули, только более-менее свою функцию выполняющее. Мировая практика, между прочим!
>>520832
>i.mx257
Это тебе не ардуино, а билдрут какой-нибудь нужен, или опенврт
>>520826
>Как пример:
>(и тут задрот вываливает миллион файлов, большая часть содержания которых к делу не относится)
Ты дебил совсем? Ты думаешь, я реально подорвусь щас читать всю эту не нужную и не интересную мне хуету ради того, чтобы показать тебе, какой я задрот дохуя шарящий, и оспорить твои тезисы, в ложности которых я и так уверен? Мань, да мне похуй, как будто нехуй мне заняться больше, чем всю эту пердуинодристню листать. Либо тащи конкретные места (строки), где там что не так, либо нахуй проходи.
>пердуинодристню
Сказал пердуинщик.
>Либо тащи конкретные места (строки),
Сам то как думаешь, если равномерненько размещать по коду все эти замечательные и хорошие
>digitalWrite(), Serial, Wire и прочая
То легко ли будет перенести код на другой микроконтроллер под другой микроконтроллер где нет ардуйни?
>либо нахуй проходи.
Может лучше ты?
А ты большой смотрю у мамки? Ардуину принципиально не юзаешь?
>как думаешь
Дурачок, я тебе уже сказал как я думаю.
>микроконтроллер где нет ардуйни
Это какой такой другой под который нет ардуино? 8051? Под СТМ32 есть пердуина.
Шиза в том что ты делаешь это в ардуиноиде. Хочешь нормально программировать с библиотеками ардуины? Ставь PIO.
А заморачиваться с пространствами имён в ардуиноиде это вообще пушка, большинство даже не знают что это такое.
>PIO
>VSCode
Уж лучше ардуино недоиде, чем это тормозное глючное веб-говно.
>заморачиваться с пространствами имён в ардуиноиде
Ты не понял. Это костыль. Если функция внутри анонимного неймспейса, маняпарсер пердуины не будет добавлять прототип для нее в начало файла.
>чем это тормозное глючное веб-говно
Тебе никто не запрещает поставить PIO на эклипс или цлион
>Ты не понял. Это костыль. Если функция внутри анонимного неймспейса, маняпарсер пердуины не будет добавлять прототип для нее в начало файла.
Чивоблядь.вебм
>PIO на эклипс
Делать мне нехуй, кроме как колхозить себе среду из говна, палок, веб-дрисни и эклипса блять. Кстати, атмел студио умеет импорт ардуино скетчей.
>Чивоблядь
откомпилируй в ардуине:
void setup() {}
void loop() { f(); }
struct mystruct {};
void f(const mystruct&) {}
>эклипс и vscode - говно и палки
>блокнотик ардуино IDE - вот это хорошая среда, зоебца сделоли
вот как там объявлено ( void f(const mystruct&) ) - канпелятор будет ругаться на попытки изменить поля mystruct внутри функции f.
> Как при помощи ардуины заменить переменные резисторы
https://www.google.com/search?q=цифровой+потенциометр
> и конденсаторы?
https://www.google.com/search?q=варикап
Я могу залить бутлоадер от уно в нано (или наоборот)?
Прост заебывает борду переключать в меню, они ж по сути одинаковые.
Благодарю. По цифровому потенциометру сходу обратил внимание на готовый модуль. Да и управление там простейшее. По варикапу придется подумать.
Только "цифровой потенциометр" это вовсе не аналог обычного резистора. Там есть определенные ограничения по напряжению и току. Во первых напряжение почти во всех моделях на этом резисторе не должно превышать примерно 5В и обязательно соблюдать полярность. Соответственно куда попало не воткнешь такое. И весьма вероятно что оно не будет работать в твоём регуляторе оборотов (нужно схему смотреть).
С варикапами совет тоже сомнительный, у них ёмкость десятки пикофарад и существенная температурная зависимость.
Нано чуть более грамотно спроектирована, выведены два дополнительных АЦП (которые невозможно использовать в качестве цифровых GPIO). У наны существует более дешёвая версия с atmega168p (ровно в два раза меньше флеша и оперативы), а версии с atmega368p бывают с разными загрузчиками.
Уно бывает только в одном варианте. Она максимально "детская", чтобы вообще ничего переключать не пришлось, а выводы адаптированы под шилдостандарт для тех, кто вообще паять не умеет.
чатгопота, ты? вопрос был про бутлоадеры.
Уно, конечно, лучше спроектирована - ее формфактор все подряд используют, а нано - это просто микросборка с нахуй там не нужным лдо на борту.
> Уно, конечно, лучше спроектирована - ее формфактор все подряд используют
Хуйня с кучей пустого места. "Шилды" нахуй ненужны.
> нано - это просто микросборка с нахуй там не нужным лдо на борту
Охуенно удобно пользоваться, просто втыкается в хлебодоску.
Все шилды заменяются модулем стоящем на той же хлебодоске, подключение проводками.
>хлебодоске
Ты вообще хоть понимаешь, в чем прелесть пердуины?
Пердуина - это радиоконструктор, позволяющий на коленке за минимальное время собирать пригодный к употреблению девайс. Т.е. позволяет непрофессионалам делать электронику.
Она вовсе не для того, чтобы не задрачивать микрококонтроллеры/запаивать ее в промышленные девайсы/делать прототипы промышленных девайсов. Это все, конечно, можно делать с пердуиной, ведь она же просто микроконтроллер с минимальной обвязкой, но лучше без нее - даже обучение.
Именно поэтому ебаные задроты хейтят пердуину - потому что ее успешно юзают нешарящие мимокроки-"ламеры".
Если тебе на практике попользоваться нужно собранным девайсом (или передать макет коллеге однокласснику), ты хлебодоску в карман положишь, чтобы из нее все провода повылазили по дороге, умник? Или будешь учиться ебаться с принтером и утюгом? Или разводить платы и ждать месяц доставки?
Лично у меня собранные схемы на хлебодосках намного стабильнее живут. Всё аккуратно собрано, охуенно держится, и может неограниченное время выживать среди хлама, не теряя функциональности, пока плату развести не сподоблюсь. И перетаскивание в кармане или лежание в ящике стола она заебись выдерживает. А вот из уны воткнутые проводки постоянно норовят выскакивать.
При этом свобода действий на макетке намного шире. Хочешь - светодиоды нестандартные втыкай, кнопки-хуёпки, хочешь - микрухи, хочешь - конвертер логических уровней и WeMos, и играйся сразу с двумя устройствами. Оно конечно в теории можно сделать и шилдами, но столько разнообразных шилдов на все случаи жизни просто не напасёшься. Шилды с универсальным уно-разъёмом просто оказались неудачной идеей. И даже если исходить из философии ламера - посмотри типичные обучающие комплекты для самых маленьких, вот прямо простейшие, где лампочкой по кнопке моргать учат с delay(1000). Так в любом подобном комплекте хлебодоска всенепременно присутствует, потому что это простейший в использовании универсальный формат.
Есть конторы, которые пытались изобрести свой особый формат шилдов чтобы продавать компоненты с наценкой в 500%, который мол-де удобнее и лучше крепится. Хуйня всё равно получается, нигде оно не взлетело.
Вот с этим согласен >>521804
Шилдов полторы штуки. На каждую свою хотелку шилдов не напасёшься. Таскать шилды в кармане тоже нихуя не удобная идея. Что-то собирать и испытывать лучше на бредборде. А если уж ты добрался до стадии собирания готового изделия, то паять просто обязательно. Можно налепить на макетке, а можно и развести и заказать печатную плату. Можно и в форме шилда.
А шилды это просто поиграться со стандартными примерами.
>>521811
>Лично у меня
ВЕРЮ 100% АГА
Может, ты и навесной монтаж на выводных по карманам суешь? Тоже держится наверное, надежно.
>Шилдов полторы штуки
Да их хоть миллион, есть шилды-перфборды, в том-то и вся мякотка. Берешь модуль и распаиваешь его на шилд, потом из нужных шилдов собираешь за минуту то, что тебе надо.
> есть шилды-перфборды, в том-то и вся мякотка. Берешь модуль и распаиваешь его на шилд
Ты только что макетную плату. При чём тут вообще "шылд"? Возьми, бля, лист макетки, напаяй на него коннекторы, воткни ардуинку и нахуяривай вокруг всё что хочешь.
> потом из нужных шилдов собираешь за минуту то, что тебе надо
Пиздец этажерка ебаная из еботни какой-то хуй пойми как собранная. И как ты это собрался в карман засовывать? Только если у тебя карман разработанный[/I.
Если у тебя какая-то простая стандартная задача обучится чему-то и для этого есть подходящий стандартный готовый шилд, то ок. Если ты сам собираешь какое-то устройство вокруг ардуины/микроконтроллера, то не надо себя ограничивать готовыми шилдами.
>Возьми, бля, лист макетки, напаяй на него коннекторы, воткни ардуинку и нахуяривай вокруг всё что хочешь.
>напаяй
>нарежь перемычки
>залуди
>ТОННЫ ЕБЛИ
Зачем? Хрестоматийный пример: беру шилд с дисплейчиком и кнопками, ставлю его на ардуинку, подключаю BMP280 и вешаю его за окно, ардуинку ставлю на подоконник, пишу программку из десяти строчек. Метеостанция готова, удобно смотреть, какая погода за окном. Можно добавить шилд с часами и сд-картой и добавить лог измерений, или вемос и высылать измерения на малинку/пеку.
В такой же манере можно делать всякие детекторы протечек, умные реле, и т.д. За минуты и без всякой еботни с паяльником и проводами для перемычек. Заметил, что эти девайсы можно легко разбирать, дополнять, собирать из их частей новые? Ардуина это радиоконструктор - только настоящий, а не в формате "вот детали, вот плата, на монтаже мы экономим, так что паяй сам строго по инструкции".
>И как ты это собрался в карман засовывать? Только если у тебя карман разработанный
Падажжи, а ты про какой это карман подумал? Это ты куда там свои бредборды себе суешь?
>Метеостанция готова, удобно смотреть, какая погода за окном.
Выглянуть в окно не судьба?
>Всякие детекторы протечек, умные реле, и т.д.
Есть готовые, в нормальных корпусах, с нормальными клеммами, с нормальным температурным диапазоном, на DIN-рейку и прочее. Если что, то много чего другого готового не найдешь, хотя бы датчик облачности, но такое уже нужно в герметичный корпус пихать, думать о подогреве чтобы влага сразу после дождя испарялась и не задерживалась.
>Выглянуть в окно не судьба?
>Есть готовые, а вот если бы карманный синхрофазотрон с подогревом
Что, нечего сказать, мань? Паяльник сколько раз уже прогревал за сегодня? Свинцом збс надышался?
Я вообще мимо проходил и написал лишь то что ссаную метеостанцию можно купить готовую и она будет во всем лучше твоей поделки на ардуйне, начиная с того что не будет высаживать батарейки за пару суток и корпус будет нормальный. Зато когда захочешь сделать шаг в сторону от всего этого, хотя бы в сторону энергосбережения, то жиденько обосрешься.
>Паяльник сколько раз уже прогревал за сегодня?
Ты не поверишь, ноль раз, у меня дома вообще паяльника сейчас нет, на работе хватает.
>Выглянуть в окно не судьба?
Погода - это сколько градусов, долбоеб. А не пасмурно-солнечно, на это как раз похуй.
Если тебе нужна дефолтная метеостанция, то ок. А если что-то оригинальное накостылять хочется, то шилд уже не покатит.
Без ебли с паяльником можно только прототипы пособирать. Если захочется это надолго использовать, то без паяльника не обойтись.
Ардуина это не конструктор для дебилов, а инструмент для обучения и сборки прототипов. Собрал на бредборде, проверил, вроде работает, спаял на плате или накидал на макетке.
Бредборд даёт намного больше свободы чем шилды.
Ты не можешь приоткрыв окно почувствовать холодно или жарко снаружи? Печально. Это помимо того что субъективные ощущения температуры зависят ещё и от скорости ветра и влажности, даже просто от того насколько давно жрал. А если просто температуру более-менее точно узнать (ещё вопрос зачем оно нужно) - просто прикрепи нормальный градусник за окном, бонусом к нему ни провода не нужны, ни батарейки (которые ещё менять каждые пару дней, если на ардуйне делать).
>А не пасмурно-солнечно, на это как раз похуй.
Да неужели?
>она будет во всем лучше твоей поделки на ардуйне
Логи вести будет? Мне интересно, как весна наступает
>корпус будет нормальный
Похуй
>когда захочешь сделать шаг в сторону от всего этого, хотя бы в сторону энергосбережения, то жиденько обосрешься
Это почему же? Какие проблемы ты видишь? Паяльная станция у меня есть кстати
>беспруфный пук
>я скозал
Шилд покатит. Обойтись. Это конструктор. Бредборд не дает больше свободы.
>понос маняоправданий
Что же ты про смартфон не вспомнил? Окна какие-то обтирать полез
>батарейки
Зарядка юсб, не слышал?
>Какие проблемы ты видишь?
А ты никаких не видишь? Ведь в норме для таких устройств потребляемый ток не должен превышать десятков микроампер в среднем.
Как минимум светодиод по питанию придется отпаять. Потом LDO на 5В там на плате, будешь использовать? А не выйдет, у него собственный ток потребления запредельный, тоже отпаять нужно, потом нужно нормально работать со спящим режимом, тактовую частоту тоже если снизить станет лучше. Будешь ли ты все это делать? А не сделаешь, так будет ток потребления несколько миллиампер и батарейки не хватит не то что на год, даже неделю не протянет.
>Зарядка юсб, не слышал?
Шикарное решение. Будешь обманываться проводами, вместо того чтобы закрепить за окном небольшую коробочку с батарейками, которых хватит не меньше чем на год.
Желательно, чтобы в мороз тоже работал.
Можно взять от мэлт, но на морозе они тоже не очень, хоть и получше многих. Если нужно чтобы работало на морозе, то бери oled.
Почему? Я разве не смогу к нему провода подключить от ардуино?
Я то знаю, но вот знаешь ли ты? Обещал то я что обосрешься именно ты.
Можешь хоть сказать о каком очень важном моменте по части снижения потребляемого тока я умолчал? Особенно применительно к упомянутому выше BMP280.
Наверное да, только ты в начале писал о символьном 4х20, а это графический. Если тебе без разницы, то можешь и такой брать. А если хочешь также символьный, то такие oled тоже есть, например https://www.winstar.com.tw/products/oled-module/oled-character-display/20x4-oled.html вот, от -40 заявлено.
Только про температурный диапазон лучше смотри документацию отдельно, так-то oled потенциально более стойкие к холоду, но мало ли как там начинка сделана.
>А если хочешь также символьный, то такие oled тоже есть
Прикольно, только хз, где такой взять. Ладно, буду искать, спасибо.
>Обещал то я что обосрешься именно ты
Поздно маняоправдываться и стрелки переводить.
>а вот хотите еще задачку
Да в жопу себе ее засунь, задрот-анальник тупорылый. Вместе с секретами полишинеля.
>Шилд покатит. Обойтись. Это конструктор. Бредборд не дает больше свободы.
А чем бредборд не конструктор-то? Тоже дырочки, тоже втыкать можно по-разному. Только компоновка не вертикальная, а горизонтальная, более естественная.
Тем, что пайка на разведённую плату не предполагает разборку и пересборку в одно действие.
>можно ли их подцепить как-то к ардуинке?
Можно скотчем или синей изолентой. Так то Ардуина нормально коннектится только с 4К-камерами, только нужно внешнее, высокостабильное тактирование, на 4 ГГц
Это да! Уже хоть что то хорошее и полезное на этой ардуине.
Конечно, можно! Дерзай!
Меня интересует больше другой вопрос - где покупать ардуины и детали? Вот закажу я снова на алике, прожду полгода и ничего не придет опять. А на озоне за плату полцарства требуют. Есть ли какие-то проверенные и недорогие варианты? Сами где детальками закупаетесь?
И как ты город угадал демон? Пока еще идет обновляется пишет в Столбищах.
Как бабки старые переживаете, честное слово.
Наверняка выбрали эконом-доставку, а она отслеживается частично, т.е. извещение приходит по факту поступления в пункт назначения.
И заказали какую-то мелочёвку... Ладно бы тысяч на 30-ть заказ был. Вот тогда бы стоило бздеть и срать кирпичи.
У меня на 10к заказ где то. Несколько посылок. Хуле там натыкал немного хуякс 10к уже. Еще половины не купил что хотел. Думаю поковыряю пока это. Надо ведь и макетки всякие и бп и сервопривод покрутить и датчики и провода. Там набегает я ебу. 3 кило что ли в сумме. Лиха беда начало лол. По классике при вкате наверное покупаешь кучу ненужной хуеты. Но посмотрим.
>>522558
Хуево. Половина посылок еще в Новосибе.
Ну хули, иногда бывает такое дерьмо. Было дело, открыл спор, бабки вернули, заказал по новой, а через полгода так хуйня из первого заказа таки пришла. И теперь у меня джве хуйни по цене одной.
Все мне пришло. Все посылки оказались в одной а трекер мозги ебал.
Только вместо ардуино я купил какое то wavgat говно которое не шьется. Толи я ебанутый.
У продавца 95% норм пишут. В гугле ругают. хуй знает что. Приобщаюсь к вашему шалашу уже четвертый час. "avrdude: ser_open(): can't set com-state for "\\.\COM3""
>Очень рад! Контроллер работает. Заказывал с мини USB и кабелем. Приехал в сборной посылке, в жёсткой картонной коробочке. Первоначально прошит "блинкоподмигивателем" для встроенного светодиода (13 пин). На борту имеет встроенный программатор ch340. Но, нужно установить драйвера с сайта wch-ic.com. Для прошивки МК из Arduino ide: 1. Зайти на сайт wch-ic.com . Services -> Downloads ->Drivers&Tools . Скачать CH341SER.EXE . 2. В Ардуино зайти в Инструменты, выбрать плату Arduino Nano. Процессор "ATmega 328P(Old Bootloader). Порт: тот на котором оно "висит". Что народ в Интернете извращается с внешними программаторами, если есть встроенный, я не понимаю. Память у него не большая. Флэша 32 Кбайт (2 Кбайта загрузчик), СРАМа всего 1Кбайт, EEPROMа 2Кбайта. Но, думаю, что для меня хватит. Когда-то хватало же 48 Кбайт в компьютере Дельта-С :-)) . Короче, всё в порядке. Я очень доволен.
И внезапно начало работать. Залился blink, моргает. Ух. Ну здравствуйте коллеги. Накупил гору всякой всячины, будем вливаться.
Если что с офф сайта который был выше не работало, а это заработало
https://sparks.gogo.co.nz/ch340.html
> Все мне пришло. Все посылки оказались в одной а трекер мозги ебал.
Ну, мне ничего не пришло. Четыре месяца, заказ автоматически закрыт, товара нет. Продавец пишет отмазку в стиле "ну подождите еще стопицот лет, авось придет (или спустя столько времени ты сдохнешь и не будешь нам, мамкиным бизнесменам, ебать мозги).
Короче говоря, всрал деньги впустую. Вот тебе и вкатился в электронику. Десять тысяч лет отжимал мелочь у школьников, чтобы на плату накопить, заказал - а меня с ней опрокинули. Круто, чё, всегда бы так.
> Наверняка выбрали эконом-доставку, а она отслеживается частично, т.е. извещение приходит по факту поступления в пункт назначения.
> выбрали эконом-доставку,
> выбрали
Как там у вас, в 2021? В автобус без QR-кода ещё пускают?
Нахуй ты его слушаешь, хуярь возврат средств. Они всем так говорят.
>Нано чуть более грамотно спроектирована
Проиграл со школоты. Блять, хуже наны ебаной вообще ничего нет. Диоды отпаивать не забывай, проектировщик блять малолетний
Задача: нужно подтянуть дату с RTC-модуля (это сделано, тут все ок), и посчитать количество дней между этой датой и датой ранее сохраненной в EEPROM Ардуины.
Гуглинг показал что задачу надо решать через некий UNIX-time, который выводится целым числом, т.е. алгоритм, как я его вижу: берем текущую дату, конвертируем ее в UNIX-time, получаем число (1). Затем конвертируем дату из EEPROM , получаем второе число (2). Дальше из вычитания чисел (1)-(2) получаем разницу и конвертируем в количество дней.
Я верно мыслю? Если верно, можете подсказать: где можно надыбать библиотеку для этого или гайд? Или если можно сделать проще/лучше/иначе - тоже буду неимоверно благодарен. Потому что решение я уже заебался искать.
Дожили, уже два целых числа вычесть не могут.
Копай в эту сторону: https://www.opennet.ru/man.shtml?topic=mktime&category=3&russian=0
https://aliexpress.ru/item/4000449066871.html?sku_id=12000027255911266&spm=a2g2w.productlist.search_results.0.3fc34aa6AW7nVJ
По цене для меня в самый раз. Пойдет ли оно для совсем ньюфага? Или есть что получше, желательно с инструкцией на русике, ну можно и на англе, только не иероглифы.
Или может я вообще не то выбрал? Ссылки оппоста не рабочие, так что не бейте и не обоссывайте, если вопрос тупой.
1) Нахуя в ардуинстве вообще структы? Почти никогда не пользовался
2) А может просто не менять поля внутри функции? Или например не засовывать ссылочный тип в функцию, а кинуть туда переменные?
В целях саморазвития пытаюсь передать с MEGA 2560 привет мир по UART. Однако передает максимум 3 символа, если в стринг для передачи забить больше трех символов в мониторе порта абракадабра. Код из чата гпт взял, сижу в Atmel Studio
Бочку делал, хуй сосал.
#include <avr/io.h>
#define F_CPU 16000000UL // Частота микроконтроллера
#include <util/delay.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BAUDRATE 19200 // Скорость передачи данных в бодах
#define BAUD_PRESCALER (((F_CPU / (BAUDRATE 16UL))) - 1) // Расчет предделителя для UART
// Функция инициализации UART
void uart_init(void);
void uart_init(void) {
// Настройка скорости передачи данных
UBRR0H = (unsigned char)(BAUD_PRESCALER >> 8);
UBRR0L = (unsigned char)(BAUD_PRESCALER);
DDRB = 0xff;
PORTB = BAUD_PRESCALER;
UCSR0A = 0x00; // Установка регистра управления A
// Включение передатчика и приемника
UCSR0B = (1 << TXEN0) | (1 << RXEN0);
// Установка формата кадра данных: 8 бит данных, 1 стоп-бит
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}
// Функция отправки символа в COM порт
void uart_putc(char c);
void uart_putc(char c) {
while (!(UCSR0A & (1 << UDRE0))); // Ждем готовности буфера передатчика
UDR0 = c; // Записываем символ в буфер передатчика
}
// Функция отправки строки в COM порт
void uart_puts(const char s);
void uart_puts(const char s) {
while (s) { // Пока не встретим нулевой символ
uart_putc(*s); // Отправляем текущий символ
s++; // Переходим к следующему символу
}
uart_putc('\r'); // Отправляем символ возврата каретки
uart_putc('\n'); // Отправляем символ перевода строки
}
// Функция чтения символа из COM порта
char uart_getc(void);
char uart_getc(void) {
while (!(UCSR0A & (1 << RXC0))); // Ждем готовности буфера приемника
return UDR0; // Возвращаем принятый символ
}
int main(void) {
uart_init(); // Инициализация UART
while (1) { // Бесконечный цикл
char str[] = "Hello world"; // Строка для отправки
uart_puts(str); // Отправляем строку
_delay_ms(1500); // Ждем 1 секунду
}
return 0;
}
В целях саморазвития пытаюсь передать с MEGA 2560 привет мир по UART. Однако передает максимум 3 символа, если в стринг для передачи забить больше трех символов в мониторе порта абракадабра. Код из чата гпт взял, сижу в Atmel Studio
Бочку делал, хуй сосал.
#include <avr/io.h>
#define F_CPU 16000000UL // Частота микроконтроллера
#include <util/delay.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BAUDRATE 19200 // Скорость передачи данных в бодах
#define BAUD_PRESCALER (((F_CPU / (BAUDRATE 16UL))) - 1) // Расчет предделителя для UART
// Функция инициализации UART
void uart_init(void);
void uart_init(void) {
// Настройка скорости передачи данных
UBRR0H = (unsigned char)(BAUD_PRESCALER >> 8);
UBRR0L = (unsigned char)(BAUD_PRESCALER);
DDRB = 0xff;
PORTB = BAUD_PRESCALER;
UCSR0A = 0x00; // Установка регистра управления A
// Включение передатчика и приемника
UCSR0B = (1 << TXEN0) | (1 << RXEN0);
// Установка формата кадра данных: 8 бит данных, 1 стоп-бит
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}
// Функция отправки символа в COM порт
void uart_putc(char c);
void uart_putc(char c) {
while (!(UCSR0A & (1 << UDRE0))); // Ждем готовности буфера передатчика
UDR0 = c; // Записываем символ в буфер передатчика
}
// Функция отправки строки в COM порт
void uart_puts(const char s);
void uart_puts(const char s) {
while (s) { // Пока не встретим нулевой символ
uart_putc(*s); // Отправляем текущий символ
s++; // Переходим к следующему символу
}
uart_putc('\r'); // Отправляем символ возврата каретки
uart_putc('\n'); // Отправляем символ перевода строки
}
// Функция чтения символа из COM порта
char uart_getc(void);
char uart_getc(void) {
while (!(UCSR0A & (1 << RXC0))); // Ждем готовности буфера приемника
return UDR0; // Возвращаем принятый символ
}
int main(void) {
uart_init(); // Инициализация UART
while (1) { // Бесконечный цикл
char str[] = "Hello world"; // Строка для отправки
uart_puts(str); // Отправляем строку
_delay_ms(1500); // Ждем 1 секунду
}
return 0;
}
Может скорости портов немного отличаются.
Нет, не троллю. Я вообще не упарываюсь такой хуйней и совершенно не понимаю где тебе могут понадобится структы. Разве что настройки девайсов хранить, вот там удобно. Для сложных алгоритмов вообще есть кодогенерация в матлабе или симулинке (жаль в ардуины не всегда влезает, приходится брать еспшки) и в код на си я не лезу вообще там
Нагугли канал и сайт Сани Гайвера, нюфагам самое оно
>в код на си я не лезу вообще
В код ты не лезешь, а зачем тогда лезешь обсуждать вопросы, в которых ты не шаришь? Если ты один чего-то не понимаешь, это не значит, что все, кто так делает - тупые. Это значит, что ты один тупой в этом вопросе.
>GY-NEO6MV2 NEO-6M GPS модуль
Вот стоит 280 рублей.
А есть вот
>BN880 BN-220 GPS GLONASS
Они вроде как для дронов норм. но они по 1300+ рублей.
Может кто то недавно ковырял с ардуино жпс глонасс? Может все таки дороже взять потом на дрон можно будет поставить если он у меня когда то будет. А тот за 300 рублей валяться будет. Я еще тему специально не изучал, может кто то занимался?
А, это самое, понадобился энкодер, а в закромах завалялся только на 160 килоимпульсов/оборот. Ардуине не поплохеет такое обрабатывать?
Ебать я долбень. Сижу ищу осциллографом сдвинутые по фазе импульсы на выходах Т+ Т-, а он оказывается через модбас абсолютное положение выдает. 131072 отсчета на оборот. Зато увидел йоба-энкодер внутре.
Потому что в том уровне на котором я лезу в код - таких проблем нет. У гайвера, на ардуино.ком никакой такой хуйни нет. Зачем ты тащишь такие навороченные хуйни в ардуинотред тогда?
Сделою МЕТЕОСТАНЦИЮ и буду определять направление ветров с точностью ±0,0027465º
> Я вообще не упарываюсь такой хуйней и совершенно не понимаю где тебе могут понадобится структы.
Гкод парсить, набор разнородных данных между двумя контроллерами передавать, хранить разнокалиберные массивы символов, не прибегая к string. Да дохуя применений.
>Зачем ты тащишь такие навороченные хуйни в ардуинотред тогда?
А с хуя ты решил, что ардуино несовместимо с чем-то навороченным? Ардуино хорошо тем, что снимает с юзера много низкоуровневого головняка, и механизм работает сразу из коробки (хоть и неоптимально). Дальше уже можно и оптимизировать, и монструозные системы строить - кто во что горазд. В ардуино просто легче вкатиться, а слепить из него можно хоть цифровую сеть авианосца.
>А с хуя ты решил, что ардуино несовместимо с чем-то навороченным?
Я этого не говорил, просто мне странно видеть такое конкретно в ардуиноиде, где даже сборку настроить тот ещё квест. Типа использовать Arduino.h - окей, да хоть под STM32, но вот
> В новом скетче всегда первым делом добавляю файл MAIN.CPP, переношу туда setup и loop, а ino-файл держу пустым. Кто сейм? :3
> обычная фича - сказать компмлятору, что объект по такой ссылке иммутабелен
это что блядь?
Ардуиноиде как раз нужна чтобы не думать вообще о том что есть какие-то там разные файлы и т.д. Максимум добавить .h файл чтобы прописать там константы и объекты для удобства. А вот уже ебаться там с чистым кодом, продвинутыми настройками компиляции, может даже линтерами, зависимостями - я беру PIO с нормальным IDE, а не тормознутой хуйней на джаве
Каждый дрочит как хочет. Кому-то раскидать файлики по кускам проще, чем вкатываться в новый хитровыебанный IDE с не самым дружелюбным интерфейсом. Кому-то проще по-другому.
>PIO с нормальным IDE
То же говно, даже еще хуже. Ибо ни простоты, как в пердуине, ни нормальной разработки, как в эклипсах всяких. Ты в курсе вообще, что можно скетчи компилировать в ардуине, а редактор использовать сторонний?
>чтобы не думать вообще о том что есть какие-то там
"Навороченные" инструменты и практики, в том числе "чистый код", нужны именно для того, чтобы не ебать себе мозг всякой хуйней. Если они тебе только усложняют работу, это значит, что ты дебил и не умеешь ими пользоваться, дружок.
>ы в курсе вообще, что можно скетчи компилировать в ардуине, а редактор использовать сторонний?
В ардуине крайне хуевая структура проекта. Ты не можешь кинуть библиотеку только в проект, как минимум. Ну и компилять в ардуине под есп или стм - лол, ждать по полчаса.
>ни нормальной разработки, как в эклипсах всяких
Эээ, но PIO можно и на эклипс поставить, я не понял твоего доёба.
>чтобы не ебать себе мозг всякой хуйней. Если они тебе только усложняют работу, это значит, что
Что при разной сложности проекта - всякая хуйня разная. Если тебе надо накидать какую-нибудь простую погодную станцию с смсками или очередной хелловорлд с мигающим светодиодом, то тебе явно не надо ни линтеров, ни комментариев в коде, ни ебаться с настройками компиляции. Тебе только это усложнит задачу. А вот когда проект большой и ты будешь работать над ним явно больше месяца, да ещё и желательно его потом поддерживать возможно не тебе придется, то ВНЕЗАПНО, нормальное структурирование кода, версии, документация, линтеры и прочее становятся совершенно не хуйней.
>но PIO можно и на эклипс поставить
Дак и пердуину можно на эклипс поставить. Но, во-первых, и то, и то требует некоторых танцев с бубном, пио изначально под сраный блокнот из хромиума заточено. А во-вторых, почему бы не использовать родную Атмел Студию тогда? Она, кстати, умеет импортировать скетчи ардуиновские.
На аттине 13 есть пробуждение из power down sleep mode если int0 настроено на низкий уровень. Но дело в том, что это прерывание будет циклически выполняться пока на ножке будет низкий уровень. Не могу собрать свой ум, как сделать так, чтобы оно отрабатывало один раз, а потом, когда низкий уровень сменится на высокий оно снова было готово отработать при смене уровня на низкий. Такое вообще возможно?
logical change срабаьывает в power down sleep mode? Если нет, то в прерывании вотчдога проверяй
Нет, только в идл. Там тактирование ног отключается же в повер довен.
Это да, рассматривал такое, но хотел собаку на 2 секунды выставлять, не чаще, а проверять состояние нужно почаще всё же.
Видеопоток с камеры OV7670 можно перекинуть с помощью точки NRF24L01 ?
Вопрос это перекинуть куда? В общем последовательность мыслей такая:
гугл
@
NRF24L01 bandwith
@
> The nRF24L01+ module is designed to operate in the 2.4 GHz worldwide ISM frequency band and uses GFSK modulation for data transmission. The data transfer rate is configurable and can be set to 250kbps, 1Mbps, or 2Mbps.
@
ov7670 resolution
@
640 x 480 30 fps
Ну далее считаем битрейт онлайн калькулятором со сжатием мжпег, получаем где-то 1 мбит. В теории влезет. На практике ардуины скорее всего не хватит чтобы жать VGA на 30 фпс даже в мжпег. Сырой видеопоток в таком разрешении сожрет уже 13 мбит и не влезет.
>На практике ардуины скорее всего не хватит чтобы жать
Это смотря какая ардуина. Если atmega328p, то не хватит ни на сколько. Потому что нужно памяти хотя бы под 8 строк, т.к. в джипеге ДКП блоками 8х8. А это памяти 8х640=5кб, а там лишь 2кб есть. И это только для монохромного изображения, а если делать дебайеризацию для цветного, то нужно втрое больше памяти.
Однако в ov7670 уже есть встроенная сжималка джипегов.
>>530101
Я бы посоветовал не брать ардуину для такого. Лучше конечно возьми готовую камеру, своими руками такое говно лучше не делать, лучше потрать силы на более приличную камеру.
Я сделал на диплом RGB- ночник, который светится при помощи светодиодной ленты. Код для ленты я получил с помощью вот этой хуйни:
https://adrianotiger.github.io/Neopixel-Effect-Generator/
Ставил эффект Радуги
Кароче у меня определённая сложность с кодом. Код я прикрепил по ссылке ниже и мне нужно чтобы кто-то мне пояснил вкратце что да как
https://pastebin.com/ZSPTYDTv
Что-то по нему гайдов вообще мало
Нубас без b2 не потянет ее?
>поцаны, а esp32 сильно отличается от ардуино?
Зависит от того насколько глубоко ты пойдешь
>Что-то по нему гайдов вообще мало
Потому что под неё есть Arduino Core и она программируется ровно также. Единственное что советую PlatformIO, чтоб не ждать по 3-5 минут компиляцию. А в целом за гайдами сюда https://randomnerdtutorials.com/projects-esp32/
>Зависит от того насколько глубоко ты пойдешь
Хочу сделать кормушку в которой будет шаговый двигатель, актуатор, мини насос
Блин вообще не могу найти полного гайдов по пинам, из ардуино я знал что был аналоговый и цифровой ШИМ и еще парочку портов для дисплея, а тут все как-то усложнено ппц, как можно нагуглить то что за радуга такая ?
какие-то TOUCH RTC DAC
> Блин вообще не могу найти полного гайдов по пинам
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
Неожиданно что гайд по пинам гуглится по запросу esp32 pinout guide да?
> аналоговый и цифровой ШИМ
?????????????
>Неожиданно что гайд по пинам гуглится
Не удается найти именно под свой контроллер =(
У меня стоит маркировка пина CLK, а по доке там какой-то VIN
покупал тут https://www.ozon.ru/product/kontroller-esp32-wroom-32-nodemcu-c-wi-fi-i-bluetooth-dlya-arduino-826163505
https://www.waveshare.com/img/devkit/accBoard/NodeMCU-32S/NodeMCU-32S-details-3.jpg
обрати внимание, что у тебя S модуль, буква означает количество ядер/zigbee/etc, то есть это прям реально разные чипы
обрати внимание на series в фильтрах вот тут:
https://products.espressif.com/#/product-selector?language=en&names=
>У меня стоит маркировка пина CLK, а по доке там какой-то VIN
Ты слепой? У тебя первый пик вид снизу, а второй - вид сверху!
Ощущаю себя мега-дауном
пришел сюда с бека и фронта
Пошла радимая хелооу вордина
мне нужно управлять тремя (это минимум, желательно пятью) двунаправленными шаговыми двигателями через USB.
Вопрос, какую арудинку брать, как выбрать драйвера?
подойдет ли Nano ATmega328 Board V3.0 5V/16Mhz mini USB AR005 ?
У арудинок с загрузкой по ЮСБ по умолчанию предполагается возможность это ЮСБ эксплуатировать в ходе работы или нет?
Что USB будет себя идентифицировать как COM я уже понял, принял.
Если есть какой-то подобный проект в готовом виде - ткните, пж. Не могу найти, так как поиск арудино+usb или atmega328+usb дает херову тучу результатов про прошивку через usb, но не ответ на вопрос, как работающий МК подружить с компом.
Ты уверен, что ты вывезешь USB?
>У арудинок с загрузкой по ЮСБ по умолчанию предполагается возможность это ЮСБ эксплуатировать в ходе работы или нет?
Там стоит отдельный чип UART-USB, который в компе COM порт, а в атмеловский чип шлёт UART. Во время работы можешь общаться через него.
>Что USB будет себя идентифицировать как COM я уже понял, принял.
Это если USB-UART чип в комп втыкаешь. А если ты берёшь атмеловский чип, в котором есть USB (в ATmega328 нет USB) то ты можешь его сделать чем хочешь. Хоть мышкой хоть принтером.
Но ты потянешь?
USB это мега сложно. Проще общаться через COM порт отдельным USB-UART чипом. Так можешь брать любую ардуину.
>как выбрать драйвера
А у тебя движки то какие? Если NEMA17 то бери A4988 и не выёбывайся. А если маленькие 28BYJ-48, то они сразу с драйверами идут.
Ему с микрухи нужны сигналы DIR, STEP и EN. Не забудь ещё MS1 MS2 MS3 куда-нибудь подтянуть. Это дробление движения на микрошаги. Можешь на землю всё закоротить и дробления не будет. Зависит от того нужна ли тебе точность.
15 пинов тебе нужно на 5 движков. Вроде как тебе не хватает.
Но DIR и STEP могут быть общими для всех драйверов, дёргать будешь EN на нужном драйвере. Тогда тебе нужно 5xEN + DIR + STEP = 7 пинов.
НО! Когда убираешь EN, то с движка снимается ток и если у тебя на нём есть нагрузка, его может прокрутить. Зависит от того, что ты там делаешь.
Но я как ESP сектант делал бы всё на ESP32 с управлением по вайваю
короче, заказал
Nano ATmega328 Board V3.0 5V/16Mhz mini USB AR005
"GSMIN 28BYJ-48 с платой управления"
(с яндекса)
Я так понимаю, три шаговых мотора - 3х4 выходных контакта, если захочу больше, придется чет еще покупать, какие-то щилды
Можете давать ценные советы и критику, когда собиру и буду испытывать - отпишусь, хоть посмеётесь.
>Проще общаться через COM порт отдельным USB-UART чипом. Так можешь брать любую ардуину.
Это понял.
>Зависит от того нужна ли тебе точность
Выясним эксперементальным путем. Буду исходить из того, что трех движков достаточно и точность не нужна.
>>530951
>Но я как ESP сектант делал бы всё на ESP32 с управлением по вайваю
Мне просто особо некогда, так-то я бы вник во все премудрости, но реально времени мало.
А так в пятницу уже заберу заказ, на выходных буду пытаться заставить работать, а пока софт на комп буду пилить собственно.
Спасибо за ответ.
>GSMIN 28BYJ-48 с платой управления
Плохие новости. Если там драйвер на ULN2003, то ему нужно по 4 пина на каждый движок. Там нет никаких DIR/STEP/EN.
Готов вкатываться в сдвиговые регистры для увеличения портов? Ну или взять A4988 и управлять ими. Вроде они этот движок нормально дёргать будут, пикрелейтед. Только ток подобрать надо, чтоб движки не грелись.
>>530953
>в пятницу уже заберу заказ, на выходных буду пытаться заставить работать
Хочется, конечно, верить в твой успех, но там столько подводных камней будет, что у тебя это под неделю времени займёт.
это уже понял, ну будем надеяться, что трёх хватит.
>>530954
>сдвиговые регистры
выглядит просто, посмотрим, как на практике будет. Может, и не понадобится вовсе.
Посмотрим, не буду заранее паниковать.
>>530954
>там столько подводных камней будет
Софтовая часть более амбициозна, скажу честно
И в прошлый раз с аналогичной задачей именно в софте я обосрался :)
Можешь накостылять такое решение - подавать на движки/драйверы питание через мосфеты. Это будет вместо EN.
Тогда тебе на 5 движков надо 4 пина общие для всех движков + 5 пинов на мосфеты.
9 пинов у тебя есть без проблем.
А если одновременно вращать в разные стороны надо? Вангую, он бич-чпу собирает, там по-любому надо.
Если ЧПУ то да. А если он какие-то заслонки туда-сюда дёргает, там похуй.
Для ЧПУ выбор 28BYJ-48 вообще не очень. Там внутри редуктор на шестерёнках и движку надо под 4 секунды на 1 полный оборот.
>>530969
Ну может это и можно назвать чпу, не разбираюсь. Хочу собрать прибор для автоматической сортировки мелких предметов под бинокулярной лупой. Соотвественно, два направления протяжки предметного столика+поднять/опустить перышко, которым сортируем. Ну либо протяжка+движение перышка.
Потенциально понадобится пара движков резкость+увеличение для лупы, плюс, вероятно, отдельная степень свободы для перышка помимо протяжки поперёк. Плюс... ну короче я хочу пока минимальный прибор собрать, дальше будет видно, подходят ли движки и т.д.
Может, стоит сдвиговой регистр заранее заказать, посмотрим
А зачем ардуионо, если можно писать на голом си? И так легче будет перейти на стм, не?
Я пердуиновские платы беру только потому что не надо ебаться травить плату,паять. Пишу на С в gcc,конпилирую и avrdude говоришь
avrdude -v -p atmega328p -c arduino -P /dev/ttyUSB0 -b 57600 -D -U flash:w:main.hex:i
Не нужно ебаться с программатором (хотя у меня их 3 вида),шнурок в комп и вперед (правда я под линупсом сижу,там драйвера не нужно ставить вообще).
А вот "кроссплатформенности" между АВР и СТМ не жди..поебаться нужно.кек
авр вкатун
>>530952
А где-то продаются арудинки с уже распаянными контактами? Так как у поделия, которое купил я, дырки в плате под арудиновские провода "папа" не подходят, зато в комплекте две гребенки со штырьками, которые делают на плате 14 "пап" соотвественно.
Мне никогда их не распаять, я уже и залудить пытался, но всё равно прозванивается 1 из 5. Я не умею паять, видосы обучающие из инторнета слабо помогают т.к. как на них, не выходит и не выходило никогда (припой не липнет к контактам, вместо блестящей капли образуется такая серая труха в основном, ну и даже если удается сделать каплю, тот контакта может и не быть лол кек). Еще и места нормального рабочего нет для этого, я ебал, это самая тупая причина задержки, которую можно вообразить.
толщиной с ебаный волос
Я ведь даже не могу понять в результате, подходят мне моторчики, которые я купил, или нет
Помигать светодиодом из консоли компьютера уже удалось, даже объекты на видео почти удалось распознать корректно, ебаные моторчики подключить не могу
Так, заказал клей токопроводящий... Посмотрим
>30 ебаных точек пайки в двух миллиметрах друг от друга
В 2,54 мм.
>>532321
> толщиной с ебаный волос
Нихуя у тебя волосы толстые. Емнип, штыри эти 0,6-0,8 мм.
>>532319
>Мне никогда их не распаять, я уже и залудить пытался, но всё равно прозванивается 1 из 5.
>Я не умею паять, видосы обучающие из инторнета слабо помогают т.к. как на них, не выходит и не выходило никогда
>припой не липнет к контактам, вместо блестящей капли образуется такая серая труха в основном, ну и даже если удается сделать каплю, тот контакта может и не быть лол кек
Ебать ты криворук. Объясняю: всовываешь гребёнку в отверстия, обмазываешь жидким флюсом (ТАГС, ЛТИ-120) всё даже небо, даже аллаха, что надо спаять и рядом тоже, берёшь на паяльник припой, греешь паяльником всё, что надо спаять штырь и края отверстия, когда прогреется, припой сам перетечёт, повторяешь по количеству контактов. Флюс потом отмоешь спиртом. Ты сейчас недостаточно греешь детали, скорее всего ещё флюса не хватает.
>Еще и места нормального рабочего нет для этого
Нужен стол, лампа, розетка. На кухне всё есть. Для задачи "запаять гребёнку ардуины" тебе спецоборудование не нужно никакое.
Ну у меня через пару дней будет клей, конечно... Но я таки попробую, так как не хочется откладывать.
Правда чет не очень верится, так как я прогревал, у меня даже один (по крайней мере один точно) штырек отпаялся от самой гребенки, когда я стал надевать на него "маму", он начал выдвигаться с той стороны. Так что я не очень верю во всё это.
>>532325
>греешь паяльником всё, что надо спаять
Хорошо, что у меня хватило ума не заказывать отдельными деталями мысль была, так как я феерический жлоб, но я сдержался, я так понимаю, МК в результате был бы либо не припаянный, либо сгоревший
кстати, а есть разница, с какой стороны платы всовывать гребенку? Я сейчас пока заказывал, увидел, что у уже распаянных гребенка со стороны, противоположной собственно МК торчит, а я с той же сделал
P.s. сегодня еще раз тщательно пытался припаять, результат хз, я не понимаю, какая ножка МК какому штырьку гребенки соотвествует, я заебался, сейчас мажу эту арудинку клеем, и уже заказал распаянную
некоторые прозваниваются, но не все, причем собственно цифровые выходы тоже не прозваниваются в основном, к сожалению
Выкидываешь комплектные гребёнки и покупаешь connfly. Они паяются с полтычка.
А как паяешь? Видос пришли? Рили непонятно, как такое можно непропаять, в голове не укладывается.
Как стать таким же умным, как Юрий Ревич?
Я кстати предвидел такой запрос и заснял, когда пытался пропаять. Потом пришлю, обрежу лишее и звук уберу.
Меж тем, у меня всё отлично, проводящий клей по ходу не особо помогает, но я купил плату с уже распаянной гребёнкой, моторчики крутятся, я даже уже дозаказываю ещё плату и еще моторчиков и присматриваюсь к регистру сдвига (трех моторчиков для практического применения не хватит). Корпус надо делать и софт допиливать.
На какой сесть?
https://www.ozon.ru/product/nabor-komplekt-arduino-dlya-programmirovaniya-arduino-109-detaley-uno-r3-9v-maximum-kit-s-887109592/
https://www.ozon.ru/product/nabor-dlya-modelirovaniya-arduino-arduino-uno-9v-maximum-kit-1-drayvera-uroki-i-knigi-na-russkom-180762621/
>На какой сесть?
А для чего тебе это? Для себя или в подарок?
Я бы не советовал такое брать, на мой взгляд это почти безздадачная ерунда.
Себе беру. Хочу обучиться основам Ардуинки, поморгать светодиодами и забить. Или не забить и вкатиться уже серьезно в электротехнику.
Суть в том, что я кодер, но хочу дать воплощение своему коду в реальности.
>поморгать светодиодами
Для этого не нужен набор, светодиод уже есть на самой дурине.
>Суть в том, что я кодер, но хочу дать воплощение своему коду в реальности.
Помигать светодиодом с тем же успехом можно и на компе.
Чел, ардуина это такая хуета что там учиться не надо.
Лучше прочти базовую книгу по цифровой электронике
Пробовал несколько разных шнуров, разные порты, отключил USB хаб на всякий случай - не помогло. Куда копать?
1920x1080, 0:20
Какой неспешный тред, ещё мои старые посты висят.
Вот результат переделки с текстового LCD на графический OLED.
Отбой, я еблан - из пяти шнурков на столе все оказались зарядными. Подключил через data кабель и всё заработало.
>переделки с текстового LCD на графический OLED
Прочитал сначала, про переделку текстового в графический LCD и охуел с того какой ты ШАЙТАН.
А ты точно уверен, что он бракованный? Они тормозные сами по себе, ты в принципе не сможешь на нем часто текст изменять.
>>534501
Кстати, однажды приходилось использовать графический дисплей как текстовый со знакогенератором (из соображений экономии памяти). Программно, правда. Так сказать, воскресил технологии древних.
>А ты точно уверен, что он бракованный?
На 90 процентов. Вот эти проёбанные пиксели на фото - это не артефакт камеры, они так и не переключаются, пока сам экран не нагреется.
Аноны, не обоссывайте плиз, я максимально залетный и с Ардуино раньше дел никогда не имел. Передо мной встала задача - запустить питухон скрипт с ардуины которая воспринимается компом как мышка (я так понял Arduino Leonardo подходит) с целью обхода защиты от эмулированных кликов в программе. Зашел вот в магазин, а что мне вообще нужно купить кроме самой планы леонардо чтобы ее подключить к ноуту и все работало? Какие-нибудь там USB шнуры, хуе мое, объясните плиз нубу. Ну и если подкинете какой-то краткий гайд как вообще с нее потом апустить мой питухон скрипт тоже буду премного благодарен.
Допустим, не 60 fps, а хотя бы статичную картинку, конкретно - колонии на чашке Петри увидеть, например.
Какого рода обработка нужна?
Скорее всего понадобится opencv?
Как вариант взять любую камеру которая может отправлять картинку на сервер и уже там ее обрабатывать.
Если же нужна именно локальная обработка на железке, то это: >>535362
Либо еще вариант это IP камера на линуксе с открытой прошивкой типа openipc и норм процом, которая уже из коробки имеет opencv. И писать твой софт под нее.
Да я наверн в формате приставки к компу свой прибор собиру (камера обычная на отдельном усб порте), а стерильность - ну, ведро какое-нибудь пластиковое и стерилизатор воздуха бытовой (жена покупала подобный), выйдет эдакий эрзац ламинара. Руками-то туда лезть не надо будет, места мало требуется. Загрузил чашки, надел ведро, включил, оно работает.
Esp32 cam с этим вполне справится
Если сдох контроллер, то можно просто новый впихнуть в разъем, или с ним надо будет сделать какие-то модуляции?
А работать-то будет?
Тебе надо будет залить на него каким-то хуем посредством любой лежащей под рукой другой ардуины бутлоадер, в остальном ничего делать не надо
Ты дурачок? USBASP себе на озоне закажи, в понедельник подвезут.
У меня такая проблема. Есть плата ардуино, с неё через UART в комп идут данные - пятнадцать цифр. Если я в нагляк к портам rx tx подключу другую ардуину, я смогу смотреть эти циферки на второй платке без риска наебнуть первую?
И второе - если я смогу получить эти данные, то с ними можно будет как-то потом работать? Чтобы они где-то прописывались в буфере (два-три значения), и потом перезаписывались просто сверху новыми числами. И можно было их использовать. Типа монитор порта, только в другой ардуине
>Если я в нагляк к портам rx tx подключу другую ардуину
Два tx нельзя соединять друг с другом. Это примерно то же самое что и подключить две батарейки с разным напряжением параллельно друг к другу. Соображаешь что будет?
Ты можешь подоткнуть только rx, ну и общий провод не помешает.
По моему это можно понять только как соединение трёх UART вместе. Один от одного микроконтроллера к мосту USB-UART:
>Есть плата ардуино, с неё через UART в комп
То есть это уже соединение двух UART как ты написал. А потом туда ещё:
>Если я в нагляк к портам rx tx подключу другую ардуину
А это к двум соединённым UART подключается третий. И в таком случае можно подключать только tx.
Действительно. Не подумал. Ну так да, только rx можно. Снифер порта получится.
Скорее последнее. Лично для меня AVR это мелкие поделки а STM это промышленные серьёзные штуки. Та же производительность STM позволяет применять их в качестве автопилотов
какой AVR и какой STM? Именно как фирмы микрочип и ST конкуренты, большая часть продукции пересекается по областям применения.
>для заливки говна в адруинку напрямую из сосноли Линукса
По идее с ардуинским бутлоадером умет работать avrdude. В репозитории твоего дистрибутива должно быть.
Ну а код компилировать gcc-avr, тоже во многих дистрибутивах есть.
А срань в виде ардуино иде и платформио нафиг не нужно.
Спасибо за наводку, анон.
Сап, попросили совета как кумпуктерщика - школа хочет оборудовать класс робототехники, ардуино норм тема для это или сложно будет для школьцов? Какие альтернативы?
Норм тема, есть даже всякие IDE, где блок-схемами/DFD программки делаются.
Из альтернатив, пожалуй, только лего техник и прочие конструкторы.
Анон, книжка Ревича "Электроника шаг за шагом" у кого есть? По ссылке в шапке только практикум.
Кстати все ссылки на Али сдохли.
Спасибо!
https://www.youtube.com/watch?v=oxXi2cRQTB0
>Это примерно то же самое что и подключить две батарейки с разным напряжением параллельно друг к другу. Соображаешь что будет?
Про принцип суперпозиции ты не слышал?
>буду устанавливать все игры
Ну все. Теперь буду мигать всеми светодиодами на плате.
Разъебать тебя?
Ты уверен, что заказанные ключи от домофона подойдут к заказанной читалке карт? Там могут быть разные частоты.
USB-C разъём ты никогда никуда не припаяешь. Там слишком маленькие выводы.
ESP-01 давно морально мёртв. Там мало ног выведено наружу.
И ты одновременно взял 3 совершенно разные архитектуры, ATmega, STM32, ESP8266. Ты ебанёшься, если попробуешь сразу 3 выучить. Голосую за ESP8266, а лучше ESP32
Мимо проходил
Всякие датчики влажности, температуры, давления. А также резисторы, кнопки и разъемы взял вот для этой хуитки на Ардуино. Там есть разъемы и прошивка поддерживает.
Ага, с ключами проёб.
Спасибо, анон. Заказал на 125кГц который подойдёт.
P.S. по поводу трёх архитектур. STM32 взял на будущее. Помигаю диодами и заброшу в долгий ящик.
Думаем, что приклеенные по краям датчики выглядят как говно.
>USB-C разъём ты никогда никуда не припаяешь. Там слишком маленькие выводы.
Всё нормально паяется даже ЭПСНом, технику на ютубе посмотри.
Другое дело что нахуй мамкиному электронику не нужен 16ти пиновый разъём. 4-пинового хватит (и ноги там удобнее), ну максимум CC ноги ещё нужны что-бы по спеке всё сделать.
>ESP-01 давно морально мёртв. Там мало ног выведено наружу.
Ну пиздец, всего одним ргб диодом можно помигать.
Эта плата не для того чтобы быть контроллером нужна, а для того чтобы добавить вайфай другому контроллеру.
>И ты одновременно взял 3 совершенно разные архитектуры, ATmega, STM32, ESP8266. Ты ебанёшься, если попробуешь сразу 3 выучить.
Нахуя их учить? Ты нативно на них писать собрался чтоли? Все в одну иде втыкаются. А диодами мигать можно и без программирования вообще. Да хоть умный дом можно построить на одних конфигах.
Программаторы у всех тоже на UART/USB/OTA.
>Всё нормально паяется даже ЭПСНом, технику на ютубе посмотри.
4пиновый разве что. Ну и паять такое лучше или с плоским концом или блейдом
>Эта плата не для того чтобы быть контроллером нужна
Она нахуй не нужна когда есть esp32-c2/c3. Нет, если тебе охота ебаться с AT командами по uart для вайфая, то ок, но в общем оно не нужно. Можно прошить саму ESP-01 и наладить нормально разделение такое чтоб вся веб часть была на esp, а на ардуине взаимодействие с железом, но это намного проще и дешевле сделать в софте на той же esp32. esp32 что по цене что по производительности что по удобству уделывает связку из esp8266 и атмеги уже лет 5 как
>Программаторы у всех тоже на UART/USB/OTA.
Ну вот не надо, stm32 можно шить хоть через CAN, но лучше взять stlink чтоб у тебя был дебаг по swd
>>547682
Да, через пакеты. На esp32 есть официальный arduino core от espressif, на stm32 - stm32duino также от ST Microelectronics. Под 8266 ядро коммунити пакет с кучей багов и эрраты в самой 8266.
да, теперь можешь сходить.
Нашел либу esptelnet https://github.com/LennartHennigs/ESPTelnet?tab=readme-ov-file
Она работает, но почему то только начиная со второго пакета. Вместо содержимого первого пакета выдается ip адрес подключившегося устройства, но не содержание сообщения.
Нужно для питания датчиков на базе ардуины, чтобы не переделывать платы, т.к. в исходном виде даже в режиме сна они потребляют несколько миллиампер (светодиоды, лдо хуевые, сн340 за каким-то хуем запитывается даже когда юсб не подключен, и т.д.)
>светодиоды, лдо хуевые, сн340
Ну, во-первых, покупай датчики, а не модули. Ничего из этого не должно быть в готовом устройстве.
Во-вторых, ардуина у тебя блять на что? Ей и включай питание релехами или транзисторами.
Ебать ты дурачок, я хуею просто... Жопой читаешь?
>готовом устройстве
Каком "готовом устройстве", мань? Речь идет конкретно о мелких бытовых махарайках на базе радиоконструктора.
>ардуина у тебя блять на что? Ей и включай питание
Как ты включишь питание ардуиной, не подав на саму ардуину питание? А если ты подашь на ардуину питание, ее обвязка будет это питание выжирать, и никакой режим сна тебе не поможет без переделки платы. Потому что во сне отключается только сам контроллер, но не его обвязка.
А по моему анон все правильно пишет. Ардуину записывай постоянно, а периферии вырубай питание через mosfet с p-каналом. Если и существует такой повербанк как ты хочешь, то в нем будет сделано аналогично.
Ну и не забудь про ток собственного потребления у LDO, который там у тебя с ардуйней - может будет смысл поменять.
>Как ты включишь питание ардуиной, не подав на саму ардуину питание? А если ты подашь на ардуину питание, ее обвязка будет это питание выжирать, и никакой режим сна тебе не поможет без переделки платы
Ставь нормальные лдошки а не ams и будет тебе счастье. Ардуина жрёт в дип слипе порядка 0.3 мА, куда уж меньше то?
Ты предлагаешь написать китайцам, чтобы ставили на копеечные пердуины нормальные лдошки, которые стоят дороже, чем вся плата? Ебать ты дебил, клиника просто.
При чем тут это? Ты не способен перепаять LDO? Там работы на 5 минут буквально. Или ты паять не умеешь, а только шилды друг в друга втыкаешь?
п.с. а еще выкинуть платы которые уже есть и купить вместо них эти "нормальные", лол. или купить десяток лдошек ("нормальных", рублей по 300 штука) и навесить их соплями на эти платы вместо амсок (ведь распиновка 99% не совпадает, даже если корпус тот же). и еще юсб-юарт тоже выкинуть нахуй, а прошивать через модуль юсб юарт, подоткнутый на соплях. а на есп32 импульсник 5вольтовый, его тоже менять целиком на модуль который еще надо подобрать. а если периферия в сон не уходит то на нее тоже по мосфету вешать... т.е. если периферия это шилд см. с начала для этого шилда. ебать ты гений технолог просто, превратить годный модульный конструктор в сто лет канифольной ебли, смекал очка нахуй
Как проверять наличие кружки еще не придумал.
Понятно, все вокруг дебилы, один ты умный.
Если для тебя паять и разрабатывать схемотехнику сложно и покупать модули и мигать диодами – твой предел, то забудь про свои потуги в оптимизации и купи аккумулятор побольше.
Ну замыкай оптопарами параллельно механическим кнопкам и всё. Дисплей тебе нахуй не нужен если ты спишь.
>Как проверять наличие кружки
Инфракрасным лидаром проще всего. Но он на мух и пульт от телевизора реагировать тоже будет, так что только как вторичный триггер ставь.
Если твой предел мечтаний это изобретать очевидные по конструкции велосипеды и потом весело канифолить их весь вечер мне тебя жаль... Ты еще платы заказать и подождать месяц предложи ахах сурьезный ты наш ардуинщик! Хотя пока будешь разводить свою хуйню уже шилд нужный на макетке спаяешь из модулей которые всегда под рукой и даже несколько копий этого шилда! На деле ты наверняка ни одного шилда не разработал сам. И вообще не понимаешь что такое ардуино и как им пользоваться. А просто используешь как отладочную плату или микросборку.
хуидаром блять, че несет то. магнит крепишь к кружке, а на поддон кофемашины геркон.
Тогда хуярь сам раз такой умный, в виде модуля.
>если периферия это шил
Ты долбоёб. Никто блядь не задумывал эти шилды как конечное устройство и уж тем более никто при проектировании не запаривался вопросами энергопотребления. Почитай любые гайды, везде будет сказано: хочешь лоу пауэр - делай свою плату. Ардуина для этого не предназначена.
Максимум что я тебе могу предложить - сделать самостоятельно то что ты описал... на ардуине. Берешь nano, выпаиваешь нахуй оттуда LDO, usb-uart тоже можно нахуй, питаешь саму ардуину напрямую от 3.7 в аккума. Всё, профит. Легче решения не будет.
Ставлю другую кружку, твоё ебало? А твоя кружка ровно больше на дне не стоит.
Лидар не обязательно из теслы выковыривать. Инфракрасный диод и фототранзистор – это уже лидар, дешевле магнита стоит.
Ты сам долбоеб. Это платформа для прототипирования и DIY. Шилды это законченные модули которые можно комбинировать друг с другом без пайки. Я могу разные дисплеи например пробовать или разные сенсоры, добавить за секунду сд карту или часы просто поставив шилд. БЕЗ пайки и соплей !
А я могу сделать свой шилд и делаю свои шилды. Вот я и сделаю себе пару новых шилдов с аккумом каким нибудь контроллером авр и зарядником и они будут коммутировать питание по +5V или VIN и ими можно будет управлять по i2c с главного контроллера (держать/выключить/заснуть на Н минут/получить инфо уровень заряда например). Может даже дисплей добавлю чтобы можно было через меню настраивать вручную. И это все не на соплях а в виде жесткой акуратной этажерочки, вот
А вообще хз зачем кружку вообще проверять. Если ее нет то изначальная задумка делится на ноль (надо подойти поставить кружку и нажать кнопку вручную) значит она в большинстве случаев там полюбас должна стоять. А еще можно камеру поставить. С тилибона смотриш есть кружка? если есть даешь добро. Еще можно распознавание лиц запилить чтобы кружку автоматом распознавать стоит она или нет.
Всё так. А когда ты закончил прототипирование и собираешь финальное устройство ты выбрасываешь всё это нахуй, ставишь такую же атмегу как в пердуине и такую же периферию без всего лишнего обвеса и стопок текстолита и гребёнок. И питаешь от одного импульсного, а не каскада линейных.
Ты сам же и пришёл ныть что тебе всё это мешает когда запустил устройство. Не умеешь читать даташиты, платы трассировать и ноги подтягивать – иди либо нахуй, либо учить матчасть.
>собираешь финальное устройство
Какое "финальное" мань? Тебе скока раз повторить что бы до тебя дошло. Это маленькие махараечки для дома.
Пердуина позволяет не заниматься карательной электроникой с нуля каждый раз а делать все быстро и аккуратно.
>выбрасываешь всё это нахуй
Ну я же говорю ты тупой. Ты не понимаешь. Нахуя это выбрасывать нахуй если это можно использовать в следующем девайсе.
>Дисплей тебе нахуй не нужен
А как я состояние буду понимать? Вдруг кто-то уже варит кофе, или мне нужно отправить уведомление на телефон, что кофе готов.
А че тогда до треда доебался раз сам знаешь всё?
Единственное что, вместо атмеги взял бы какую-нибудь stm32l0 в корпусе на 8 ног
>stm32l0 в корпусе на 8 ног
А вот и блохастые советики от профессиональных гиков подъехали! Стоит отметить удивительную, противоестественную логику этих занятных особей — в то время как нехватка каких-либо ресурсов (пинов, памяти, мегагерц) не останавливает этих удивительных существ, а делает ебаную задачку "интересной", лишние ресурсы — преграда непреодолимая! (ну кроме денег — этот малосущественный параметр в расчет не принимается, лишние байтики куда важнее) Технарику отвратительна сама мысль о том, что можно 64ногий контроллер с 20кб оперативы заставить мигать светодиодом в 3 строчки, это ж какое расточительство!
Ну а как там с напряжением питания у твоей хуитки, нук расскажи мне? У заряженной литиевой банки 4.2в вообще то. Ебать ты инженегр канеш гениальный выдающийся блять, ума палата! Зато что знаешь про стм32 похвалился ахах, умник деревенский, как будто кто то про них не знает.
>>548352
А что тебя интересует конкретно? Ты не умеешь прототипировать на перфборде, или у тебя руки из жопы? И ты проецируеш эти невъебенные скилы на меня?
Покажешь ШЫЛДЫ-дурино-модули для создания аналога КВ-трансивера со второго пика?
Возьми трансивер на пердуине и сделай ШЫЛД, в чем проблема? Правда пользоваться ты все равно без разрешения не сможеш...
Я хочу заняться ардуиной, думал найду какие-нибудь кружки радиотехники, где рядом с мужиками настоящими можно конструировать, но что-то не нашёл в своём городе миллионнике. Чисто забить и организовать мастерскую дома? Шо думаете
А мысль о том что у стмки на два порядка ниже энергопотребление в дипслипе тебя конечно же не посещала, да? Цена кстати в три раза ниже тоже.
>Технарику отвратительна сама мысль о том, что можно 64ногий контроллер с 20кб оперативы заставить мигать светодиодом в 3 строчки, это ж какое расточительство!
Ты это говоришь человеку который мигает светодиодом в 0 строк! Чисто на конфиге куба! Ещё я люблю баловаться кодогеном матлаба, так что атмеги для меня вообще-то МАЛОВАТЫ обычно будут. Но если очень надо, то можно спуститься до stm32duino или, прости господи, HALа.
>Ну а как там с напряжением питания у твоей хуитки, нук расскажи мне? У заряженной литиевой банки 4.2в вообще то.
Ты же в курсе что с переменным напряжением питания у твоей атмеги rtc будет показывать погоду на марсе?
>А что тебя интересует конкретно?
Мне всего лишь интересно как анон решил вопрос с вот этим:
>умный" программируемый павербанк для ардуины?
Нашелся шилд для этого?
и gd32f103
суканах на днях шутканул про gd32 в соседнем треде, а на следующий день понадобилось сдампить прошивку с одного устройства, а там оказался GD25 SPI NOR который ни одним программатором не читается, моментальная карма блять
товар - просто космос!
> у стмки на два порядка ниже энергопотребление в дипслипе
Сто лет сможет сидеть в дипслипе вместо года, лол? Похуй.
С напряжухой че?
>Цена кстати в три раза ниже тоже
Пиздишь, атмега бесплатная. Потому что у меня их уже дохуя есть в наличии.
>а я
Да мне похую кто ты там есть и чем занимаешься. Это не мое дело. Ты сморозил конкретную хуйню и я тебе сказал об этом.
>у твоей атмеги rtc
Какой еще ртц у атмеги?
> маленькие махараечки
> огромная плата с торчащими коннекторами
я беру нано и пико и паяю - не лень припаять отпаять два три раза, больше во время разработки не требуется
>Пиздишь, атмега бесплатная.
Мы вам перезвоним
>Да мне похую кто ты там есть и чем занимаешься. Это не мое дело
Настолько не твоё что ты высрал многабукоф что для мигания светодиода надо 100500кб озу и 3 строчки, фиксирую тряску
>Какой еще ртц у атмеги?
Сотфварный ёпта, ты ж как-то собрался считать свои секунды во сне
>Мы вам перезвоним
К чему ты это высрал? Я тебе сказал что это домашняя поделка.
>Сотфварный
А где ты проблему видишь? С чего ты решил что мне нужно прецизионное время? В предложенном тобой варианте контроллер просто сгорает нахуй от 4.2 вольт умник.
Хотел сказать что ты как тупой долбаеб юзаеш нано и пико хотя есть QFN или WLCSP
Если ты заказываешь плату для шилда, то ну, проще всё устройство сделать на плате, а не делать шилд. Если ты хочешь взять че-то типа пирклиа и налепить туда атмегу, батаерю и контроллер, то сходи к врачу, ок?
Алсо, твой дохуя умный пауэрбанк делается вот на этой хуйне https://aliexpress.ru/item/1005005134938520.html и цифровом потенциометре. Первое напаяешь на префбордшилд, второе возьмешь в виде модуля, как раз будет то что ты хочешь и мммаксимально arduino way
>проще всё устройство сделать на плате
Так ну смари суда ебана......... У тебя устройство будет состоять из контроллера кнопок экрана питалова и рф требухи. А другое устройство будет состоять из контроллера кнопок экрана питалова и другой требухи. ВНИМАНИЕ ВОПРОС ты дебил каждый раз заного канифолить на соплях контроллер кнопки экран питалово?
>>548441
Скока эта хуита жрет когда нагрузка выключена? Не вижу.
>цифровом потенциометре
и чемодане батареек для него
Здравомыслящие люди выбирают элементную базу по задачам.
Шкальник типа тебя выбирает шильдики для дебилов
ты на оборонку работаешь?
>каждый раз заного
>контроллер кнопки экран
Если ты у мамы не наркоман, то всё это вместе называется хост-компьютер. И да, я проще трафаретной печатю сделаю раз в год качественную плату для качественного устройства, а не буду как маленький мальчик с аутизмом собирать каждый день бессмысленную хуйню из лего
типа ты вместо пердуины предлагаешь такое как у тебя на пикчах делоть? кек мда за то не шкальник .........
>>548458
>хост-компьютер
бля ты че ради датчика температуры материнскую плату захуяриваеш? нет ну ты конешно да пиздец ваще не маленький мальчик уже бля сурово. т.е. ты мне предлагаеш к каждому сенсору по хост ноуту покупать? ебааать..... за то не пердуйня из лего и не легкие пути
>каждый раз
Нахуя это? Я собираю устройства, которые затем используются согласно замысла. Их не нужно разбирать
>нет ацп
16 штук. Правда с мёртвыми зонами. Правда нелинейные. Правда с включенным вайфаем можно использовать только 6.
Есть версии, где АЦП лучше. ESP32-S3 хардварно калибруется для фикса мёртвой зоны, и софтварно для фикса нелинейности.
>жрет дохуя
Без вайфая можно сделать до 25мА. А если от батарейки питать, можно ULP ядро запустить и основное усыпить. Так до 150мкА будет.
А если запускать ULP по RTC таймеру, а остальное время спать, то вообще 5мкА можно.
>А если запускать ULP по RTC таймеру, а остальное время спать
А если вообще не включать, то можно вообще ничего не делать. профит
>т.е. ты мне предлагаеш к каждому сенсору по хост ноуту покупать
Ну почему, можно один на все и esphome
>>548482
Прототипируется на макетке. Ну просто потому что банально я не видел шидлов с теми микрухами которые использовал в своих проектах
>>548492
>16 штук.
Каналов, не штук. Штук там только два и то один отведён под вайфай/блютуз
>Правда с мёртвыми зонами
В большинстве случаев это не проблема и фиксится либо софтварно (например для потенциометров) либо аппаратно на этапе проектирования. Я особо не могу представить сценарий где надо измерять жёстко от 0 до напряжения питания
>Правда нелинейные
Тоже мне проблема, это фиксится программно и уже написано 100500 библиотек для этого.
>Прототипируется на макетке
У тебя все время разные микросхемы используются? И процы разные? Можно взять шилд-макетку и на нем смонтировать твои микросхемы, а остальное готовое. Ардуину кстати тоже можно заменить на плату в таком же формате. Бля, да у меня девайсина есть, состоящая из трех перфбордов для ардуино уно — проц, датчики и детекторы всякие, экран с кнопками. В принципе можно и на обычных макетках то же самое сделать, не на шилдовых, но это нужно распиновку придумывать, и готовые шилды (например, с экраном 1602) не получится использовать.
Жру с удовольствием. Нелинейность починил софтварно, напряжения читаются, температуры симистором замеряются, положения потенциометра определяются. Всё работает.
>>548510
>Каналов, не штук. Штук там только два и то один отведён под вайфай/блютуз
Наркоман что ли, сука?
16 пинов для чтения 16 напряжений. ADC1 всегда можно читать, ADC2 только с выключенным вайфаем.
>У тебя все время разные микросхемы используются? И процы разные?
Да, это обычно выглядит примерно как 4 оппик. Процы тоже разные, но обычно это esp32. Ардуина только когда нужно или что-то максимально примитивное или надо 5 вольт но искать шифтер влом. Обычно у проектов общий только sh1106, лол
>>548520
>16 пинов для чтения 16 напряжений
А теперь считай одновременно 16. Не последовательно, а именно одновременно, по одному фронту
>Посмотрите на меня, я хочу за один такт читать 20 пинов ADC. Если у вас в чипе этого нет, то у вас нет ADC.
Шиз, ардуиновский analogRead в ESP32 занимает 50us-70us, судя по гуглу. Это 0.00005-0.00007 секунды на одно чтение. Но для тебя это слишком медленно, и ты решил что там всего 2 ADC пина доступно?
Ну аргументированно, хули.
Блядь, наркоман, я про то что каналы АЦП и количество АЦП это немного разные вещи. Я понимаю что в твоих ардуиновских проектах разницы никакой, но есть случаи когда надо использовать именно разные АЦП. Например для синхронного считывания данные ты будешь обрабатывать последовательно, это не имеет значения, например один АЦП работает в дифференциальном режиме, а второй в одиночном, например один работает в continuous, другой асинхронно по программному сигналу.
>Я могу разные дисплеи например пробовать или разные сенсоры
>попробовать
Именно. Попробовал? Молодец, теперь можешь покупать сами дисплеи-сенсоры и использовать в своём устройстве. Хватит бояться паяльника, это не так сложно, как тебе кажется.
>Хватит бояться паяльника
Нраица тебе говно нюхать? вкусно пахнет?
Причем тут паяльник ваще к электроннике? Я же не монтажник и не ремонтник.
Я и использую это все в своих устройствах. Напаиваю один раз на шилд и использую где угодно.
У тебя чип спиздили.
Но определяться ком порт должен, USB-TTL чип на месте. Так что иди уроки делай, тролляка мамкин.
Кота расчёсывал
>>546832
По сути две разные архитектуры. ESP прекрасно работает в Arduino IDE. Я STM32 тоже настроил там, но прям пердолинг и костыли. Все таки STM - отдельная архитектура и первый подход был не самым удачным. Отложим на потом.
Ардуину по своей тупости я спалил, даже не спрашивайте как. Выпаял феном чип. Может когда нить закажу по дешману 328P.
>>546715 - анон
Бутлоадер для стм32 тебе нужон, поищи. Вроде было что-то такое, по ЮСБ умело шить. Потом нам расскажешь.
Бутлоадер есть чтобы шить просто через UART, однако, если я верно понял лишусь возможности прошивать через ST-LINK. Мне такова нинада.
> С STM32 сложнее как оказалось, особенно печально то что нужен отдельный программатор. И там нет последовательного порта.
>>548768
Ниче там не надо, blackpill на f401 может в DFU по USB без всяких программаторов. UART там аж штуки три, ЕМНИП. Если речь про usb-uart, то его можно сделать виртуальный com порт через usb
Нет, не лишишься, если ты про встроенный бутлоадер.
Когда у меня не было стлинка, я так сделал из одной блюпилл стлинк для других блюпиллов (прошив ее ардуиной по юарту).
В ардуино иде это делается одним кликом. Потом все Serial.println() попадают в виртуальный COM порт который через USB работает.
Подожди когда ты до ESP32 дойдёшь, с 4мб флешкой, вайфаем, блютусом, 16 пинами ADC, 16 пинами PWM, 2 DAC, 3 UART, прошивкой через вайфай и 2мя ядрами, где можно параллельно запускать разный код. +1 ядро ULP, где ещё и 3й код запустить можно.
Вот там ты охуеешь с возможностей.
Да я вчера вот такой пейджер сделал на ESP32. Принимает сообщение из телеги и передаёт на экран. ESP32 - дык вообще годнота.
У наны есть 5В и Hi-Z ADC
На этом моменте надо переходить на PIO, а то будешь как дятел ждать минут по 5 компиляции
https://github.com/espressif/idf-eclipse-plugin
А нахуя, кстати, ардуина иде компилирует каждый раз все файлы вместе с либами с нуля?
PlatformIO только изменённые файлы перекомпилирует.
Microchip studio
> Ukraine
они там бэкдоров не напихали? код на сердечки не заменится?
Самый большой кусок говна который туда подложили - эта хуйня не заработает без интернета вообще. В остальном это действительно лучшее окружение для работы с esp32
>>549022
>>549062
>>549008
Это блохнотик вскод размером со слона - охуенная альтернатива пердуйне-то? Я отказался от платформио после того, как, оставив на ночь эту хуйню открытой (в составе вскода), обнаружил наутро мак раскаленный добела и ревущий кулерами. (Ну хотя пердуйня и сама теперь веб-параша на электроне, так что шо то шо то.)
Вообще, в пердуйне есть такая галочка, "Use external editor".
Позволяет редактировать код в каком-нибудь саблайме отдельно, а компилировать и заливать пердуиной. Еще есть arduino-cli, оно позволяет и билдить, и либы загружать из соснольки пердольки.
Помню тоже в детстве собирал подобные хуйни. Всякие крутилки, переделки и свистелки. Но долбоебы знакомые только и могли дать комментарий: А ЗОЧЕМ?))) Я то вырос и стал инженером, а эти пидоры так и остались хуй пойми кем.
> Самый большой кусок говна который туда подложили - эта хуйня не заработает без интернета вообще
пиздец. то есть эта параша даже хуже, чем Arduino IDE 2
спасибо, что предупредил.
респект таким пацанам
В общем имеется esp8266 3.3v и 28byj-48 шаговый мотор 5v. Какие лучше аккумы взять и что лучше повышать или понижать напряжение? Открываться и закрываться шторы типично будут два раза в день. Управление через mqtt.
Забыл уточнить, крутить надо существующую "веревку". Т.к. не известно насколько нужно крутить чтобы полностью закрыть, поэтому взял шаговый. Предполагаю сделать режим калибровки, т.е. замерять полное расстояние в шагах один раз и принимать это за 100%.
Тебе нужен будет очень большой аккумулятор чтоб питать ESP8266 24/7 в ожидании MQTT пакета.
ESP8266 в среднем потребляет 70мА судя по гуглу. Это 0,231 ватта.
Одна ячейка 18650 2500mAh это 9,25 ватт. Это 40 часов работы.
А это мы ещё не считаем потребление преобразователя для 3.3В. Так тебе одной 18650 хватит меньше, чем на сутки. Чтоб хотя бы месяц держало, тебе нужна здоровенная батарея на 30+ ячеек. А там ещё и мотор переодически вращать надо.
Подумай ещё раз.
Особой точности со временем не нужно, так что сойдет сон и включение каждые 5 минут, чтобы получить новые сообщения. Если будет включаться на 30 секунд, то получается 2.4 часа работы в день и 170 мАч.
Да и первая arduino ide не то чтоб особо шустрая, на джаве ж написана, лол
>>549108
Ну потому что во-первых эти долбоёбы не смогли засунуть своё расширение в расширение вскода целиком и оно будет че-то докачивать после, включая внешние зависимости в виде гита и питона. Причем второе даже если питухон прописан в path - он не найдет и будет докачивать ещё один себе! Во-вторых не дай бог у тебя в platformio.ini прописана ссылка на гит или библиотека без указания версии. Эта хуйня может рандомно полезть обновлять и без интернета скажет ой не могу сбилдить даже если все тулчейны и либы скачаны ранее.
>>549074
Да вскод то (сам по себе) не особо жирный ну и это вариант для детей которым нужен красивый гуй. А так platformio-cli прихуяривается хоть к эклипсу, хоть к цлиону хоть блокнот с батниками.
>Позволяет редактировать код в каком-нибудь саблайме отдельно, а компилировать и заливать пердуиной. Еще есть arduino-cli, оно позволяет и билдить, и либы загружать из соснольки пердольки.
При работе с ардуиной никаких проблем, но вот с esp32 или stm32 ты начинаешь замечать что оно во-первых билдит всё каждый раз с нуля, не кешируя ничего, во-вторых билдит невъебенно медленно. STM32 билдятся быстрее, но не так быстро как нативный gcc, если запустить ардуину с правами администратора. Как они это сделали и почему - я так и не понял
Бери любые, всё равно заряжать каждый день будешь. Ну раз в два если ещё солнечную панель поставишь.
Батарейки не годятся ни для двигателей, ни для вайфая.
Да и шаговое двигло тут тоже нахер не нужно.
>>549132
>ESP8266 в среднем потребляет 70мА судя по гуглу
Это без передачи, просто включенная. Пакеты разгоняют до 150, а она всегда будет что-то передавать туда-сюда.
>>549131
Хуита, тебе нужны герконы чтобы отслеживать когда штора реально в конечных положениях.
Вообще заметил, что все эти поделки в 99% случаях непригодны на практике потому что упираются в 3 обстоятельства:
1) Надо все это разместить на печатных платах, а не на макетных. Но тут можно это разметить в гербер и заказать в китаях, если заморочится.
2) Поделка должна располагаться в корпусе. Можно напечатать на 3D принтере.
3) Самая большая сложность. Питание. Надо тянуть ебучие провода. Либо ставить аккумы и заряжать переодически. Ты можешь сделать хоть лазерные препятствия как в шпионских фильмах, но надо к этому всему питание подключать. Иначе вся хата будет в проводах как у Лёши Кластера.
Хочу метеостанцию сделать. И придумываю как экономить каждый ватт. И как это через солнечную панель заряжать. Чтобы устройство было автономное, а не хуитка на подзарядке.
Все так. Из-за этого купил 3д принтер. Питание до сих пор проблема, но с принтером можно всякие держатели для кабелей и проводов делать тоже.
Пиздец, пидорахи опидорашат что угодно
У нормальных людей проводка внутри стен или фурнитуры. Кабель каналы это если у тебя цех/серверная или че-то подобное
>>549336
>Надо тянуть ебучие провода. Либо ставить аккумы и заряжать переодически. Ты можешь сделать хоть лазерные препятствия как в шпионских фильмах, но надо к этому всему питание подключать. Иначе вся хата будет в проводах как у Лёши Кластера.
Что вы блядь там самоделите что это надо развешивать по всему дому? Лоупауэр хуйня типа всяких датчиков делается на esp32 (потому что 8266 не умеет сама себя будить нормально) и работает по полгода на батарейках. Мощная хуйня и так ставится куда-то куда провода идут, типа если речь о каком-то освещении или приводах.
С питанием анус полный, это да. Нормально можно сделать только если ты на этапе ремонта предусмотрел линию в каждой точке которую можно достать, подцепиться и красиво запаковать обратно. Ну, под потолком хотя бы. Который ещё и разборным должен быть.
С ESP особенно печаль, вайфай любую батарейку уничтожает моментально и там принципиально ничего не поделать. Згиби ещё ок, но на зигби нет фреймворков типа ESPHome и каждую поделку надо пердолить от начала до конца.
Да и один хуй батарейки – это лютый дроч, когда у тебя будет с десяток другой девайсов у тебя постоянно что-то внезапно дохнуть будет и будешь каждую неделю где-то менять батарейку.
Есть наркоманские варианты с беспроводной передачей, например ловить ЭМИ наводки от проводки, засвечивать лазером фотоэлементы... Но это всё максимальный пердолинг с сомнительным КПД и надежностью.
Под плинтусом провод протащить никак?
Вообще ерундой какой-то занимаетесь. В чем проблема руками открыть? Ладно бы раз в пять минут нужно было бы дергать, но нет же. Лучше более полезные вещи сделать, хотя бы климат-контроль в машину, чтобы не отвлекаться на подкручивания печки/кондиционера.
Справа устаревшая хуйня без задач. Как по цене устарело так и по возможностям. Nano ещё может пригодиться если прям надо 5В выходы здесь и сейчас
DFU нет
M1, нет FPU, мало периферии, мало памяти, нет контроллера USB PD, нет DFU по USB. Зато есть куча клонов которые тебе продадут под видом f103 они неплохие, но с вероятностью в 90% не заведутся с SDR для STM32 а главное это стоит столько же сколько F401 или G431
Хехе, нет. Собственно эти 10 плат самые распространенные платы на алике. Стоят копейки.
Загуглил цены на это чудо, ну такое, разве что самым упоротым коллекционерам зайдет
Вообще не понимаю зачем тебе rp2040 и уж тем более stm8. А так неплох неплох
Если ты не залез в гугл, то M1S Dock может тоже принять в себя линукс правда тебе надо будет либо собрать его самому либо довольствоваться демкой и стоит всего 2к в полной комплектации, а без дисплея с камерой вообще 1200! Pine OX64 по идее стоит дешевле но его нет на али, а чип там тот же. И да, тут RISC-V вместо ебаного MIPS
Нынче эта хуитка в дефиците прям и да, стоит пиздец. Для всяких апачей, баз данных, торренто-стриминга, ботов телеги и всего всего где прям нужен Линукс у меня есть миниПК на N5095. А там где просто нужен wifi есть ESP32.
Пиздец, какая же жалкая хуитка без задач.
И не хаб, и не контроллер, а вообще непонятно что и для чего.
>обычный линукс
>apache+php+mysql
>драйвера ядра на C
Больше говна, сложнее говна, заебистее говна, там где можно вообще не срать - ОСОБЕННО там где можно ваще не срать а то не по-посанске а по ламерски! Дровера АССемблер кококо!
МОДУЛИ блять! какие драйвера в прыщеоси долбаеб
>>549859
>>549867
>где прям нужен Линукс у меня есть миниПК на N5095. А там где просто нужен wifi есть ESP32.
База
в винде ld нет, ставь линукс
2.54 header socket. Обычно срухол, но можешь поискать в смд варианте
Чтоб наверняка, а то 8266 умеет хуйню творить
>>549449
>потому что 8266 не умеет сама себя будить нормально
>I have battled with this issue for months on and off. Was finally able to get the Lolin Nodemcu v3 to wake up from deepsleep using a 220resistor between SD0(MISO) and 3.3v.
(this is in addition to the bridging of GPIO16 and RST of course)
Долго искал, но нашел, после добавления этого резистора выходит из сна нормально
Ну тыб хоть код показал.
Ну че епта сделал шылд. Кароч работает ПИЗДАТО как и задумывалось НО есть ньюанс ... кароч у меня в нагрузке стоит маленькая повышаечка на 7 вольт. Когда пердуина на шылде ее включает ток потребления скакает до небес а пердуина садица на ачко и перезагружается напряжение проседает. Если батареечка свежая то все ок но если она чуть подсаженая то начинаются такие побегушки. Как лечить???
Повышаечки это кал ебаный, никогда не юзай их. Они когда сгорают, то ещё блет в два раза начинают повышать, всё уничтожается фпесду, удваивай батареечку.
Ну смари какие варианты есть. Одна баночка литивая: мало и нужна повышайка. Две баночки литиевые: норм но недолго. Чуть подсядет и все. Три баночки литиевые: много для норм лдошки от которой надо будет запитать шилдовый коконтроллер. Вариантов нет тока повышайка. Еще на пердуине стоит лдошка 1117 которая будет сливать энергию в унитаз нахуй. Хоть одна хоть две хоть три банки будут одинаково по времени работать. Хуета.
>>524539
>В ардуине крайне хуевая структура проекта. Ты не можешь кинуть библиотеку только в проект
Бля тебя папки в файндере создавать научить? открываешь папку скеча там создаешь папку src. В нее свои либы кидаешь. ВСЕ.
Да и ето пизда но не в етом случае. щас на ето похую ваще.
Кароч поставил перед повышаечькой индуктор какой то рандомный и все заработало (вроде). Перед пердуинкой думаю рц фильтр еще ебануть. но потом
Ну, первый С всё равно есть, иначе чё за хуйня у тебя, если нет конденсатора? Может в этом и проблема?
нахуя он там нужон этот конденсатор ? какая у него задача ? у последнего понятно а у первого ?
бля сам нашел епт. прикольно но это не то что нужно
https://www.youtube.com/watch?v=t6KOfZgUY1g
https://www.youtube.com/watch?v=wopmEyZKnYo
бля красава. че машины делаешь? заебок
Нужно шапку почистить сперва.
Там половина текста шутки за 300, часть ссылок дохлые, нет Гайвера и прочих интересных личностей.
ПЕРЕКАТ >>550854 (OP)
ПЕРЕКАТ >>550854 (OP)
ПЕРЕКАТ >>550854 (OP)
ПЕРЕКАТ >>550854 (OP)
Запости тогда список годных каналов и блогов в тред. Хотя все пердуинщики более-менее одинаковые, если не полный трешак. А на фоне совковых книжонок про паяние говна на картонках любой из них просто охуенный гигачад - хоть на русском, хоть не на русском.
Нет никаких распространённых. Точнее, их слишком много.
JST какие-нибудь возьми ведром и всё что попадается первым делом на них переводи.
Универсальных нет потому что всё сильно зависит от условий эксплуатации, от что подходит для внутренностей не подходит для внешней среды, схема корпусного коннектора не годится на кабель...
>>551244
> юсб
Не используй коннектор не для протокола USB, долбоёб.
Нужно будет позиционировать мотор под определенным углом и держать его в этом положении. Информация о фактическом положении считаем что есть.
Сопротивление катушки если верить спекам 10 ом, напряжение 12-60v
сопротивление обмотки
ну, с тех пор я посидел на 1.8, а на днях предпринял попытку, с учетом того, что наконец у оракля вышел виртуалбокс, позволяющий мне на семёрке запускать десятку и даже пробрасывать юсб устройства туда-сюда... такой вот извращенец, ага.
Естественно, оно опять не запускалось.
Я снова начал искать, почему и нашёл вот это:
https://forum.arduino.cc/t/ide-hanging-on-startup-2-3-2/1253697/2
Вкратце, там дело в том, что должен быть правильный регион выставлен и правильное время на компе, соответствующее этому региону и этому часовому поясу.
Ну, после приведения этого в соответствие и перезагрузке она, ноаконец, запустилася.
У меня, правда, подгорает пукан, какого хуя эта жалкая хрень для программирования мигания лампочкой оборзела проверять, какое время у меня на компе стоит...
Вы видите копию треда, сохраненную 26 ноября в 07:39.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.