Это копия, сохраненная 4 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вопросы по основам радиоэлектроники НУЖНО спрашивать в первом прикрепленном треде на доске.
В данном треде обсуждается только Arduino и AVR (с использованием библиотек Arduino)
Коротко - о главном:
- Что такое Arduino?
- Ардуина - это конструктор из Atmega
- Что такое IDE?
- IDE - это ПО для разработки скетчей, брать тут -
https://www.arduino.cc/en/Main/Software
Профи берут ПО здесь -
http://www.besplatnyeprogrammy.ru/notepad.html
- Сильно ли я сосну, купив 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
И помни, анон, ардуинщики - (не) дети
Предыдущий тред меряет температуру там -
> Шаговые двигатели на второй пикче
Сколько тысяч долларов будут стоить шаговики, которые смогут обеспечить 12kps и 20 градусов?
5 баксов на али, если 12кпс будут с шагом дробления в 1024 раза
Вобщем, нужно собрать приблуду, которая бы воспринимала положительный импульс на входе и передавала бы его с определеной задержкой на управляющий электрод КУ201И.
Я думаю собрать ето на тини13. Одной ногой через прерывания думаю считывать импульс, в прерывании дергать анус ногу с BC547, который бы уже дергал УЭ на тиристоре.
Еще необходимо, чтобы длинна задержки была в зависимости от частоты импульсов, счечик лучше прикрутить в лупе, а в прерывании его обнулять и вычислять время? Чет не могу придумать как с одним таймером это реализовать, чтобы считалось время между импульсами, и время задержки передачи сигнала.
Заранее спасибо за идеи.
Сначала считаешь время задержки, а потом длительность
Ставишь первоначально прерывание на восходящий фронт сигнала. При нём запускаешь таймер и переключаешь срабатывание прерывания на нисходящий фронт. При нисходящем выключаешь таймер и записываешь значение в другую переменную, само значение таймера обнуляешь. Запускаешь прерывание на восходящий фронт.
Повторять до конца вселенной.
Совсем забыл, время между фронтами - частота импульса. Я так контроллеры серводвигателей свои делал.
Спасибо, но немного не то, мне не нужна длительность входящего импульса, мне нужно отсчитать задержку от начала входящего импульса до отправки исходящего. Это с помощью компаратора можно сделать, как я понимаю.
>сильно ли плавает частота на внутреннем генераторе 9,6 мгц тини13 в пределах от 0 до +35 градусах?
Ой, ну так по памяти не вспомню, это надо в даташите графики смотреть.
китайцы вполне могут прислать с неоткалиброванным генератором
Спасибо за ссылку, очень интересный проект!
Ну тогда только входящий фронт и от него таймер на заданное ТОБОЙ значение, по сравнению таймера прерывание, СТОП таймера и выходной сигнал.
Ахренеть, анон, только что запилил релешку времени для ламп в ogorode.
Но там по-сути одна релешка и один RTC модуль, и я сначала подумал, что пердуина слишком сильная для этой задачи, поэтому взял Digispark (в виде флешки), который валялся как раз рядом. Ты бы знал чего я натерпелся пока пытался заставить его работать и этими часами. Какой-то анон запилил библиотеку для работы с часами, которая рассчитана только на ВЫВОД ВРЕМЕНИ НА LED-ДИСПЛЕЙ. Спустя сутки пердолинга и попыток хоть как-то заставить работать это для моей задачи, просто поставил дурдурину и сейчас всё работает как часы (извините за каламбур) на коде, что был написан за минуты две.
Найди прошивку и создай свою или ищи на похожем или более толстом камне и кварце. Балуйся сколько хочешь!
Я понимаю, что это просто попытка охватить ту часть рынка, которая в силу своего долбоебизма не желает осваивать родные к микроконтроллерам языки. Но, блядь, писать на том, что предназначено для сетевых морд и переводить это потом в Intel HEX, чтобы те самые 5% дуралеек захотели купить? Нет, я в курсе, что 5% от рынка это от всего рынка, там миллионы человек. Но эти принципы не только плодят сущности сверх меры, но и рушат часть того, чему меня учили. "Соблюдение простых правил даст в общем только выгоду" - срабатывает, но тут это. Может тогда и под Алгол еще компилятор на МК или ПЛИС? А?
В голове не укладывается.
Да вроде JS уже давно не для сетевых морд. И в Искре Cortex M4 вроде. Просто задумка интересная, вот и хочется пощупать.
Интересного в ней лишь то, что долбоебы, которые пьют смузи и вейпят, получая 50 баксов в час, смогли бы помигать светодиодом и мнили себя неебаца ембеддерами. Очередная попытка опустить планку, не более того. И так уже каждый микроконтроллер говнодуиной называют.
>JS уже давно не для сетевых морд
А я давно охуеваю с этого факта. Какой только хуйней так называемые погроммисты не занимаются.
а под Python платы есть?
Прости, братишь, но js унтер-язык, если что-то идолжно быть языком самодельщиков - так это Python.
>под Python платы есть
Нету. Под microPython - есть. Как минимум на оффсайте и гитхабе с исходниками найдешь. Если надо - сам подпилишь конфиг по части интерфейсов - он довольно простой.
После С в JS вкатываться легко, ибо те же указатели, пусть отсутствуют как тип, но ощущаются во всем, функции как переменные, те же колбеки в виде промисов. Попробуй С и не грузи камень ненужными интерпретаторами
Нужен согласователь уровней и вот это всё, но у меня гениальная идея.
А что если я возьму LM1117-ADJ и сделаю на ней 1.7 вольт и эти 1.7 вольт подам на GND дисплея.
Таким образом все 5 вольтовые сигналы для него будут 3.3 вольтовыми.
Взлетит?
>поставить диоды
Может ему тогда просто осбрать преобразователь уровней на паре мосфетов или поставить микру типа SN74ALVC164245DGGR
Хм.. Делитель напряжения на резисторе? Сам дисплей питается от линейного стабилизатора, пин логики ардуины включен через делитель на 2 резисторах, а точка между ними на 3.3В включен пин логики дисплея. Но это передача только.
Можно схему?
Эти экраны работают смело и на 5В.
Программа работает по прерываниям. SPI_STC какая то залупа непонятная, в даташите либо я даун не понял, либо там реально написано не понятно. Я так понял, что это прерывания по приему байтов(как RX_vect на usart) или это как то по другому работает? Объясните дегенерату плиз.
SPI это интерфейс. Там три функции, init, send, get. Инит запускает в нужном режиме, сенд и гет записывают или передают байт. Если у тебя куча нулей в середине посылки, то скорее всего скорости не верны или пердуиновая библиотека врет со старт и стоп битами.
Сам по себе интерфейс ну очень простой.
У меня не ардуино, а чистые atmega168. Инициализацию провожу вручную по даташиту, в одну сторону посылка нормально идет(со второго контроллера смотрел по usart как передает, там все ок), но вот когда я со слэйва шлю обратно на мастер(на мастере срабатывает SPI_STC), то туда шлется хер пойми че,при этом действительно я вижу какие-то обработанные байты. Ответ должен состоять из 6-7 байт, но приходит 20 байт с обломками ответа и кучей нулей.
Причем если я включаю бит SPIE в SPCR регистре на мастере(при MISO=0) прерывания тупа не срабатывают. Дергал ножку, смотрел на осциллографе SCK - нет никакого сигнала. Дичь какая-то
P.S. Пробовал самые разные скорости, максимальный делитель 128, именно на нем я успеваю увидеть несколько байт со слейва, но нули при этом никуда не деваются.
Здесь сглаз, порчу, привороты и отвороты по тексту не снимают.
Где говнокод, схема соединения-подключений, запись с логического анал_изатора(если есть)?
Твой ведомый отвечает тогда и только тогда, когда ведущий ждет этого от него. SCK всегда управляется с ведущего. При MISO=0, лол, ты хоть документацию читал? Осциллоскопом смотрел? SPI работает от "1" к "0", а ты на ноль загнал прием ведущего и ждешь, что он будет что-то делать.
Код давай свой сюда.
А еще байт адреса состоит из семи бит адреса и бита чтение/запись. Если бит чтение/запись не установлен как чтение, то хуй ты что считаешь.
>А еще байт адреса состоит из семи бит адреса и бита чтение/запись. Если бит чтение/запись не установлен как чтение, то хуй ты что считаешь.
Дяденька, ты ёбнулся? Это в IIC, а у него SPI!
Какие еще блядь 7 битные адреса и бит чтения-записи в SPI?
Да, я ебанулся! Перепутал.
>SPCR = (1 << SPE) | (1 << MSTR);// enable SPI, master mode 0
Все биты выставил правильно?
>Все биты выставил правильно?
Если хочешь помощи - вытаскиваешь хуй изо рта, NDA засовываешь в задницу (неважно чью) и выкладываешь свой говнокод с комментариями, мыслями, что идет не так, что должно быть и как это узнал.
Ты не в ту сторону воюешь.
Sorry за грубость. Мне показалось это нужный анон.
>>13508
С ходу:
1) То ли ошибся, то ли комментарии включение-выключение прерываний не соответствуют действительности.
2) Совсем дуба дал? SPCR = (хуйня) - ты так или ВСЕ биты сбрасываешь, или только ОДИН бит устанавливаешь, сбросив в 0 другие, отключив к хуям режим господина SPI.
3) Usart transmit_data хуйня massiv_INPUT хуйня..
Типа эхо по UART пытался изобразить? Читаемое говно по SPI сохраняешь в массив и не используешь его.
Не дописалось.
4) Что за хуйню с SPI вытворяешь?
Отсылку делаешь с поллингом, а прием по прерыванию?
Че??? Не судьба запихнуть все или в поллинг или в прерывание?
Тем более что в spi_write_array после строчки с while(..SPSR.. SPIF..) у тебя в SPDR лежит принятый байт и его можно спокойно прочитать?
>>13510
https://pastebin.com/FgR9Kj4v
тут код слейва.
Пытался создать подобие модбаса. То есть, как уже писал, отправляю на один контроллер запрос(master) по уарту, далее он передает во второй(slave) по spi, там обрабатывает, снова возвращает ответ по spi, и мастер этот ответ отправляет на пк(по уарт).
Прошу простить мой говнокод, сам уже запутался.
Подумал что с прерыванием проще будет.
1) Прерывания по уарту работают отлично. Прерывания по SPI работают через очко.
2)SPCR инициализировал по даташиту.
3)Usart_transmit_data нормально передает массив. С уартом вообще проблем впринципе нету. Massiv_input хранит байты переданные с ПК.
4)Как это стоит реализовать? Мне в мастере убрать прерывания spi_stc и оставить while(spsr..spif)? Тогда каким образом он запишет туда массив со слейва?
Еще пробовал просто включить прерывания на мастере SPIE, но с MISO=0 прерывания впринципе не работает. Контроллер зависает походу. А при MISO=1 приходят байты в разброссаном количестве(то есть приходит 20..40 элементов среди которых я вижу байты со слейва)
Поздравь >>13397 ! Он выиграл, дав правильный ответ!
Твой раб НЕ может рушить SPI шиной..
Он у тебя РАБ! Он пляшет под дудку Господина!
Но вижу а может нет, бошка почти не соображает твой РАБ настолько дерзкий, что имеет смелость на пару с Господином бороться за сигнал CS! Потенциально можешь вывод спалить когда один выдает 1 другой 0.
CS - у раба как раз включает и выключает тактирование блока SPI и уже в данном случае используй прерывания что бы не сильно нарушать работу говнокода, а не крутиться в тупом цикле поллинга опроса бита SPIF, говорящем что таки прилетел байт..
Возможно я не прав и ты хотел замутить попеременную смену поз-доминирования ролей - этого незаметил в коде или малейших намеков на эту реализацию.
Да, я уже от отчаяния пытался их переинициализировать.Мастер на слэйв а слэйв на мастер, работает также через очко кстати говоря, но байты некоторые приходят))
>Прерывания по уарту работают отлично.
Какой еще нахуй UART?? Тебе же явно говорится про это строчки (с красным в начале) - тут UARTA и в помине нет.
>Прерывания по SPI работают через очко.
Еще раз - после первого же прогона ты отключаешь НАВСЕГА режим ГОСПОДИНА в тех же строках с красной меткой.
Основные ошибки - на Господине прерывания полностью отключай, читай данные после while.
У Раба - нахуй код с CS-ом и все работа именно на прерываниях.
На счет логики что что-то пришло или надо послать в _произвольный_ момент времени - сам придумаешь. Для начала просто затычку эхо сделай.
Полез на аликекспресс, а они там чёт подорожали пиздец. Раньше меньше сотки стоили с доставкой чуть больше, а сейчас чёт от 150 без доставки. Есть где по старым ценам ну или немного дороже взять?
Тут "маневр Сечина" случился и доллар слегка подрос. Можешь в прошлое смотаться и купить дешевле сотки.
Доллар не на 50% подрос.
Не. Я ебан прост) Они перестали автоматически доставку конфигурировать. Сейчас сбил себе 300 рублей, ещё и взяв более быструю.
У кого у них? Другой магаз посмотри, найди лот с 5 ардуинами или выбери доставку от одной компании, там скидос автоматом сделают, если не сделают значит в другой магаз иди.
ДНО!!! ДНОООО!!!
Это же матрица на регистрах. Тебе какая схема её нужна? Электрическая? Это просто.
https://www.alibaba.com/product-detail/SRY-led-matrix-64x64-led-display_60154416941.html
20$ против 44$
https://www.alibaba.com/product-detail/Promotional-indoor-led-display-video-module_60202490003.html
15$ против 44$ и документацию продают по 15$
Так вот, про схему. https://www.google.com/search?q=rgb+led+matrix+schematic
>and 12 16-bit latches
12-ть 16-ти битный регистров.
> On a 16 MHz arduino, we managed to squeeze 12-bit color (4096 colors) with 40% CPU usage
Там RGB565 скорее всего, RRRRRGGGGGGBBBBB биты, а на дуине они добились 12битного цвета, пересылая биты цвета с пропусками, либо как RGB444.
И вообще, там дальше код для примера
> matrix.drawPixel(x, y, matrix.Color333(r, g, b));
9бит цвет.
Там динамическая индикация. На 16МГц реальне только 3-4 бита, на 72МГц (STM32F103) можно и 8 бит на цвет.
Вот здесь https://alexgyver.ru/dynamic-rgb/ 3бита на цвет динамическая индикация. Каким образом можно без dac на таких светодиодах сделать больше, я не понимаю.
Бляяя, сука, ты меня бесишь. Твое неумение и/или нежелание экстраполировать ШИМ на три светодиода внутри одного, при этом ещё и управление ЯРКОСТЬЮ свечения за счет медлительности выключения оного, либо достаточной скорости и минимума интервала включения, а внутренняя емкость у светодиода пусть и ничтожна, но есть, ух... Как же ты меня бесишь, сука.
Собираюсь от нехер делать собрать конструктор пульсоксиметр из компонентов ардуино. Pro mini, какой-нибудь OLED экран и датчик MAX30102.
Смотрел ещё LilyPad Arduino USB с готовым обвесом для литиевого аккумулятора и попалась там тинька 85. Вопросов много, пока несколько. На тиньку85 код скорее не влезет? Ещё какая-то 32U4 поменьше размером. Они все одинаковы для ардуино-скетчев? Попадалась ругань на платки с датчиком MAX3010X от жёлтых червей, что они на али брак по обвязке питания продают.
Из за ебаного карантина практика перешла на дистанционку, и мне дали задание сделать часы на ардуино с использованием индикаторов, и как бы с этим проблем нет. Но проблема в неимении ардуино, и использовании эмулятора. Так вот есть ли эмулятор который может использовать не стандартные библиотеки, ну то есть любые. Т.к во всех проектах которые я находил необходимо использование и установка библиотек, но блядь ни один эмулятор не может использовать нестандартные библиотеки. Вообщем есть ли схемы эл часов без использования библиотек, или эмулятор который может эти библиотеки использовать.
Ты не представляешь, как проходит дистанционное обучение. Ему ещё спасибо нужно сказать, что хоть внятное задание дали и не за час до сдачи.
Ищи в сети примеры семисегментных на этот эмулятор.
Нет, тут только школота и гопота, которая сидит на корточках, жрет семечки и попивает пивко, а так же диванные войска особого назначения.
Тоже в свое время прихуел, когда немного изучил С и переписал стандартную ардуиновскую мигалку. Сишный код занял раз в 5 меньше места, чем ардуиновский.
Нужно всего лишь оделить код непосредственно взаимодействующий с периферией от остального и переносимость будет лучше любой ардуины.
Что угодно более-менее сложное и на ардуино-иде не будет переносимо без огроменной кучи макросов, которые тебе потребуется надпись.
> Нужно всего лишь оделить код непосредственно взаимодействующий с периферией от остального
Так wiring в ардуинах как раз и абстрагирует пользовательский код от вендор-специфичной периферии. Как и stm32hal, mbed, riot, zephyr и прочие фреймворки.
Твоё "всего лишь" это портирование(gpio+adc+dac+uart+spi+i2c+timer+etc)×(количество поддерживаемых ардуиной камней) - сколько это человеко-лет, можешь посчитать сам.
> и переносимость будет лучше любой ардуины.
Не будет. Или покажи мне фреймворк, который поддерживает больше железок, чем ардуина. https://platformio.org/frameworks - небольшой пример.
> Что угодно более-менее сложное и на ардуино-иде не будет переносимо без огроменной кучи макросов, которые тебе потребуется надпись.
Но в ардуине эти макросы уже кем-то написаны в описаниях камней/либах, и мне не потребуется их писать лол.
Я не защищаю ардуину и сам ей лишь изредка пользуюсь для ультрабыстрого предварительного прототипирования, но немношк пригорает когда "я отказался от уберпортабельного фреймворка для обучения детей электронике, написал непортабельный код мигания светиком под свой один камень и сэкономил 2кб флеша - я д'артаньян а ардуина пидарас ололо".
Не знаю, далек ли ты от реальной разработки или нет, но!
Если ты работаешь в компании, которая сама производит электронику, и в этой компании есть серьезные требования к коду, то все библиотеки там пишутся самостоятельно.
Написать свои реализации работы с ЦАП, АЦП, Таймерами и тремя протоколами + ПСП, ВотчДог и еще часть периферии не так уж и долго. Да и с годами это накапливается.
Если брать STM32, то там переходить с камня на камень не сложно.
Поддержка кучи попсовой периферии это круто конечно, но часто задачи специфичные, и там требуются редкие микросхемы, а значит ты опять пишешь свой драйвер к ним.
Ардуино это учебная экосистема. Даже если кто-то и создает на ней серийную продукцию, то это не тысячи изделий и уж тем более не десятки тысяч, про сотню и миллион я молчу.
И да, камни подбирают под задачу так, чтобы максимально его загрузить, экономят память и добиваются быстродействия и низкого энергопотребления, за этим и используется микроконтроллерная техника.
Ну и конечно же вопрос доверия к чужому коду.
Работая с железом ты не всегда можешь накатить патч, который все исправит и писать надо так чтобы работало всегда и без ошибок. Почитай про стандарт и требования к авиационному ПО.
Короче, нравится играться в железки, никто не мешает.
Хочешь заниматься этим профессионально, то меняй парадигму мышления.
>абстрагирует пользовательский код от вендор-специфичной периферии
Это тебе так только кажется, на самом деле абстрагирует лишь частично, для простых вещей. Посмотри реальные, достаточно большие проекты на ардуине, там под каждую ардуину куча отдельного кода! Да, мигалка может везде с одним кодом заработает, но не более того.
Допустим в одной ардуине есть ЦАП, а в другой нет, потребуется внешний, вот тебе уже немного макросов и так далее.
Вот, хоть кто-то тут в адеквате. И если так делать, портирование многократно упростится, хоть с одной ардуины на другую, хоть с ардуины на что-то еще и наоборот.
Тот анон верно мыслит, что ардуинка отлично подходит для быстрых прототипов, и никто не говорит про индастриал/космос/военку на ней. И при этом, я вижу использование ардуины в той же военке на время прототипирования. Прекрасные итерационные циклы разработки - кое-как работающий прототип, хуевый и медленный, потом улучшения, улучшения и по-кругу, с перепилом участков кода.
Ардуина меня поразила тем, что это клмпилируемый си, а не какой-то там скрипт, и потенциально ты можешь использовать все с/с++ наработки для теста. Отличный пример - лвип на еспшке. У тебя есть готовый простой хардвар абстракшн, и ты, как разработчик лвип, без проблем отлаживаешь, я хз, ip протокол. Прекрасно.
>>15310
АЦП/ЦАП отличается от производителя только настройкой и константнымт параметрами/ограничениями. А остальное - данные. Зачем тебе знать, как подключен АЦП, когда ты делаешь какой-нибудь FIR фильтр?
мимо пишу 6 лет под мк, сел за ардуину 2 недели назад, доволен
Нахуя? Нахуя мне тратить время на уарты, когда я просто хочу вывести строку с температурой? А многие разработчики (я их называю дедами) считают вендор-специфичные знания какой-то невероятной истиной, и что вот блядь так правильно и все должны через это пройти. Не должны, это долбоебизм и тормозит прогресс. Есть вообще категория долбоебов типа >>14758 которые готовы на ассемблере всё переписать, и убить год на отладку одной инструкции.
Какое прототипирование на ардуине, если там стоят морально устаревшие МК?
Или ты до сих пор везде суешь PIC и Atmega?
Какие итерационные циклы с ардуиной?
Сначала отлаживать прототип на устаревшем мк + ворох модулей?
Так ты только тратишь время.
Потом тебе еще надо нарисовать плату и на ней еще один цикл прототипирования?
А если мне надо устройство тестировать в поле или внутри какой-то сборки, где бутерброд из отладок не залезет?
Я работал на двух оборонных предприятиях и там даже близко так не делают, а вот на заводе модули и детали заказывают на алиэкспресс, но там и отношение к работе халтурное.
Про скрипты и LwIP вообще не понял что ты хотел сказать. LwIP штука классная, приходилось использовать разок.
У меня опыта и того меньше, но я отлично понимаю что надо стараться все делать хорошо с первого раза и идти в ногу со временем.
Т.е. ты пишешь что изи прихуячить дма к юарту, а потом на СТМ это уже сложно? Что???
Тебе в любом случае придется иметь вендеро специфичные знания, так устроена область электроники, иначе ты не раскроешь весь потенциал своего железа. Прогресс в электронике медленный, STM 10 лет назад выкатили свои линейки и ничего там не поменялось, только новых добавили.
Ты зеленый или глупый. Столкнешься со сложными задачами и будешь копаться и разбираться во всем. Я тоже по началу бесился и думал нахуя все так сложно и референс на 1700 страниц.
Больше абстракции. Ардуина тебя быстро и просто отвязывает от хала. Пример: есть старое говно с лпт, тебе нужно сделать с ним обмен. Как я сделаю сейчас? Попробую из говна и палок сделать железку, и уже на сишечке писать протокол.
Способ дедов с завода (случай реальный) сразу делать принципиалку на пятой приемке и отечественном мк, ждать производство, включить питание и спалить всё к хуям, переделать на коленке лакированным проводом дать программисту это кривое говно, чтобы я наконец-то занялся своей работой. Какой способ лучше? Почему бы не сделать прототипы логики, функций, на отладочных платах посмотреть схемы реализации и потом уже городить принципиалку для производства? Это и есть итерации
Ну не повезло тебе с дедами, я работал с адекватными людьми и ничего не надо было городить из говна и палок.
Можно вообще все высокоуровневые абстракции написать в редакторе и там же отлаживаться, без всякого железа!
Я например не хочу тратить время на ардуину и даже на HAL, зачем голову забивать лишним? У меня свои наработки, свои библиотеки, в которых я уверен.
Я хочу чтобы эти устройства сами включались и выключались в настраиваемом порядке. Например чтобы первое устройство включалось в 07:00 и выключалось в 07:30, второе устройство работало с 08:30 до 09:30, а третье каждый час включалось на 10 минут, то есть, 00:00-00:10 / 01:00-01:10 / 02:00-02:10 и так далее.
У меня есть пару arduino nano, я подозреваю что с помощью неё удастся сделать что я хочу, но у меня появились вопросы
Что мне ещё понадобится для осуществления своей идеи? Я пытался гуглить, но до конца не понятно. Я понял что мне нужно докупить модуль часов, так как сама плата не умеет определять время.
Может быть у того что я хочу сделать есть название?
Можно ли с помощью ардуино автоматизировать эту схему если напряжение источника будет большим, например 24 вольта или 220 вольт, и устройств будет больше, 4-7?
Делать оптимизацию (а это часть раскрытия потенцевала) крайне неправильно делать при разработке, это должно быть после. И про дма я говорю про инкапсуляцию сложного кода платформы в нечто простое, как это происходит в ардуине. И это абсолютно правильно. Зачем мне знать, где находится уарт, какие у него регистры и драйвер? Я хочу указать скорость (и это лишнее, 115200 хватит каждому) и писать текст.
И я сталкивался со сложными задачами и сидел и копался в них неделями, и считаю, что это в никуда потраченное время, так как проблемы эти слишком локальны и специфичны. Не является чемто правильным такие проблемы решать, это вынужденная необходимость из-за несовершенства мира. А ардуино это действительно новый идеологический подход в микроконтроллерах
Расскажи про свои сложные задачи, в чем же была сложность?
Еще раз, у меня свои библиотеки, в которых я уверен, они работают без лишних проверок как в HAL. Я согласен что каждый раз копаться нет желания.
Моя позиция такая: один раз разобраться, написать самому(LwIP сам я писать не буду, я про периферию) свою реализацию и с ней уже жить дальше. Это надежно и это уверенность в быстроте кода. Увы, но мои задачи требовали либо быстродействия и приходилось придумывать как уложиться в отведенное мне время, либо в энергопотребление, ну и сверху всего этого ложится невозможность обновлять прошивку на готовых устройствах по чиху.
Про абсолютно правильный подход и несовершенство мира, это у тебя стандартный максимализм. Только Ситхи все возводят в абсолют, помнишь?)
Ардуино новый подход это да, посмотрим что будет дальше, когда все перейдут на ARM.
А мои аргументы ты уже который раз игнорируешь, ну что же.
Часы реального времени RTC(real-time-clock) питаются от батарейки биос и часового кварца 32,768 кГц.
В ардуине его нет, так что можешь купить микросхему, или модуль часов и подключить его.
Твоя мать деревенская тупая блядь
> А многие разработчики (я их называю дедами)
Простой пример, nRF24L01 работает на SPI, MOSI MISO SCK и CS. Для правильной работы необходим еще и IRQ вход. И если его поставить на SS пин атмеги, то работать не будет, так как железо приоритетно и на SS выход, а не вход. Вот "деды" это знают, а "юнцы" нет. И таких мелочей полно.
>Зачем тебе знать, как подключен АЦП, когда ты делаешь какой-нибудь FIR фильтр?
Верно, не нужно, но тогда как будет соотносится с этим ардуина? И если начнешь посреди кода этого фильтра использовать ардуиновские функции, то о нормальной перееносимости придется забыть. А если все взаимодействие с периферией у тебя отдельно, то зачем нужна ардуина?
И ты все же не видел проектов на ардуине, кроме мигалки. Вот тебе для примера, один не очень сложный в аппаратной части https://github.com/hjd1964/OnStep
Ну и? Для атмеги на регистрах кусок, а на других без полного понимания работы особенностей таймеров конкретных микроконтроллеров не обошлось. Много ли времени сэкономила ардуина в этом случае? Мизер, но создала некоторые проблемы.
> И я вообще не вижу проблем в мощной хардварной реализации библиотек, и супер простой внешней мордочки для пользователя
Проблему легко понять, если открыть код той же digitalWrite в ардуине
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t out;
if (port == NOT_A_PIN) return;
// If the pin that support PWM output, we need to turn it off
// before doing a digital write.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
out = portOutputRegister(port);
uint8_t oldSREG = SREG;
cli();
if (val == LOW) {out &= ~bit;} else {*out |= bit;}
SREG = oldSREG;
}
Четко видна задача, которая стояла перед авторами - сделать функцию, которой не нужна предварительная инициализация, имеется защита от дурака (а то новичок установит где-то PWM, забудет об этом, дальше сделает digitalWrite и расстроится), каждый раз ресетится и устанавливается назад SREG, и никаких битовых операций (о существовании битовых полей и юнионов в языке си они почему-то не знают).
Нормальный код для взрослых людей содержал бы две части - инциализацию, где устанавливается состояние железа, и собственно digitalWrite, где дрыгается нога максимально быстрым образом, которую компилятор заинлайнит прямо в вызов. И то это вопрос, как реализовать вопрос с запретом прерываний. Если между инициализацией и digitalWrite программист что-то поломал (например, установил PWM), то он либо сам виноват, либо можно использовать систему типов языка, чтобы это не допустить (в книге Embedded Rust описан такой подход).
Самое забавное, что Serial устроен уже получше - есть инициализация Serial.begin, есть функции для вывода. Почему digitalWrite не сделали так - не понятно.
У STM сделано хорошо то, что ты можешь использовать всю мощь HAL для медленных вещей, но когда нужно, тебе прямо в структурах выдаются лоу-левельные регистры, что автор того видео и делает, правда почему-то не забыв поныть о том, как это плохо, использовать библиотеки.
Но сделано плохо то, что никакого контроля за состоянием железа со стороны компилятора нет. Вместо грамотных решений на уровне языка, когда ты не можешь проинциализировать что-то криво, используется внешний механизм в виде кодогенерации в кубике, а кубик уже контролирует. Впрочем, я понимаю, почему так сделано, чтобы не превращать прошивку в йоба код а-ля C++ boost.
Так что основная проблема ардуины не в том, что там способ писать некритичные вещи с помощью медленных функций, а то, что там, когда надо, тяжело написать критичные функции быстро - точнее, когда ты дорос до этого уровня, тебе вся свистопердельность будет только мешать даже в медленных частях кода, просто потому что не-ардуино код тоже не сложный и весьма лаконичный.
> И я вообще не вижу проблем в мощной хардварной реализации библиотек, и супер простой внешней мордочки для пользователя
Проблему легко понять, если открыть код той же digitalWrite в ардуине
void digitalWrite(uint8_t pin, uint8_t val)
{
uint8_t timer = digitalPinToTimer(pin);
uint8_t bit = digitalPinToBitMask(pin);
uint8_t port = digitalPinToPort(pin);
volatile uint8_t out;
if (port == NOT_A_PIN) return;
// If the pin that support PWM output, we need to turn it off
// before doing a digital write.
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
out = portOutputRegister(port);
uint8_t oldSREG = SREG;
cli();
if (val == LOW) {out &= ~bit;} else {*out |= bit;}
SREG = oldSREG;
}
Четко видна задача, которая стояла перед авторами - сделать функцию, которой не нужна предварительная инициализация, имеется защита от дурака (а то новичок установит где-то PWM, забудет об этом, дальше сделает digitalWrite и расстроится), каждый раз ресетится и устанавливается назад SREG, и никаких битовых операций (о существовании битовых полей и юнионов в языке си они почему-то не знают).
Нормальный код для взрослых людей содержал бы две части - инциализацию, где устанавливается состояние железа, и собственно digitalWrite, где дрыгается нога максимально быстрым образом, которую компилятор заинлайнит прямо в вызов. И то это вопрос, как реализовать вопрос с запретом прерываний. Если между инициализацией и digitalWrite программист что-то поломал (например, установил PWM), то он либо сам виноват, либо можно использовать систему типов языка, чтобы это не допустить (в книге Embedded Rust описан такой подход).
Самое забавное, что Serial устроен уже получше - есть инициализация Serial.begin, есть функции для вывода. Почему digitalWrite не сделали так - не понятно.
У STM сделано хорошо то, что ты можешь использовать всю мощь HAL для медленных вещей, но когда нужно, тебе прямо в структурах выдаются лоу-левельные регистры, что автор того видео и делает, правда почему-то не забыв поныть о том, как это плохо, использовать библиотеки.
Но сделано плохо то, что никакого контроля за состоянием железа со стороны компилятора нет. Вместо грамотных решений на уровне языка, когда ты не можешь проинциализировать что-то криво, используется внешний механизм в виде кодогенерации в кубике, а кубик уже контролирует. Впрочем, я понимаю, почему так сделано, чтобы не превращать прошивку в йоба код а-ля C++ boost.
Так что основная проблема ардуины не в том, что там способ писать некритичные вещи с помощью медленных функций, а то, что там, когда надо, тяжело написать критичные функции быстро - точнее, когда ты дорос до этого уровня, тебе вся свистопердельность будет только мешать даже в медленных частях кода, просто потому что не-ардуино код тоже не сложный и весьма лаконичный.
>Я хочу чтобы эти устройства сами включались и выключались в настраиваемом порядке.
Берёшь ардуину, часы, релюхи. Пишешь код примерно такой:
Раз в минуту:
{
Узнать время;
Если заранее установленное время между предыдущим и текущим временем, то:
Включить хуйню;
}
>Что мне ещё понадобится для осуществления своей идеи? Я пытался гуглить, но до конца не понятно. Я понял что мне нужно докупить модуль часов, так как сама плата не умеет определять время.
Ещё релюхи по количеству штук.
>Можно ли с помощью ардуино автоматизировать эту схему если напряжение источника будет большим, например 24 вольта или 220 вольт, и устройств будет больше, 4-7?
Да. Напряжение максимальное зависит от релюх.
Почему Уна стоит в восемь раз больше Наны?
Выйдет из ардуины сделать пульсоксиметр?
Где? И на офе, и на алике уна стоит чуть дороже наны, но не в 8 раз и даже не в 2.
Резисторы в любом случае нужно колхозить как токоограничительные
Да и хуй с ним! В железе то работает
Дисплей HDG12864F-1
Как вообще дела на рынке труда для железячников особенно с брошенной технической вышкой по радиоэлектронике и без опыта работы по специальности?
О себе: 26 лвл, Всю жизнь интересовался инженерией и техникой, втч радиоэлектроникой, но так сложилось, что вместо этого занимался бизнесом - супернаебизнесы или не стреляли, или стреляли, но я их оперативно сворачивал, тк или ссал или просто не нравилась работа с тупыми людьми и далекая от интеллекта деятельность. Из более менее успешного и продолжительного зашел только перекуп автомобилей, но это бесперспективно и сейчас на том рынке все скатилось в днище. Поэтому стал подумывать о том, чтобы вкатиться в микроконтроллеры - перспективно, оплачиваемо, требует IQ, конструирование сложных систем, возможность удаленок и прочие бонусы.
Для начала я прочитал Харрис и Харрис "Цифровая схемотехника и архитектура компьютера", и на меня снизошло озарение.
После осознания ассемблера и микроархитектуры процессоров, видосики на ютубе аля "учим питон за 20 уроков" показались детским лепетом.
Си вообще не учил... из железа только чуть чуть по верхам пробежался по асму без практики, ну и с ардуинами немного дело имел. Но что такое подтяжка ноги на землю и BGA/SMD/цифровой осциллограф, знаю.
Если же мне понадобиться делать что то серьезное и уникальное, например smartHouse-систему для коттеджа (которого у меня опять же нет) или usb-кейлоггер встроенный в клавиатуру - то спроектировать блочно я смогу, а детали уже изучил бы по месту. Какие бывают мк, какая для них обвязка, что такое uart и скажем какие нужны для задачи аппаратные кодеки/интерфейсы я знаю, а в каких ситуациях какие фьюзы выставлять и как в проге плату развести - уж смогу загуглить. Пока же умений типа прогреть видюху утюгом или спаять k-line адаптер из говна и транзисторов, что бы сматывать пробег с приборок, мне хватало.
Сама электроника на уровне железа для меня и так была не секрет, спроектировать какое нибудь устройство, вроде "нажимаем кнопку 1 - шаговый мотор поворачивается на 180о нажимаем кнопку 2 - на 90о, нажимаем и держим три секунды - поворачивается со скоростью 2о/сек." я умел - что с использованием МК, что на более простой логике типа 555(тут правда уже придется поразмыслить). Как прошить микроконтроллер я представляю (ну EEPROMки шил не раз, разница только в программаторах).
Вот программу к нему написать - это не умею, как работает мк внутри я представляю уже смутно (ну че то там до этого слышал про регистры и прерывания на уровне "ну вот в этой штуке вроде че то сохраняют, а другая в коде нужна, что бы мк при подаче сигнала на ножку реагировал" но всегда понимал что для такого простейшего алгоритма мне хватит вечера с датащитом на мк и гугления, возможно пары вопросов на форумах. Но нужды ирл шить мк самоделок не возникало, поэтому этот вечер не наступал.
Так вот, в чём, собственно, суть - хотелось бы что-то перспективное, относительно востребованное и легкое для вката, но с возможностью переката со временем в что то связанное с робототехникой, компьютерным зрением, машинлернингом, и встраиваемыми системами. Что пооветуете? Очень нравятся идеи адаптивных систем, типа тех же автопилотов в машинах Tesla и роботов Boston Dynamics. Т.е. хочеться что то конструировать новое и прогрессивное, а не байтоебить за еду в НИИ ДрочДвачАтом.
Как вообще дела на рынке труда для железячников особенно с брошенной технической вышкой по радиоэлектронике и без опыта работы по специальности?
О себе: 26 лвл, Всю жизнь интересовался инженерией и техникой, втч радиоэлектроникой, но так сложилось, что вместо этого занимался бизнесом - супернаебизнесы или не стреляли, или стреляли, но я их оперативно сворачивал, тк или ссал или просто не нравилась работа с тупыми людьми и далекая от интеллекта деятельность. Из более менее успешного и продолжительного зашел только перекуп автомобилей, но это бесперспективно и сейчас на том рынке все скатилось в днище. Поэтому стал подумывать о том, чтобы вкатиться в микроконтроллеры - перспективно, оплачиваемо, требует IQ, конструирование сложных систем, возможность удаленок и прочие бонусы.
Для начала я прочитал Харрис и Харрис "Цифровая схемотехника и архитектура компьютера", и на меня снизошло озарение.
После осознания ассемблера и микроархитектуры процессоров, видосики на ютубе аля "учим питон за 20 уроков" показались детским лепетом.
Си вообще не учил... из железа только чуть чуть по верхам пробежался по асму без практики, ну и с ардуинами немного дело имел. Но что такое подтяжка ноги на землю и BGA/SMD/цифровой осциллограф, знаю.
Если же мне понадобиться делать что то серьезное и уникальное, например smartHouse-систему для коттеджа (которого у меня опять же нет) или usb-кейлоггер встроенный в клавиатуру - то спроектировать блочно я смогу, а детали уже изучил бы по месту. Какие бывают мк, какая для них обвязка, что такое uart и скажем какие нужны для задачи аппаратные кодеки/интерфейсы я знаю, а в каких ситуациях какие фьюзы выставлять и как в проге плату развести - уж смогу загуглить. Пока же умений типа прогреть видюху утюгом или спаять k-line адаптер из говна и транзисторов, что бы сматывать пробег с приборок, мне хватало.
Сама электроника на уровне железа для меня и так была не секрет, спроектировать какое нибудь устройство, вроде "нажимаем кнопку 1 - шаговый мотор поворачивается на 180о нажимаем кнопку 2 - на 90о, нажимаем и держим три секунды - поворачивается со скоростью 2о/сек." я умел - что с использованием МК, что на более простой логике типа 555(тут правда уже придется поразмыслить). Как прошить микроконтроллер я представляю (ну EEPROMки шил не раз, разница только в программаторах).
Вот программу к нему написать - это не умею, как работает мк внутри я представляю уже смутно (ну че то там до этого слышал про регистры и прерывания на уровне "ну вот в этой штуке вроде че то сохраняют, а другая в коде нужна, что бы мк при подаче сигнала на ножку реагировал" но всегда понимал что для такого простейшего алгоритма мне хватит вечера с датащитом на мк и гугления, возможно пары вопросов на форумах. Но нужды ирл шить мк самоделок не возникало, поэтому этот вечер не наступал.
Так вот, в чём, собственно, суть - хотелось бы что-то перспективное, относительно востребованное и легкое для вката, но с возможностью переката со временем в что то связанное с робототехникой, компьютерным зрением, машинлернингом, и встраиваемыми системами. Что пооветуете? Очень нравятся идеи адаптивных систем, типа тех же автопилотов в машинах Tesla и роботов Boston Dynamics. Т.е. хочеться что то конструировать новое и прогрессивное, а не байтоебить за еду в НИИ ДрочДвачАтом.
> микроконтроллеры - перспективно, оплачиваемо
Мда, кек. В кремневой долине?
>что то связанное с робототехникой, компьютерным зрением, машинлернингом
>легкое для вката
Лол кек. Понимаешь дружище, роборука на ардуино и робототехника связаны лишь с точки зрения подпивандрия рыгающего на выставке.
Забей, если ты не нерд 18 летний с перспективами и не состоявшийся спец уже не твое. Этим сферам надо жизнь посвещать.
Короче у тебя завышенные ожидания.
Встраиваемые системы, это стандартные "Нарисуй 7 красных линий" и ТЗ противоречащие сами себе, меняющиеся на одну букву\слово перед релизом, при этом переворачивая заготовленную архитектуру с ног на голову.
Где после года создания автономной системы и утрамбовывания ее несколько раз, дабы влезть в семейство подешевше, тебя попросят добавить кнопку ИЗМЕНЯТЬ КЛЮЧЕВОЙ ПАРАМЕТР РУКАМИ и будут недоумевать, а почему это займет больше 5 минут и все скорее всего пойдет по пизде.
>> микроконтроллеры - перспективно, оплачиваемо
>Мда, кек. В кремневой долине?
Всё ещё лучше 90% профессий в рашке/украшке с зарплатой 200$ без перспектив. А здесь и платят хорошо, судя по объявлениям, и работа интересная (как мне кажется). Кроме того, возможно мой единственный способ хоть как то войти в айти.
В последнее время я регулярно встречаю на дваче специалистов по микроконтроллерам и желающих ими стать, на дваче их уже стало чуть ли не больше, чем веб-макак, значит направление востребовано и надо успеть вкатиться.
>Забей, если ты не нерд 18 летний с перспективами и не состоявшийся спец уже не твое. Этим сферам надо жизнь посвещать.
Ну я же не с нуля вкатываюсь, у меня есть вышка по радиоэлектроникене оконченная, что-то знаю, умею, а остальное смогу нагуглить по гуглу и даташитам за пару вечеров. Тем более я еще молодой и у меня есть время для вката за пару лет. Не думаю, что эта сфера сильно отличается от обычного айти, где от джуна до мидла/синьора можно дорасти за пять лет.
>Короче у тебя завышенные ожидания.
Возможно, ты прав, в /pr/ меня уже предостерегли от эффекта Даннинга-Крюгера.
>мой единственный способ хоть как то войти в айти.
фейспалм
>В последнее время я регулярно встречаю на дваче специалистов по микроконтроллерам
фейспалм х2
Дураки учатся на своих ошибках. Продолжай.
Интересно, что же они потребуют за 200k?
Короче говоря, слабо понял что ты пытался донести, если что я абзацем выше пояснил, что не рассчитываю найти первой вакансией "Разработчик ИИ" и программировать АннуНиколаевну. Просто отметил что мне это интересно, и я хотел бы это изучить со временем. И будет уже плюс, если на моей первой вакансии будут требоваться умения работать с алгоритмами, а не тупо верстать.
>Понимаешь дружище, роборука на ардуино и робототехника связаны лишь с точки зрения подпивандрия рыгающего на выставке.
Тут вообще непонятно к чему это. Про роборуки и сервоприводы без обид, но думаю больше тебя знаю. То что я только только осваиваю программирование, не значит что я в технике рак.
Так же я достаточно интересовался когнитивистикой и устройством мозга, что бы понимать какая пропасть в "интеллекте" между автоматами на жесткой логике и многомиллиардной нейросетью в голове человека. И насколько должно быть сложно реализовывать на машине тьюринга хотя бы одну тысячную функцию мозга.
Если же ты буквально сравнивал роборуку на ардуине и какой нибудь промышленный манипулятор, то я даже незнаю что на это ответить. Так как во первых они отличаются как мерседес и запорожец - да, разные по качеству и возможностям, но в общем то одинаковые в своей сути.
>тебя попросят добавить кнопку ИЗМЕНЯТЬ КЛЮЧЕВОЙ ПАРАМЕТР РУКАМИ и будут недоумевать
Ну про тупых заказчиков и бесконечные правки я знаю, одна из причин, по которым бросил графдизайн. Душа болит, когда делаешь стильно современно, а тебя просят вернуть в 2007й.
>>мой единственный способ хоть как то войти в айти.
>фейспалм
А что тебя, собственно, удивляет?
Все байтоёбы, веб-макаки и тестировщики, которые имеют айкью хотя бы чуть более двухзначного со временем перекатываются в нормальное проганье и становятся мидлами/синьорами, это известный факт.
Ну а если с мозгами не повезло, то будешь до смерти писать прошивки/клепать сайтики за миску макарошек, что поделать((
Вон к ней можешь обратиться, может еще чего делала
https://pikabu.ru/story/kak_obmanut_i_unizit_komara_5153277
Да это я читал ещё давно, я просто про то что если надо сделать отключение света по времени, то схем, готовых примеров с кодом и деталями полно, даже наборы на Али есть. А вот для мастурбации ничего такого, как будто никто и никогда не пробовал
То ли в /fet, то ли в /sex был отдельный тред про электромастурбацию. Там даже были какие-то самопальщики.
Может просто в этой области задач нет для микроконтроллеров, либо все уже давно можно купить в готовом виде, плюс те кому это нужно скорее всего обычно не технари (если взять любителей электроигрушек и ардуинщиков, то пересечений думаю будет очень мало) и им таки проще купить готовый мастурбатор, чем изучать ардуину и заниматься ручным трудом, и публично мало кто будет это обсуждать. Возможно такие вещи иногда делаются на заказ, но они настолько примитивны, что там и обсуждать нечего, т.е. силовые схемы стандартные, а бизнес логика кроме самого заказчика никого не ебёт, ну или исполнитель так думает и не видит смысла делиться ею.
Это я понял. Но её же грели уже после того, как засунули в дилду. Вроде. Иначе же шов остаться должен, не?
> Вставляем в него пруток(пруток я кстати смазала предварительно, а то было тяжело вставлять)
Значит материал достаточно мягкий, чтобы его можно было проткнуть просто так. Она его еще и смазала, чтобы не застревал.
Для таких случаев есть SmartStim с кучей пресетов или сам создаешь. Из практики - от постоянки охуеешь, нужна поднесущая герц так на 500+. Дальше сам.
Доработанная схема поможет уснуть разве что вечным сном.
>подтяжка ноги на землю
Я конечно не настоящий ардуинщик, но "подтягивают" ногу обычно к какому-то напряжению. К земле "притягивают", не?
Я собс-но не для занудства, просто спросить как в литературе эти слова употребляют или без разницы?
Вопрос специфический.
Суть такая. Есть tiny13, питание 3.3В. Понадобилось внешнее тактирование. В системе уже есть генератор подходящей частоты, но выдающий синусоидальный сигнал с амплитудой более 3.3В (около 4.5 Vп-п).
Вопрос: допустим ли тактовый сигнал с амплитудой больше напряжения питания?
В даташитах на AVR почему-то не указывают требования к внешнему тактовому сигналу.
Да, можно тупо ограничить, но это крайний вариант по ряду причин.
+ еще один охуительный вопрос, на который не дает ответ даташит.
Допустима ли входная тактовая частота 16 МГц при питании 3.3В, если используется system clock prescaler, делящий ее на 2?
Китайцы продают ардуины , работающие от 3.3 Вольт не с 16 МГц, а с 8, возможно есть причины.
Суть в том, что есть камера,микрофон,gsm модуль и sd карта. Ну и ардуинка соответственно. Приходить звонок с любого номера, камера и микрофон начинают записывать на карту 10 сек все.
Вроде все пиздец как легко, сам понимаю. А как это реализовать в душе не ебу. Анонче,помоги,могу чуть что телегу скинуть.
Зависит от твоей реализации устройства. Детали нужны о том, что и как ты будешь делать. Видимо ты хочешь, чтобы мы тебе их рассказали
Ну я вообще ничего не понимаю в этом. Пролежал весь сем в больнице,а сейчас курсач до пятницы нужно сдать.
Алсо в интернете тоже ничего похожего нет, поэтому пришел спросить сюда.
Ну тогда наверное надо решать проблемы с преподами или кто там эти задания дает, а не с ардуинами. Господи, как же хорошо что я дропнул нахуй вузик со всем подобным пиздецом.
Мне четко дали понять, что пока я не сделаю курсач САМ(не куплю у прошлых курсов) я буду идти нахуй. А тут соглы, я бы дропнул,но учусь сейчас не ради себя.
>Господи, как же хорошо что я дропнул нахуй вузик со всем подобным пиздецом.
Плохо. Для инженера-электроника или байтоёба наличие технической вышки необходимо, о чём и пишут в вакансиях.
Это нормальные программисты могут забить на вышку(и то не всегда), тут же такое не катит.
Именно.
Ну так я программист, а ардуинами баловался просто.
Основы электроники, основы программирования на C++, ардуино. Далее выбираешь нужные тебе модули (камера, gsm и т.п.), читаешь на них даташиты либо ищешь готовые библиотеки для работы с ними, соединяешь всё, программируешь логику в соответствии с техзаданием, если оно есть вообще.
Электронику тебе хоть выдали или типа сам всё должен купить?
В протеусе показать хаха
А тебе не приходило в голову, что это ТЫ не понял ответа?
>The Application software must ensure that a sufficient division factoris chosen if the selected clock source has a higher frequency than the maximum frequency ofthe device at the present operating conditions.
Из чего можно сделать вывод что входная частота может быть больше (еще вопрос насколько) этой максимально допустимой тактовой частоты.
>>17865
Смотри "Figure 10-1.I/O Pin Equivalent Schematic". Там на каждой ноге GPIO стоит по диоду к земле и питанию, как практически везде. Выводы кварца это тоже GPIO. Будешь подавать большое напряжение (или наоборот отрицательное) - потечет ток через эти диоды. И либо сгорит, если выходное сопротивление твоего генератора достаточно маленькое, либо обрежется диодами, если выходное сопротивление большое или соединять через резистор.
Это чисто твое мнение или можешь порадовать ссылкой на аппнот или иной авторитетный источник?
Тут ведь тонкость в том, что первые несколько [десятков] тактов МК будет работать на частоте 16 МГц при 3.3В питании (при таком режиме корректная работа не гарантируется, есть вероятность повиснуть), перед тем как переключится на 8 МГц. Насколько критичен "разгон" в эти первые такты, и каков шанс поиметь проблемы - большой вопрос.
>>18020
>Из чего можно сделать вывод что входная частота может быть больше (еще вопрос насколько) этой максимально допустимой тактовой частоты.
В том и проблема, что никакой конкретики. Если я захочу 80 МГц делить на 8, осилит ли прескалер, и вообще осилит ли МК отработать установку прескалера при такой высокой тактовой частоте? Как-то хуево документирована эта фича.
>Figure 10-1.I/O Pin Equivalent Schematic
Хм, ну, это дает ссылку на электрические характеристики, где макс. входной потенциал порта - -0.5В...VCC+0.5В (кроме пина с ресетом). Окей, тут я в глаза ебался, признаю. Касательно макс. амплитуды понятно. Но что насчет, например, минимальной амплитуды внешнего тактирования? В дш есть требования к таймингу фронтов и сигнала в целом (18.4.2), но ни слова про требуемый уровень. Я вот ранее экспериментально выяснил, что МК успешно работает с внешним клоком амплитудой примерно в 1В (и даже меньше), при том что high-state у портов считается 70% от VCC. Но стабильно ли оно при этом работает - хуй его знает. Короче, внешний клок в даташите тоже как-то хуевато документирован.
>>18030
Извиняюсь за нетерпеливость. Никого не хотел обидеть.
Ты какой-то странный, чесслово.
Тебе в даташите дают РЕКОМЕНДОВАННЫЕ значения. Рекомендованные, блеать. С какого хуя разработчики МК будут испытывать его работу во всех возможных вариантах маняфантазий подключений, какой в этом смысл? Или тебе даташит нужен как инструкция на микроволновку для американских бабушек, типа "ну в ней можно готовить еду, но кота сушить нельзя!"?
Твой вопрос напоминает анекдот про немецкую лесопилку и суровых сибирских мужиков. Когда они в нее положили лом, все наебнулось, мужики сказали "Ага, ссука!" и пошли дальше пилить бревна вручную.
Машину когда покупаешь, тоже начинаешь доебываться до производителя в духе "а нука покажите, где в вашей говноиструкции написано, что будет с моим фордфокусом, если я в бак распового масла наебеню, загружу в салон урановой руды, и на спущеных колесах поеду в Тибет, норм будет работать или как?"
По моему вполне логичные у него вопросы.
Как можно не указывать логические уровни для GPIO? Никак нельзя, поэтому указывают. Кварцевый генератор в этом микроконтроллере и многих других может работать либо с кварцем, либо просто пропускать внешний тактовый сигнал, либо эти выводы могут использоваться под GPIO. И то и другое это штатная работа, а не то что ты напридумывал. Характеристики кварцевого генератора для вычисления нагрузочных емкостей необходимы, поэтому их указывают. Чем тогда отличаются требуемые уровни тактового сигнала? Это отдельный режим работы тактовой системы, включается отдельным фьюзом. Логично что при использовании этого режима потребуется знать рекомендуемые значения, а где они?
>>18033
>первые несколько [десятков] тактов МК будет работать на частоте 16 МГц при 3.3В питании
Делилка там разве не фьюзом включается? Даташит не открывал.
Ты либо трололо, либо реально тупорылый, и влезаешь не вникнув в вопрос.
>>18208
>Кварцевый генератор в этом микроконтроллере и многих других может работать либо с кварцем, либо просто пропускать внешний тактовый сигнал
Не может. У тини13 нет драйвера для кварца (только у старших моделей есть). Либо внутренний RC-ген, либо сигнал с внешнего генератора.
>Делилка там разве не фьюзом включается?
>Даташит не открывал.
Я понимаю, что у вас тут это не принято, но стоило бы. Фича охуенная. У многих AVR есть предделитель тактовой частоты, регистр, позволяющий делить внешний или внутренний тактовый сигнал на лету. Основное назначение - понижение энергопотребления. В некритичных к времени выполнения частях программы можно переключиться на низкую тактовую частоту, и понизить энергопотребление во много раз.
>Я понимаю, что у вас тут это не принято
Так я не ардуинщик, просто мимо проходил. Мне наверное и не придется использовать AVR.
Открыл даташит. Да, с кварцем я загнул.
Но обрати внимание на следующее:
>The CKDIV8 Fuse determines the initial value of the CLKPS bits.
>This feature should be used if the selected clock source has a higher frequency than the maximum frequency of the device at the present operating conditions.
По моему оно.
>позволяющий делить внешний или внутренний тактовый сигнал на лету
Не знаю на счет AVR, но в том что я использовал последнее время, такое было везде.
Хм, действительно. Спасибо, что ткнул носом. Но тут более важно это:
>If CKDIV8 is programmed, CLKPS bits are reset to
“0011”, giving a division factor of eight at start up.
То есть с установленным фьюзом МК стартанет на низкой частоте, затем можно спокойно установить нужное значение самому. Завтра испытаю. И как я в глаза ебся столько времени, пиздец!
>Не знаю на счет AVR, но в том что я использовал последнее время, такое было везде.
Ну, вот большинство ардуинщиков про эту фичу точно не в курсе, т.к. в их "скетчах" такое вроде бы не встречается.
Работая в обороне, пихнули ардуину в измерительные стенд (собрано всего 2, а больше и не надо) так как проебались и нечем было завести в комп показания с датчика по i2c. В идеале она должна была рулить шаговиками по показаниям датчика, но пришлось по другому делать
- 10 реле включаться будут, естественно, через ключи;
- 7 светодиодов;
- три кнопки.
Что к какому порту надо подключать? Если пинов не хватит, то кнопки можно подключить к одному АЦП-пину по схеме трехканального резистивного ЦАП?
>Это где такая хуйня написана?
Вот тут:
http://wiki.amperka.ru/продукты:arduino-nano
>>18517
>юзай регистры сдвига или I2C расширители
Спасибо, а где о таком почитать?
> где о таком почитать?
В гугле. "Сдвиговые регистры", "регистры сдвига", "shift register". "I2C expander", про I2C и SPI отдельно тоже почитай.. Затем всё то же самое с припиской "ардуино".
Максимальная скорость переключения уменьшится, но я не думаю что ты будет реле дергать с мегагерцовой частотой.
Ок, спасибо, погуглю. А без этих самых регистров и без I2C расширителей не хватит портов для описанной задачи?
Конечно, макетирование нужно, тебе просто не повезло с дедами. В гост даже эскизный и технический проекты для этого предусмотрены, но нередко на их полноценное выполнение нет времени/денег.
В следующий раз закажите отладку с нужным отечественным мк в пластиковом корпусе, сможешь сразу отлаживать код на нужном МК без переноса с ардуины.
Если нужна простая периферия, обычно ее можно очень быстро сделать:
1) покупаешь подходящие готовые платы,
2) покупаешь импортные аналоги и за пару дней паяешь их на th/smd макетках,
3) делаешь за несколько дней плату на коленке, если на макетах никак.
В протеусе есть эмулятор всех нужных атмег.
Схемы в сети, тебе нужна дуина, экран на I2C любой (так проще), магнитик и датчик Холла. Всё.
Ну же, анонимусы, неужели все на италийских и российских Ардуинах сидят? Можно китайческую брать?
Ну что ты дурацкие вопросы задаешь? Чем китайская ардуина отличается от любой другой? Процы-то одинаковые.
Максимум что я нашёл это вот это https://github.com/sfranzyshen/ESP-Arduino-Lua но я не понимаю как его использовать, там примеры какие-то странные. Можешь посмотреть? Если бы там был пример типа
>вот здесь код си
>вот так открываешь lua
>сюда ебашишь lua
>здесь закрываешь lua
>дальше опять код си
то я бы понял.
Lua код у тебя будет храниться в виде C++ строк (String они там используют). Для выполнения Lua скрипта строку с этим скриптом нужно передавать в метод lua.Lua_dostring(). Определить свои функции для использования их в Lua скриптах можно через метод lua.Lua_register().
Ну я хз, в папке examples элементарные примеры есть.
Я не программист нифига у меня это в голове не укладывается. С понятными примерами уменя получается сделать что я хочу.
Если не ошибаюсь, esp изначально на lua программируется. Почему бы не достать рекоммендуемую прошивку и не кодить всё на lua? Вместо встраивания скриптового движка в C++ код.
Да не умею я программировать говорю же. Находил я до этого на lua примеры, делал из них то что мне надо. Сейчас нашлось то что надо только на си, перешёл на ардуино иде. Хотелось попробовать в то что на си вставить функционал написанный на lua, потому что сам я его на си не перетащу.
И мне всегда казалось что esp приходят прошитые прокладкой с последовательного порта на wifi. AT команды какие-то. Чтобы он начал понимать луа, надо прошить nodemcu. Может я ошибаюсь конечно. Потому что как я уже сказал. Я нихрена не погромист
>Да не умею я программировать говорю же.
Сейм щит, бро. Тоже вот пилю сейчас проект из кусков чужих проектов, особо не понимая что делаю.
Суть обмена: считываю регистр, меняю в нем пару бит как нужно, остальные не трогаю, пишу обратно. Приложил запрос-ответ нормального обмена и корявого.
Вопрос: какого лешего нога sck зажевывается? Это анализатор не успевает или пердуина "устала от жизни"?
По даташиту у атмеги 23 ноги ввода/вывода. Одну сжирает кнопка ресет. Остальные юзай как хочешь, аналоговые пины можно использовать как дискретные, не нужно там АЦП на резисторах городить.
Какие ближайшие родственники ардуинки?
Например недавно узнал про такого редкого покемона, как ПЕНГВИНИНО Pinguino - как ардуино, только на основе PICов.
В IDE - Си, а не С++, как ардуино:
>The Pinguino IDE has a C compiler (SDCC for 8-bit MCU's and GCC-mips-elf for 32-bit MCU's), assembler and linker (GPUTILS for 8-bit MCU's, BINUTILS for 32-bit MCU's) and a USB bootloader (based on the PUF VASCO project for 8-bit MCU's, Microchip USB HID bootloader for 32-bit MCU's).
https://pinguino.cc
Кроме китайских последовательных конвертеров камней нет, возможно придётся поставить драйвер для CH340g.
Если коротко, то производитель оригинальных конвертеров USB - Serial ОБИДЕЛСЯ на китайские клоны и новые драйверы с ними не работают. Китайцы начали ставить свои конвертеры (как раз 340), но для них нужно отдельно ставить драйвер, так как в Винде его нет.
Если я не ошибаюсь, то в новых апдейтах винды доставили драйвер, так что ставить скорее всего ничего не придётся.
https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all
В некоторых Ардуинах вместо конвертера стоит Атмега 32u2 или вообще вся Ардуина сделана на одной Atmega 32u4, там вообще никаких проблем.
Не ошибаешься! Собираешь свою прошивку из нужных тебе модулей, прошиваешь в esp и будет тебе счастье.
https://nodemcu-build.com/
Ты ведь даже не попытался погуглить. Давай пиздуй в гугл, если по какой-то причине у тебя это не получится решить эту сложнейшую задачу, то пости свой код на pastebit и объясняй, что конкретно ты не можешь сделать. И лучше делай это в /pr/, микроконтроллеры здесь не при чем.
>микроконтроллеры здесь не при чем
А что, ардуино не на микроконтроллерах программируется, лал?
Ты какой язык программирования используешь для микроконтроллеров? К примеру, в стандартной библиотеки Си есть функция sprintf, как она соотносится с микроконтроллерами?
Тред про арудино. В названии первым же словом стоит. Я спрашиваю про ардуино. Вот какой язык в ардуино ide - вот тот я и использую. Так что не понимаю к чем ты это всё начал. Ардуино программирует микроконтроллеры. Называются они по-разному, но они все микроконтроллеры. Выглядит так как будто ты просто знаешь много умных слов и это тебе мешает понять простой вопрос.
Я не тот анон который тебе ответил первым.
>Я спрашиваю про ардуино. Вот какой язык в ардуино ide - вот тот я и использую.
В ардуино иде обыкновенный С++, если ты не знал. И никто не запрещал писать под ардуино на чем угодно. Откуда мне знать, может ты на ассемблере пишешь? А строки у тебя какие? Сишные нуль-терминированные или как?
>Выглядит так как будто ты просто знаешь много умных слов и это тебе мешает понять простой вопрос.
Я тебе нормально ответил. Что тебе мешает использовать функцию sprintf?
>А строки у тебя какие? Сишные нуль-терминированные или как?
Всё по умолчанию, никаких изысков
>Что тебе мешает использовать функцию sprintf?
То что я не программист и не знаю что это такое
Ты за это время мог бы уже погуглить свою исходную задачу и всё сделать. Такое ощущение что ты принципиально не хочешь этого делать и зашел потраллить.
Я гуглю как вставить рандом в текст и всякие вариации на русском и английском, мне выдаёт только как запилить ТРУ РАНДОМ считыванием шума с аналогового входа как будто блять все только и делают на ардуинках что сервера банковской криптографии
Так и я не программист. Но в чем проблема то? Задачу можно разбить на две части - генерацию случайного числа и вставку его в строку. Один из способов вставить число в строку я написал. В каком месте возникли сложности?
>Всё по умолчанию, никаких изысков
Так умолчание разное бывает.
>Ардуино программирует микроконтроллеры. Называются они по-разному, но они все микроконтроллеры.
Ясно. Понятно.
Сам нашёл. Вот тут нашёл как работать со стрингами
https://alexgyver.ru/lessons/strings/
Надо было сделать
String string0 = "http";
String string1 = "bla";
а потом где использовался этот текст написать
string0 + random(9999) + string1
А рандом взял вот отсюда самый трушный лол
https://alexgyver.ru/lessons/random/
https://aliexpress.ru/item/32789255835.html?spm=a2g0s.9042311.0.0.264d33edTn9sxV
Документации на али к нету нет. Как разобраться, что куда подключать, к каким пинам?
Это просто плата, не программатор. Родной jtag контроллера выведен на колодку, вызванивай
Пиздец. А чем можно прошить avr'ку на плате типа Nano и при этом обойти известную проблему с багом драйвера для китайской микросхемы USB-моста? Хочу лампово пить прошивки на асме avr и заливать.
> лампово пить прошивки
http://we.easyelectronics.ru/dcoder/avr-slowpoke-programmer.html
Не благодари! Пользуйся на здоровье!
Какой такой баг? Множество ардуинщиков в этом треде заливают прошивку через бутлоадер без проблем. Если ты про историю с FTDI, то сейчас в ардуины вроде бы ставят CH341, но гарантировать не берусь, я не настоящий ардуинщик.
Бери pickkit 4, сможешь пошагово смотреть как выполняются твои ассемблерные команды. Если тебе просто заливать прошивку без бутлоадера, то usbasp. Но для ассемблера самого по себе, можно и через бутлоадер заливать.
Этож сцуко АВРку нужно ВЫПАИВАТЬ блять!!
Хотеть прямо через ЮСБ , лить православную прошивку, собранную в GCC
А в чём проблема ? Я вот недавно (%№:%;"?%№) накатил на один из компов ШИН10. Так она сама дрова поставила (в отличии от 7). В всё взлетело.
Под линупсом вообще никаких проблем.
Какая у тебя ардуинка и программатор?
Не замечал проблем. Даже если у тебя с ним какие-то проблемы, то в чем сложность выкинуть CH341 и подключать проводками, так же как программатор, любой другой переходник USB-UART? Я так и не понял, в чем у тебя сложности с прошивкой AVR? Бутлоадер у всех работает нормально. usbasp тоже шьет без проблем, тем более что это конструкция от любителей для самих себя, а не китайское изобретение. Pickit - так вообще отладчик от производителя этих микроконтроллеров. Программаторов разных полно, хоть весь обпрограммируйся.
https://www.youtube.com/post/UgwyjOKR354X9_oOH0R4AaABCQ
Это тот говноед с поделками из ногтей? Пойду проголосую за что-нибудь еще.
Никси-часы в 2к75? Серьёзно?
Там есть и более достойные проекты.
Пошёл на хуй.
Зарепортил за накрутку голосов.
В обсуждении пишут, что проект вообще пижженный отсюда https://www.thingiverse.com/thing:2805852
https://www.youtube.com/post/UgwyjOKR354X9_oOH0R4AaABCQ
Хуяйкнул!
Гайвер скатился до накрутки. Так низко даже та тупая пизда не падала. Надеюсь, тебя забанят.
Только внешний вид корпуса. На этом говносайте даже схемы платы нет
> просто спросить как в литературе эти слова употребляют или без разницы?
В литературе доопределяют до нужного уровня - или лог. 1 или лог. 0.
Да я понимаю, что вкатывальщику никто не будет сходу платить 300к в секунду, средней зарплаты в 60к для начала мне хватит.
А там, глядишь, через пару месяцев наберусь опыта и перекачусь в место получше.
>питоны показались детским лепетом
Это потому что ты долбоеб, дружище, и дальше for(i=0;i<1968;++i) printf("slysh otsosi\n"); не смотрел.
Если ты думаешь, что ЙИЙИ СА ЗРЕНЕЕМ ДЛЯ БОСТАН МАФЫН И ИЛАНА МАШКА пишут на хуйсемблере и фпга-коконтроллерах, а языки высокого уровня - для тупых, которые не могут в assеблер, у меня для тебя плохие новости: для работы, где нужен IQ, ты едва ли подойдешь.
>что то серьезное и уникальное
>например usb-кейлоггер встроенный в клавиатуру
У меня подозрение, что тебе 19 лет максимум. А илистронику ты по "юному радиодолбоебу" изучал.
>какое нибудь устройство, вроде "нажимаем кнопку 1
А роутер на кволкоме? Роутер на попенврт и кволкоме ты замутишь, илистроншык асс-емблершык? Ты же шариш ебать, на месте разберешься! Билдрут поконпелировыеш, пекеджы поделаеш, в ведре линупсовом поковыряешься: прошив очка тоже тебе, или ты думал, туда вендовс устанавливают?
>А роутер на кволкоме?
Но ведь простые васяны-сисадмины пачками лепят альтернативные прошивки почти для любой модели роутера, что в этом такого? Тупо сборка и конфиги из готовых компонентов, лишь бы были драйверы на периферию...
Ну вот и сделай плату и прошивку, докажи нам, что ты МОЖЫШ и гордо уйди в закат работать на ИЛАНМАШКА, или ты так и будешь кукарекать про каждых васянов и как ты быстро обучаишся assеблеру?
Про сборку ядра лялиха не буду спорить, в отличие от того анона. Там действительно с конфигом ядра совсем не просто, судя по тому что я читал.
>и как ты быстро обучаишся assеблеру?
Это ерунда, особенно в контексте ардуин, т.е. AVR. Там всего около сотни команд, которые даже зубрить не требуется, потому что таблица с ними всегда перед глазами. Мне в институте как-то задали на подготовке к лабораторной работе написать в машинных кодах простенькую программу для 8080, так за вечер я вполне справился, при том что до этого 8080 не видел. Вот ввести эту хрень в учебный комплект было уже сложнее из-за дребезга контактов в кнопках, изнасилованных множеством студентов. Питон сложнее будет, конечно если отойти от совсем простых примеров. Если что, то я не о сложности написания программ, а о самих языках.
>>16490
>особенно с брошенной технической вышкой по радиоэлектронике
Ну, может в ардуинщики возьмут. Даже если работодателю не будут нужны корочки, все равно возникнут вопросы, почему не закончил. Совсем тупой? Или шило в одном месте и через год ты убежишь, как убежал из института?
>за вечер я вполне справился, при том что до этого 8080 не видел
Вот вы, программисты, интересные какие-то. Рассуждаете так, будто все вокруг по умолчанию умеют хоть как-то, хоть на чем-то кодить. "В глаза не видел, взял и сделал". Ты забываешь, что хоть ты и не видел в глаза какую-то конкретную архитектуру, ты все равно УЖЕ являешься программистом. Я, например, TIG-сварку в глаза не видел, но я УЖЕ худо-бедно умею варить MMA, а значит "за один вечер", потыкавшись вслепую горелкой, спалив килограмм присадочного прутка и выпустив в воздух пару баллонов аргона, смогу-таки сварить простенькую конструкцию. Но написать простенькую программу не смогу, потому что даже отдаленно не понимаю, что и как для этого надо сделать.
мимо
>сборку ядра лялиха
>перепрошивка контроллеров
Почему электровасяны так любят обсуждать эту рутинную хуету? Ну вы, блять, дауны, еще поучитесь, как ехе-файлы на винде запускать, или как с флешки в проводнике копировать, или как лечь на диван вот еще.
Ядро тебе модифицировать придется скорее всего, дурачок. И загрузчик тоже. В курсе вообще про загрузчик-то, лол?
>>21714
Судя по рассказам обоих этих долбоебов, они сами-то в программировании вообще не ориентируются. Ибо их заявления в духе "я выучил таблицу умножения, в вашый маняматяки ничо сложнава нету, а теория множеств с общей алгерброй ваще хуйня: чо там пересечение множеств, ита и дибил паймет ололо".
>Вот вы, программисты, интересные какие-то.
Я не программист ни разу. И никаких языков программирования на тот момент не знал, да и сейчас толком не знаю, знал только немного систему команд еще одного микроконтроллера.
>>21716
>Ядро тебе модифицировать придется скорее всего, дурачок. И загрузчик тоже. В курсе вообще про загрузчик-то, лол?
Загрузчик как раз ерунда, по сравнению со всеми конфигами и device tree. Причем все это ты нафантазировал про меня. Я то как раз написал, что этого не касался и спорить не буду.
В ассемблере ничего сложного нет. Отдельные команды ничего такого сложного не делают, чтобы было сложно с ними разобраться. Сам по себе ассемблер прост, на нем только сложно, или просто нереально, что-то практическое делать. Если кто-то утверждает что это не так, значит он не видел ассемблера.
>Я не программист ни разу. И никаких языков программирования на тот момент не знал, да и сейчас толком не знаю, знал только немного систему команд еще одного микроконтроллера.
Ну так я об этом и толкую. Я тоже не сварщик ни разу. И никаких способов сварки не знаю. Только немного знаю, как дугу зажигать и поддерживать.
Ерунда. Знание какой-то системы команд конечно ускоряет дело, но не так сильно. Потребовался бы не один вечер, а может быть неделя, не велика разница. К примеру брейнфак - это тоже такой своеобразный ассемблер. Он элементарен, в нем учить то нечего, а писать на нем весьма сложно. С набором инструкций микроконтроллеров, таких как AVR, все во многом аналогично.
>>питоны показались детским лепетом
>Это потому что ты долбоеб, дружище, и дальше for(i=0;i<1968;++i) printf("slysh otsosi\n"); не смотрел.
Как это отменяет то, что питон - один из самых простых языков эвар? Он явно проще того же Си или ассемблера, если уж на то пошло.
>Если ты думаешь, что ЙИЙИ СА ЗРЕНЕЕМ ДЛЯ БОСТАН МАФЫН И ИЛАНА МАШКА пишут на хуйсемблере и фпга-коконтроллерах,
Да, это так. Там, где требуется максимальное быстродействие, используют микроконтроллеры и ПЛИСки.
>а языки высокого уровня - для тупых, которые не могут в assеблер, у меня для тебя плохие новости: для работы, где нужен IQ, ты едва ли подойдешь.
Не для тупых, просто у них разные задачи и разная специфика. Скажем так, на бэк-джуниора-питониста может устроиться любой школьник, прочитавший книжку по питону и прошедший пару уроков с ютуба по питону, а чтобы пойти работать железячником-embedded нужна профильная вышка, понимание схемотехники цифровой и аналоговой, программирования и ещё кучи всего.
>>что то серьезное и уникальное
>>например usb-кейлоггер встроенный в клавиатуру
>У меня подозрение, что тебе 19 лет максимум. А илистронику ты по "юному радиодолбоебу" изучал.
Дай угадаю, твой максимум - это мигалка на мультивибраторе?
>>какое нибудь устройство, вроде "нажимаем кнопку 1
>А роутер на кволкоме?
Не делал, но уверен, что смогу сделать, если поставлю себе такую цель. Для этого достаточно знать стек TCP/IP и запрогать микропроцессор под функцию роутера.
>Ну, может в ардуинщики возьмут.
Ардуинщиком не хочу, я хочу больше работать в серьёзном rocket science, embedded, machine lerning, пусть даже первое время и за еду.
>Даже если работодателю не будут нужны корочки, все равно возникнут вопросы, почему не закончил.
Да, ты прав, с этим могут возникнуть проблемы. Хочешь сказать, что мне стоит снизить планку зарплаты >>21587 и работать не за 60к, а, скажем, за 40к?
>Совсем тупой? Или шило в одном месте и через год ты убежишь, как убежал из института?
Так я же писал, деньги были нужны, поэтому бросил учёбу и стал кабанчиком. А потом выяснилось, что душа больше лежит к электронике и решил вкатиться в работату по специальности.
>питон - один из самых простых языков эвар? Он явно проще того же Си или ассемблера
Долбоеб необучаемый, если ты и на работе будешь так права качать, то тебя отправят нахуй моментально. Если тебе сказали что-то, пиздуй разбираться, что имели в виду, пока не поймешь.
>микроконтроллеры и ПЛИСки
Контроллер на 16МГц у тебя получается быстрее, чем процессор на пару гигагерц. И плиска еще вместо готового процессора, угу, ради быстродействия. Еще раз - ты дебил необучаемый.
>работать железячником-embedded
Чего ж железячникам-ембеддед платят меньше бэк-питонистов, маня? Я тебе секрет раскрою, маня: каким бы "простым" не был язык, сложность системы он не устранит.
>Дай угадаю, твой максимум - это мигалка на мультивибраторе?
Твой максимум - 19 лет и кейлоггер в клавиатуре, это прям очевидно по твоим постам, необучаемый долбоеб.
>Не делал, но уверен, что смогу сделать
>достаточно знать стек TCP/IP и запрогать микропроцессор под функцию роутера
Я даже отдельно это выделю.
Ты хоть знаешь, сколько там стандартов, даун?
Ты что, долбоеб, всерьез собрался сам стек TCP/IP имплементировать?!
Если тралиш - годно, збс на вайти-зумерка похож
А вообще и 40-60 это смешные деньги для дс. Сервисным инженегром можно соточку получать. Занимаясь конечно же дорогим и нишевым оборудованием, пяльщики ноутбуков доедают хуй без соли. Ну и карьерного роста ожидать не стоит, только если кидать своего кабанчика и начинать крутится самому.
Можешь, сам так делал.
Не можешь - если плату не даун разводил, то неиспользуемые ноги будут замкнуты на питание, чтоб лишние помехи не ловить. А значит хуй на них что подашь или считаешь.
И не портов, а пинов.
Ну, дорожку перерезать 2 минуты делов.
И потом пожечь микроконтроллер, по ошибке переключив эти выводы на выход. Лучше через резисторы 100 Ом соединяй, если так помех боишься. Хотя какие там могут быть помехи на GPIO?
>Долбоеб необучаемый, если ты и на работе будешь так права качать, то тебя отправят нахуй моментально. Если тебе сказали что-то, пиздуй разбираться, что имели в виду, пока не поймешь.
Ну если мне на работе поставят задачу, то тогда я, конечно, буду обязан её выполнять, ведь мне за неё платят деньги. Но, позволь поинтересоваться, с чего ты решил, что я должен беспрекословно слушаться какую-то маню с двача? А в языках программирования, как писал выше, я разбираюсь.
>>микроконтроллеры и ПЛИСки
>Контроллер на 16МГц у тебя получается быстрее, чем процессор на пару гигагерц. И плиска еще вместо готового процессора, угу, ради быстродействия. Еще раз - ты дебил необучаемый.
Ну во-первых, контроллеры есть на разные частоты тактирования, есть и на 120 МГц и на 700 Мгц. Быстрее, потому что у микроконтроллеров flash-память программ вшита в сам кристалл, а у процессоров память отдельно где-то лежит на жестком диске или на флешке.
>>работать железячником-embedded
>Чего ж железячникам-ембеддед платят меньше бэк-питонистов, маня?
Не меньше.
Айтишникам платят больше потому, что они работают в России на западные фирмы, embedded это тоже сорт оф айти, если уж на то пошло. Если мы возмем позиции в западных фирмах, работающих в России на бекенда и embeddedера, то зп там будут примерно одинаковые.
>Я тебе секрет раскрою, маня: каким бы "простым" не был язык, сложность системы он не устранит.
Я в курсе, просто у этих языков разные цели. Питон для интерпрайза, Си - системное программирование, драйвера, встраиваемые системы.
>>Дай угадаю, твой максимум - это мигалка на мультивибраторе?
>Твой максимум - 19 лет и кейлоггер в клавиатуре, это прям очевидно по твоим постам, необучаемый долбоеб.
Ого, как пригорело! Видно, моя догадка про мультивибратор оказалась правдой.
>Не можешь - если плату не даун разводил, то неиспользуемые ноги будут замкнуты на питание, чтоб лишние помехи не ловить.
Меня в вузкике учили неиспользуемые ноги замыкать на землю.
>Ты хоть знаешь, сколько там стандартов, даун?
Стандартов чего?
Интернета?
Стандартов там всего два: UDP и ТСP/IP(UDP без проверки cheksumm). UDP - когда-важна скорость, а на качество наплевать(видео, телефония), TCP/IP - наборот, когда важна достоверность информации(сайты, вход в личных кабинет по логину и паролю, денежные транзакции).
Роутеров? Они все выполняют одну функцию - распределяют трафик между устройствами, в зависимости от их IP-адреса.
>в языках программирования, как писал выше, я разбираюсь
>флеш-память быстрее RAM
>а сама RAM на диске
>Питон для интерпрайза
>Стандартов там всего два: UDP и ТСP/IP(UDP без проверки cheksumm)
>TCP/IP - наборот, когда важна достоверность информации(сайты, вход в личных кабинет по логину и паролю, денежные транзакции)
>Стандартов чего?
RFC
>cheksumm
проверяется вообще на MAC уровне у каждого пакета
На пике не роутер, а нат с встроенным свитчом.
Неиспользуемые ноги чего? Входы КМОП рассыпухи? А выходы тоже на землю сажать? А если несколько ОУ в одном корпусе и один не используется, тоже сажать все входы и выходы на землю?
По моему крайне сомнительно сажать неиспользуемые выводы GPIO микроконтроллера на землю или на плюс питания, особенно в отладочных платах.
>Не можешь - если плату не даун разводил, то неиспользуемые ноги будут замкнуты на питани
Нет, это как раз дауны так делают. Это прямо запрещено в даташите.
В 99% случаев достаточно использовать внутренний пуллап контроллера. В остальных - внешний пуллап или пуллдаун.
атмел:
If some pins are unused, it is recommended to ensure that these pins have a defined level. Even though most of the digital inputs are disabled in the deep sleep modes as described above, floating inputs should be avoided to reduce current consumption in all other modes where the digital inputs are enabled (Reset, Active mode and Idle mode).
The simplest method to ensure a defined level of an unused pin, is to enable the internal pull-up. In this case, the pull-up will be disabled during reset. If low power consumption during reset is important, it is recommended to use an external pull-up or pull-down. Connecting unused pins directly to VCC or GND is not recommended, since this may cause excessive currents if the pin is accidentally configured as an output.
стм:
To increase EMC performance and avoid extra power consumption, unused clocks, counters or I/Os, should not be left free. I/Os should be connected to a fixed logic level of 0 or 1 by an external or internal pull-up or pull-down on the unused I/O pin. The other option is to configure GPIO as output mode using software. Unused features should be frozen or disabled, which is their default value.
>неиспользуемые ноги будут замкнуты на питание
>Нет, это как раз дауны так делают
>Это прямо запрещено в даташите.
>внутренний пуллап
>внешний пуллап или пуллдаун
Ясно
;jj
Что ж ты все не скопировал?
>Могу ли я просто подпаяться к ним напрямую и сразу использовать в коде как порты?
>Не можешь - если плату не даун разводил
То есть мало того, что "замкнуты" - оказывается, замкнуты через резистор, о котором ты забыл упомянуть. Типа, сленг у тебя такой. И ты вместо того, чтобы это написать, высрал кучку гринтекста. Ты еще и прямо неверный ответ дал.
Если плату разводил не ты, а хотя бы самый тупой в Китае китаец, неиспользуемая нога будет расчитана на то, что в прошивке пин будет настроен нужным образом.
Так пишут что это если
>If low power consumption during reset is important
Рекомендацию не соединять с землей или плюсом питания, объясняют тем, что при ошибке можно спалить микроконтроллер. То есть, выходит что все же можно, но не стоит.
В рекомендациях для STM есть вариант сконфигурировать ногу на выход. В таком случае выходное сопротивление будет скорее всего меньше чем сопротивление внешних пуллап или пуллдаун резисторов. Возможно это оптимальный вариант при наличии реальных помех или просто помехофобии.
>Что надо с неиспользуемыми ногами делать в общем случае, если у нас голый проц?
Софтварно ставишь пин в режим, который подразумевает определенный потенциал на нем. Обычно это либо input либо output, обязательно с push/pull. Пины с неопределенным потенциалом - плохо, соединять непосредственно с 5 и 0 - плохо (если случайно сконфигурируешь как аутпут, получишь короткое замыкание). Внешние резисторы не плохо, но бессмысленно и дорого. Я представляю такую херню с контроллером, у которого 64 вывода и есть куча неиспользуемых ног. Если кто такое делает - покажите.
1. Можно понизить на самой йобе, но этот вариант сразу отпадает, потому что должна функционировать вся нативная периферия, а она рассчитана на 27 вольт.
2. Поставить на каждый пин токоограничивающие резисторы. Недостаточно правоверно, да и токи там приличные, плюс могут плавать.
3. Поставить на каждый пин два резистора делителем - приемлемо, но громоздко и недостаточно изящно.
4. Поставить на каждый пин стабилизатор на 5 вольт. Тоже очень громоздко и совсем не изящно, плюс снижает общую надежность - полетит один стабилизатор, за ним полетит вся ардуина.
Что скажете?
>Поставить на каждый пин два резистора делителем - приемлемо, но громоздко и недостаточно изящно.
Чем громоздко? 2 детали вместо одной?
Не просто две вместо одной, а две вместо одной помножить на 8.
Ну, я сам пока именно на этом варианте и остановился, но может есть получше?
Просадка питания? Замерь напряжение в момент переключения например. А ещё лучше каким-нибудь мультиметром с функцией записи измерений замер сделать.
Спасибо. Есть ещё идея подключить к ноуту но без линий данных, тогда будет понятно это косяк напряжения или данных. Как я блин сам не додумался.
>Не просто две вместо одной, а две вместо одной помножить на 8.
Ну скорее 16 копеечных деталей вместо 8 непонятных йоб. Короче, мне тоже интересно, неужели есть альтернатива делителю в таком случае
>Что скажете?
Оптопары можно поставить, это самый надежный вариант.
>4. Поставить на каждый пин стабилизатор на 5 вольт.
Бред какой-то, что там с фронтами сигнала еще будет твориться...
>Оптопары
Излишнее усложнение, которое совершенно не нужно, как и стабилизаторы.
>что там с фронтами сигнала еще будет твориться
Парень, там в цепях, на которых появляются нули и единицы, стоят релюхи размером с кулак, какие фронты, лол?
Короче, остановился на делителях, самый простой и адекватный вариант.
Ну как бы нет.
Ладно, опишу целиком, может быть я не с той стороны подхожу. Хочу сделать подсветку с управляемыми точками включения. Одна точка будет состоять из мощного светодиода и одного, двух, трёх и т.д., под мощность светодиода модулей AMC7135. Модуль AMC7135 имеет пин-выключатель, вот его и хочу дёргать через линию. В каждой точке подсветки AMC7135 соединены параллельно т.е. либо включено либо выключено. Должна быть возможность подключать новые точки, просто цепляя их к линии. Питание у каждой точки своё.
Мне нравится WS2813, хочу такое же включение.
Сдвиговые регистры?
Самый популярный 74HC595, 10 штук 50 центов на али.
Ещё по моему есть "мультиплексоры", они дороже, но с них можно читать состояние пинов. Но это не точно.
>Ещё были бы без шима и на один канал...
Что мешает использовать только один канал и ШИМ выворачивать на максимум?
Ничего
> Хочу повторить пикрил
А что это вообще?
> Стоит ли сюда добавить модуль RTC?
Если ты часы собираешь, то добавь.
> Вроде свободная нога у тинки есть для дополнительного разряда.
А если не хватит, то можно регистры сдвига заюзать. Вообще есть микросхемы для управления семисегментными дисплеями.
> Как все это сделать?
Разбить задачу на подзадачи и гуглить конкретные проблемы.
Выключатель отключить от лампочки и подключить к ардуино. К лампочке подключить реле. В ардуине реализовать логику управления реле в зависимости от состояния выключателя и чего-то еще.
На всякий случай скажу что давно есть готовые системы управления освещением с пульта/компуктера/телефона.
я то знаю это все, и у самого сейчас есть приложение для управления разными подключенными фигнями к ардуино. я не знаю как именно подключить выключатель к ардуино и как считывать с него данные. я пытался от выключателя подключить два провода к ардуино пину и gnd, и считывал данные через digitalRead, не работало
> я пытался от выключателя подключить два провода к ардуино пину и gnd, и считывал данные через digitalRead, не работало
Кидай код на pastebin и схему подключения приложи.
Пин должен быть в режиме INPUT, должна быть включена подтяжка в коде, либо резистором соединить пин и плюс.
Вопрос такой: если у меня на кристалле вместо 16.000 как на пикриле нарисовано H16.000D5C, это может что-то говорить о частоте?
Или для красоты нарисовали?
Это не та проблема, которую ты решаешь
>Ебусь с внутренними таймерами
Доставляет? Дошел до состояния что уже слышишь как они тикают?
Если нет - у меня для тебя плохие новости.
Новая мега (с завода) тактируется от внутреннего RC дегенерат_ора и ей похуй на внешний кварц.
Спасибо.
>А что это вообще?
Часы же. Насчет RTC - он там точно нужен? Схеме лет 15 минимум, но почему-то я не видел, чтобы кто-то поставил RTC.
Я теперь и понять не могу. Что-то не совпадало с подсчетом.
Наверное не стоит изучать новое в 5 утра.
В разных местах утверждается, что сопротивление AREF равно 32к ом, но в даташите к atmega328 говорится только, что AERF (Vref) is high impedance source. Если 32к ом, то где-то 10 сек ждать. Но даже 1000 uF пробоавл и не заметил, вроде бы, ошибки. Жду 100 мс перед чтением.
Для фильтрации установлю еще 2200 uF между 5V и GND. Плата - Нано, там питание от USB на 5V через диод. МК хавает где-то 30 мА в среднем.
Как-то так?
DAC запитан от AVCC = 5в, 10 бит, где-то 5 мВ разрешение.
Нашел в даташите, таблица 28-8, 20-40к ом.
Сам дисплей — это TFT, голый с коротким шлейфом, к которому я подпаял макетные провода длинной 200мм. Драйвер светодиодов лежит буквально рядом.
Так вот, все работает нормально, пока я не включаю светодиоды и тогда изображение на дисплее начинает корежить. Даже если какой-то прибор рядом, то помехи усиливаются. Как мне защитить дисплей?
Роутер сделал? Похвально.
На всякий случай код этой схемы:
void setup() {
pinMode(OUTPUT, 3);
}
void loop() {
digitalWrite(3, HIGH);
delay(2000);
digitalWrite(3, LOW);
delay(2000);
}
И после подключения выключателя будет такой код:
uint8_t switcher = 2;
uint8_t light = 3;
void setup() {
pinMode(switcher, INPUT);
pinMode(light, OUTPUT);
}
void loop() {
if (digitalRead(switcher))
digitalWrite(light, HIGH);
else
digitalWrite(light, LOW);
}
На всякий случай код этой схемы:
void setup() {
pinMode(OUTPUT, 3);
}
void loop() {
digitalWrite(3, HIGH);
delay(2000);
digitalWrite(3, LOW);
delay(2000);
}
И после подключения выключателя будет такой код:
uint8_t switcher = 2;
uint8_t light = 3;
void setup() {
pinMode(switcher, INPUT);
pinMode(light, OUTPUT);
}
void loop() {
if (digitalRead(switcher))
digitalWrite(light, HIGH);
else
digitalWrite(light, LOW);
}
Уже писали тебе, что надо сделать подтяжку выключателя к плюсу либо в коде (INPUT_PULLUP вместо INPUT), либо резистором в схеме, в любой статье про подключение кнопок к ардуине об этом говорится же. Теперь "рандома" (это наводка 50 Гц) не будет, замкнутый выключатель это LOW, разомкнутый - HIGH.
Спасибо, теперь понятно. Я же говорю, что не шарю в радиотехнике, поэтому туплю
Номер пина только там поменяй на нужный, я в рандомный ткнул. Алсо, у выключателя и всяких кнопок есть дребезжание, надо делать дебаунс, есть готовая библиотека Button для этого.
ок, здоровья тебе
Никого не троллил. Ну вот первая статья из гугла http://arduino.ru/tutorials/button, там всё то же самое, только притяжка к земле вместо плюса, но принцип тот же - висящий в воздухе провод притягивается к одному из полюсов. В avr есть встроенная подтяжка к плюсу, включаемая по INPUT_PULLUP, можно внешние резисторы не добавлять.
А бля. Я на пикчу не посмотрел. Думал ему сетевой выключатель нужен и ты ему напрямую в ардуину 220 напрямую советуешь.
Я вот этот пользовал https://raw.githubusercontent.com/Lauszus/Sanguino/master/bootloaders/optiboot/optiboot_atmega1284p.hex
Но ему 7 лет и этот ПИДАРАС сам себя перезаписывает через раз и приходится снова шить.
А у оригинального optiboot нету загрузчика для 1284 https://github.com/Optiboot/optiboot/tree/master/optiboot/bootloaders/optiboot
Чтоб он сам себя перезаписать не мог. У старых есть такая фича, что они не понимают куда пишут и могут записать что-то на своё место.
Внезапно. Оказалось, что если шить через USBasp, то будтоадер потом может сам себя перезаписать.
А если шить через другую ардуину, то всё работает.
Я охуел. Но теперь у меня всегда работает загрузчик, как я не пытался его убить.
Читаю читаю тред уже 3 год. И понимаю что идет реально одебиливание. "Разбирают" говнокод в Пердуино-Иде.Ломают копья. Кидаются говном как в линух тредах.
Да ебена клочья!!! Юзайте нативный С. Пердуино платы хороши тем что не нужно травить платы и ебаться с феном для того что бы припаять чип.
В принципе всё это относиться и к "профессионалам" на питоне,рустам etc.....
>идет реально одебиливание
Да, нет! Просто до ардуино-треда на харкаче, добираются самые тупые особи. Более смышленые ниже ардуино.цц не спускаются
>питоне
Вот это не надо писать. Как по мне, питон дополняет matlab/octave, в чем-то хуже, а в чем-то наоборот удобнее. А кто-то может быть использует tensorflow или еще что-то подобное, тут хоть на Си перепиши, ничего не изменится.
В общем, есть две глобальные переменные.
1. массив Char с именем PathBmp
2. просто byte с именем bLayerCnt
Так вот, в какой-то момент, мне надо очистить массив PathBmp, я это делаю циклом по всем его ячейкам. Но после этого, у меня сходит с ума переменная bLayerCnt. На скрине два варианта, где я очищаю массив, и в одном случае bLayerCnt становится равным 0, а в другом 160, хотя должна быть равна 3.
Такое чувство, что эта переменная находится в ячейке массива. Я читал, что массив это по сути выделенный участок с набором переменных. Но как мне быть в такой ситуации?
Я уж думал, может памяти не хватает, поэтому отслеживал остаток с помощью функции memoryFree(). Везде неизменные 652 байта. Хотя вроде как я читал, что она бесполезна при большой фрагментации данных.
Что делать-то?
В массиве PathBmp у тебя точно 21 элемент?
И нахрена тебе byte? Есть же uint8_t, который прописан в стандарте, в отличии от byte.
Двойные кавычки "" это строка, а не char, просто gcc это проглатывает. char это одинарные кавычки ''.
Массив PathBmp какого размера у тебя? Если 20, то в цикле поменяй "<=" на "<".
Бля, понял в чем дело. Собственно:
>Я читал, что массив это по сути выделенный участок с набором переменных.
Массив резервируется так:
char PathBmp[20];
А в цикле я перебираю от 0 до 20 и на одну ячейку выхожу за пределы, чем "убиваю" переменную bLayerCnt. Сука, хорошо, что они рядом находились, а то бы я в жизни не догадался. Помню в бейске в массивах надо указывать именно индекс последнего элемента, а не количество. На этом и обосрался.
Анон выше правильно пишет, я в начале даже не углядел это у тебя.
Если тебе нужно заполнить символом пробела, то между кавычками также должен быть пробел.
>>25083
Я так предполагаю, мне нужно не нулями и пробелами, а пустотой.
Суть такова, что я этим массивом передаю путь к файлу на SD карте. Использую более компактную библиотеку SdFat.h, а там стринги не принимаются (да у меня и самого места нет). Так вот, мне нужно этот массив очистить, чтобы туда записать символы нового пути.
Я предположил, что надо забивать каждую ячейку этим "" или этим 0x00 (на одном форуме видел).
>Я так предполагаю, мне нужно не нулями и пробелами, а пустотой.
Что значит пустотой? ОЗУ в микроконтроллере это константное (для конкретного микроконтроллера) количество байт. И каждый байт имеет свой адрес. Представь тетрадный лист в клеточку, и в каждой клеточке по числу, без исключений и пустого места - вот такую аналогию можно сопоставить памяти в цифровой технике. Каждая клетка листа имеет свое положение, которое не меняется - это адрес. Поэтому не заполнишь там ничего пустотой.
>а там стринги
Строки это уже другое дело. Их представление может быть различным. Сишные строки это нуль-терминированные строки. Это значит, что строка это последовательность байт, а для указания строки используется байт с нулевым значением. Если тебе нужно сделать строку нулевой длины, то следует записать в начало массива нуль, который будет означать конец строки, при этом без разницы что там в массиве дальше.
>забивать каждую ячейку этим ""
Это не правильно. Двойные кавычки это строковый литерал, т.е. не значение символа, а адрес по которому лежит строка, в данном случае состоящая из одного терминирующего нуля.
>или этим 0x00 (на одном форуме видел).
Это уже другое дело. Причем '\0' как раз равно терминирующему нулю, т.е. на практике твоему 0x00.
>Поэтому не заполнишь там ничего пустотой.
Но адрес это одно, а его значение это другое. Ячейка по такому-то адресу пустая. Я просто сужу по VB, там можно ячейку сделать пустой, типа <Nothing> или <Empty>
>то следует записать в начало массива нуль
Т.е. допустим у меня массив
char PathBmp[20] = "HUETA";
И вот я хочу, чтобы этот массив содержал слово меньшей длины, типа "EBO". Если я тупо его добавлю с помощью функции strcpy, то получится "ЕBOTA". И чтобы этого не случилось, мне достаточно перед этим прописать в нулевую ячейку '\0' и всё? Будет не важно, что там дальше в других ячейках?
Я не помню, дописывает ли strcpy нуль-терминатор в конце или нет, если дописывает - ничего больше делать не нужно, если не дописывает - проще занулить весь массив (memcpy/memzero или как его там) после чего выполнить копирование. Конечно же, не забывай, что в 20байтный буфер влезет всего 19 сишных символов и 1 нуль-терминатор. Вылезание за его пределы сулит внезапное проникновение боли твоему анусу.
мимо
Кажется я начинаю понимать. Функция открытия файла, которой я передаю массив с путем, не проверяет массив до конца, а до тех пор пока не обнаружит символ конца строки.
>Ячейка по такому-то адресу пустая.
Нет, пустая она там будет только при выключении питания. Каждый бит это тупо триггер, у которого может быть состояние только либо 0 либо 1.
>Я просто сужу по VB, там можно ячейку сделать пустой, типа <Nothing> или <Empty>
Не знаю на счет VB, но, судя по тому что ты написал, можно предположить что там каждый элемент массива это не тупо один байтик в памяти, а какой-то более сложный объект, в котором часть памяти отводится для индикации этой "пустоты" и всего остального.
Однако массивы в Си - это тупо байтики, идущие друг за другом, без какой-либо дополнительной информации.
>Функция открытия файла, которой я передаю массив с путем, не проверяет массив до конца, а до тех пор пока не обнаружит символ конца строки.
Бинго.
Сама дура
Если на Ардуино контроллер питается от 3,3 В.
Разве мастер лидер может задавать уровень напряжения?
Вроде как общение устройств с разным вольтажом происходит при помощи конвертера уровней.
У меня вот прям щас ардуина 5в общается с дисплеем 3в, но у меня проще, у меня экран не отвечает и я через делитель напряжения орудую.
Не путай модуль USART и UART сам по себе. В некоторых микроконтроллерах модуль USART вообще может работать в SPI режиме.
В I2C напряжение задает мастер и ардуино как slave можно подключить без преобразователей к малинке, всё работает на 3.3В. А тут хз как.
Без ебли преобразователь логических уровней, типа пикрилейтед. У китайцев наверно есть готовое на плате.
Нет, МК питаются каждый от своего стабилизатора питания, разве что есть толерантные к 5 в входы.
Берешь в локалшопе двунаправленные txb/txs0102 для uart или txb/txs0104 для spi, распаиваешь на макетную плату для sop, профит.
Если будет звенеть и пердеть на проводах длиннее 30-50 см - резисторы последовательно поставь или возьми однонаправленные sn74lvc1t45/2t45/etc.
>В I2C напряжение задает мастер
Я бы так не сказал. Сами напряжения там задаются подтягивающими резисторами, которые часто стоят обособленно от ведущего и ведомого. А вот лог. уровни по входам там уже могут быть разными.
>>25258
Не похоже это на стабилизаторы, обычные транзисторы. Стабилизаторы для такого ставить - полнейший бред.
>>25263
Не проще ли запитать атмегу от 3,3 ? Конечно по разному бывает, но может тут именно такой случай?
Да, если к ней не подключено ничего 5 вольтового, перекинуть на 3.3 будет проще
>Я бы так не сказал. Сами напряжения там задаются подтягивающими резисторами, которые часто стоят обособленно от ведущего и ведомого. А вот лог. уровни по входам там уже могут быть разными.
Там же ведомый просто замыкает шину на землю, не? А шина 3.3 задается мастером.
https://youtu.be/me7mhrRbspk
15:10
>Там же ведомый просто замыкает шину на землю, не?
Правильно. Ведущий тоже только замыкает подтягивающие резисторы на землю. Там же открытый сток, и у ведущего и у ведомого, другого быть не может.
>А шина 3.3 задается мастером.
Напряжение в I2C то, к которому подключаются подтягивающие резисторы. Подтягивающие резисторы могут быть внутри микросхемы ведущего, это так. Но вообще подтягивающие резисторы чаще ставят дискретные.
Если речь про малинку, то следует указать конкретную модель, потому что в разных моделях разные процессоры. Даже если в малинке стоят неотключаемые подтяжки к 3.3 (что сомнительно), то можно поставить дополнительные подтяжки к другому напряжению снаружи, это не очень хорошо, но уровни напряжения изменятся.
А потом, уровни лог. 1 и 0 ни ведомый ни ведущий не могут узнать телепатически, для них это обычные входы (совмещенные с открытым стоком), у которых лог. уровни такие же как и на остальных. И если в ведущем (внутри микросхемы или рядом) стоят подтяжки к 3.3 и для него это нормально, но при этом ведомый питается от 5В и хочет уровень лог. 1 выше 3.3, то в таком случае ничего не заработает. В случае с атмегой это работает только потому что в ней уровень лог. 1 по входу от 0.6Vcc и выше, т.е. 3.0 В при питании 5 В. А был бы 0.7Vcc уровень лог. 1, то толком не работало бы.
Спасибо.
Хотелось бы вообще без 74hc595 обойтись. Я хочу поставить 32U4 с минимальной обвязкой и работающим USB. При этом нужен 1 пин ШИМ, 1 АЦП и 20 цифровых, если без регистра сдвига. Получится такое сделать с 32U4?
>поставить 32U4
>1 АЦП
Опять ты? На этот раз есть внутри АЦП. На первый взгляд - проблем не вижу когда у тебя около 26 выводов.
В чем вопрос?
Да, это я.
Вопрос в распиновке. Пока что я обмазываюсь даташитом, но может тут есть аноны, кто уже использовал пины по максимуму и они подскажут чего.
При первом приближении все пины одинаковые.
Давай полный список своих фап-фантазий что собрался цеплять или сам от фонаря нарисуй как собрался и что подключать и подправим.
Зачем полный список? Вот есть стандартная распиновка, там 20 пинов, нужно просто понять, где взять еще два.
Если я правильно понял даташит, можно совершенно безболезненно заюзать, например, ногу 33 (HWB). Или, например, 8 (RXLED) и 22 (TXLED), потому что мне эти LED совершенно не нужны. Верно рассуждаю? Не нужно перешивать загрузчик, чтобы все это проделать, если проц будет не голый, а снятый с китайской ардуино?
Не еби мозги..
http://developer.alexanderklimov.ru/arduino/analogreadserial.php
"Кроме того, аналоговые выходы могут работать как цифровые и обозначаются как 14, 15, 16, 17, 18, 19 вместо A0..A5."
Не твоя, тут главное суть. Аналоговые входы могут быть цЫфровым входом и выходом. Когда сам ебешь МК на си или асме, а не через костыли.
Забив на пердуино костыли доступно 25 выводов и 1 с осторожностью на выход (33 - PE2). Что не так? В эти 25 цифровых выводов включено 6 аналоговых.
>пердуино костыли
Довольно странно обсерать ардуино в ардуино-треде.
Так загрузчик перешивать не нужно? Просто снял камень с китайской платы и поставил на свою и все?
>Просто снял камень с китайской платы и поставил на свою и все?
Зачем? Что за бред? В чем проблема поставить новый микроконтроллер, а не перепаивать?
>Так загрузчик перешивать не нужно?
Загрузчик там довольно универсальный, вроде как накладывает некоторые ограничения только на фьюзы. На основную программу ограничений не накладывает, за исключением размера. Через ардуиновский загрузчик можно прошивать программы написанные не только в ардуиновской иде, а в чем угодно и как угодно. Только нужно учитывать меньшее количество доступной памяти.
>В чем проблема поставить новый микроконтроллер, а не перепаивать?
Во-первых, он у меня есть, а голый контроллер надо два месяца ждать. Во-вторых, на плате он банально дешевле. Либо я просто не нашел, где его купить занидораха.
>>пердуино костыли
>>Довольно странно обсерать ардуино в ардуино-треде.
У тебя пердуино головного мозга настолько, что не в состоянии отойти на шаг в сторону и веришь в пердуиноиде и описание пердуинок, а не оффициальный даташит на камень.
Легкие проверочные вопросы - могу ли подключить память 24 серии, общаться с внешним миром по UART и при этом иметь возможность постоянно триггериться на внешние прерывания по низкому уровню? Не один раз зашел и вышел, а каждый ебаный раз попадать в обработчик прерывания пока на входе логический 0 или вываливаться в прерывание при восходящем фронте сигнала на выводе РC6(31) или например на PD4(25)?.
> Аналоговые входы могут быть цЫфровым входом и выходом
Это и в "пердуино костылях" никто не запрещает делать.
PAUSE:
PLUPE: IN A,TIFR0 ;WAIT FOR TIMER
ANDI A,0b0000_0010 ;(TOV0)
BREQ PLUPE
LDI A,0b0000_0010 ;RESET FLAG
OUT TIFR0,A ;NOTE: WRITE A 1 (NOT ZERO)
RET
В строке
LDI A,0b0000_0010 ;RESET FLAG
Вроде бы значение должно быть 0b0000_0000 что бы рисэтнуть флаг. Я уже неделю пытаюсь понять этот кусок.
> LDI A,0b0000_0010 ;RESET FLAG
По части логики все верно, сбрасывается записью 1 (пикрил с рандомной шмеги)
А вот то что может быть сбрасываешь кодом например
Bit 1 – OCF0A: Timer/Counter 0 Output Compare A Match Flag
вместо
Bit 0 – TOV0: Timer/Counter0 Overflow Flag
- это твои проблемы из-за невнимательного чтения того же даташита
Если его не написать, значение будет циклично меняться с 1 на 0 при зажатой. В первые секунды обработчик работает просто отлично. НО.
Если написать и держать кнопку, она зависает спустя две секунды на 5-10. Кнопка подключена с резистором в 10кОм.
Не могу найти этому причину.
#define buttonPin 2
int o;
int i;
int buttonState;
buttonState = digitalRead(buttonPin);
if (buttonState == 1){
i = buttonState;
o=0;
}else{o++;if(o>6){i=0;}}
Serial.println (i);
>o=0;
Ты сам себя не проклял за такое? Я бы ебнулся, делая имена переменных, похожих на цифры.
По теме. Очевидно, что пользователь не может нажать и отпустить кнопку со скоростью в один такт микроконтроллера. Пока ты нажал кнопку, как тебе кажется быстро, в это самое время хулион раз проигрался твой цикл. Хулион раз твоя переменная i поменяла значение и вернулась в исходное состояние. Все что ты увидишь в сериале — это ошметки от многочисленных изменений переменной. То, что ты после каждого цикла выводишь
Serial.println (i);
Не значит, что он выводится каждый цикл. Он выводится только когда это совпадает со скоростью баудрейта (надеюсь я понятно изъяснился)
Так вот, что делать с кнопкой? Я после детектирования нажатия кнопки всегда ставлю delay на миллисекунд 300 — за это время пользователь должен отпустить кнопку, а дальше выполняю требуемую функцию. Величина паузы сугубо на твой вкус.
Или наоборот, сначала запускаю функцию, а потом ставлю на паузу.
В первый случай хорош, если нужна реакция на зажатие кнопки. А второй случай хорош для немедленной реакции. Но пауза нужна в любом случае, чтобы осталось время на то, чтобы пользователь увидел реакцию (по звуку или на экране) и успел отпустить кнопку.
Даже если мне нужно жать на кнопку постоянно, например перемещать курсор или вращать двигатель, то я все равно ставлю задержку, но очень маленькую, иначе будет зависание, потому что одно действие не поспевает за другим.
Как-то так должно быть:
#define buttonPin 2
int o;
int i;
int buttonState;
buttonState = digitalRead(buttonPin);
if (buttonState == 1){
i = buttonState;
o=0;
}else{o++;if(o>6){i=0;}}
Serial.println (i);
delay (300);
>o=0;
Ты сам себя не проклял за такое? Я бы ебнулся, делая имена переменных, похожих на цифры.
По теме. Очевидно, что пользователь не может нажать и отпустить кнопку со скоростью в один такт микроконтроллера. Пока ты нажал кнопку, как тебе кажется быстро, в это самое время хулион раз проигрался твой цикл. Хулион раз твоя переменная i поменяла значение и вернулась в исходное состояние. Все что ты увидишь в сериале — это ошметки от многочисленных изменений переменной. То, что ты после каждого цикла выводишь
Serial.println (i);
Не значит, что он выводится каждый цикл. Он выводится только когда это совпадает со скоростью баудрейта (надеюсь я понятно изъяснился)
Так вот, что делать с кнопкой? Я после детектирования нажатия кнопки всегда ставлю delay на миллисекунд 300 — за это время пользователь должен отпустить кнопку, а дальше выполняю требуемую функцию. Величина паузы сугубо на твой вкус.
Или наоборот, сначала запускаю функцию, а потом ставлю на паузу.
В первый случай хорош, если нужна реакция на зажатие кнопки. А второй случай хорош для немедленной реакции. Но пауза нужна в любом случае, чтобы осталось время на то, чтобы пользователь увидел реакцию (по звуку или на экране) и успел отпустить кнопку.
Даже если мне нужно жать на кнопку постоянно, например перемещать курсор или вращать двигатель, то я все равно ставлю задержку, но очень маленькую, иначе будет зависание, потому что одно действие не поспевает за другим.
Как-то так должно быть:
#define buttonPin 2
int o;
int i;
int buttonState;
buttonState = digitalRead(buttonPin);
if (buttonState == 1){
i = buttonState;
o=0;
}else{o++;if(o>6){i=0;}}
Serial.println (i);
delay (300);
Нарисовал картинку для понимания сути вещей с Serial.println и почему он может выдавать одно и то же значение. Естественно скорость тиков и баудрейта я взял условные, просто для более легкого понимания.
Проблема не в случайных нулях, а в том, что со временем кнопка вообще перестаёт передавать единицы и зависает.
В этой программе задержка неприемлема, тем более с помощью делэя.
И ты написал, что одно действие за другим не поспевает.
В то время, пока кнопка не отвечает, другая часть кода отлично исполняется. По памяти - занято всего 10%.
>А баудрейт зависит от его установки, так что твоя картинка идёт на помойку.
>Естественно скорость тиков и баудрейта я взял условные, просто для более легкого понимания.
Жопой меньше читай. Я человеку объясняю, почему его сериал порт передает одни и такие данные.
>Проблема не в случайных нулях, а в том, что со временем кнопка вообще перестаёт передавать единицы и зависает.
Так я тебе и объясняю почему. У тебя нет случайных нулей.
Тебе сериал порт выдает не все данные.
>В этой программе задержка неприемлема, тем более с помощью делэя.
Везде приемлемо, просто задержка должная. У тебя тупо не успевает мк. Иногда прокатывает, если расчеты занимают достаточное время между циклами.
>В то время, пока кнопка не отвечает, другая часть кода отлично исполняется.
Я же тебе пишу, задержку тогда ставь ПОСЛЕ выполнения цикла. У тебя щас за одно нажатия дохулиард раз твое условие проигрывается.
>>26074
Delay неприемлем. Твои танцы с бубном не работают, ставил и 2, и 20, и 200. Всё лишь хуже становится.
Выложу полный код, возможно, ошибка в другом месте.
#define sensorPin A0 // потенциометр пин
int sensorValue; // переменная для потенциометра
#define buttonPin 2 //пин кнопки
int buttonState; //переменная кнопки
#define beeperPin 5 //пин динамика
int i;
int o;
int l;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
buttonState = digitalRead(buttonPin);
if (buttonState == 1){
i = buttonState;
o=0;
}else{o++;if(o>6){i=0;}}
Serial.println (i);
/if(i==1){
l=sensorValue;
if(l!=0){tone(beeperPin, l11);}else{noTone(5);}
} else{if(l!=0){tone(beeperPin, l11);}
else{
noTone(5); }
}
/
if(sensorValue!=0){tone(beeperPin, sensorValue*11);}
else{
noTone(5);}
}
>>26074
Delay неприемлем. Твои танцы с бубном не работают, ставил и 2, и 20, и 200. Всё лишь хуже становится.
Выложу полный код, возможно, ошибка в другом месте.
#define sensorPin A0 // потенциометр пин
int sensorValue; // переменная для потенциометра
#define buttonPin 2 //пин кнопки
int buttonState; //переменная кнопки
#define beeperPin 5 //пин динамика
int i;
int o;
int l;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
buttonState = digitalRead(buttonPin);
if (buttonState == 1){
i = buttonState;
o=0;
}else{o++;if(o>6){i=0;}}
Serial.println (i);
/if(i==1){
l=sensorValue;
if(l!=0){tone(beeperPin, l11);}else{noTone(5);}
} else{if(l!=0){tone(beeperPin, l11);}
else{
noTone(5); }
}
/
if(sensorValue!=0){tone(beeperPin, sensorValue*11);}
else{
noTone(5);}
}
Я не вижу проблем.
Знаешь как я делаю? Я буквально после каждой строки вывожу данные в сериал порт, естественно с задержкой (сделай секунду, чтоб наверняка). Так ты отследишь в каком месте начинается хуйня.
Я более чем уверен, что у тебя либо индекс дохуя раз повышается и сериал не поспевает с передачей, либо все происходит слишком быстро и у мк крыша едет.
Бля, ну ты вот взял всё понапихал и потом ищешь в чем проблема. Разве ты не знаешь, что искать ошибку в готовом коде сложнее, чем искать ошибку по мере написания этого самого кода? Ты себе нагенерировал десятки источников проблем.
Выбрось лишние компоненты НАХУЙ. Оставь кнопку. Выкинь лишний код НАХУЙ. Оставь только замер кнопки и его же выводи в сериал порт.
buttonState = digitalRead(buttonPin);
Serial.println (buttonState);
Поиграйся с задержкой, оцени как она фильтрует данные. И вот когда ты убедишься, что с кнопки берутся адекватные данные, тогда пробуй делать условие. При этом КАЖДУЮ переменную выводи в сериал порт. Подписывай каждую переменную, потому что в десятках циферок ты запутаешься. Типа вот так:
buttonState = digitalRead(buttonPin); // берешь данные с кнопки
Serial.print ("buttonState: "); //выводишь имя переменной
Serial.println (buttonState); //выводишь данные переменной
Еще немаловажно подписывать начало цикла Loop и конец. Типа:
void loop() {
Serial.println ("Loop START ++++++++");
// тут какой-то код
Serial.println ("Loop END ++++++++");
}
И уже когда ты убедишься, что кнопка ФУНЦИКЛИРУЕТ, тогда уже цепляй энкодеры, динамики и прочую лабудень. Естественно каждую проверяя таким же макаром. Да, это геморно, но так ты с высоким шансом поймешь в каком месте у тебя хуйня. Потом от всех этих сериалов избавляешься, потому что каждый вывод в стринге дико жрет ОЗУ (есть хитрость как это запихнуть во флеш, но это другая история)
Ты не представляешь какое дерьмо я находил таким макаром. Я бы в жизни не догадался вот так глядя на код. С первого взгляда он казался вполне рабочим.
>подключить её к AAA батарейкам и включать раз в год
Подключение раз в год и батарейки — несовместимая вещь. По этой причине не рекомендуется покупать столь популярный сейчас инструмент на аккумуляторах, если не собираешься использовать его регулярно.
А так вроде нихуя не будет, просто не заведется и всё. Плохо будет, если напряжение превысит рекомендуемое.
> Подключение раз в год и батарейки — несовместимая вещь.
В смысле лучше аккумулятор или питание по проводу? В моём случае это коробочка с кнопкой, которую надо быстро нажать и забыть, провод не вариант
Аккумуляторы деградируют, если их не использовать. Батарейки окисляются. Твоему прибору надо принудительно потреблять энергию, даже если нет задач, как часы, иначе пиздец.
>подключить её к AAA батарейкам и включать раз в год
Можно. Не слушай ардуинщиков. У щелочных батареек срок годности 5+ лет (обычно на батарейке написан). Не забывай менять по истечении срока годности, иначе могут потечь.
>Что будет когда напряжение упадёт ниже 2,5?
Не слушай долбоебов-теоретиков. При малейших проблемах с питанием есп8266 (насчет есп32 - хз, не пробовал) любит зависать наглухо и жрать при этом как ни в себя. Для выхода из этой ситуации нужно подать ресет или переткнуть питание. С учетом низкого ESR у ААА батареек и до сотен миллиампер потребления у есп8266, проблемы гарантированы. Поэтому запитывай через повышающий до 3.3в преобразователь. Пульсации на выходе не должны превышать 100 мВ, иначе еспшка обязательно рано или поздно глюканет.
Еще супервизор можно поставить на ресет еспшки, если напряжение сильно дропнулось, то батарейка скоро сдохнет.
> Твоему прибору надо принудительно потреблять энергию, даже если нет задач, как часы, иначе пиздец.
В моём случае алгоритм такой:
Кнопка дёргает ресет, она включается.
Выполняется код.
Впадает в глубокий сон на неопределённое время.
В глубоком сне потребление 20 мкА, думаю близко к часам. Но можно ли отключить RTC, ещё уменьшив ток?
>>26165
> Не слушай долбоебов-теоретиков. При малейших проблемах с питанием есп8266 (насчет есп32 - хз, не пробовал) любит зависать наглухо и жрать при этом как ни в себя.
То есть худшее что может быть это дожирание и так полудохлых батареек?
>То есть худшее что может быть это дожирание и так полудохлых батареек?
А когда ты заметишь, что оно выжрало батарейки? Раз уж девайс включается раз в год... Тут подводный камень в том, что выжранные в ноль батарейки с подключенной нагрузкой обязательно потекут. Это приведет к фатальным последствиям: первым в мессиво превратится бат. отсек, затем "чума" по проводам доберется до платы и будет разъедать дороги.
Впрочем, если ты будешь физически отключать нагрузку, например, тумблером, то, конечно, ничего не будет.
> А когда ты заметишь, что оно выжрало батарейки?
Когда нажму кнопку, но светодиод не помигает как надо, например
> Раз уж девайс включается раз в год... Тут подводный камень в том, что выжранные в ноль батарейки с подключенной нагрузкой обязательно потекут.
Даже от такой малой нагрузки?
>Когда нажму кнопку, но светодиод не помигает как надо, например
Это может быть через месяцы, а то и через год после того как батарейки сдохнут. Ты ж не каждую неделю проверять будешь, скорее всего вообще забудешь.
>Даже от такой малой нагрузки?
Дохлые батарейки текут даже без нагрузки, достаточно дать им полежать в ящике достаточный срок. Но это лотерея, конечно: могут потечь через неделю, а могут через год.
>Некоторые пишут, что на таком напряжении лучше снижать тактовую частоту микроконтроллера и кварц устанавливать на 8 МГц.
Никому нахуй не нужный даташит открывал?
В новых версиях с ходу не нашел, в старых в конце был явный псевдографик максимальной частоты от напряжения питания.
Судя по этому графику на 3.3В можешь устойчиво работать на частоте 12-13 МГц или около того. При напряжении более 4.5В можешь и все 20 МГц тактовой ебануть, а с напряжением 1.8В - только 4 МГц.
Он, оказывается, и в ардуино мини про (328p) не влазит. Проекты пульсоксиметра на просторах сети на самом деле лишь считают сердечные удары. Код для обсчёта кислорода в крови не лезет в размер памяти, мало её. Вывод значения только в терминал.
Чего тебя поразило, бот с нулевым смыслом ответа на пост? Впервые держу ардуину с датчиком max30105 и экраном в руках. Познания мои в программировании никакие.
Вот честно, но что ты там обсчитывать собрался? Разве не разница между IR и RED - SpO2? Как это код на экран жрёт всю память? У меня ATMega8 крутит код nRF24L01+ + SD карта в RAW формате + SSD1306 и 99% занято. Вы там с дуиной головного мозга не ебанулись?
У меня ардуино-библиотека для чтения/парсинга информации с gps модуля занимала более 8 кб. А у меня были только меги88 в наличии. Я написал собственную реализацию, не помню точно сколько получилось, но точно менее 1 кб.
Ну, а что ты хотел? Это же ардуино, и рассчитано оно практически для детей, на 1м месте - простота, чтобы было не сложнее чем язык ЛОГО. Если хочешь годно прогать, экономя флеш и оптимизируя производительность - забудь об ардуиновских библиотеках и пиши полностью свой код.
БЛЯЯЯЯДЬ КАКОГО ХЕРА Я РЕЗИСТОР НА ПИТАНИЕ КИНУЛ УБЕЙТЕ МЕНЯ
Надо D4 и D5 притягивать к земле, а не как у тебя. Либо используй внутреннюю подтяжку путем замены INPUT на INPUT_PULLUP, внешние резисторы можно будет убрать.
Пока не нарисуешь не поймешь блин, я там на джек паялся. Пуллап кстати не работает, я тупо vcc подавал на пин с ним, ноль эмоций, может китайскость ардуины.
Пуллап подтягивает к положительной шине питания, вторая нога кнопки должна быть подключена к земле. Таким образом состояние пина при ненажатой кнопке это HIGH, а при нажатой - LOW.
>Обсуждайте идеи.
Чтобы ты их украл?
Пошел нахуй, пошел нахуй, пошел нахуй, пидарас! Ааааааа, пошел нахуй, пошел нахуй, пошел нахуй! Ааа пидарас!
Найс, но нет.
Возьми ESP12, клавиатуру, контроллер заряда Li-Ion батарейки и саму батарейку. ESP12 через дуино-IDE программируется. Если не хочешь ESP12, то есть уже наверняка готовые проекты Arduino-Nano + HC06-HC10, ты просто не искал хорошо.
Нахуя такие сложности? Что он будет делать с твоим есп12, соплями обвешивать? Как он его к компу подключит, ты подумал, ммм, радиоёб? Блять, время идет, пидорашьи радиогубители все так же обожают сопли и говно.
>>26978
Бери сразу wemos d1, nodemcu или вообще есп32 (у него, кстати, сразу блютус есть) на готовой плате с юсб и подключай к нему модуль резистивной клавиатуры тремя проводками. Смотри, чтобы у твоей платы на борту был линейный стабилизатор (должен присутствовать пин VIN). Для батареек возьми кейс штуки на 4, и подключай их к VIN (+) и GND (-). Заряжать отдельно.
>Что он будет делать с твоим есп12
В жопу тебе воткнет и вибромотор включит.
>Бери сразу wemos d1, nodemcu
А после того, как ESP12 в зад тебе засунет, он может туда ещё и HTTP зайти, чучело.
И у тебя в жопе будет ESP12 и каждый желающий сможет туда анонимно зайти по HTTP, на этом всё.
Себе в очко засунь свои советы вместе с паяльником, петушок, и к розетке подключи - потанцуешь, пидор. Как он твою хуйню программировать будет? Не подумал об этом, да, колхозник? Еще и дороже выйдет.
А он и не против
Пытался на двух сэмплах, но не получилось, хотя аттайни13 и 85 работают.
Плохо хочется, раз не осилил разобраться.
>>27091
Зачем? Лично у меня самый ходовой мк для мелких (и не очень) проектов - тини13. Ардуино библиотеками не пользуюсь. 64 байт срам хватает за глаза и уши. А вот 1 кб флеш памяти иногда заставляет часами вылизывать и оптимизировать код с точки зрения размера. Имею приличные запасы 88 и 168 мег в закромах, но пользуюсь ими весьма редко.
>а вот мы подолом жопу засратую вытираем, и ничо - живы, раз в год постирал, и збс
Совковые радиоебы никогда не меняются.
В чем совковость? Я даже в макетах маломощную пассивку крупнее 0603 редко использую. И, если ты не знал, на али продаются дешевые переходники, чтобы не делать как у тебя на пике.
Частота делить на два (хотя есть ещё асинхронный таймер, там можно и больше)
А ты точно тем местом его прикладываешь? Может надо на запястье, мм? Сколько врёт SpO2? Как часто меняются выходные данные? Подтяжки на I2C поставил? Усреднение делаешь?
Точно тем местом, а не на запястье. Врёт скидывая в терминал/панель -999 вместо значений SpO2. Как обновляются данные в терминале.
Подтяжки не ставил, провода на тестовой доске по 10см. Куда подключать резисторы, на общий провод? Сопротивление килоом на 10?
Всем сап в этом итт треде
Продаю:
- 2 в заводских пакетах ардуины (одна с mini-usb, вторая нет)
- 3 ардуины с распаяными контактами (те, которые без usb)
- usb-uart 4 штуки
- несколько серво (мелкие)
- набор перемычек от конструктора
- несколько (примерно 4) контроллеров шагового двигателя (микросхемы)
- плата акселерометр-гироскоп (маркировка gy-521)
- 2 платы для SD карты (одна в заводском пакете)
- семисегментники (5шт)
- реле 5 шт
- датчики движения 2шт
- могу докинуть 555 схемы, если нужны (если нет - себе оставлю)
- набор конденсаторов (вроде керамика)
Также есть то что налутал с сд приводов и принтеров:
- шаговики (пара)
- коллекторные двигатели (штук 10 может быть) - лутал отовсюду где видел
- фотоинтерапторы
- два шаговых от какого-то станка (одинаковые) и ещё один от другого
Может ещё что вспомню/найду.
Всё что выше описано заказывал на али, поэтому читай не ардуино а реплики.
Цена за всё 500р
Самовывоз Москва (район Жулебино/Котельники) или Люберцы (и всё что рядом)
Почта
Если лень по почте списываться то с oneminutemail скинь свою телегу.
Ещё есть одноплатник orangePI - но хз, врядли кому нужен
Спасибо за внимание
Всем сап в этом итт треде
Продаю:
- 2 в заводских пакетах ардуины (одна с mini-usb, вторая нет)
- 3 ардуины с распаяными контактами (те, которые без usb)
- usb-uart 4 штуки
- несколько серво (мелкие)
- набор перемычек от конструктора
- несколько (примерно 4) контроллеров шагового двигателя (микросхемы)
- плата акселерометр-гироскоп (маркировка gy-521)
- 2 платы для SD карты (одна в заводском пакете)
- семисегментники (5шт)
- реле 5 шт
- датчики движения 2шт
- могу докинуть 555 схемы, если нужны (если нет - себе оставлю)
- набор конденсаторов (вроде керамика)
Также есть то что налутал с сд приводов и принтеров:
- шаговики (пара)
- коллекторные двигатели (штук 10 может быть) - лутал отовсюду где видел
- фотоинтерапторы
- два шаговых от какого-то станка (одинаковые) и ещё один от другого
Может ещё что вспомню/найду.
Всё что выше описано заказывал на али, поэтому читай не ардуино а реплики.
Цена за всё 500р
Самовывоз Москва (район Жулебино/Котельники) или Люберцы (и всё что рядом)
Почта
Если лень по почте списываться то с oneminutemail скинь свою телегу.
Ещё есть одноплатник orangePI - но хз, врядли кому нужен
Спасибо за внимание
I2C требует подтяжки с питания резистором от 4к7 до 10к на шины SDA и SCL. Длина провода влияет, если у тебя (как я когда-то делал 2 метра) больше 30см - надо уменьшать резистор подтяжки.
Апельсин какой, давай фото.
Они все pi
Уважаемый, пройдите на хуй, пожалуйста! На крайняк пиздуй в /b/ или раковник повыше >>338104 (OP)
Как появится говнокод, с чего тестишь, схема подключения, фотки подключения, записи с логического анализатора и прочая информация по существу - тогда и приходи, подскажем.
А пока - займись выполнением команд ANA L и ORA L.
Ты злой
#include "TM1637.h"
#define CLK 2//pins definitions for TM1637 and can be changed to other ports
#define DIO 3
TM1637 tm1637(CLK,DIO);
void setup()
{
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
}
void loop()
{
int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//0~9,A,b,C,d,E,F
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;
delay(150);
while(1)
{
i = count;
count ++;
if(count == sizeof(NumTab)) count = 0;
for(unsigned char BitSelect = 0;BitSelect < 4;BitSelect ++)
{
ListDisp[BitSelect] = NumTab;
i ++;
if(i == sizeof(NumTab)) i = 0;
}
tm1637.display(0,ListDisp[0]);
tm1637.display(1,ListDisp[1]);
tm1637.display(2,ListDisp[2]);
tm1637.display(3,ListDisp[3]);
delay(300);
}
}
Ты злой
#include "TM1637.h"
#define CLK 2//pins definitions for TM1637 and can be changed to other ports
#define DIO 3
TM1637 tm1637(CLK,DIO);
void setup()
{
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
}
void loop()
{
int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//0~9,A,b,C,d,E,F
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;
delay(150);
while(1)
{
i = count;
count ++;
if(count == sizeof(NumTab)) count = 0;
for(unsigned char BitSelect = 0;BitSelect < 4;BitSelect ++)
{
ListDisp[BitSelect] = NumTab;
i ++;
if(i == sizeof(NumTab)) i = 0;
}
tm1637.display(0,ListDisp[0]);
tm1637.display(1,ListDisp[1]);
tm1637.display(2,ListDisp[2]);
tm1637.display(3,ListDisp[3]);
delay(300);
}
}
Как ты это умудрился скомпилить?
ListDisp[BitSelect] = NumTab;
конкретному элементу массива назначаешь ВЕСЬ массив? У меня cumпилятор охуевает от такого.
ListDisp[BitSelect] = NumTab; или ListDisp[BitSelect] = NumTab[count]; и уже компилит.
Чувак, это демонстрационный пример, который шел в составе библиотеки 1637. Компилятор это нормально осиливает без проблем и ошибок.
Мне вообще похуй на код, мне нужен ЛЮБОЙ код, который сможет показать, что индикатор работает. Я уже пробовал три версии библиотеки - половина примеров там не компилируется из-за ошибок в коде, вторая половина компилируется, загружается в дуину и на этом все заканчивается. Дисплей не подает признаков жизни. Я блядь первый раз с 1637 работаю и пытаюсь разобраться в командах, но до сих пор не могу запустить этот сраный индикатор в работу.
Проверил код через serial.print на пердуино due - выдает 0123 1234 2345 и так далее.
Запись с выводов 2 и 3 https://yadi.sk/d/_43yd1aosKXKWA снятая через Logic 1.2.18. Что-то есть. На руках нет 1637, есть только 1638, так что в реале не могу проверить. Так что остается руками декодировать что выдает библиотека. Глядя на фотку - такое ощущение что питание воткнуто между 3.3 и 5В.
>Глядя на фотку - такое ощущение что питание воткнуто между 3.3 и 5В.
Тоже охуел, но IRL все правильно
Короче, я так понял, модулю кирдык?
Прибор ТМ1638 работает в полудуплексном режиме, в дисплей нужно только передавать информацию, нет ли здесь подводных камней каких? Про пин, определяющий активность приемника знаю.
Изпользуй силу документации, юный падаван. Интерфейса наличие подразумевает наличие бита определяющего старт/стоп передачи. Отсутствие предполагает невозможность на втроенном интерфейсе подключить более одного устройства. Код правильный для программного интерфейса должен написать ты сам. Примером послужит любой код под 74HC595 регистр последовательного интерфейса.
>Прибор ТМ1638 работает в полудуплексном режиме, в дисплей нужно только передавать информацию, нет ли здесь подводных камней каких?
Никаких. У тебя есть SCE и STB. Когда устройство не выбрано CS-ом можешь хоть финскую польку станцевать на линиях данных и тактового сигнала и никто ее не увидит и не услышит.
https://www.youtube.com/watch?v=B-4GeRQWtoo
Задам неочевидный вопрос - как собрался читать ответ ТМ1638?
Понимаешь что в момент когда ТМ1638 начнет выдавать данные (не смотря что у него DIO - open drain, а не push pull) у тебя на линии MOSI образуется конфликт в виде двух водителей автобусов?
Есть костыль на диоде, который позволяет обойти этот момент, на высоких частотах не работает, показан как концепт или же в коде каждый раз делать переключение вывода MOSI в режим входа.
>какую плату взять?
Бери абонентскую плату. Не ошибешься!
Бери ленту которая самая обычная, подал 12В и светится. Пердуинка тут нахуй не сдалась. Изи катка! Следующий!
Возьми пивка, селедочки и картошечки. Потом возьми пару метров WS2812 и библиотеку к ним. Развлекайся.
Показывай схему, которую ты собственноручно собрал. Показывай код, который написал ты и прошил в ардуину, на pastebin его залей.
> всё работает прекрасно первые минут пять
Возможно из-за millis(), она через какое-то время сбрасывается в ноль.
Немного накосячил на схеме с проводами до ленты, но суть вроде ясна
Попробуй другой источник питания, может оно у тебя сильно прыгать начинает из-за включений/выкключений мосфета и ленты. На плате сенсорной кнопки есть площадки для впаивания конденсатора, регулирующего чувствительность, попробуй его впаять если не сделал этого.
Это только в Рашке так.
На западе эмбеддеры и плисо-господа получают даже больше, а веб-макаки у параши.
Господа, мне нужно написать 10 строчек кода для пердуино (бесплатно), я попал по адресу?
Сам я так-сяк могу в питон, а в этих ваших крестах не могу даже вменяемо оформить цикл не говоря уже о бесконечных expected ";" и "{" и variable is not declared in this scope иными словами я жестоко страдаю.
Ну и если кто заинтересовался, то вкратце о проблеме. Есть датчик, который возвращает дистанцию в сантиметрах и есть некое relay, которое можно on/off. Мне нужно, что бы relay on на определенной дистанции обьекта до датчика, и оставалось таким вплоть до изменения этой дистанции, после чего переходило в режим off с задержкой в n минуты. Но если за n минуты обьект снова попадает в дистанцию, то задержка сбрасывается, и relay остается в on.
Железки спаяны, всё функционирует, но перспектива дрочить срр почти что с нуля, ради такой в сущности мелочи, навевает ужас.
Ты тралишь, долбоеб? Ты пистон свой "выучил" когда, вчера? И на уровне for i in range(10): print "Ya dolboeb"?
Кстати да, плюсану. Есть же микропистон. Похуй что не под пердуину, просто взять камень потолще и вот тебе микропистон и никакого си. На крайняк ту же esp32 взять под микропистон.
>дрочить срр
>пердуино
Я догадывался, что Пайтон это для отбитых даунов, но не думал, что настолько
Когда же вы, блять, научитесь схемы рисовать?
Но-но, не обобщай. Я тоже на пекарню на питоне писать люблю. Ну а хули? Хуяк-хуяк и готово. Но код для ардуины не прошу.
Нормальный питонист обязан знать сишечку (именно сишечку, а не цпп), как минимум для ctypes.
Какой, ты, бля, программист?! Синтаксис осилить не смог, охуеть просто. Дрочение указателей и битов единственное, что в сишке может вызывать трудности. Но тебе они и не нужны для твоих 10 строк кроме инициализации по даташиту. Так что взял даташит в зубы, в руки k&r, и попиздовал писать код, сука!
https://www.youtube.com/watch?v=NxnAp0i1CeU
Так или иначе, я уже почти всё решил, но раз у вас тут филиал /b, то по делу ничего писать не стану. Счастливо оставаться. Надеюсь в вашу клоаку уже не вернусь.
А я даже не представляю как можно написать код по твоему описанию.
Да почти везде на столь расплывчатые формулировки будет аналогичная реакция. Было бы четкое ТЗ, без лишней воды, может быть кто-нибудь написал бы тебе.
Я бы не туридэпуринтор пересобирал, а поставил бы пальцевые магнитотолкатели и сервопривод на крутилку режима.
Да иди ты нахуй, сучий сын.
>же в коде каждый раз делать переключение вывода MOSI в режим входа
Я планировал так.
>Никаких. У тебя есть SCE и STB. Когда устройство не выбрано CS-ом можешь хоть финскую польку станцевать на линиях данных и тактового сигнала и никто ее не увидит и не услышит.
Спасибо.
>>27656
>Код правильный для программного интерфейса должен написать ты сам.
К подключиться хочу stm32f103c6t8 я. Есть интерфейс аппаратный там.
>питонист $10кк/наносек
Это правда?!
Я чуть-чуть знаю питон, писал ботов в чятики в жабир и так по мелочи, я умный учусь быстро, реально можно вкатиться. Только не тролль меня, пожалуйста, я шизик, если выпилюсь ты виноват будешь.
делаюсь инсайдерской инфой, как все вкатываются в ойти:
1. Учишь весь метанит по своей теме: https://metanit.com/
2. Год работаешь в говноконторе за 15к 12 часов в день чисто ради стажа, по ночам учишь язык
3. Каждый год-два ищешь новую работу с большей зарплатой
Через пять лет вы сеньор 5к долларов, поздравляю.
500$ поначалу только в москве мб, точно не в регионах
Спасибо, братишь, но я старый (35) для
>Год работаешь в говноконторе за 15к 12 часов в день чисто ради стажа
Мне б что поспокойнее и постабильнее, я программировать в целом умею, уж 10 лет как.
нельзя просто взять и сменить профессию, не начиная все сначала. Да и
>поспокойнее и постабильнее
это не про айти
На обычном голом микроконтроллере нельзя на асме писать или что? Как ты вообще вторую часть умудрился противопоставить первой?
Есть тестовая сборка для контроля моторчика по 433Мгц, но мой говнокод делает просто вращение в одну сторону на кн. А и соответственно в другую на кн. B.
Как сделать чтобы первое нажатие на кнопку задавало вращение в соответствующую сторону, а повторное нажатие на ту же кнопку останавливало моторчик?
переменная для хранения номера последней нажатой кнопки lastButton
переменная для хранения количества нажатий на кнопку pressCount
if (номер только что нажатой кнопки != lastButton) {
lastButton = номер только что нажатой кнопки;
pressCount = 1;
} else {
pressCount++;
}
далее в зависимости от pressCount и lastButton делай что нужно, скорее всего понадобится state машину написать.
Чет нихуя нипонел.
>номер только что нажатой кнопки
Откуда его взять?
Или номера кнопок это два кода которые прилетают на ардуинку с передатчика?
>state машину
Штоэта?
>переменная для хранения номера последней нажатой кнопки lastButton
>переменная для хранения количества нажатий на кнопку pressCount
Что это значит?
Что с этим делать?
> Или номера кнопок это два кода которые прилетают на ардуинку с передатчика?
Если номера прилетают с передатчика и они не изменяются после перезагрузки этого передатчика, то можешь использовать их. Что у тебя за передатчик я вообще не ебу, но это и не важно для алгоритма.
> Штоэта?
Конечный автомат. Попробуй без него сначала.
>>28674
> Что это значит?
Я описал смысл этих переменных.
> Что с этим делать?
Объяви эти переменные, названия можешь свои придумать.
Блин, вот уже сделал пару пет-проектов на аттиньках и мегах, с разными прерываниями и без. Прогать на си, создавать и подключать разные либы умею, но о state-машине и конечных автоматах ничё не знаю.
Это что-то из программирования, цифровой электроники, или computer sciense?
Где почитать про это(и про семафоры с мьютексами), может есть какая-то книга?
это просто код, который при смене состояния чего-то выбирает логику исходя из своего состояния, например:
switch(rfidReceiveState)
{
case rfidWaitStartToken:
...
rfidReceiveState = rfidReceiveDataFirst;
break;
case rfidReceiveDataFirst:
...
rfidReceiveState = rfidReceiveDataSecond;
break;
case rfidReceiveDataSecond:
...
if(rfidCodeHandle == 5)
{
...
rfidReceiveState = rfidWaitStopToken;
}
else
{
...
rfidReceiveState = rfidReceiveDataFirst;
}
break;
case rfidWaitStopToken:
rfidReceiveState = rfidWaitStartToken;
break;
}
и этому учат в универах
это просто код, который при смене состояния чего-то выбирает логику исходя из своего состояния, например:
switch(rfidReceiveState)
{
case rfidWaitStartToken:
...
rfidReceiveState = rfidReceiveDataFirst;
break;
case rfidReceiveDataFirst:
...
rfidReceiveState = rfidReceiveDataSecond;
break;
case rfidReceiveDataSecond:
...
if(rfidCodeHandle == 5)
{
...
rfidReceiveState = rfidWaitStopToken;
}
else
{
...
rfidReceiveState = rfidReceiveDataFirst;
}
break;
case rfidWaitStopToken:
rfidReceiveState = rfidWaitStartToken;
break;
}
и этому учат в универах
>почему говнокод тяжело читать
Потому, что он криво написан и в именах переменных множество лишних символов.
>rfid
Бля, RFiD_Receive_State. Сложно выделить соотношения переменных? Жалко двух байт и нажатий на shift? Ррррееееее.
А еще можно было switch использовать.
Не, анон, я не на тебя злюсь. Я злюсь на то, что такое форматирование считается нормой.
RFID_SomeFunction
RFID_some_variable
RFID_SOME_CONSTANT
Не хочу кодстайл соблюдать, хочу говно жрать.
switch(Button_Received)
{
case Forward :
Bwd_Button = 0;
Fwd_Button++;
if (Fwd_Button > 1) Run_Motor(Forward);
if (Fwd_Button > 2) Run_Motor(Stop);
break;
case Backward :
Fwd_Button = 0;
Bwd_Button++;
if (Bwd_Button > 1) Run_Motor(Backward);
if (Bwd_Button > 2) Run_Motor(Stop);
break;
}
Нашел до чего доебаться, ардуинщики это не радиолюбители и не программисты. Лучше бы анона выше ткнул в pastebin и отсутствие информации об используемых устройствах.
Как называется эта хуйня которой в ардуине пишут, если это не язык программирования?
Я не говорю, что эта хуйня C++ не является языком программирования, я говорю что ардуинщики - не программисты.
Не, ну технически они конечно же программисты, если они пишут программы каким-либо образом. Также есть всякие исключения из правил и вот это всё.
> ЧЯДНТ
Пытаешься присвоить число числу. Слева вместо числа должна быть переменная, а не число.
Да, ардуинщики - хоббисты, это такое хобби, покупать оверпрайс железки и дергать ножками. А еще хорошая платформа для обучения как делать не надо.
>>28714
А вот и пример, наглядный. Арлуинщик не знает, что числа не монут быть именами переменных, знак '_' дает интерпритатору понять, что перед ним имя переменной, а не число.
При этом написал имя переменной и в поле выбора switch, и в присвоение, хотя я ему написал разные имена переменных в примере.
Такие дела.
А вот еще один, для кого норма и обрабатывать и присваивать одну и ту же переменную. Так и живем, писать код доверить некому.
> и обрабатывать и присваивать одну и ту же переменную
Какая именно это будет переменная он пусть сам решит.
Нет уж, давай добрый дядя анон решит. Ведь это добрый дядя анон за него код написал, разжевал и за щечку положил. А не сам анон-дуинщик, которому лень пойти и найти в сети руководства, в которых примеров еще больше. Давай добрый дядя анон будет все за него делать, чтобы он и дальше продолжал сидеть в своей колыбели и бояться делать шаги самостоятельно.
>воннаби пурограммист спрашивает других где взять переменные
Ты хотя бы читал тот кусок кода, что я тебе скинул? Хотя бы такие как там возьми. Ты ангельский знаешь? Нет? Пищи хотя бы транслитом понятные имена переменных.
Например, кнопка - button, btn. Принята - receivef, rcv, rec. Принятая кнопка Received_Button, rcv_btn, rec_b. Хотя rec_b уже скорее rectangle B.
А потом боинги и прочая падают, когда два байта высоты переполняется, а у них, типо, вывод порта способен выдать незнаковый длинный целый, ХО! Ты еще теперь напиши, что ракеты об небесную твердь не потой же причине бьются, что телеметрия написана по принципу "какая зарплата, такая работа".
>воннаби пурограммист
Где ты во мне воннаби увидел. Мне просто нужно чтобы эта хуйня работала как задумано.
Техзадание и сумму, пожалуйста. Для остальных, мне и так есть чего поредактировать.
>Ты хотя бы читал тот кусок кода, что я тебе скинул? Хотя бы такие как там возьми.
Я хз где там у тебя переменные. Зачем там вообще переменные когда мотор должен реагировать на вполне постоянные заранее заданные два значения принимаемые от пульта?
>Купил бы готовое 433МГц реле парное
Это всё хуйня. Такие штуки вечно работают не так как надо. Пердолинг неизбежен.
Тогда объясни зачем двум кодам принимаемым с пульта быть переменными? Они же не меняются
Экстрапольнул еще раз.
Стало теплее.
Только стартует моторчик с хер знает какого нажания. Долго надо кнопку надрачивать. Остановка однако происходит без сбоев со следующего нажатия.
Сначала подумал может это от того что ардуина принимает код дуплетом. Открыл серийный моник, подрочил кнопку затирая каждую предыдующую распечатку, моторчик стартанул на один из таких дуплетов. Опровергая гипотезу о срабатывании на случайно прилетевший единичный экземпляр кода.
Есть идеи как это допилить до рабочего состояния (срабатывание с первого нажатия)?
>Только стартует моторчик с хер знает какого нажания
Быстрофикс.
Есть закономерность.
Просто жмакать одну и ту же можно хоть до посинения.
А если раз нажать вторую кнопку, то первая запустит моторчик со второго нажатия. То же относится и ко второй кнопке.
>Только стартует моторчик с хер знает какого нажатия
>int fwd = 15552801;
>int bwd = 15552802;
Бляяяяяяяядь, ты я смотрю обучаемый, молодец. Но почему же ты не всё замечаешь? Ставь же long fwd и long bwd, дай переменным быть такими же длинными как мой хуй!
>Ставь же long fwd и long bw
Это ничего не поменяло.
>почему же ты не всё замечаешь
Дефицит внимания. Суетливый как мартыхан. Хочется всё и сразу.
отклеилось
Один говорит ставь int long. Второй - unsigned long int. Третий - просто long.
Хуй вас поймёшь.
И главное ничего это не меняет в работе моторчика.
Не ссы. Я вообще не понимаю о чём тут пишут. Хоть и могу на хардлогике сколхозить чего-нибудь.
>stdint.h
Что это за библиотека?
Неужели с RCSwitch.h невозможно запилить такой простейший функционал кнопки как вкл/выкл? ЧЗНХ
хм...я пишу как гаварю(и наабарот)...а у вас ппц какой акцент
невидел чо атвечал?..или все видел?а ты уверен? что видел все
>>unsigned long int rcv =
Я хуй пойму на что ты тут намекаешь своим гринтекстом.
Переменная unsigned long int btn_rcv уже задекларирована в разделе void loop.
Если ты ведешь к тому, чтобы сократить это до long btn_rcv, то это тоже никак не помогает.
Или что мне еще с этим сделать? Продублировать в шапке кода?
>Ардуино, привыкай или сваливай в другую IDE.
stdint.h это из стандартной библиотеки Си и С++. Есть во всех IDE и этих ваших канпилятарах...
а ты людей по нациям делиш?эти хуже те лучше?...ты случаем не из этих?...каторых до берлина праважать пришлось....и куда мне хадить я без тя разберусь ок...
Так ты еще и ниггер сраный, унтерменш поганый! Ууу! Убирайся с тела Руси Матушки, тут тебе не рады, клещ пакостный! Весь ток из проводов выпил, все биты в байтах местами перепутал! Гнилая твоя душонка противна Духу Машины, вот ты ничего в сети найти сам и не можешь.
причом тут нигеры?)) в тырнетах есп тока с аграмеными релющками, хоть печку включай..а мне для прямых 5А ..паетому думал мошт где та кто та чота видел...перся бы я сюда ваще есип в тырнетах чота было..ага прям двач первый в списке для поиска хераты на МК
тело матушки руси))) ыхыхы..тело нада было тоже с бальшой буквы написать а дух машины с маленькой, етош не амнисия какаянить
Куда оно исчезнет? Там же обычный gcc.
>if (var > 0) читается быстрее, как по мне.
Конкретно в этом условии без разницы какой тип имеет var, если без знака то можно сравнивать с нулем, а можно не сравнивать.
Тут другое важно, с _Bool или bool из stdbool.h всякие переполнения ликвидируются автоматически, т.е. не получится некоторых ошибок, которые можно допустить с другими типами.
Хз погуглить С++ code style.
А лучше - погуглить какие есть и почему используются именно такие.
Гугл выдаёт библиотеки для всех возможных CRC16, кроме этой.
В кодинг не силён, матан вообще в глаза не видел в силу иного профиля образования.
Автор одной либы пишет, что можно адаптировать либу для расчёта любой CRC, но у меня уйдёт пара суток на то, чтобы понять принцип расчёта CRC с дальнейшей адаптацией кода на C в код для ардуины либо адаптацией его либы.
Поможите чем можите. С меня как обычно.
Взял с вики параметры расчёта этого CRC и подправил имеющуюся либу в выделенных разделах.
Может кому пригодится.
Ты сначала делаешь переменную btn_rcv размером до 4,294,967,295, а затем размером до 65,535, после чего пытаешься засунуть в неё своё значение.
Сколько у тебя принимает myswitch.getreceivedvalue() ?
То есть типы переменных уже раставлены прааильно, но все равно такая же херня? Выкладку из порта мониторинга давай, бибизяна.
Подскажите, что именно надо заказать?
Голую плату Arduino Nano в корзину положил, смотрю сенсоры - есть какой-то MQ2 но на али цены разнятся от 70 до 1000 рублей, с ними что-то тоже неясно. Потом нужен какой-то передатчик или пищалка громкая
Надо ли к этому докупать что-то еще, чтобы все это дело питалось от батарейки к примеру или розетки(думаю с розеткой будет проще, там ведь надо просто воткнуть usb шнур подключенный к зарядке телефонной?)?
Методом ковыряния в жопе нащупал рабочий вариант. После изменений помеченных жёлтеньким заработало как надо. Только непонятна логика того, что происходит в if-строках:
if (fwd > 1) { впирёд }
if (fwd > 2) { стоять }
Судя по монитору, код сравнивает с 1 и 2 последнюю цифру которая приклеивается к коду btn_rcv.
На сколько я понимаю fwd > 1 значит что моторчик стартует при значении последней цифры меньше единицы. Однако выполняется эта команда только при наличии единицы (впрочем как и следующая только при наличии 2). Ноль в конце игнорируется, хотя он вроде как меньше единицы. Получается знак > тут работает как знак равенства. Или как комбинация и того и другого. Поебень короче какая-то лишенная логики. П-правда?
Я советую брать нормальный датчик дыма, например такой: https://aliexpress.ru/item/32994413183.html
только он от 9в работает, так что надо повышайку к нему.
Пищалка: https://aliexpress.ru/item/4000029542432.html
>Потом нужен какой-то передатчик
Что значит какой-то? Как ты принимать сигнал будешь?
>Я советую брать нормальный датчик дыма, например такой:
А на границе не будет проблем с таким?
>Что значит какой-то? Как ты принимать сигнал будешь?
Вот я не знаю, в идеале конечно хотелось бы на телефон информацию присылать но я не потяну наверное такой проект. Есть беспроводной домофон, вроде можно как-то кнопку от него прихуярить, но может есть сразу какой-то готовый набор, чтобы банально в другой комнате было слышно хотя бы
>А на границе не будет проблем с таким?
Не будет, я заказывал без проблем.
Можешь такой передатчик заюзать: https://aliexpress.ru/item/1970487479.html
На другом конце тоже ардуину с пищалкой.
Или модем воткнуть: https://aliexpress.ru/item/32610060279.html тогда сможешь смс на телефон себе слать.
ок, спасибо!
ЕБААААТЬ! Я же тебе писал, что у тебя там не int в порту, а строка char. Ты символы пытаешься в число преобразовать с ПОМОЩЬЮ МАГИИ, ти волшебник из страны кОз? Надо было всю строчку считывать, 15552801 или 15552802, а потом последний символ проверять.
>у тебя там не int в порту
В каком порту?
>а строка char
Там же нет в коде никаких чаров.
>Надо было...
Если у меня всё не так как надо было, как оно тогда работает?
>как оно работает
Как у орков, ты веришь - оно работает, лол. Покрась пульт в красный, будет быстрее всё.
>ты веришь - оно работает, лол
Зачем верить? Я жи видосик записал где оно работает.
Кстати расскажи что за порт.
И зачем мне там нужен char?
>у тебя там не int в порту, а строка char
А лучше ты пойдешь и пройдешь хотя бы сраные бесплатные курсы программирования на плюсах от яндекса например. Второй день мозги тут ебете, нашли друг друга.
Почему бы господину который пытается что-то донести непонятными рекомендациями просто не отредачить этот код (его там как кот нассал) чтобы показать как он должен выглядеть.
А то что-то пишет как сам себе и тут же подгорает когда его не могут понять.
Потому что ты до бесконечности будешь доебывать людей своими тупыми вопросами, в том числе меня и того анона. Заплатить за готовое решение ты не хочешь, значит иди и изучай самостоятельно, раз хочешь все сам делать.
Порт - UART в данном случае, ты с него считываешь что именно приходит с приёмника. Тот самый Serial.
>зачем мне нужен char
Точнее вектор типа char, чтобы ты мог записать туда все свои байты и обрабатывать не число, а у тебя там не число, а строку символов. Это как если бы ты запихивал текст "Henlo Word" в тип long, вместо записать текст как текст.
Если ещё сильнее разжёвывать, то ты текст 15552801 читаешь как число и получаешь последнюю цифру.
>практикуюсь в объяснении таким как ты основ
Ок. Какую основу ты всё это время пытался донести?
Что надо учиться, учиться и читать руководства, перед тем как ебашить код как обезьяна.
>учиться, учиться и читать руководства
Это же скушна.
Пытаться постигать абстракции без наглядной (практической) их реализации.
Если не применить это несколько раз на практике.
А тут нормальная житейская задача при решении которой всплывают по списку моменты в которых нужно разобраться.
Тогда уже будет понимание зачем это нужно то что сейчас читаешь.
Простое прохождение учебника по оглавлению просто уныние какое-то.
Няшки, кто встречал попенсорсный проект управления для гидропоники?
Вопрос о питании в Ардуино-проектах. Всегда запитывал все датчики от портов питания на самой плате. Сейчас же разрабатываю очень нагруженный проект, Ардуинка не вытягивает. Думаю использовать для самых высоких по потреблению датчиков и модулей стороннее питание. Какие подводные камни? Есть какие-то советы и руководства? Или можно условный GPS-ник запитать от батарейки в 3.3 В, сигнальные провода UART'а кинуть на Ардуинку и всё взлетит?
То есть описанный вариант правилен? Можно питать как на пикче и всё будет хорошо?
А что должно быть нехорошо? Какие ты там "проекты" делал если ардуину запитать не можешь?
Множество малопотребляющих датчиков подключить - ума не надо. А вот со сторонним питанием как-то не доводилось, поэтому решил уточнить. Спасибо!
>моторчик в конце видео дрыгает
Всё правильно он дрыгает. Переключение с одного направления вращения на другое без предварительной остановки. Чтобы остановить нужно нажать на последнюю нажатую кнопку.
Я просто на местном срынке набрал с десяток бредбордов(малельких и больщих) и несколько пачек (кажется, по 20 шт в пачке) проводков(маленьких и больщих) всех видов(мама-мама, папа-папа, мама-папа, папа-мама).
Киты всегда должны быть дороже, чем если покупать в розницу, имхо.
Олсо, атмеги менее всего заменяемая деталь, за год выдал не больше 5ти штук.
Пики хз для чего, но чего-то очень массового, т.е. дешёвого оборудование. Олсо, СТМ32 для совсем говно-фонариков и ир-стробов, которые делаюца тысячами в неделю.
Олсо, используют ардуины нано или майкро на антеннах, но хз какова их функция.
Расшифруй
Как тогда правильно работать с двухбайтовыми intами?
При выводе лучше явно указывать что ты выводишь двухбайтовое значение, а не дефолтное четырехбайтовое.
FFFF появляется потому что старший бит в значении 0xDEAD равен единице (1101111010101101) и при преобразовании его в int все отсутствовавшие ранее но появившиеся сейчас более старшие биты тоже становятся единицей. Если бы было например было 0x5EAD (0101111010101101) то вместо FFFF будут нули.
> все отсутствовавшие ранее но появившиеся сейчас
При преобразовании из int16 в int. 0xFFFFDEAD из последней строки это int.
Просто у меня от платы питались дисплей 16х2, часы, датчик температуры, и вот когда я подключил реле, и оно срабатывало, то дисплей стал светить тусклее. Если реле не срабатывает, то всё нормально. Меня вот это смутило
У тебя реле и экран от стабилизатора внутри ардуины питаются? Тогда тебе просто тока не хватает, нужен внешний источник питания.
Интересует определение следующих состояний:
1) Индикатор мигает
2) Индикатор непрерывно горит
3) Индикатор не горит
PS и если не смогу, то что для этого нужно?
Алсо, какие есть компактные (<3см длиной) нормально-втянутые соленоиды? Ход штока нужен ~0,7мм
Можешь. Соленоиды ищи сам, не сталкивался. Главное подтяжку под фоторезисторы не забудь.
>Алсо, какие есть компактные (<3см длиной) нормально-втянутые соленоиды? Ход штока нужен ~0,7мм
Ибэй и али в помошь:
https://www.ebay.com/itm/6V-12V-DC-Suction-Micro-Electromagnet-Spring-Push-Pull-Type-Rod-Solenoid-Magnets/192058117472
а может и нет
>подтяжку под фоторезисторы
Что это?
Вообще, у меня сомнения по первому пункту, т.к. фоторезисторы реагируют на изменение освещенности не мгновенно...
Анон, по твоей ссылке они, во-первых, нормально-выдвинутые, а во-вторых нихуя не меньше 3см длиной.
> фоторезисторы реагируют на изменение освещенности не мгновенно
Да, они медленнее чем фото диоды и фототранзисторы. Другое дело, нужна ли тебе сверхвысокая скорость реакции.
Это резисторы. Чтобы начать ими что-то измерять, тебе потребуется пропустить через них ток и зафиксировать изменение напряжения.
Короче, суть такова.
Есть ардуино нано (китайская, что с чипом CH340 на usb)
Она подключена к компу длинным USB кабелем 10 метров.
Работает нормально минут 10-15 и потом отваливается соединение с компом.
Питание уже подаю на месте 5V блоком. Так что по питанию всё норм.
Через 3м кабель работает без обрывов соединения.
Что можно сделать, чтобы она не отваливалась? Короче 10 метров никак не сделать. Может, чего в настройках подкрутить? Ну скорость обмена там увеличить или уменьшить. И с чего она вообще отваливается, если 15 минут работает норм а потом раз и всё...
Притом, после того, как она отвалится, диспетчер задач, говорит, что устройство на COM* порте работает нормально.
Ардуино IDE плату видит, но скетч, например, не заливается, вылетает с ошибкой.
Прога, что передаёт данные не ардуину тоже не ругается, но сама ардуина данные перестаёт получать, светодиод не моргает.
Может зайдешь сбоку как четкие пацанчики?
Пиздуешь в магазин, добываешь пачку MAX485 или подобных драйверов шины RS485 через которую удлиняешь линии RX TX DTS и подобные, которые за счет дифференциальной передачи сигналов и повышенной устойчивости можешь перенести и на 10 метров, и на 20 метров, и на 100 метров..
Совсем по дешману - поставь преобразователь на RS232 и играйся со скоростью. На 10 метрах 38400 наверняка выжмешь без ошибок.
Кабель 5м замени, в нем обрыв, что за 15мин выявляется, нагреваясь. Да, это норма. Да, радуйся что 15 минут работает.
>На 10 метрах 38400 наверняка выжмешь без ошибок.
Это ты в чём измеряешь?
У меня вот такие настройки.
Я не шибко в этом шарю.
>реобразователь на RS232
Нихуя себе. 2400 деревянных???
Может, проще по вайфаю там соединить как-то. Модуль для ардуины докупить. Это ж дешевле выйдет. Так вообще можно? Чтоб ардуина с компом не по USB общалась, а по WiFi, Bluetooth там?
Эх, я в этом не секу. Это скетч надо править?
Мда. Нетривиальная задача вылилась. Но надо уже как-то доделывать чтоб заработало.
А я так и не сказал, делал подсветку на телек по этому гайду.
https://alexgyver.ru/ws2812_guide/
> Это скетч надо править?
Да. Писать данные не в сериал, а в модуль, который прицепишь. Либо искать конвертер с сериал на wifi, хз есть ли вообще такое.
Пиздос. Я думал, всё проще будет.
Мне интересно, в чём проблема кабеля то на 10 метров?
У друга USB модем висит на 20 метрах и работает. (Питание тоже в конце по месту подаётся) то есть только дата линии к компу. А у меня сраных 10 метров и отваливается.
Хуевый кабель у тебя значит. А может быть вообще дело в скетче, который вешает ардуину ровно через 15 минут. Blink дефолтный сколько проработает на этом кабеле? Будет скетч заливаться после 15 минут?
>А может быть вообще дело в скетче, который вешает ардуину ровно через 15 минут.
Через 3-х метровый кабель всё работет часами без проблем.
>Хуевый кабель у тебя значит.
Патч корд 6 катеогрии FTP
Какой может быть лучше?
Ну три провода от компа к ардуине. Неужели в этом дело?
Просто на такой длине это не имеет смысла, подавать питание на ардуину. Да и сопротивление может вырасти так, что юсб порт отрубится. (возможно)
Ардуинка-то выберет один хрен внешний источник, который я на 5V подал, но всё же не стал соединять.
Что с ним можно сделать?
(кроме как выкинуть, обоссать etc.)
Чтобы заработало.
Ситуацию позднее я описал. От 3м кабеля работает замечательно.
Я дурак думал, что у тебя хороший кабель USB, с ферритами. А ты, глупец, подклбчаешь по UTP-5 через огрызки от USB кабеля и думаешь что оно работать должно? Меняй кабель и не еби нам всем тут мозги, криворучка.
По питанию, припой у Дяди Ляо хуевый, непропаи. А все уже в пластик залито, не подлезть. Я такие кабеля потом режу и махараю.
>С обрезанным плюсом?
Нет, он целый. Заводской.
Но я почти уверен, что дело не в плюсе.
Могу припаять, конечно, и к своему плюс. Но боюсь за порт.
Тоненький 10м провод с его сопротивлением может стать охуительным потребителем тока. Порт не сгорит к хуям?
Ну отпаяй плюс от трехметрового тогда и проверь. Надо минимизировать различия между сравниваемыми объектами, не должно отличаться ничего кроме длины.
Все проще.. Внимаешь со своей пердуины СН340. Берешь любой переходник USB-Serial добавляешь к нему 6 деталек в стиле ADM485 + 6 терминирующих резисторов если начнет подглючивать на высоких скоростях и перености свою железку хоть к соседям, а на скорости 9600 - хоть в другой конец дома.
Перерисовывал с какой-то схемы пердуины, за название выводов RX и TX есть сомнения, главное суть подключения преобразователей нарисовал и если что - поменяешь выводы RX и TX местами. Выбрось каку USB.
>Таких кабелей я даже найти не могу. 10 метров USB.
Знаешь почему? Потому что не будут они работать на такой длине. Закупи усб репитеров, если сильно надо.
Все очень просто. Погугли про шину RS485. Микросхемки хх485х переводят сигнал из униполярного в дифференциальный у которого помехозащищенность намного выше.
В оригинале шина RS485 полудуплексная - принимает или передает данные по одной паре (бывает и дуплексный режим работы по 2 парам). В пикриле выше управляющие сигналы разрешения выхода приемника и включения передатчика включены на постоянку так, что бы данные транслировались только в одну сторону по каждой паре и получился полнодуплексный режим работы. Даташит что ле открой, а?
Народ из АСУТП и подобного - всем похуй. Тут показан пример как максимально тупо передавать условно низкочастотный сигнал на дальние дистанции без реализации всяких протоколов и тем более многоточечного режима работы. Токовую петлю сюда не вариант пихать. Дешевле взять драйверы под 485 шину и не ебать мозг.
Подкиньте вариант кода на UNO для контроля гексапода через дулшок от плойки.
Я хуй знаю как такое самому писать.
Это для примера просто, на чипдипе ценник всегда неадекватный.
Вот китай: https://aliexpress.ru/item/32805633776.html
Ладно, спасибо. Надеюсь, хотя бы это заработает.
Опять месяцами ждать, сука. Я ардуину 45 дней ждал. Теперь ещё это.
Кстати, как эта херня работает-то? Там смотрю, чип какой-то внутри. Что он делает такого, что сигнал не будет теряться, на 10-ти метрах?
Да просто усиливает напругу. Вообще если тебе нужны усб кабели 10+ метров, то ты что-то делаешь не так. Лучше поставь ардуину поближе к компу, а на бп увеличь напряжение крутилкой, тогда по длинному кабелю норм дойдет.
Я делал так. Ещё хуже получается.
До ленты если далеко от арудинки то наводки на управляющий провод ебовые, светодиоды как на новогодней ёлке моргают просто и всё.
ДЕЛО НЕ В НАПРЯЖЕНИИ БЛЯТЬ. Ардуинка питается на месте от своего блока питания.
Найди уже на помойке драйверы 485 шины и преобразователь USB-UART. Если впадлу искать драйверы 485 шины - возьми что-то типа 6N137 и подобное что бы сделать подобие токовой петли.
Оптроны типа 817, 4N35 и подобное сразу нахуй или используй скорость под 2400 бод.
Короче говоря - перенеси поближе к компу преобразователь USB-UART что бы избежать проблем длинного USB кабеля, а далее гони на длинную дистанцию уже медленный UART. Можешь рискнуть протянуть его как есть, без преобразователей уровней и не ной что глючит. Он не предназначен для таких дистанций при передаче уровнями 0-3.3(5)В. Ставь те же MAX232 с двух сторон и не еби мозг.
Неужели это так сложно? Тупо приделать несколько деталей.
Алё, у меня итак витая пара сейчас прокинута. И отваливается ардуинка. А если пустить сигнал до ленты то наводки ебовые.
Я ж правильно понимаю, что надо просто подать 5 вольт (после буст конвертера вроде ничего не надо стабилизировать) на vcc и avcc и прихуярить кварц на xtal1 xtal2?
Но у ардуино уно есть же ещё кварц. Разве если запрограммировать атмегу на работу с внешним 16мгц, она будет работать на внутреннем 8мгц без перперошивки?
Алсо, реально ли снять с компьютерного шнура питания 220в индуктивным способом достаточное напряжение для питания ардуины?
Да, я. Что дальше? Предложишь заменить драйверы 485 шины на CAN шину? Не вижу проблем. Меняй. У них даже нет выводов управления направления потоком, как выводы RO и DE у 485..
Ты настолько ленивая жопа, что впадлу найти и спаять 6 драйверов, 6 резисторов, 6 конденсаторов и переходник USB-UART?
перепрограммируй
>готовые блоки питания с резервированием и автоматическим переключением, выдающие подходящее для ардуины напряжение
повербанки
>cнять с компьютерного шнура питания 220в индуктивным способом
нет, проводники взаимно гасят друг друга
Минимум это резистор 10кОм на RESET и VCC, порт программирования SPI (MOSI, MISO, SCK, RESET, GND) и питание. Всё.
Будет, подожди, как это без перепрошивки фьюзов ты хочешь работать сразу на двух генераторах частоты?
Чего? В УНО? Минимальную обвязку я тебе написал, какая ещё уно? Зачем тебе минимальная обвязка Атмеги328п в уже существующей макетной плате?
Идея чтобы использовать уно как программатор. Прошиваешь чип, вытаскиваешь и распаиваешь на плате устройства
Тащить целую уно чисто как переходник usb-uart? А ну быстро пошел на алиэкспресс и купил внешний, все равно придется рано или поздно
Постоянные пайки вредят дорожкам на плате - 1. 2. - чтобы программировать достаточно того, что я написал. Это называется внутрисхемный программатор, один раз впаял и пользуешься пока надо. Если ты хотел программировать, а потом паять, то тебе нужна колодка прижимная под TQFP, а программируется Atmega328p внутри УНО только благодаря вшитому заранее bootloader, который позволяет через UART прошивать то, что обычно шьется по SPI или по парралельному порту программирования.
Гена, иди нахуй и перестань мне подкидывать работку.
я делал гейбуино на россыпухе и ардубой на pro mini. первый с флешки может перешиваться в разные игры, но иногда глючит и надо шить с компа, второй одноигровый, экран лучше по разрешению, но меньше в 2 раза, большие дорогие.
>>30637
Да сука. Я собираю схему на уно и макетной плате и отлаживаю код. Когда удовлетворен работой переношу все на печатную плату. Можно конечно для разовых поделок и оставить макетом, но тогда получается пикрил https://2ch.hk/spc/res/581377.html#592467 (М)
Ты имбецил, блядь. Ты нормально объяснить может чего ты от анона хочешь? Что ты несешь? Какая уно? Какие макеты? Я устал уже от твоих историй.
Есть ардуино уно, в ней атмега328. Заливается программа, атмега вытаскивается из уны и распаивается на печатной плате. Вопрос - какая нужна минимальная обвязка в таком случае?
Еще по крайней мере кварцовый резонатор с двумя кондерами. Ты даташит на атмегу вообще не смотрел что ли блять?
>мы не будем за тебя писать твой код
На ардуину для гексапода никто до сих пор не написал кодов?
Атмега же тактируется от внутренней цепи, а кварц игнорирует
И искать не будем.
Каrтавый уёбок, это ты? Смотри это видео https://www.youtube.com/watch?v=Sww1mek5rHU хотя я уверен, ты его уже посмотрел и нихуя не понял. Как ты мог заметить, у тебя не Уно, а Нано, которая вся места занимает столько же, сколько 328.
И если делать, как делают люди без расстройств психики, то эта вся проводная мотня вовсе не нужна. Ты берёшь свою печатную плату и напаиваешь на неё две колодки с дырками, как на хлебдоске. И ВСТАВЛЯЕШЬ НАНО ТУДА ЦЕЛИКОМ, блядь.
ЧИП БУДЕТ ЗАПРОГРАММИРОВАН ПЕРЕД ПАЙКОЙ, АЛЛО БЛЯДЬ
Может реально на стм32 перейти? Там кроме питания вообще ничего не нужно, да и туториалы короче
https://www.youtube.com/watch?v=FM0gGSAf8f4
>проводники взаимно гасят друг друга
Почему тогда нельзя сворачивать компьютерные шнуры кольцом?
Во-первых, ты имеешь удобную IDE.
Во-вторых, тебе не надо ебаться со встраиванием микроконтроллера и всех сопутствующих элементов в плату.
В-третьих, у тебя есть прошивка через USB, а не отдельно закупаемые девайсы.
В-четвёртых, аттайни - относительно дубовый и выносливый жучара.
сворачивай, разрешаю
До этого в электронику не пытался, ничего в этом не понимаю, школу окончил давно, ничего из курса физики уже не помню.
>Занимательная электроника Ревича
Нее, Ревич говнище. Попробуй Чарльза Платта, там даже набор с книгой продается.
В любом случае, по-моему, удобнее иметь готовую плату с микроконтроллером и обвязкой (Необходимо только питалово) на 20+ выходов и ставить на печатку с датчиками, чем делать каждый раз ту же печатку, но со встроенным МК.
А нахрена ты каждый раз делаешь ту же печатку? Ну кварц допустим ладно, в 80% случаев нужен, и то в разных корпусах, но usb-uart конвертер то зачем?
Ну это тебе ПОКА хватает At328p, как аппетиты вырастут, так и приходи в этот славный обычный мир.
Можно же на ардуине сделать блок управления PWM вентилятором?
У меня вентилятор затрещал на блоке питания, я хочу его поменять, взять 4pin pwm кулер, и сделать в блоке полу-пассивный режим охлаждения. То бишь, до (допустим) 50 градусов вентилятор не вращается вообще, а при привышении этой температуры включается, далее уже в зависимости от температуры регулируются обороты, скажем, в пределах от 50-70 градусов, PWM будет 20%-100%
Но, если честно, задумка настолько простая, и уже тысячу раз реализованная, что я предполагаю даже наличие отдельных плат с таким функционалом. Китайцы должны были это сделать. Всё упирается в моё неумение искать на алиэкспрессе. Может, подскажите чего? А то ардуинка для этого какой-то оверкилл.
Контроллер нашёл.
https://aliexpress.ru/item/32973504131.html
Но вот охуел с цен на вертушки 140 мм
По 10 бачей и выше
Лучше на пердуине сделать - во-первых дешевле, а во-вторых ты сам прошьешь нужные диапазоны температур для разных уровней вращения вентилятора. А на что там жестко настроены китайские блочки - хуй угадаешь, и далеко не факт что подойдет для твоих конкретных условий.
Я тут подумал, нинужно.
Ведь можно подать питание напрямую от БП, а с ардуины подавать только ШИМ сигнал. Ну, вроде ещё надо будет их землю связать.
Но всё равно нинужно. Та махарайка всё умеет.
Если дать 10% ШИМ он сам остановится Я гарантирую. У меня сейчас стоит махарайка собственного паяния, точнее не мхарайка а тупо резистор и транзистор с старой мамки, я беру ШИМ сигнал с SYS разъёма мамки, а питание идёт через молекс. На транзисторе висит 6 вертушек.
В биосе стоит управление SYSFAN от температуры ЦП. Кулеры запускаются только с 20% ШИМ, после первого толчка могут работать и ниже до 16% включительно. Если они стоят, то подавая менее 20% они не запускаются.
>>31155
Там датичк температуры в комплекте. Приделаю его радиатор транзисторов в блоке. Поищу точку, где температура меняется соответственно нагрузке.
>Если дать 10% ШИМ он сам остановится
Хуй там, зависит от кулера. Например в вертушках от IDCooling при нулевом ШИМ на четвертый пин вентиляторы вращаются примерно с 60% скоростью, при 50% шим - 80% скорости, и так далее.
Ну я таких не встречал.
У меня сколько их было обычных 4 пин кулеров комповских все останавливались.
Да ардуина для такого оверкилл однозначно.
Может попроще какую атмегу взять. Но ебал для неё обвязку паять. И как там угадывать что будет температурный датчик показывать? Его же откалибровать надо будет или как.
Разъясни, пожалуйста, что ты понимаешь под термином "нормальное проганье".
Например, мобайл, банковское говно на жабе, разработка дров для embedded linux
Не ради доебаться, мне правда интересно
Какой самый простой способ эти показания логировать/выводить онлайн, чтобы потом смотреть данные за прошлые несколько дней и смотреть данные опять же онлайн? Я думаю что мне нужен вай-фай датчик чтобы мой проект мог иметь выход в есть, затем мне нужно взять в аренду какой-нибудь сервер, куда бы ардуино круглосуточно отсылала данные, и куда бы я мог потом зайти чтобы это всё посмотреть. Как быть дальше, может есть какое-то уже написанное решение или пошаговый гайд?
MQTT + ESP8266 + Датчик - готовые решения в сети есть.
Нужно чтобы шаговый мотор начинал вращаться при первом нажатии кнопки и останавливался при втором.
Почему код рабочего примера "ConstantSpeed" не пашет когда я его интергрирую себе? Получается так, что первое нажатие прост запитывает две обмотки и фсио. Как сделать так чтобы они перебирались в нужном порядке как в примере?
> unsigned long int
В чем разница с unsigned long?
> switch с одним case
Ну а по делу я советую драйвер купить. Или же вынести код вращения в отдельную функцию и вызывать её. Так как минимум проще понимать логику твоего говнокода
Da, tak i okazalos. Покрутил сервоприводом из второго урока https://www.hobbytronics.co.uk/arduino-tutorial2-servos но нихуя не понял. Как определяется в какую сторону крутится? Это логика энкодера на самом движке решает? Команда "двинутся на ноль градусов" немного дёргает двигатель. Хотел попробовать обьеденить этот код с кодом из обучающего видео алексгайвера где он с нажатия кнопки управлял загоранием светодиода, чтобы кнопкой покрутить сервопривод на 180 градусов но конечно же соснул и серво просто крутил туда и сюда, наверное там надо было типо как-то бездействие без нажатия написать. Извините что жж развел тут.
>Пошел нахуй, долбоёб. Не возвращайся пока самостоятельно не напишешь qsort на C++
Niet.
Такой какашке как ты придется потерпеть.
Тебе одному тут вечно мерещится что от тебя кто-то требует написать какой-то код. Такую вонючку я бы и палкой трогать не стал.
Мне не мерещится, ты хочешь чтобы за тебя написали код простейшего алгоритма и разжевали самые основы программирования, которые ты принципиально почему-то не хочешь изучить, хотя это значительно ускорило бы процесс и помогло бы понять, что до тебя тут пытаются люди донести, если последнее вообще понадобится после того как ты все-таки перестанешь мозги ебать и пойдешь в гугл, скотина охуевшая.
Анон тебе правильно пишет. У тебя задача на на уровне кода мигалки. А ты, судя по всему, просто накопипастил случайным образом разные куски кода, в надежде что оно заработает. Напоминает теорему о бесконечных обезьянах. Нет, так оно не заработает. Даже не знаю чем тебе помочь, кроме как переписать весь твой код, ну или отправить читать учебник.
А на счет использования драйвера удваиваю. С нормальным драйвером будет тише, плавнее и крутящий момент будет выше. И вообще ардуина с такой постановкой задачи не нужна.
>Нет, так оно не заработает.
Работает же. Только немного не так как хотелось.
Уверен там достаточно поменять/добавить пару символов как в предыдущем случае с двухполярным мотором. Там тоже этот хер голосил, что "всё хуйня иди кури талмуды по c++".
>на счет использования драйвера удваиваю. С нормальным драйвером будет тише, плавнее и крутящий момент будет выше. И вообще ардуина с такой постановкой задачи не нужна.
На пике, шаговик соединен с ардуиной через драйвер. Без ардуины не представляется возможным принимать и обрабатывать сигнал с 433 МГц приемника (не к драйверу же мне его подключать).
> Уверен там достаточно поменять/добавить пару символов
Ну как я и голосил, ты опять пришел сюда и спрашиваешь где какие символы поменять. Через месяц придешь еще раз. Такие как ты не заслуживают помощи.
Спокойно. Никто не покушается на твою помощь. Оставь её себе. Подкармливать только сухими кормами не забывай.
>Уверен там достаточно поменять/добавить пару символов
Может и так, но проще написать нормально. Хочешь псевдокодом напишу как надо?
>На пике, шаговик соединен с ардуиной через драйвер.
Нет, это драйвером сложно назвать. Больше похоже на ULN2003 или что-то подобное. Нормальные драйверы устроены и работают несколько иначе.
>не к драйверу же мне его подключать
А почему бы и нет? Ты же писал что нужно только переключать вперед-назад, для этого хватит одного Т-триггера и мультивибратора, если использовать нормальный драйвер. С такой постановкой задачи нет необходимости в ардуине.
>Хочешь
Пока наверное не надо. Пожалей пукан того борца за чистоту кода. Сирикодаму легко потерять. Невозможно забыть. И вообще попу жжёт.
>Больше похоже на ULN2003
Чем ULN2003 не драйвер если выполняет прямую функцию драйвера? И в любой товарной номенклатуре числится как драйвер.
Может ты намекаешь на пикрилы которые у меня в 3д-принтере стоят? Я думал они тольк для биполярных шаговиков типа Nema.
>А почему бы и нет?
Как драйвер будет расшифровывать два разных сигнала с приемника? В нем же нет встроенных библиотек вроде RCSwitch.h
>нужно только переключать вперед-назад
Ну кагбэ еще останавливать его при повторном нажатии кнопок вперед/назад хотелось... Не уверен, что драйвер такое сможет понять.
>Пожалей пукан того борца за чистоту кода.
От псевдокода или даже блок-схем его уж точно корежить не будет. У тебя действительно код ну очень дурной.
>Чем ULN2003 не драйвер если выполняет прямую функцию драйвера?
Тем что не выполняет большую часть функций более полноценных драйверов. О недостатках я уже писал.
>Может ты намекаешь на пикрилы которые у меня в 3д-принтере стоят? Я думал они тольк для биполярных шаговиков типа Nema.
Подобные драйверы бывают разные, но да, встречаются чаще для биполярных двигателей, особенно на алиэкспрессе.
Если я не совсем слепой, то на твоей фотографии у шагового двигателя шесть проводов. Соответственно можно предположить что этот двигатель можно включить как по биполярной схеме, так и по униполярной.
> Работает же. Только немного не так как хотелось.
А ты вообще понимаешь, как оно работает? Если нет, то чего ты от нас хочешь?
Вот и отлично
есть ардуина на atmega32u4 после того как залил скетч - проработала некоторое время и отвалилась от кудахтера, при подключении к компьютеру горит 1 светодиод и больше нихуя, компьютер не опознает что подключено устройство. При этом совершенно непонятно по какому принципу она может заработать и проработать(при этом исполняя скетч) 1-5секунд, после чего опять отъебывает. Какого хуя, собственно?
И кабель менял на заведомо рабочий и на другом пк пробовал
упд, на пару секунд обе ардуины(да, я убил две штуки) поднялись и плоучилось залить на них блинк, одна потупила но вроде заработала, вторая все еще троит. Если что я их отключил и ничего навесного там сейчас нет.
Пробовал и так и сяк, дошел вот до более-менее рабочего варианта, но если выставить delay 100 или 200, то с большой вероятностью кнопка залипнет или наоборот не нажмется почему-то. С с++ знаком ровно день, даже вот про switch case узнал полчаса назад.
или это сама кнопка так залипает, не понимаю
Покажи схему подключения всего и код полностью на pastebin скинь. Предположим что кнопку ты подключил правильно с подтягивающим резистором.
Сейчас код работает так, что пока кнопка нажата (у тебя это LOW я так понимаю), переменная ison циклически меняет состояние между true и false, и после того как ты отпустишь кнопку состояние этой переменной тем труднее предсказать, чем меньше стоит интервал в delay.
Тебе надо завести еще одну переменную-флаг типа bool (допустим isPressed), которую устанавливать в true сразу после нажатия кнопки и сбрасывать ее в false при отпускании кнопки. Значение переменной ison нужно изменять только если кнопка нажата и isPressed == false, delay уже будет не нужен.
Вообще есть готовые библиотеки для работы с кнопками, например Button, там все это уже сделано за тебя.
хотя нет, delay лучше оставить для дебаунса. Опять же в Button и других библиотеках это уже всё есть.
Пердак горит.
Делаю еботку, пока конечной цели нет, застрял на середине от тупости.
Суть такова: вытащил из струйника каретку с моторчиком, припаялся к оптопаре и линейному энкодеру, все збс, считает как надо (без направления пока, просто в любую сторону счетчик прерываний растет), через прерывания, ну пропускает немного, если резко ее двигать, медленно все норм.
Спаял к моторчику драйвер из l293, запустил скетч (пик1), каретка катается спокойненько туда-сюда.
И решил я значит обьединить показания счетчика энкодера и движения туда сюда, ничего лучшего мне в голову не пришло как написать код пик2.
Типа поехал он на 50 шагов в одну строну, когда их стало больше 50 - поехал в другую, потом ОБНУЛИЛСЯ и все с начала.
НО ЭТО НЕ РАБОТАЕТ! пока меньше 50 он едет в одну сторону, а потом встает и НИЧЕГО, при этом если его подвинуть рукой, так что счетчик доходит до 100, он обнуляется и опять едет в первую сторону до 50 и встает.
Напомню, что на пик 1 все работает нормально.
ЧЯДНТ?????77
if (counter < 50)
{
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
}
else if (counter > 50)
{
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
}
else if (counter > 100) counter = 0;
>пока меньше 50 он едет в одну сторону, а потом встает и НИЧЕГО
Ну так всё верно.
Если <50 сделать одно, если >50 сделать другое.
Если =50 ничего не будет.
Делай if (counter <= 50) и будет тебе счастье.
>>32218
Хуйню написал. Даже если бы он так хотел, то (counter > 100) Никогда не сработает. (counter > 50) сработает раньше.
Насмешил. Счетчик у него отдельно увеличивается, а не в if/else. Хотя да, последний else не нужен.
Благодарю.
Вот это тоже не работает, просто выполняется первое, назад не едет, счетчик не сбрасывает.
>counter <= 50
А вот это, внезапно помогло, сенкую., но я так и не понял, схуяли, когда он перескакивает через 50 по инерции, как я уже и говорил.
Оно у тебя не по инерции, у тебя нет проверки если =50, то отключить движок.
Движок у тебя включен когда =50.
Проблема где-то в другом месте.
Лог скудный какой-то, включи в настройках вывод вообще всего. Лог на pastebin скинь если сам в нем ничего не найдешь.
Ничего не поменялось. Выяснил что он компилится один раз после запуска иде, а потом не хочет. Приходится пока рестартить ее каждый раз.
Начнем с того что криво подключены переключатели. У тебя там или наводки ИЛИ +5(лог 1).
Касаемо кода - выкинь в помойку if.
Следи: Перенос(C) B1 B0 A1 A0 -> C S1 S0
0 00 00 -> 0 00
0 00 01 -> 0 01
...
0 10 11 -> 1 01
...
1 11 11 -> 1 11
и получается через массивчик делаешь решение - 5 бит это адрес, 3 бита это ответ.
unsigned char sum = [0x00,0x01,...0x05,..0x07];
ans = sum[data_in];
ans сам разберешь по битам на выдачу, как и склейку входных сигналов в data_in.
Спасибо за идею. Попробую
в саму уно загрузил пример ArduinoISP, потом подключил (вроде правильно) atmega8 через перемычки к уне, выбрал в инструментах плату arduinoNG... , выбрал atmega8 и выбрал правильный COM порт
Как пофиксить?
Те уно/нано/пико поделия с "мегой 328", которые продаются на али - фейки с чипом от каких-то Xiao Bao Aries. Они нестабильно работают при питании ниже 3В, даже при частотах сильно ниже 8 МГц. В спящем режиме жрут >120 мкА вместо <1 мкА у оригинальной меги. Корректность и соответствие параметров работы периферии под большим вопросом, как и в целом стабильность этой подвальной нонейм китайщины.
Вот чел изучил вопрос:
https://www.youtube.com/watch?v=o0rEzcKYzGw
https://www.youtube.com/watch?v=PlGycKwnsSw
https://www.youtube.com/watch?v=eeDC1m7ANJI
Та же история, что с ардуинами на STM32, которые нынче тоже сплошь фейки.
Эта ваша ардуина может имитировать USB-мышь и клавиатуру искаропки без костылей?
Ардуина на базе atmega32u4 может. Ардуина на базе atmega328p может через библиотеку программной эмуляции USB - vusb .
>Где
На ардуино.цц вестимо.
Что гигнанту отечественного микроконтролостроения мешает купить ориджинал чип и перепаять на китайскую пердуину?
>с ардуинами на STM32
Больные люди. Нахуя STM32 юзать с пердуино идэ? Её в кейле или эклипсе надо кодить, на православном С или асме.
>Что гигнанту отечественного микроконтролостроения мешает купить ориджинал чип и перепаять на китайскую пердуину?
А что мелочиться, сразу делать свои ардуины. В современном раскладе не самая бредовая идея, как ни странно. Я прикинул, посчитал и вышло, что изготовление 10 штук ардуин с оригинальными чипами обойдется в пределах 35-45$ (включая производство плат и доставку). Но вот если нужно 1-2 шт, то затея беспонтовая, разве что найти готовые копеечные платы без запаянного чипа, а такого не продают.
>>33063
А авр труъшно кодить исключительно в православной атмел студии, на чистой сишечке.
Не дешевле. Китайская ардуйня с недоатмегой - 2-3$ + столько же за оригинальный чип, без учета доставки.
Сложностей сделать свой аналог ардуины нано нет, ведь там помимо мк и разъема для программирования - лишь кварц, пара светодиодов и кнопка ресет.
>недоатмегой
Это как? Вы там ебанулись что ли? Кто станет и без того дешёвый чип копировать, если проще купить лицензию?!
>дешёвый чип
Чота нихуя он не дешевый. По цене близок к STM32F410CBU6 но по характеристикам на пять порядков слабее
Ты дебил? Несколько постов выше все наглядно показано и рассказано: >>33055
Я сам лично столкнулся с тем, что китайская ардуйня жрет более 100 мкА в power down режиме, а это абсолютно неприемлемо при батарейном питании. Стабильность работы не тестил. При этом другая ардуйня, которая на несколько лет старше, работала нормально. Начал копать, и охуел от современных реалий.
Пипл радостно хавает, ведь большинство могут лишь мигать светодиодами да крутить моторчики.
Лолшто? 328 мега стоит 2-3 бакса, а озвученный тобой - 6-7 баксов. В розницу, конечно.
Даже если бы стоили одинаково, авр меги как раз и выбирают за простоту и удобство, нет смысла в простых самоделках ебаться с нафаршированным всем чем можно мк с референс мануалом на тысячи страниц, времени потратишь на пять порядков больше. Стм32 нужен в 1ю очередь там где требуется высокая производительность, в самоделках выходного дня это далеко не всем нужно.
>328 мега стоит 2-3 бакса, а озвученный тобой - 6-7 баксов
Мега в терре стоит 185р, стмка - 201р. Где ты накопал 6-7 баксов?
В терре, насколько я помню, были подозрительно дешевые дип-версии 328 меги, за 140-150 руб/шт.
>были подозрительно дешевые дип-версии
Я в прошлом году захожу в раздел "сало" у Электронщика, а там эти стмки по 78р. Купил пяток, а на следующий день они по 200. Видимо что-то с ценами напутали. Жалею, что десятка два не взял
У них сейчас вот лежат 328PB-AU по 133р https://www.electronshik.ru/item/MCRCH/ATMEGA328PB-AU
Можно.
Тут или делать детект нуля и рассчитывать фазу открытия симистора или шимить обычным ключом. Оба варианта пригодны только к резистивной нагрузке с редкими исключениями.
Неправильно поставил вопрос, значит. Диодные лампы никак не диммируются, если плавно менять напряжение с 220 вольт, они будут гореть максимально ярко, и потом в какой-то момент выключатся.
Из светодиодных диммируются только светильники, в которых уже встроен диммер и контроллер (как правило с пультом).
Понял.
Прекрасно шимятся после блока питания. Но ардуино тут за глаза - хватит и 555 таймера
Т.е. надо как-то подать сигнал с выхода плеера на наушники (стерео) на АЦП ардуины (моно).
Нехуй покупать цокольное говно
Пркади свои наработки пожалуйста, поделись ссылочками
Был бы я террористом, мне не было бы нужно продолжать работу ардуины во время и после зажигания, умник хуев
Опять ты. Ставь по напряжению питания ардуины электролит. Поскольку у тебя ардуина на 3.3 вольта, а питаешь ты её от литиевой банки через встроенный преобразователь, то конденсатор между ногой 3v3 и землёй обеспечит запас по питанию в случае просадки. А максимальный ток своей батарейки смотри в даташите
100 микрофарад наверняка хватит.
Нескольких сотен микрофарад точно должно хватить.
Хотя ятут попытался посчитать и выходит дохя неприличная емкость.
Короче, ставь любой, какой есть - скорее всего проблема у тебя надуманная.
Алсо, оно отличается от пикчи. Там нет того, что выделено зелёным, а где желтым, там соединено.
Кто-то немножко облажался. "power" - это напряжение питания реле. Пикрилу например надо туда подавать 12В (смотри маркировку реле). Подобные штуки от 220В не питаются, они могут только переключать 220В.
Мда, ясно.
>прикрутил два провода в power positive и power negative и сунул в розетку
>power positive и power negative
>в розетку
Так как ты определял, где в розетке плюс, а где минус?
Пока что показывает, сколько импульсов набежало.
Примерная схема на втором пике. FEEDBACK идет на A0 дуины. Импульсы считает, но датчик довольно-таки дубовый, нужен другой (парочку СБМ-20 хочу).
Рейт
Радиационный контроль-тред мертв, может, тут кому интересно будет
Неонкой же!!
>литерали начало любого курса: "Ардуино - это очень просто. Программы на ардуино может писать даже обычный человек без навыков программирования
>и ты такой сидишь и неделю пытаешься вкурить что такое переменные, типы данных, циклы, массивы... Потом еще хелпу по библиотекам изучать придётся...
Крч где-то меня опять наебали.
>и ты такой сидишь и неделю пытаешься вкурить что такое переменные, типы данных, циклы, массивы... Потом еще хелпу по библиотекам изучать придётся...
Дед, у тебя информатики в школе не было? Это в пятом классе проходят
Сына, во-первых, это всё очень индивидуально. В разных школах информатику начинают проходить с разных классов. Мы, например, начинали с 9. Во-вторых, преподают её тоже очень по-разному. Мы проходили устройство компьютера, печатали на клавиатурных тренажерах, делали презентации в пауэр поинте и таблицы в экселе.
В-третьих, даже если кто-то писал программы в паскале и бейсике, ты так говоришь, как будто это говно не выветривалось из головы сразу, как ученики переступали через порог кабинета. Тебя послушать, так рили после общеобразовательной программы из каждого класса выходит по 25+ готовых программистов, ору бля.
Тухлый врос какой-то.
Какие-то бумерские приколы
Я конечно понимаю, что поделия итт отлаживаются методом заливки кода на ардуину и чтением COM порта, но мне нужен какой-то другой способ, возможность собрать всю схему виртуально и там же отладить, а потом уже собирать физически (потому что нет возможности проверить работу в реальных условиях). Какой есть софт для этого? Proteus в принципе то что нужно, но есть что-то менее пушечное и подходящее для первого знакомства?
Не вижу проблемы. Без задней мысли подключаешь прям ко входу. Два стерео провода можешь замкнуть - получишь моно.
Это ничего, вышмат не всем дано понять, смирись.
Бля. Есть предуина, есть bmp280, mpu6050. Надо симулировать работу при вибрациях и ускорении (акселерометр), при разной высоте и разной скорости подъема (барометр). Считайте, что я делаю квадрокоптер
Дроны и я делаю, что ты прям так разволновался. Ракеты с тепловым наведением тоже можно так делать, ничего особенного, только матрицу тепловую надо.
А вот BMP280 и MPU6050 в списке эмулируемых устройств отсутствуют, сосни бибку с этим.
> А вот BMP280 и MPU6050 в списке эмулируемых устройств отсутствуют, сосни бибку с этим.
Бля, ну ладно
Хоть кто нибудь когда нибудь таким образом пожег? Не мощные усилители а именно наушниковые выходы.
ну наушниковые выходы как правило имеют гальваническую развязку...тупо через кондеры выходы сделаны. Так что скорее всего не помрут.
Я в пейнте рисую.
Например, в оркаде, там же моделировать и платы разводить можно.
Кто то в splan/visio/autocad рисует и разводит в спринте, но отсутствие сквозного маршрута схема-моделирование-плата в 2020 - это уебанство и мазохизм.
для новичка лучше что то палехче, но я хз, чо там сейчас из мелочи есть
Бляяя. Можно мне рисовалку из микрокапа/мультисима с произвольными компонентами? Просто чтоб вот тут атмега, тут кварц, тут bmp280, это подключено туда, это туда...
>диптрейс
Но нахуя если есть Орёл весом в 100 мегабайт? Шустрый как понос младенца. Компонентов тьма, рисуются недостающие за считанные секунды
>рисуются недостающие за считанные секунды
Неправильно нарисуешь - плата в помойку, а ты рисуешь заново и ждешь еще месяц нахуй.
Задачи передавать информацию нет, только измерение уровня сигнала.
Максимальная мощность передатчика: питание от 18650
Интерфейс приемника: i2c или spi
Дальность приема (сигнал должен отличаться от шума) до 1км
Че выбирать? 433 есть направленные? Есть wifi приемник с spi? Куда вообще копать?
Можно подумать в диптрейсе и прочих оркадах представлены все возможные детали? Так же будешь рисовать и ошибаться.
Все так, ничего против EAGLE не имею, прост бомбануло с твоего "рисуются за секунды".
А даже если бы были? Все равно оно по большей части нарисовано так, что хочется перерисовать и символы и футпринты.
> атмеги по умолчанию нет
> mpu6050 нет
Есть в кикаде. И атмеги не нужны.
> даже irf520n нет
Берешь в кикаде любой другой транзистор с таким же расположением выводов и переименовываешь.
Есть bmp280. Сканнер i2c говорит, что найдено устройство на 0x76! Но либа адафрута и любые другие выдают ошибку, мол нихуя нет. Куда копать?
Отбой, там просто другой адрес и смена не совсем очевидная
Есть пикрил и оператор, готовый снять мой прыжок с парашютом при помощи сабжа, но открываться он с ним не будет, ибо весит эта елда 1.5 кг, при перегрузке будет больно. Нужно сделать альтиметр и устройство открытия парашюта, чтобы оператор мог сбросить эту камеру, а на высоте, допустим, 100м, у неё открылся свой парашют и она бы спокойно приземлилась. Парашют необходимой площади по моим рассчётам должен спокойно уместиться в пространстве под ручкой, ткань и стропы есть.Вопрос лишь в том, как запилить автоматику и механизм открытия парашюта. Предположим, у меня есть ардуино и барометры. Как у него дела с быстродействием?Точностью? Как реализовать открытие, чтобы при этом нигде не торчали сервомоторы или электромагниты ебических размеров?
С питанием проблем нет, если что, в ручке 6 АА батарей
Пиздуй на Ютуб в канальчик Амперки. У них был замечательный сериальчик "Ракета против Лехи" и там рассматривались разные варианты как это сделать.
Ты что, совсем ебобо? Это же пленочная камера с ручным фокусом, как она сама без оператора тебе снимет? Арендуй gopro и не выебывайся
>Как у него дела с быстродействием?Точностью?
Вот тебе скриншот из даташита на барометры, наиболее популярные у ардуинщиков.
Но как-то странно в наше время снимать на пленочную кинокамеру...
>с ручным фокусом
> как она сама без оператора тебе снимет?
Это как раз ерунда, чуток прижать диафрагму и будет тебе ГРИП от пары метров до бесконечности, тем более на пленке, да еще и на такой узкой.
Оператор снимет свободное падение, перед открытием сбросит.На широком угле (8мм в данном случае) и так бесконечность с пары метров начинается, так ещё и в солнечный день автоматика диафрагму прикроет, короче, с этим проблемы нет.
>>35366
Спасибо, сейчас пойду гляну
>>35371
Ох не верится мне что-то в 1м, придётся испытывать, походу, но спасибо
>странно
Странно-то странно, но даже 8 мм с проектора выглядит охуенно с super 8 до 2к реального разрешения выжимают так-то
Так бля, у них же там парашют отказал. У меня эта камера одна, новых не делают
>Ох не верится мне что-то в 1м, придётся испытывать, походу, но спасибо
Ну не знаю, в руках не держал. Но его довольно успешно применяют для стабилизации квадрокоптеров.
>с super 8 до 2к реального разрешения выжимают так-то
Если объектив на этой кинокамере заменить, то еще как-то может быть.
До 1080 хватит и штатного, это чуть ли не единственный годный объектив КМЗ
Алсо, хуй с ним, с кодом, чай не даром младший специалист-инженер ПО, но что по открытию парашюта? Все системы, которые приходят в голову выходят крайне громоздкими, либо требуют выбрасывания медузы вручную, что тоже хуйня. Есть идеи? Если что-достаточно выбросить купол, стропы выйдут сами
А с arduino nano почему с любым указанным портом работает?
Либа такая, если что
#include <NeoPixelSegmentBus.h>
#include <NeoPixelBrightnessBus.h>
#include <NeoPixelAnimator.h>
#include <NeoPixelBus.h>
>что по открытию парашюта? Все системы, которые приходят в голову выходят крайне громоздкими, либо требуют выбрасывания медузы вручную, что тоже хуйня. Есть идеи? Если что-достаточно выбросить купол, стропы выйдут сами
Контейнер с дверцей, распахивающейся на пружине, защелку открывать соленоидом с ардуины. Купол ветром из контейнера само выдует.
>се системы, которые приходят в голову выходят крайне громоздкими
Верёвочка, блядь! Вервие простое!
> защелку открывать соленоидом с ардуины
Здравствуйте. Вам понадобится силовой ключ и источник питания ампер так на 5. Соленоиды нихуя не вариант, когда нужно компактно, к тому же у них начальная сила вообще никакая
>>35418
> Да ёбаный рот этого казино! Загуглил свой модуль, BMP180, зашёл в статью на хабре. Код до прикручивания работы c SFM компилится, после-не хватает библиотеки, которая при добавлении нихуя не фиксит. Чё это за хуйня?
Берешь адафрут и не паришься. Либо либу от боша
> Все системы, которые приходят в голову выходят крайне громоздкими
http://kia-soft.narod.ru/interests/rockets/rk2/safety/safety.htm
https://habr.com/ru/company/amperka/blog/516222/
Это самое компактное, что возможно в принципе. Не слушай про соленоиды, только лишний вес
>Берешь адафрут и не паришься. Либо либу от боша
Для того чтобы по I2C записать один, максимум два байта и прочитать еще три? Было бы там еще что-то реально сложное, то для экономии времени и усилий было бы целесообразно что-то такое использовать, но явно не для такого.
Вся суть ардуинотреда
>BMP180
1...1,2 метра высоты точности тебе точно точно хватит?
>как открыть парашют
Резистор на 10 ом, 18650 батарейка, "пиропатрон" из кучки пороха или серы от спичек. Резистор на проводках в "пиропатрон", пожать напряжение через транзистор.
nRF24L01+PA, должно быть до 1км, на самом деле 300-400м максимум что я смог выжать.
питай ардуину через 12 вольт на вывод vin
Спасибо. А как посчитать какой он нужен чтобы не получались ебанутые номиналы резисторов?
на ютубе посмотри там есть про это урок
Типа вот я что-то передают по софтовому UART, и тут ему самому начинают передавать, так он всё и пропускает.
> Резистор на 10 ом
Нихром лучше. Берешь два медных провода, и 2-3 см нихрома. Припаиваешь или приматываешь, надеваешь термоусадку, засыпаешь в неё порох, усаживаешь немного
U = Uвхода/Кделителя
Кделителя = R1/R2
U (не более 5В) = 72/14.4, но там же не 72, а 84 максимум, так что
U (<5В) = 84/16.8 (84/5 = 16.8)
Значит К = 16.8, при R1=16.8кОм, R2 = 1кОм
16.8кОм не существует, самое близкое думаю 18кОм. Возвращаем назад.
К = 18/1 = 18. U = 84/18 = 4.666(6) Вольта максимум при делителе 18 к 1.
> nRF24L01+PA,
Но это ж всенаправленная антенна! А где найти направленную? Я немного чайник в антеннах и коннекторах
Параболическую антенну собираешь и крепишь в тот же разъем. Даже дальность возрастет.
Почему в 2к20 году еще существуют шизики, занимающиеся AVR/Arduino?
STM32 тупо в разы дешевле стоит, в 10-ки раз мощнее, ничем не уступает ардуино, прозиводителем поддерживается ардуиноподобные отладочные платы, CUBE-MX и HAL ничем не уступают ардуино иде по простоте вкатывания.
Так нахуя вы дрочите это оверпрайснутае некроговно для даунов?
И как эта парашка заменит ардуино/куб?
В кубе можно за пару вечеров сделать простеньки проект для стм32 - сгенерил в кубе, написал еще пару строчек логики и готово. Даже проще и лучше ,чем ардуино, так как во первых эта среда создана самим производителем(Arduino IDE и платы созданы не Atmel-ом, знаешь ли), а во вторых есть графический интерфейс, где выбираешь, какие ножки и для чего задействовать.
В то время, как для того, чтобы хоть что-то написать на стм8 придется неделю разбираться с даташитами и понять, как он работает, а потом еще пару недель писать на одних регистрах.
Нафиг не нужен короче.
Зря ты так. Для СТМ8 есть куб, хотя это скорее для наглядности, код он не генерирует. Хотя давно на СТМ8 ничего не делал, но остались довольно теплые ламповые ощущения, наверное из-за полноценного отладчика. Не знаю как там сейчас дела с библиотеками на них, но дрочить регистры проще чем кажется, их там реально мало, сравнивать с СТМ32 даже глупо.
Аж что-то сделать на нем захотелось. Времени, как всегда, увы нет
> ничем не уступают ардуино иде по простоте вкатывания.
Ардуино: поставил ide, подключил плату, написал две строки, нажал одну кнопку, всё, светодиод мигает
Stm32: выбери ide, настрой проект, настрой ноги, настрой клоки, подключи stlink, прошей, залей код
Ну хуй знает
Лол, вообщето СТМ32 даже проще, потому что можно еще в кубе задействовать нужные ножки под GPIO, ацп, цап и т.д., когда в ардуино будешь гуглить и искать нужные тебе библиотеки и функции.
>выбери ide
Тут выбора нет, только Keil, потому что он от компании разработчика(ARM).
>подключи stlink, прошей
Тут полностью аналогично ардуино: во все платки стм можно заливать прошивку как через юсб(бутлоадер) так и подключив программатор. В ардуине тоже есть разъем для прошивки программатором.
>Ну хуй знает
Хочешь сказать, есть разница писать, условно говоря, "digitalWrite, analogWrite, sendUart" в ардуино, и в hal? При том, что стм32 намного мощнее как по ядру, так и по переферии? Ебать спасибо нахуй.
> Тут выбора нет, только Keil
Тогда почему во всех туториалах куб?
> во все платки стм можно заливать прошивку как через юсб(бутлоадер) так и подключив программатор
Только бутлоадера нет изначально в стмках
> Хочешь сказать, есть разница писать, условно говоря, "digitalWrite, analogWrite, sendUart" в ардуино, и в hal?
Просто взять и писать? Перед этим ничего не надо настроить в каких-то гуях, прописать ещё что-то? Просто как в ардуине, написал скетч и залил?
>Просто взять и писать? Перед этим ничего не надо настроить в каких-то гуях, прописать ещё что-то? Просто как в ардуине, написал скетч и залил?
Да.
>потому что он от компании разработчика(ARM).
Аргумент сам по себе странный. Например интел тоже продает свой компилятор, который дает 1% на некоторых бенчмарках по сравнению с другими. Тоже будешь рекомендовать использовать его вместо gcc или msvc?
А потом, кроме кейла у них есть DS-5, а также https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm
>Например интел тоже продает свой компилятор, который дает 1% на некоторых бенчмарках по сравнению с другими. Тоже будешь рекомендовать использовать его вместо gcc или msvc?
Да.
СТМ32 это аналог АтМега или АтXмега(то бишь Ардуино).
В то время, как СТМ8 это скорее аналог АтТинек.
Что не так? Почти для каждой стм32 можно найти аналогичную по объему памяти, количеству ножек, переферии и частоте тактирования атмегу или иксмегу.
>атмеги по умолчанию нет
Ultralibrarian в помощь. Настолько дохуя неведомой хуйни, что ты себе представить не сможешь.
>Резня и перемычки
Хуички. Это если ты соединил что-то неправильно. Как ты засунешь компонент в плату, у которой дырки/пэды не в тех местах?
>Как ты засунешь компонент в плату, у которой дырки/пэды не в тех местах?
Неместный? Dead bug prototype и не задавай тупых вопросов.
Какой же ты сука дурачок.
Dead bug prototype - это навесной монтаж.
https://www.dartmouth.edu/~sullivan/prototyping.pdf
Какие-нибудь резистор/soic/sop можно, qfn/bga уже нет.
На производстве у монтажниц есть куча кусков тонкой печатной платы с разным рисунком специально для таких случаев. Подбирают подходящий, приклеивают, сушат, припаивают компонент и подключают проводками как на пике выше.
В махарайках еще проще, берешь макетные платы под sop/soic/qfp, или травишь на коленке.
Крупняк можно тупо за корпус приклеить.
Конечно, для ВЧ, импульсных и йоба-аналоговых цепей это может не подойти.
Но лучше просто не создавать проблемы на пустом месте. Футпринты все по большей части однотипные и ничего рисовать не нужно, можно пользоваться тем что в комплекте с САПР устанавливается, только слой шелкографии почти наверняка придется исправлять.
Футпринты под что-то многоногое обычно есть готовые. Ну как готовые, почти, немного только подправить требуется, и то не всегда. А вот символы есть смысл рисовать самому, это не так сложно и совсем недолго.
Если вдруг и футпринта нет готового, то скорее под что-то вроде разъема. Ну нарисуешь тогда сам, ничего страшного.
Почему?
Какой лучше при загрязнении отрабатывает? Намокании?
А у меня 32двухкондукторный.
>Да бля, ещё обвязку смд. А не смд - некомпактно
Хуй ты сделаешь обвязку сильно компактнее, чем на модуле. Кроме того, на отдельном текстолите сенсору помех меньше. Т.ч. не занимайся хуйней, припаивай модуль на плату.
> не занимайся хуйней, припаивай модуль на плату.
Ну так и сделаю, а хуле мне выше говорят то?
Модуль - это ультракомпактно. Считай, только место для гребенки нужно. Ведь у тебя под ним место на плате свободно остается, и там дохуя компонентов поместиться может смотри с высотой не проебись
Лучше закажи фен, сожжешь какую-нибудь хуйню - паялом менять заебешься.
И smd паять/выпаивать с ним легче.
Вот ты вруша. У меня серия была больше 400 устройств пару лет назад, все до сих пор работают.
хочу тут заставить шаговый мотор вращаться с постоянной скоростью при однократном нажатии кноппачки.
Код простого вращения из примеров библиотеки AccelStepper работает нормально (слева). Однако стоит добавить в него исполнение при нажатии кнопки (справа), моторчик делает на кнопку шаг и останавливается в ожидании следующего нажатия.
Почему?
Как сделать чтобы работало правильно?
Пиши так:
#define ROTATE_STOP 1
#define ROTATE_LEFT 2
#define ROTATE_RIGHT 3
ButtonPressed = GetButton();
switch(ButtonPressed)
{
case 1 :
Rotate = ROTATE_STOP;
break;
case 2 : //left
Rotate = ROTATE_LEFT;
break;
case 3 :
Rotate = ROTATE_RIGHT;
break;
}
ButtonPressed = 0;
switch(Rotate)
{
case ROTATE_LEFT:
//код для вращения влево
break;
case ROTATE_RIGHT:
//код для вращения вправо
break;
case ROTATE_STOP:
//код для останова
break;
}
Иначе у тебя получается, что кнопка-то и не нажата, там ноль, значит состояние поменялось.
Пиши так:
#define ROTATE_STOP 1
#define ROTATE_LEFT 2
#define ROTATE_RIGHT 3
ButtonPressed = GetButton();
switch(ButtonPressed)
{
case 1 :
Rotate = ROTATE_STOP;
break;
case 2 : //left
Rotate = ROTATE_LEFT;
break;
case 3 :
Rotate = ROTATE_RIGHT;
break;
}
ButtonPressed = 0;
switch(Rotate)
{
case ROTATE_LEFT:
//код для вращения влево
break;
case ROTATE_RIGHT:
//код для вращения вправо
break;
case ROTATE_STOP:
//код для останова
break;
}
Иначе у тебя получается, что кнопка-то и не нажата, там ноль, значит состояние поменялось.
Я не понимаю как это правильно вставить в свою задачу.
Если просто подставить туда код вращения вправо/влево, не заработает же ничего.
Тебе надо написать GetButton функцию так, что при ни одной нажатой кнопке она выдавала 0. При ButtonPressed = 0 ничего не происходит и выполняется предыдущее действие.
В 2020 когда есть куча арм с аналогичными характеристиками дешевле или мощнее за ту же цену? Ну хуй знает
>STM8
Под него нет бесплатных IDE/компиляторов.
Сosmic - лицензия всего на год, IAR -на 30 дней и ограничение в 8 кб. Поэтому не вижу преимуществ STM8 перед STM32 и АВР, для которых есть бесплатные инструменты разработки.
Ok. Забудь вариант с физической кнопкой.
Шаговик теперь контролируется пультом 433мгц через приемник подключенный к ардуине. Нажатие на кнопку начинает вращение
Что можно добавить в код на пикриле чтобы повторное нажатие на ту же кнопку останавливало мотор?
Проблема в том, что при каждом полуобороте моторчика, монитор пишет принятый код и запускается следующий полуоборот. Даже если выдернуть приемник из ардуинки, она продолжит печатать этот код продолжая вращение моторчика. Это делает невозможным использование бинарного флажка для остановки/запуска одной кнопкой.
Как тут быть?
>Шаговик теперь контролируется пультом 433мгц через приемник подключенный к ардуине. Нажатие на кнопку начинает вращение
>при каждом полуобороте моторчика, монитор пишет принятый код и запускается следующий полуоборот. Даже если выдернуть приемник из ардуинки, она продолжит печатать этот код продолжая вращение моторчика. Это делает невозможным использование бинарного флажка для остановки/запуска одной кнопкой.
Хорошо, я пабижал((
Это опять ты со своим 433 приемником и 15552801 в типе int. Знаешь, иди нахуй, я с тобой забодался уже.
Ну и ладно. Подожду следующего.
Для начала https://ru.wikipedia.org/wiki/Limits.h
Потом есть https://ru.wikipedia.org/wiki/Stdint.h
Если я тебя правильно понял.
4294967295
https://github.com/NicoHood/HID
На рулях и геймпадах это специальные драйвера. Если совсем кастомно, то надо делать hid-дескриптор.
>Здесь можно задать вопросы про Arduino и попробовать пересеcть на STM
C ардуино правильнее будет пересесть не на стм, а на малинку. Можно сразу писать на питоне или джаваскрипте.
Можно и мейнфрейм.
Добавь в программу чтобы не только кнопки, но и просто так по мере выполнения она срала в порт сообщениями. Если сообщений нет - значит что-то с портом. Если будут - ищи где они заканчиваются
Можно еще xpadder бесплатный надыбать, там вроде можно что угодно на что угодно переназначать
> чтоб в играх можно было выбирать кнопки со своим названием (типа MyButton228)
А ты уверен, что игры будут поддерживать это? Винда вообще не знает кнопок более чем стандартная раскладка клавы и мышь с 5 кнопками
>>35733
Для стм8 из бесплатных Си-компиляторов с неограниченной по времени лицензией есть только иар и космик с ограничением на размер кода 8 кб. То есть по сути стм8 может заменить разве-что ат-тиньки и слабые ат-меги с аналогичным размером памяти. Те же ат-меги, которые стоят в ардуино уно и леонардо имеют намного больший размер флеша и говорить о том, что стм8 с объемом программ 8 кб их заменит будет только полный долбоёб, которому все в жопу насрали.
>стм8 с объемом программ 8 кб
Но есть же камни и со 128кБ флеша?! Ты совсем ебобо? У космика продляется лицуха.
>>стм8 с объемом программ 8 кб
>Но есть же камни и со 128кБ флеша?! Ты совсем ебобо?
Но из этих 128 кб нет смысла использовать больше 8 кб, потому что бесконечная по времени лицензия (у космика, иар) только на 8 кб флеша.
>У космика продляется лицуха.
Нет гарантии, что лицензию всегда можно будет продлить и ни один разраб не пойдет на такие риски. Космик вполне может поменять свою лицензионную политику и пустить эту версию компилятора только за деньги через год, а может через два, кто знает. Ты разрабатываешь какое-то устройство для заказчика на мк серии стм8 и пишешь проги на все 128 кб памяти. Уже разработал, устройство стали выпускать и продавать и тут через год заказчик просит изменить прогу. А космик внезапно больше не продлевает лицензию и вообще сделал этот компилятор платным. И вот в таком случае ты жестко пососешь, потому что тебе или придется покупать платный компилятор за несколько штук баксов, или переделывать всю аппарату с нуля прогая только 8 кб флеша.
Но что тебе мешает купить на торренте? И это помимо свободного SDCC.
Ладно бы ты писал про то что gcc это удобно и если им ограничиться, то не придется разбираться с кучей флагов в разных компиляторах, это еще можно было бы понять.
>несколько штук баксов
>заказчик
>стали выпускать и продавать
Ты уже определись, радиолюбитель ты или "разраб" из ООО "Рога и копыта" или из конторы посерьезнее?
Уверен, ибо на рулях и геймпадах кнопки имеют название вроде JoyButton1. Примерно этого же добиваюсь и я
Посмотри USB HID descriptor для джойстика, можешь еще для клавиатуры. Нет там никаких названий для отдельных клавиш, только их коды.
>Ты уже определись, радиолюбитель ты или "разраб" из ООО "Рога и копыта" или из конторы посерьезнее?
К сожалению - худший вариант из этих трех - "разраб" из ООО "Рога и копыта".
Стать радиолюбителем мешает отсутсвие альтернативного источника доходов, а устроиться в контору посерьезнее - отсутствие диплома топ-вуза и скиллов.
спасибо, мне кажется у меня где-то косяк в коде , будем думать
>SDCC
Погуглил немного про это говно.
Там ебаться надо и оно работает через жопу. Нужно сначала разобраться с доками на этот компилятор, написать make file, потом в блокноте написать прогу, далее через командную строку ее скомпилировать, пиздец короче.
А мне надо как в нормальных инструментах разработчика - написал программу в IDE, нажал кнопочку там же кнопочку "Build" и оно выдает тебе готовый hex.file для прошивки.
На али смотрю, там минимум от 0.1л/мин, и они пластиковые и до 60 градусов, а мне был около сотни чтоб держал и расход с 0.01 л/мин считал бы...
Ну может и кран-регулятор с моторчиком, чтобы такие мелкие расходы регулировать.
Ты ебло
>а мне был около сотни чтоб держал и расход с 0.01 л/мин
Ультразвуковые для теплосетей. Не, у ентих 25л/час
Нахуя нужен безусловный переход (ещё и абсолютный) на следующую команду? Или я в глаза долблюсь?
там от 0.5 л/мин, очень грубый.
Ну и что ты мне показал?
0х17С - адрес команды на которую совершается безусловный переход
0х178 - адрес команды безусловного перехода, которая занимает 4 байта, следующая за ним команда как раз 0х17С
Нахуя нужен безусловный переход не следующую команду?
0х178: jmp 0x17C #эта команда занимает 4 байта
0x17C: push хуюш
Это все равно что
0х178: nop
0x17A: nop
0x17C push траливали
Что за ерунду ты показываешь? Может лучше посмотришь что дает gcc -S -fverbose-asm ?
Каким детям
Чем тебе lss файл не нравится?
Инб4: сам пиши
Опять ты со своей смешной ракетой. Да, стоит попробовать написать самому, хотя бы существующий код изменить.
Ты в курсе, что к сырым данным нужна еще компенсационная формула с калибровочными константами? Эти константы в любом случае придется считать из датчика и записать отдельно в память. А еще у самого датчика есть настройки, какое значение параметров osrs_p и filter собираешься использовать?
Откинь несущественную часть, используй только целую. Всё.
Только блять, не советуйте программирование на ассемблере, я уже заебался реверсить проги и разгребать кучи ассеблеровского кода. И не советуйте пж книги для совершенных даунов как помигать светодиодом
Если ты вкатываешься в новую для себя тему, то ты автоматически совершенный даун и твой удел - мигать светодиодом.
С этого и начинай.
Выше спрашивал про краны и счетчики на низкие расходы, так вот ничего нету. Нет в продаже регулирующих кранов вообще, только шаровые с хуевым разрешением или клапаны, а счетчики вообще только очень грубые...
Начал гуглить, а там пишут такое: >При обращении к аппаратному последовательному порту нужно использовать класс Serial1, вместо Serial, как в других Ардуино-платах.
Кроме этого, плата изначально определялась как LilyPad, а я в настройках выбирал micro.
Что делать теперь с ней? Это я ее ушатал или китайцы виноваты?
Или микро бля, не помню уже, жопа горит. Может получится через другую ардуину прошить? Я уже так делал, но у этой заразы после 10-го пина сразу идет 14, как там подключать, может кто подскажет?
https://schou.dk/linux/arduino/isp/
Только в твоем случае надо либо такую же ардуину использовать, либо левелшифтер, если isp-arduino будет на пять вольт
Еще можно через raspberry прошить по SPI. Это отлично работает, но требует предварительных плясок. У меня есть проект, который это делает, если сам разберешься - кину ссылку.
Да
Ты как-то странно захуярил функцию expRunningХуюнинг не включив тело в фигурные скобки, нигде не вызвав ее и хочешь чего-то чтоб тебе напечатало? Как оно у тебя скомпилировалось то?
Стоит кварц на 10 МГц.
Нужно получить меандр максимальной частоты на выводе порта.
Написал говногод
loop:
sbi portb, pb0
nop
cbi portb, pb0
rjmp loop
В итоге получилось что-то в районе 1.4 МГц но амплитуда 400 мВ.
Собственно какого хуя? Где мои 5 вольт?
Где обосрался, как фиксить, как поднять частоту хотя бы до 3 МГц?
во фьюзах поставь clock output on PORTD2
луп делаешь пустым
http://eleccelerator.com/fusecalc/fusecalc.php?chip=attiny2313
и посмотри-ка у тебя луп за 7 тактов пробегает
loop: sbi portb, pb0 ; 2 такта
nop ; 1 такт
cbi portb, pb0; 2 такта
rjmp loop ; 2 такта
частота процессора 10МГц , 10МГц/7 = 1.4285...
чем амплитуду мерил? что на ноге снаружи контроллера висит?
Самый быстрый вариант прогрммно мне кажется такой
ldi r16, 0x01
ldi r17, 0x00
Loop:
out portb, r16; 1 такт
out portb, r17; 1 такт
rjmp loop; 2 такта
Итого 4 такта т е 2.5Мгц
Можно конечно ещё тупо забить всю флешку
out portb, r16; 1 такт
out portb, r17; 1 такт
out portb, r16; 1 такт
out portb, r17; 1 такт
out portb, r16; 1 такт
out portb, r17; 1 такт
... и тд до конца флешки
И в конце джамп на начало
Получится довольно близко к 5МГц
> clock output on PORTD2
Поставил. Да 10 МГц есть, но форма далека от меандра. Но может и мой RIGOL DS1052E не вывозит.
>>37910
Вообще пофиг. Просто нужен меандр высокой частоты.
>>37911
> чем амплитуду мерил? что на ноге снаружи контроллера висит?
DS1052E на ноге резистор 6.8К на плюс. Амплитуда была некорректной из-за делителя на щупе.
>>37914
Да, что-то посчитать такты ума не хватило. Действительно частота повысилась.
Последний пик - это луп который я написал тебе?
Хотя да все сходится, один такт держит, три такта отдыхает
На первых пиках прям видно что где-то емкость заряжается
А щуп у тебя настроен? Там есть подстроечный конденсатор или резистор не ебу который выравнивает фронты вроде
NewFile1.png
NewFile0.png
~10 МГц это выход тактовой частоты.
NewFile2.png
2,5 МГц это
ldi r16, 0x01
ldi r17, 0x00
Loop:
out portb, r16; 1 такт
out portb, r17; 1 такт
rjmp loop; 2 такта
Емкостей нет. Все собрано на беспаечной плате.
Скорее всего осциллограф дерьмовенький.
Настройка требуется только при включенном делителе на 10.
Встроенный низкочастотный генератор он показывает идеально ровный меандр.
Бля тоже хочу такой осцил который все за тебя померил картинку на двач отправил
А у меня ссаный с1-49 за косарь и частоту я меряю по эллипсу с генератором DDS
Зависть
Самый обычный цифровой показометр DS1052E у которого уже надо энкодеры менять, постоянно сам включает зум. Вот при 10 МГц уже меандр показать не может хоть заявлено 50 МГц.
У аналогового осциллографа есть свои преимущества.
Вот такая
У этих вафель же Контакты - длинные параллельные пластины. И если у тебя PA0 и PD3 на землю прибиты, то это заебись какой конденсатор...
Попробуй PA0 и PD3 перевести в highZ состояние. Если результата не будет, то собери навесным монтажем, тип просто питание кинь на камень и аккуратно ткни щупом в пд2. Если и это не поможет то походу осцил не вывозит в чем я пиздец как сомневаюсь
До 3, но этого хватает чтоб мерить по фигурам лиссажу до 12-15 (ловишь картинку стабильную и считаешь)
SFG71003 когда в чипе работал взял по закупке за 3к
Это уже в КИП тред надо)
>Вот при 10 МГц уже меандр показать не может хоть заявлено 50 МГц.
Ты знаешь какой у меандра спектр? Пропусти этот меандр через RC-цепочку с частотой среза 50 МГц, почти то же самое увидишь.
>У аналогового осциллографа есть свои преимущества.
На аналоговом осциллографе с полосой пропускания (по уровню 1/sqrt(2)) тоже самое увидишь, что и на этом риголе.
АНАЛОГОВЫЙ ОСЦИЛЛОГРАФ ПОКАЗЫВАЕТ ДУШЕВНУЮ ТЁПЛУЮ ЛАМПОВУЮ КАРТИНКУ А БЕЗДУШНЫЕ ЦИФРОВЫЕ ЭТО ВСЕ ДЕГРАДАЦИЯ И АРДУИНО ВАША ТОЖЕ ЦИФРОВАЯ ДЕГРОДАЦИЯ ТОЛЬКО КТ315
2014 год но вообще да они осень дохуя накидывают
Само то для ардуинотреда. Говно хоть с блёстками будет и кусочками хрустящих плат?
Не забудь функцию моргания ануса - мастхэв.
>DS18B20
>Диапазон измеряемых температур: −55…+125 °C
>Точность: ±0,5°C
Так, а для духовки термистор какой брать? PTC/NTC? 10K/100K?
Программировать буду на ассемблере, так как что-то уже знаю, а в Си полный ноль.
отчитался
Нужно трансформаторное масло, оно и по констистенции подходит и не коротит. Покупаешь моторчик и бак, мечатаешь анус так, чтобы трубочка моторчика хорошо подходила и сток обратно в бак. Запускаешь моторчик, моргаешь светодиодами. Всё.
Берешь и читаешь руководство по термисторам. Выбираешь с диапазоном в +20 градусов от максимума твоей духовки. Всё.
Молодец, держи няшу. Можешь начать с моргания или спектроанализатора или лучше с анализатора громкости. Там и АЦП, и биты-байты, и светодиоды.
Такие - говно, уж лучше стрелочные сделать. Шаговый на минуты, на часы и на секунды.
Так меня экспертное (тм) мнение по конкретно поставленному вопросу интересует, зачем я, по-твоему, в этот итт залез?
>Шаговый на минуты, на часы и на секунды.
Эту парашу и школьник сделает, лучше уж часы-пропеллер.
Или из трубки осциллографа.
>Решил я значит в программирование микроконтроллеров на си/плюсах.
> Плюсы я знаю прям очень хорошо (далеко не на уровне калькулятора).
Так если ты синьор или мидлл -С++ то на звою зарплату ты можешь нанять несколько мк-холопов за 30-40к, которые будут за тебя программировать микроконтроллеры.
>попробовать пересеcть на STM
Не знаю насчет STM, а вот CubeMX по сравнению с Ардуино даже проще будет на порядок. Проставил нужные галочки, выбрал нужные опции и на уровне драйверов и регистров проект полностью генерится, остается только логику программы написать. В то время, как в ардуино нужно еще погуглить, какие либы и функции подключать и как их "слепить" вместе.
Я бы даже сказал, что с появлением кубика проганье мк официально не отличается от проганья программ для пк. Подрубил нужные либы и драйвера, и пишеш непосредственно логику программы. Больше не нужно читать дурацкие даташиты, регистры и биты, как диды в 90-х.
Первые осциллографы были механические и у них двигалась стрелка, совсем ньюфаг чтоли?
> как в ардуино нужно еще погуглить, какие либы и функции подключать и как их "слепить" вместе.
Не понял, в чем проблема? С либами может быть только одна проблема - они все вмести не лезут в память, тогда приходится искать менее жирные
Где-то видел фотку 750ti с КТ и бумажными кондерами. Мож принесёт кто?
Они все такие.
Но эффективные с двумя ступенями, типа злого шокера и ему подобных, т.е. с разрядом основного боевого капа на поджигающую дугу.
не ну я то думал что они все на траснформаторах импульсных
Ха! Я сегодня формировал заказ, какие же это муки выбора! То ли взять 4 лидара по 8.68$, то ли взять звуковые усилители, то ли взять ещё этих вкусных управляемых светодиодов.
А у тебя просто мало опыта и навык RTFM ещё не прокачан.
> А у тебя просто мало опыта
Ну почему же. Я вот, например, сознательно себя ограничиваю из-за маленькой жилплощади. Алсо, доставка почти в два бакса при ордере $15 - это больно.
>>39143
Щас поставит фонарик, камеру на 3 мегапикселя, пиксельный экранчик по центру и прикрутит дополненную реальность на ассемблере нет
>4 лидара
Это сейчас так TOF-сенсоры ардуинщики обзывают или китайцы реально LIDAR за 9 баксов заебенили? Чота слабо верится, там только лазеры от 25 баксов начинаются, не говоря уже о ПЛИСах и прочих DSP для обработки
В недалеком будущем планирую писать дипломную работу по стедикаму, планирую его собрать и показать на дипломе. Специальность управление в технических системах, системы автоматического регулирования, обратная связь и т.п.
Сейчас узнал что у стедикамов есть какой то особый механизм позволяющий вращаться осям без перекручивания проводов, то есть, во время вращения провод не остается на месте, а вращается вместе с телом вращения, при этом не накручиваясь на ось, и не скручиваясь в спираль. Я так понял этот механизм простая втулка, или нет? Я так понял что моторы там стоят такие же какие используются в авиамоделировании, 3 фазные безколлекторные моторы. Неужели данные ебы могут без редуктора поднять телефон, который находясь на удалении от мотора создает неплохой такой рычаг, да и как такой ебой так плавно управлять? У меня есть один простенький безколлекторный мотор, так он очень резко стартует, прямо бешеный. Я до сегодняшнего дня планировал на шаговых двигателях сделать, но щас посмотрел начинку современных стедикамов и удивился.
>В недалеком будущем планирую
>Неужели
>как такой ебой так плавно управлять?
Вангую, что в недалеком будующем ты пойдешь защищать самоги. Лел.
Значит гугли про BLDC-движки, режимы их работы, удержание, вращение на малых оборотах, определение положения ротора с помощью датчиков Холла/sensorless, векторное управление и дохуя прочего. Там, сука, череп треснет.
Не успеешь.
Стори такая: я расставил элементы моей схемы, количество которых оказалось внушительное 10 кнопок, 2 спикера, реостат и ещё неизвестно сколько светодиодов, в нужном мне порядке на макетной плате. Впереди светит ещё кодинг, но это не суть. Мне необходимо соединить все эти элементы проводками, но опыт подсказывает, что с таким количеством элементов выйдет целая путаница из этих проводов, за соединением каждого из которых надо следить, при том, что из за их длины они могут за что-то зацепиться, а идея устройства заключает в себе портативность и частое нажатие на кнопки И не думаю, что буду в ближайшее время переносить его на печатную плату, потому что увы, я не умею этого делать, да и денег нет на всё необходимое. И я понял, что в некоторых частях схемы было бы крайне удобно использовать провода длиной до 3х см, а в идеале вообще что-то навроде перемычек, ибо в некоторых случаях требуется замкнуть буквально соседние дорожки. Была даже идея использовать скобы от степлера, но сомневаюсь в качестве их материала для проводимости маленьких токов. Что скажете, господа?
О, значит, такие существуют. С Алиэкспресса заказывать, конечно, не буду, потому что долго ждать, буду подешевле искать у себя в ДС. Спасибо, анонче!
Да, втулка. Точнее три и более втулки и контакты, называется кондуктор или как-то ещё, забыл название второе.
BLDC в режиме удержания умеют вести себя как шарнир-мотор, но жрут ОЧЕ много.
Берешь обычные, сворачиваешь в колесико и скотчем (с BUCKU) крепишь колесико промеж себя. Вуаля!
В ДС по любому найдёшь, если уж они и в моей мухосрани продаются.
О, впервые ответили без критики
Держатель камеры не вращается на 360 градусов. Не нужны тебе там кондукторы. Делай все на проводах с запасом.
Может он просто рукожоп? Ну и новые стоят от 20$ до 250$, купи новые тогда. Я лично рискну.
а я видел которые вращаются, представляешь, можно будет сделать такой что бы я вокруг камеры бегал, а она была как бы в морожена в пространство
Нет, они бу - может не повезти.
Вариант, но теряется гармония из за паразитной индукции. Но возможно так и сделаю, спасибо!
Можно и троллебас на пуринторе на сказях под никсами сделать, но цель какова данного мероприятия?
А я четыре по углам машины поставлю и буду всю обстановку на 1-5м вокруг знать. Парковаться удобнее.
Жопа. Придется еще искать.
Dip28 пиздец говнише, я ебал. Хуй просверлишь и хуй вставить, впредь буду брать в qfp
Зачем ты влепил по питанию один электролит? Ты вот писал что учишся на около-радиоэлектронной специальности. Так спросил бы у преподов, хотя бы как организовывать батарейное питание микроконтроллера. И зачем вообще по питанию ставить конденсаторы.
>Хуй просверлишь
Тебе писали что пятаки нужно делать шире.
Я еще не дорос до уровня разработки печатных плат. Это же надо рассчитать токи, толщину дорожек и зазоров, электромагнитные совместимости дорожек и полигонов, в общем rocket science настоящий. А у меня нет времени читать книги и учится этому, это всего лишь хобби, помимо основной работы веб-макакой.
Все свои пет-проекты я делаю либо на макетках, либо вставляю готовые шилды в ардуино.
мимо ардуинщик-мигальщик...
> Тебе писали что пятаки нужно делать шире
В диптрейсе для этого надо менять сами модели компонентов. К тому же я мудак и у меня вместо сверлильного станка USB мини дрель с хуевым патроном, из-за чего сверла идут в разнос
>>39711
> Это же надо рассчитать токи, толщину дорожек и зазоров, электромагнитные совместимости дорожек и полигонов
Я даже не заморачивался такими вещами. После вот пайки всего этого до меня дошло, что всё же пик 1 это был хороший вариант. А вот макетки это не про компактность
У меня такой маленький вопросик, помоги, пожалуйста, если сможешь, анон.
Так вот, учусь значит 6ой год не помню на кого, околосвязист вроде, задание у меня - подготовить проект.
В ТЗ только слова "система" и "nbiot", никаких ограничений, нужно сделать систему по деланию чего-то для чего-то и чтобы это можно было втюхать мимокроку, бизнесмутка мол, главное чтобы интернет вещей.
Так вот, где бы мне родить каких-нибудь железок и сделать вид, что так всё и задумывал, с алика не вариант, до моего села ехать будет минимум месяц, а у меня защита скоро.
В голову лезут всякие умные фермы, умные чайники и всякое такое, не обязательно делать трушно, тупа имитация работоспособной системы - всё чего я хочу.
Стоит ли покупать эту фигню для данного дела? Есть нетбук с прыщами, на который могу накатить аиргеддон. Там можно сделать то же самое? Или эта хуйня эффективнее работает сигнал мощнее, или еще чего, я хз
Аквариумная дрыгалка. Там контроль кислорожда и длительности освещения. Дрыгоног по времени или датчику.
Монтаж уровня б.
С хера у тебя кроватка в обратной стороны? Почему не дотравил? Нахера такие волосики вместо норм дорожек? Почему не отмыл?
И при этом 1% резисторы чтоб точненько все было.
> С хера у тебя кроватка в обратной стороны?
С лицевой как раз. В диптрейсе разве есть кнопка отзеркалить элемент?
> Почему не дотравил?
Текстолит был двухсторонний. С обратной стороны я медь стачивал...
> Нахера такие волосики вместо норм дорожек?
Потому что я спутал mil и mm. Ну что есть
Ты ещё и с шагом выводов намудрил
>На ютубчике собирают какие-то глушилки хотя они не глушат а атакуют, на базе ESP8266.
Собирал такое, нормально забивает сеть.
Не, ну они забивают на пакетном уровне же? А не как классические глушилки - ебашат белом шумом на уровне радиоволны, и на большой мощности. Есть ли у этой платки какое-то преимущество перед обычным вайфай свистком с аиргеддоном?
ссылку на github
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Все подключения правильные, кварц работает вроде как. Чип сдох?
Вытаскиваем, собиарем пик 2. НИКАКИЕ НАСТРОЙКИ СУКА НЕ МЕНЯЕМ, ВСЁ АБСОЛЮТНО ИДЕНТИЧНО получаем пик 3. Светодиод при этом мигает, чип работает и выполняет программу, загруженную сначала. КАКОГО БЛЯДЬ ХУЯ? ЧТО ЗА НАХУЙ? Две абсолютно идентичные конфигурации сука. Если заменить уну на просто usb-uart результат идентичный. 5 или 3.3В тоже погоды не делает, сменить плату с uno на nano тоже ничего не меняет. Вот че это за хуйня?
Так бутлоадер уже есть на чипе, причем тут MISO?
Странно, видимо с бридбордой хуйня была, сейчас всё зашилось. Переткнул как было, пошатал, всё залилось
>>40014
Ещё дополню, соединение есть, залил на чип такую программу
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("beep");
delay(500);
}
Собрал пик 2 и в мониторе порта всё есть. Я вообще в тупике, что тут может быть не так
Реле нужно 5 вольт и управление.
Так вот когда на управлении 0 вольт - оно включено. Когда на управлении VCC - оно выключено.
Но малина выдаёт 3.3 вольта на ногах и реле всегда влючено.
Если запитать реле от 3.3 вольта то в лежачем положении оно щелкает, а в других уже не может.
Как это пофиксить малой кровью? Или только на резисторах паять костыли?
Какие костыли, блядь, маня? Использование драйверов для нагрузок больше двадцати мА - это то, как ДОЛЖНА производиться разработка электроники, о чём ардуинодети постоянно забывают. Я хуею, дорогая редакция, купил реле на пять воль и жалуется, что от 3.3 не работает.
Скоро, блядь, и сами реле костылями называть начнут - а чо моя ардуина напрямую-то 220 вольт коммутировать не может?
Я жалуюсь, что оно от 5 не работает. А от 3.3 почти работает.
реквестирую самый легкий способ это запилить это вроде бы легче чем прихуярить экран и кнопки, или я ошибаюсь?
с ардуино игрался ну оч давно так что я почти нуб, но за погроммирование шарю
Ну ты можешь конечно это сделать в самом ардуиноиде, рисовать окно, прямоугольники, но если хочешь по красоте, то берешь дотнет, реакт...
Windows Forms + слушаешь серийный порт да пихаешь или толкаешь в него данные от или в ардуину
Если впадлу стдуию ставить - блокнотик, lua + iup + монитор серийного порта опять же
Если хочется как-то принтереснее - esp и сайт прям на нем, чтоб в браузере или мобиле открывать и тыркать, или на андроед генерировать приложение, типа MIT App Inventor.
Если вообще ленивая бомжарская скотина - просто в серийный порт смотришь и шлешь прям из консоли монитора ардуины ну или любой другой проги типа putty свои дефолтные настройки.
Сначала я захотел датчик температуры и влажности.
Погуглил, попал на всякие ксяоми за 1к.
Так же находил DHT{11,22}, которые стоят сотку. Узнал, что для их работы нужен arduino.
Думаю взять, чтобы сделать пока наперво датчик температуры.
Где брать arduino? На али? Там есть по 300р, а есть и по 3000. Первая цена это норм? Иногда ещё пишут arduino совместимые - это лучше не брать?
Вот приобрёл, например. А как мне в итоге его к компу подрубить, чтобы, например, я мог куда-нибудь на рабочий стол потом вытащить инфу с датчиков?
Можно ли как-то через вайфай? Или надо через провод? Т.е. arduino будет лежать рядом с компом и провод будет тянуться от него в комп?
Батя грит молодца
можно.
https://pastebin.com/6KrihZ56
я уже блять чуть не повесился, вот есть джва датчика, дым и пламя, если оба срабатывают HIGH то должно открыться реле, но какого то хуя И и ИЛИ перепутаны, вот сейчас как в 15 строчке по ссылке-реле открывается когда сработали оба датчика, когда там было И оно открывалась если хоть один из датчиков срабатывал, либо у меня деменция либо шото тут не так
все я понял, все задом наперед, над было эту дичь почитать сначала
Для ракеты ну очень ненадёжно.
>>40058
Известная проблема оказывается
https://www.youtube.com/watch?v=p7wmzAzDX-Q
Но я ссу подтягивать 3.3 вольтовые GPIO к 5 вольтам.
Показываю.
Первое - плата слева. Самоделка. Это нахлобучка на малинку с видеозахватом HDMI, эмулятором клавомышки, часами и сериалпортом.
Справа - прототип дополнения для нахлобучки: аппаратный эмулятор клавомышки USB/PS2 для особо отбитых компов, которые не понимают композитные USB. Прицеплена по SPI, чтобы не тратить паевский UART. Прошивается прямо с пая по SPI без бутлодера, пришлось пердолиться с avrdude и platformio, чтобы заработало.
TC358743
В шлейф камеры пая. Вот как оно выглядело в первой итерации.
Впечатляет навесной монтаж high-speed
аж сердце замерло, как у него терпения хватило, господи
добить 300 мм, но там можно немного и вспомогательных плат добавить на субконтроктаву или еще чего. Остается вопрос, что должно быть центром вычислений и генерации частот у пианино. Купить дешевый компьютер на авито, поставить туда какой линукс с генератором частот и подключить колонки? Или же купить какую нибудь звуковую карту которая может генерировать сигналы. Вообщем что выбрать для мозга пианино? Вот все что я перечислил выше, уже выходит около 5000 тысяч
добить 300 мм, но там можно немного и вспомогательных плат добавить на субконтроктаву или еще чего. Остается вопрос, что должно быть центром вычислений и генерации частот у пианино. Купить дешевый компьютер на авито, поставить туда какой линукс с генератором частот и подключить колонки? Или же купить какую нибудь звуковую карту которая может генерировать сигналы. Вообщем что выбрать для мозга пианино? Вот все что я перечислил выше, уже выходит около 5000 тысяч
>>таки образом из 5 плат получается 10 плат по 100 мм, это уже 300 мм
таким образом из 5 плат получается 10 плат по 100 мм, это уже 1000 мм
FIX
я вот нихуя с потоками не понял, они там на гавно похожи, эт нормально ждать считывания кнопки с учетом пользовательского делая?
Что за готовые схемы? Тиньки будут выполнять вычисления по определению скорости нажатия клавиши, ну наверняка есть аналоговые схемы которые в зависимости от скорости изменения сигнала выдают разное напряжение, но это наверное сложнее и в целом придется это делать для каждой клавиши, а тиньки должно сразу на 3 клавиши хватить, там будет простая программа которая просто будет следить за изменением сигнала. Причем вычислительных мощностей по идее должно хватить на 3 сразу, но это только на вскидку, может и на больше клавиш хватит смотря сколько там аналоговых входов.
Processing, во. Самое то для пердуины
Хочу показывать разнообразную темпу пека, темпу и влажность у меня в комнате, разнообразные данные погоды уличной и ещё кучу всякой инфы по типу сердцебиения и сколько шагов за сегодня я прошёл.
Меня сейчас больше всего интересует как такого вида экраны гуглить? Или может что-нибудь лучше подойдёт?
>то вешают на улице с показом температуры.
на ум приходит только светодиодные матрицы, но они с маленьким разрешением, как правило.
если ты хочешь где нибудь над столом повесить, то купи себе по типу пик 1, называется LCD12864. Если по красивей, то можно пик 2 и Называются "Миниатюрный IPS экран 240 х 240 на контроллере ST7789" и "240*240 IPS TFT", ну если захочешь погуглить еще как последние два пика, то гуглить надо как ips экран для arduino.
Можно сделать самому светодиодную матрицу как у Alex Gyver, пик 4 и 5.
Так же как вариант "128X64, зеленый OLED-дисплей" пик 6 и 7
>если ты хочешь где нибудь над столом повесить,
Да.
>Можно сделать самому светодиодную матрицу как у Alex Gyver, пик 4 и 5.
Вот это выглядит норм и по мне.
Вот его видяха https://youtu.be/SA9DydLz_Gg?t=154.
Используется у него MAX7219 и стоит на али недорого - 300р за 4 квадрата 8*8. Я так понимаю их можно в несколько объекдинить, чтобы показывать больше инфы.
Вот с али фотка отзыва.
https://aliexpress.ru/item/32871927644.html?spm=a2g0o.productlist.0.0.82835dfcowlTk1&algo_pvid=98eab0a4-6483-484e-b12d-ffbf8bbe0930&algo_expid=98eab0a4-6483-484e-b12d-ffbf8bbe0930-2&btsid=0b8b15f516058030632175641ebf47&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
Я бы лучше купил как на пик, стоит также, но разрешение больше
Тупо для циферок мне кажется разрешение большое и не нужно.
Тем более оно в диаметре идёт в шесть см, а значит большую часть пикселей я буду вынужден съедать для показа той же информации, чем на MAX7219, где пиксели огромные и отстоят друг от друга.
Плюс хотелось бы чтобы издали было видно, а на 6 см в диаметре я смогу различить инфу только сидя у стола.
ну так то да, издалека тяжело будет разглядеть
Братан, моё тебе почтение! Неплохой стартап, будет востребован, скорее всего.
Он самый
Я уже на оптопаре сделал.
У меня давно была мысль сделать подобный дисплей на ргб светодиодах. Сидеть 10 вечеров и запаивать 1000 смд диодов. Смущает теплоотвод на обычной (не алюминиевой) плате и реализация управления.
Есть дешевые на WS2812 https://www.aliexpress.com/item/4001296811800.html
Но там если 1 светодиод умирает/сбоит, после него данные не идут на остальные. А ещё скорость обновления будет низкая из-за количества.
Да ну, хуета.
1) Гибкая, тонкая плата. Хуевый теплоотвод (намного хуже чем даже у текстолитовой двухсторонки), хуевая ремонтопригодность, хуевая надежность, гемор с монтажом (клеить к плоскости и надеяться что не отвалится и не пойдет полной).
2) Хз какой ток выставлен.
3) Лишь три размера, а мне желателен кастомный.
царап 2R2
>Гибкая, тонкая плата. Хуевый теплоотвод (намного хуже чем даже у текстолитовой двухсторонки), хуевая ремонтопригодность, хуевая надежность, гемор с монтажом (клеить к плоскости и надеяться что не отвалится и не пойдет полной).
Купи ленту
@
ЕБОШЬ ЭКРАН!
@
Но ты не можешь
@
Ты еблан
Серьёзно, ты не мог додуматься до того, чтобы использовать эти платы-матрицы как конструктор?
Суть такова что я собираю проект для thingspeak, общаюсь с ним через esp8266 тупо шля в него AT команды. Так вот, с записью проблем нет, а вот когда я запрашиваю данные с сервера, esp выплевывает в порт например такое:
+IPD,61:created_at,entry_id,field2
2020-11-19 12:13:58 UTC,2544,11.2
Главный вопрос в том, как это обработать, тут больше 64 символов. Я уже много разных вариантов перебрал, такое ощущение что Serial.read() забивает свой буфер, затем я его очищаю (или читаю куда нибудь), пытаюсь поймать в буфер то что осталось, но за время чтения из буфера оставшиеся символы пролетают и буфером не ловятся.
Скорость 115200. Пробовал ловить посимвольно, один хрен не успеваю. Можно увеличить размер буфера в библиотеке Serial, но это неспортивно. Я так понимаю вопрос именно к скорости работы serial и нужно написать конкретно этот кусок кода с прямым обращением к регистрам uart, но вдруг можно без этого
Если ты развел свою плату (мы же обсуждаем самодельную плату?), то логично что микроконтроллер выковыряешь не из готовой ардуины, а купишь новый и пустой. Разве не так? А если микроконтроллер новый и хочешь впоследствии использовать ардуиновский бутлоадер, то придется его вначале прошить его программатором. И тут возникает вопрос об осмысленности использования загрузчика вообще. По моему загрузчик в данном случае бесполезен.
> А если микроконтроллер новый и хочешь впоследствии использовать ардуиновский бутлоадер, то придется его вначале прошить его программатором. И тут возникает вопрос об осмысленности использования загрузчика вообще. По моему загрузчик в данном случае бесполезен.
В качестве программатора для нового чипа идет... arduino as isp
Отлично. Если ты сделал программатор из ардуины, допустим перешив в USBasp, то зачем после этого пользоваться бутлоадером?
Чтоб использовать два вывода для программирования вместо трех, которые пойдут на периферию?
Да хоть все три под периферию используй, бутлоадер тут ни к чему.
> называется кондуктор или как-то ещё, забыл название второе
На английском можно гуглить slip ring.
Картинка почему-то отвалилась
Хуйню купил и эпично соснул, поэтому пиздуй к ПЛИСоебам и они расскажут как по RMII принимать-слать фреймы.
Пердуинка точно такое не потянет, так как надо выдавать-читать сразу по 2 бита с тактовой частотой 50МГц.
Уже лучше. Почитай Errata и перехочешь + на мой взгляд это для эстетов-некрофилов, ибо оно умеет в только одну скорость - 10 мегабит/с. 100мегабит локалочку он не держит + пердолинг с программным стеком tcp/ip на твоей пердуинке.
Возьми лучше что-то из серии Wiznet W5500 - тут хоть не надо пердолиться со своим стеком tcp/ip и если захочешь пердлинга - к твоим услугам режим работы macraw.
Да мне надо только пинги посылать и ответы получать, ничего такого жрущего сеть не планируется. 10 мбит я думаю будет норм. Или нет?
>только пинги посылать и ответы получать
И все? Тогда вникай - после того как запишешь в Wiznet W5500 его сетевые параметры (мак, его ip адрес и шлюза по умолчанию) он уже начнет отвечать на пинги даже если выключишь или повесишь свою пердуинку (не отключая питание Wiznet-a).
Ну мне эти пинги конечно обрабатывать надо будет, но это уже не будет связано с сетью
Вот такой норм?
Не понял. Если про классический ping - ответы на него дает Wiznet после настройки.
Хотя возможно не понял задачи - кто кого пинговать будет?
Невесть откуда пинаешь визнет и смотришь живой он или нет или же с самого визнета куда-то слать пинг и смотреть ответило ли оно?
Для первого случая нужна только настройка визнета и все.
Для второго случая - чуть сложнее, так как сам будешь готовить фрймик с пингом и читать обратный ответ или если ленивая задница - попробуй сбоку зайти, пытаясь подключиться на закрытый порт и тогда смотришь состояние сокета - закрыт по таймауту (удаленная сторона скончалась) или сразу отлуп (порт закрыт - удаленная сторона живая).
У меня наверное второй случай. По wifi всё уже давно работает как надо, теперь хочу по ethernet попробовать.
Да ето так :3
> каменный топор
Таки да, керамитовый топор с силовым полем. А если добавить PoE, то это уже будет Горнило.
Бамп
Во-первых, никак (без костылей)
Во-вторых, если ты хочешь сделать отводы от ног схемы на бредборде, то ты делашь что-то НЕПРАВИЛЬНО.
Пробовал с датчиком звука(по звуку шагов), но там чувствительность никакая либо постоянно + на выходе, либо только на резкие хлопки реакция. Сейчас пытаюсь с ИК светодиодом и приемником(чтобы реагировало когда проходишь между ними), но пока безуспешно.
https://www.amazon.nl/Starterkit-ArduinoIDE-Upgraded-Microcontroller-accessoires/dp/B074GN4HCX — хороший набор для старта?
> если ты хочешь сделать отводы от ног схемы на бредборде, то ты делашь что-то НЕПРАВИЛЬНО
Что ты сказать-то хотел?
У оперативной нет, как и в компе, только у EEPROM или флеш
Спасибо блеать, я это узнал еще тогда за первые 30сек гугления
https://www.pangodream.es/breadboard-adapter-for-esp32-dev-board
но у него плата на 30 контактов
заказал еще 2 мини бредборда, надеюсь, хоть у них пазы друг к другу подойдут
проорал с гения по ссылке, он вместо того чтоб напечатать доску напечатал коробку для половинок досок, аплодирую стоя
> шаманские коэффиценты нужны?
На НДС умножь и НДФЛ, это будет запасом по току, лол. Например: потребляемый общий ток от 1А до 2А, значит чтобы был запас надо умножить на 1,2. Источник должен выдерживать от 1,2А до 2,4А. Силь ву пле, ёпта.
Я могу в этой вашей ардуине сформировать два разных сигнала ШИМ одним счётчиком?
Хоть я и не ардуинщик и вообще мимо проходил, но мне видится что вполне можно сформировать два сигнала с разной скважностью, если ты конечно про AVR. Частоты разумеется будут совпадать.
https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/wiring_analog.c#L96
Вот. Обрати внимание на длинный кейс чуть ниже. Как видно, там есть и TIMERxA и TIMERxB.
Как?
Я придумал только пикрелейтед. В теории когда пин будет в INPUT то ни один диод не должен светиться. Хотя чуть чуть может.
А как правильно?
А, точно.
В теории практика не расходится с теорией. А на самом деле на пине в режиме входа большое сопротивление и хрен знает, какой потенциал окажется. Но если леды на напряжение значительно больше, чем половина напряжения питания, то скорее всего будет работать
Чтобы падение напряжения было меньше напряжения свечения светодиодов
Ну все, дианон по печатным платам, подключаюсь значит по HDMI в ебаную малину, а оттуда червь-анимешник на меня смотрит через камеру
Скажи ему в консоль, что ты Дух-Машины. Пускай обосрется.
Лол, Шерлок. 2015 год на фотке. Два ковра. Аж воспоминания нахлынули. Охуеть как за пять лет все перевернулось с ног на голову. Вообще не думал тогда, что буду заниматься железом. Паял только всякие мигалки диодами на ардуине и провода от наушников.
Именно вот эта конструкция - первая. Ессно там много косяков. Щас выглядит как пикрил. Заменили два твердотельных реле на более дешевые и биполярные аналоги, заменили часы, батарейку на ионистор, добавили контроллер вентилятора и пофиксили уровни сигнала i2c в hdmi. Еще наебались с полярностью usb-ttl конвертера.
Не хочу, чтобы меня считали каким-то дохуя суперменом, поэтому признаюсь, что над проектом работает два человека. Я придумал первоначальный дизайн и написал весь софт и прошивки. Моя оригинальная штука состояла из покупных девборд и была сделана в виде несущей однослойной платы. Потом к проекту подключился мой товарищ и мы довели конструкцию до ума. Я программист и немного железячник, а он железячник и немного программист.
Вообще, между моим первым дизайном и этой вот платой была идея сделать модульный девайс в стойку, но потом поняли, что порвем жопы и решили сделать что-то более простое и маленькое, а дальше уже наращивать. Это конструкцию мы называем v3 (исторически сложилась), v4 будет сделана на основе compute module 4 и stm35 в виде сопроцессора, будем заниматься этим летом.
Формально эта штука все еще может находиться в этом треде, потому что ардуина из проекта никуда не делась. Раньше на ней был сделан эмулятор клавомышки, пока я не раскурил эмуляцию USB прямо с пая. Но выяснилось, что некоторые уебанные древние платы хотят очень тупое устройство и не переваривают паевские композиты. Плюс, их не переваривает маковский uefi, а его поддержка тоже нужна. Поэтому под пикрил 1 мы сделали пикрил 2: это специализированная ардуина. На ней обычный 32u4, но нет питания по USB и USB DATA коммутируются с помощью специального чипика, чтобы можно было эмулировать действие "вытащить-вставить". Плата общается с паем по SPI, чтобы не занимать UART, и это блядь отдельная песня была, я десять раз проклял писателей туториалов для ардуин, потому что никто нихуя не знает, как правильно организовать двустороннюю передачу данных в режиме, когда ардуина является слейвом. При этом нужно сделать самосинхронизирующийся протокол с контролем целостности, разумеется. В итоге все пришлось изобретать самому. Если интересно, распишу про SPI отдельно, ибо уж очень вкусный вариант для коммуникации.
Именно вот эта конструкция - первая. Ессно там много косяков. Щас выглядит как пикрил. Заменили два твердотельных реле на более дешевые и биполярные аналоги, заменили часы, батарейку на ионистор, добавили контроллер вентилятора и пофиксили уровни сигнала i2c в hdmi. Еще наебались с полярностью usb-ttl конвертера.
Не хочу, чтобы меня считали каким-то дохуя суперменом, поэтому признаюсь, что над проектом работает два человека. Я придумал первоначальный дизайн и написал весь софт и прошивки. Моя оригинальная штука состояла из покупных девборд и была сделана в виде несущей однослойной платы. Потом к проекту подключился мой товарищ и мы довели конструкцию до ума. Я программист и немного железячник, а он железячник и немного программист.
Вообще, между моим первым дизайном и этой вот платой была идея сделать модульный девайс в стойку, но потом поняли, что порвем жопы и решили сделать что-то более простое и маленькое, а дальше уже наращивать. Это конструкцию мы называем v3 (исторически сложилась), v4 будет сделана на основе compute module 4 и stm35 в виде сопроцессора, будем заниматься этим летом.
Формально эта штука все еще может находиться в этом треде, потому что ардуина из проекта никуда не делась. Раньше на ней был сделан эмулятор клавомышки, пока я не раскурил эмуляцию USB прямо с пая. Но выяснилось, что некоторые уебанные древние платы хотят очень тупое устройство и не переваривают паевские композиты. Плюс, их не переваривает маковский uefi, а его поддержка тоже нужна. Поэтому под пикрил 1 мы сделали пикрил 2: это специализированная ардуина. На ней обычный 32u4, но нет питания по USB и USB DATA коммутируются с помощью специального чипика, чтобы можно было эмулировать действие "вытащить-вставить". Плата общается с паем по SPI, чтобы не занимать UART, и это блядь отдельная песня была, я десять раз проклял писателей туториалов для ардуин, потому что никто нихуя не знает, как правильно организовать двустороннюю передачу данных в режиме, когда ардуина является слейвом. При этом нужно сделать самосинхронизирующийся протокол с контролем целостности, разумеется. В итоге все пришлось изобретать самому. Если интересно, распишу про SPI отдельно, ибо уж очень вкусный вариант для коммуникации.
stm32, очепятался, дурик
Нахуя все это? Да, это аппаратный ремоте десктоп, кто целевая аудитория, что вами движет? Вы выкладываете это на гите, хуите, но зачем? Может это я уже морально деформирован и делаю все (проектирую хардваре) исключительно за бабки и никогда ничего не выкладывал в общий доступ. Чисто вот такой интерес, если вы это будете продавать за разумные деньги (не лоукост и не оверпрайс ебанутый, не знаю сколько это стоит но я бы дал за это около 100$ при учете того что мне оно не нужно) то вопрос снимается, но если это опенсорс, зачем кормить своим трудом уебанов, которые готовы спускать деньги на ненужную хуйню, а заплатить за авторские проекты жлобятся.
Железка закрытая, софт открытый. На железку есть огромный спрос в среде мелких гаражных датацентров (очень популярная штука в забугорье) и среди разработчиков кастомных серверов. Например, на райзенах IPMI не бывает в принципе, пушто это игровые процы, а сервера на них делать весьма вкусно. Плюс это нужно майнерам, плюс любителям погородить серверные стойки у себя дома (https://www.reddit.com/r/homelab).
Опенсорсность софта помогает раскрутке и формированию сообщества, чтобы люди приходили в первую очередь к нам, а не клиентам. Кроме того, люди донатят на опенсорс, и весьма неплохо. Мне хватило, чтобы уволиться с работы и начать заниматься только этим, плюс оплачивать разработку железа.
Вообще, раскрутка опенсорса до такого состояния это отдельный рокетсайнс. Просто я уже поднаторел.
s/а не клиентам/а не гипотетическим конкурентам/g
Вот, например, тетка делает веб-управлялку для 3D-печати. Опенсорс. Собирает ~$6500 только патреоном: https://www.patreon.com/foosel
А ведь дохрена народу донатят напрямую в пейпал и другие сервисы.
А вот как раз сто баксов и будет, плюс цена пая. Это самая базовая версия, со свистелками 150 + пай. Это может показаться дорогим, но надо понимать, что ближайший конкурент от lantronix будет стоит 400-500 баксов. Так что выгода очевидно. При этом опенсорс будет преимуществом, так как коммерческие квм закрытые и софт говно, а тем, кому надо много квм, хочется их кастомизировать.
По невнимательности подал на мегу168 питание наоборот, несколько раз подряд. При этом происходит КЗ, стабилизатор ограничивает ток около 1.3А. Мега мигом адово раскаляется. Не сразу понял, в чем косяк, с чего же она сдохла, потому раз пять прожарил как следует. Затем дотупил и исправил косяк. И что вы думаете? Она живая! Работает дальше как нехуй. Охуеть, блядь!
Держу :3
Думаю ресурс у нее все равно существенно укоротился. А защитили ее наверное супрессоры для защиты пинов от статики
Это, кстати, больная тема. Все ams1117 кренки на али фейковые, по даташиту должен ограничиваться ток <1.5A и срабатывать тепловая защита (причем, именно thermal shutdown, т.е. полное отключение выхода при достижении критической температуры, а не тупо снижение выдаваемого тока с поддержанием 170С на кристалле). Вместо этого при кз или перегрузке пропускают сколько угодно ампер и пробивают вход на выход, нет никаких защит. Да и номинальный 1А даже при 1.5В разнице вход-выход они вряд ли долго выдержат. Там явно что какой-то мелкий, максимально упрощенный кристалл. Забавно, что в ЧиД продается такое же говно, только на али оно по 50-80 руб за 50 шт, а в ЧиД что-то в районе 20 руб/шт. Оригинал спалить почти нереально, защиты отрабатывают стабильно. Но нынче найти и купить оригинал - заебешься. С 78хх - та же беда, сплошные фейки без защит, мрущие от любого чиха.
>>41890
Ну, явно что диоды защитные отработали. 1.3А постоянки - нихуевая такая "статика". Кстати, в даташите, вроде бы, в явном виде не указано, что по пинам питания стоят защитные диоды. Но "эксперимент" показал, что они там есть.
Что посоветуешь, если с 1117 так хреново? Ldo или импульсный, если покупать на алике. Например, ST1S10?
Помогач, у меня встал вопрос. Хочу эту ёбу переделать под контроль ардуинкой. Взял короче вывел провода питания, думал дёргать их дуиной, но потом вспомнил что ёба пошлёт меня нахуй потому что у неё там свои правила и что бы я не делал, она через пару часов сама отключается. Ну и плюс чтобы её включить нужно кнопку нажать. Короче подключил 5 вольт с ардуинки напрямую на ультразвук - искрило и не работало (ардуинка в это время была в комп воткнута я такими мувами имел шанс спалить юсб?) короче куда мне припаяться чтобы нормально ардуинкой контролить?
увлажнитель воздуха если кто не понял
Такой же аналог, как твой хуй - аналог хуя ЧВ.
>>42161
На али полный треш нынче. Даже всякая хуйня с ценой оригинала в один цент фейковая. Самые простые транзисторы, диоды, оу lm358 - фуфло. Какого-то хуя везде куча положительных отзывов (народ как дауны радуются любым полученным деталькам, никто не проверяет), но стоит заморочиться проверить банальные вещи, типа forward characteristic у диодов, напряжение пробоя, напряжение насыщения, коэф. усиления или сопротивление перехода у транзисторов, быстродействие оу, почти ни одна хуйня не соответствует типовым даташитам. Из последнего разве что транзюки si2301/si2302 оказались хорошими, и еще кварцы 36 мгц оказались реально на 1ю гармонику, хотя я был уверен что пришлют перемаркированные 12 мгц, типа на 3ю гармонику.
Я думаю, что пора на lcsc.com перекатываться, там хоть сразу видишь даташиты и точно знаешь что покупаешь, можно и оригинал купить, вместо "аналогов". Либо на наши магазы, проверенные народом, типа терры. В говно типа ЧиД однозначно соваться не стоит.
lcsc.com или таобао, что лучше? Поражает, что китайцы подделывают самое дешевое говно.
Спустя пол года я понял, что он НАВЕРНОЕ имел в виду подтянуть выходы через диоды к VCC дисплея.
Так ведь можно было?
5V сигнал через 1к резистор идёт в дисплей, а по пути подтянут к 3.3V через диоды. Таким образом выше 3.3 вольта сигнал подняться не сможет.
Или я хуйню придумал?
Если перемаркировка гравировкой то. Сам понимаешь
>Если интересно, распишу про SPI отдельно, ибо уж очень вкусный вариант для коммуникации.
Интересно
>эмуляцию USB прямо с пая
Это какой файл в проекте?
Да, но логическая 1 будет выше на прямое падение на диоде (нужны шоттки), и будет течь ток 1 ма.
Нахуя тебе это все? Поставь преобразователь уровней sn74lvc1/2/8t45, txb0108 или аналогичный и не еби мозги, они дешевле бутылки хорошего пива стоят. Либо делитель напряжения, но тогда сигнал будет завален на постоянную RC, будет ощутимо на частотах в единицы-десятки МГц.
>>42203
Пиздец, такими темпами на брянские или белорусские линейники перекатываться придется.
ну если те детальки хоть на что то годятся, то можно возврат же требовать, с пометкой тикета подделка, и китайцев проучишь и халяву получишь они потом негодуют смищно в лс "вы нехороший человек", а я ж пидоров заранее спрашиваю, наеб или нет
?
если ты сможешь доказать несоответствие с замерами на видос с момента вскрытия посылки - фул возврат
если ты смог доказать что подделка я блять не видел не разу норм подделка на что угодно - фул возврат
вот на ебее да, проебал кучу денех либо нихуя не пришло, либо пришло хуй пойми что
>>42233
Периодически заказываю у косоглазых по десятку нано328 и прочей хуйни типа rtc. Не наебали ни разу, даже посылки относительно остального хлама приходят быстрее. Хуй его знает, може ты покупаешь за совсем смешные гроши - ну так не удивляйся, что вместо деталей тебе кусок высохшего жёлтого кала с частичками риса присылают.
Можете ввести меня в курс дела, каким там IDE пользоваться, или вообще VScode обойтись, какие драйвера скачать, какие библиотеки нужны?
В контексте этого треда тебе можно посоветовать ардуино иде. https://github.com/stm32duino/Arduino_Core_STM32
>какие библиотеки нужны?
https://github.com/STMicroelectronics/STM32CubeF1
Есть еще графическо-визуальный конфигуратор STM32CubeMX, который сам загружает библиотеку по ссылке выше и генерирует код с ее использованием.
>каким там IDE пользоваться, или вообще VScode обойтись
По вкусу, VScode более чем достаточно, тем более если ты привык использовать его для С или С++. Также есть STM32CubeIDE — эклипс со встроенным STM32CubeMX.
Если ограничиться VScode, то целесообразно взять https://github.com/ObKo/stm32-cmake
Компилятор можно взять https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
Либо sudo apt-get install gcc-arm-none-eabi, если у тебя убунта/дебиан.
>какие драйвера скачать
В зависимости от того через что ты будешь прошивать. Через ST-Link, J-Link или бутлоадер?
>В зависимости от того через что ты будешь прошивать. Через ST-Link, J-Link или бутлоадер?
А через USB его можно прошивать? Вроде usbasp назывался драйвер. Ну еще у меня где-то UART-кабель валялся C232HM. Но хотелось бы прошивать и управлять через USB, я для этого специально взял версию с Type-C, хочу из нее запилить контроллер для пека.
>логическая 1 будет выше на прямое падение на диоде (нужны шоттки)
Так. Я проверил и оно действительно так и получилось.
А если пикрелейтед?
Я правильно понимаю, что при 0.1мА на них будет падение 0.24В?
А ещё другая идея. На AMS1117 ADJ сделать напряжение 2.7В и к нему через диод (на котором падает 0.6В) подтянуть сигнал. Получится 3.3В.
Так можно? Так кто-то делает?
Мне не для дисплея, мне на будущее интересно как можно и как нельзя.
>А ещё другая идея.
СТОЙТЕ! У меня ещё более гениальная идея.
Берём 3.3 вольта, пропускаем их через диод и получаем на выходе 2.7 вольта.
И уже к ним через резисторы с точно такими диодами подтягиваем сигналы.
Господи, какой же я умный!
>Вроде usbasp назывался драйвер.
usbasp это программатор для атмег, а не драйвер.
>Ну еще у меня где-то UART-кабель валялся C232HM.
Вот этим можно, через встроенный бутлоадер. Там надо джамперы на плате с STM32 переключить и можно прошивать с помощью STM32 Flash loader demonstrator.
>Но хотелось бы прошивать и управлять через USB
Это возможно с собственным бутлоадером, но тебе потребуется предварительно прошить этот бутлоадер как-нибудь.
>>42424
Бред какой-то. Чем тебя обычные делители не устраивают? Или, как писал анон выше, есть готовые копеечные преобразователи уровней. Но перед тем как делать что-то такое, стоит убедиться что со стороны 3.3В у тебя входы точно не 5V-tolerant.
>Так кто-то делает?
А в чем смысл таких действий?
ST-Link + STM-Cube + IAR Embedded workbench 8.1 - моя стабильная сборка, рекомендую.
Да
>>42336
В общем, так. SPI является двунаправленной синхронной шиной и выделенным мастером. Соединение ведется по нескольким проводам: MISO (master input, slave output), MOSI, SCLK (тактирование мастера) и SS (slave select). На каждом такте от мастера улетает бит к слейву, и одновременно отслейва улетают данные к мастеру. Подробности о физике процесса можно почитать на википедии, я же расскажу больше о софте.
Во-первых, в отличе от UART, тут нет никаких буферов и прочего. Когда мастер начинает тактирование, нет никаких аппаратных способов отличить ситуацию, когда от слейва приходят валидные данные, состоящие из нулей, или просто нули, потому что он молчит.
Во-вторых, к одному мастеру может подключаться много слейвов обычным параллельным соединением MISO, MOSI b SCLK. Они все одновременно получают тактирование и данные по MOSI, но каждому слейву подведен свой собственный проводок SS, и принимать/отвечать будет только тот слейв, чей SS сейчас активен.
В-третьих, когда слейв один, считается, что что SS не нужен. Так вот это пиздеж. Ну или так, с оговорочкой. Если SPI используется для коммуникации внутри платы и слейв с мастером не могут быть выключены (питанием или перезагрузкой) отдельно друг от друга, то все ок. Но если ты хочешь, чтобы слейв мог ребутаться независимо от мастера (или мастер от слейва) - все, ты в дерьме. Дело в том, что внутри чипа есть счетчик бит. SPI передает данные байтами, а не битами, и сам их считатает. Так вот, если передача была прервана на шестом, допустим, бите, то произойдет рассинхронизация шины и нет никаких софтовых способов это исправить. Тут нужен только SS. Использование SS в начале и конце передачи сбрасывает стейт-машину чипа и восстанавливает состояние внутренних счетчиков.
Едем дальше. Поскольку у нас слейв и мастер могут ребутаться, нужно сделать протокол с синхронизацией и контролем четности. В моем случае мастер отправляет 8 байт и ждет столько же в ответ. Причем ответ может начаться через какое-то время, а не сразу после завершения передачи. Пакеты состоят из одного байта заголовка (НЕ ноль, что-нибудь хорошо различимое, типа 00110011), 5 байт данных и 2 байт CRC для 6 предыдущих.
Упрощенно алгоритм мастера примерно такой:
- Записываем слейву 10 байт, пока в ответ не начнут приходить только нули. Слейв ничего не хочет нам сказать.
- Пишем 8 байт, игнорим ответы слейва.
- Читаем слейва, пока он не начнет отдавать ненулевые байты. С этого моменты вычитываем 8 байт.
- Проверяем CRC ответа. Если он совпадает, то все ок. Если не совпадает (ответ неполон, сбой передачи, перезагрузка и тп), то просим слейв повторить ответ. Для этого снова отправляем команду в 8 байт и цикл повторяется.
На слейве алгоритм примерно тот же.
Исходник для слейва: https://github.com/pikvm/kvmd/blob/master/hid/src/spi.cpp
А здесь для мастера:
https://github.com/pikvm/kvmd/blob/master/kvmd/plugins/hid/spi.py
https://github.com/pikvm/kvmd/blob/master/kvmd/plugins/hid/_mcu/__init__.py#L317
Мастер сложноват, потому что там тот же самый протокол используется для UART, но разобраться можно.
> Это какой файл в проекте?
Конкретного места нет, там много где понамешано. Именно эмуляцией занимается ядро. Я использую ядерный интерфейс, чтобы слать репорты в USB. Смотри тут:
https://github.com/pikvm/kvmd/tree/master/kvmd/plugins/hid/otg
В свое оправдание скажу, что я не паразитирую на чужом коде и нашел за последний год примерно 6 багов в ядре, которые были благополучно исправлены :) Один из моих тредов на гитхабе у разрабов пая разросся до овер 100 каментов с обсуждением проблемы и диагностикой.
Да
>>42336
В общем, так. SPI является двунаправленной синхронной шиной и выделенным мастером. Соединение ведется по нескольким проводам: MISO (master input, slave output), MOSI, SCLK (тактирование мастера) и SS (slave select). На каждом такте от мастера улетает бит к слейву, и одновременно отслейва улетают данные к мастеру. Подробности о физике процесса можно почитать на википедии, я же расскажу больше о софте.
Во-первых, в отличе от UART, тут нет никаких буферов и прочего. Когда мастер начинает тактирование, нет никаких аппаратных способов отличить ситуацию, когда от слейва приходят валидные данные, состоящие из нулей, или просто нули, потому что он молчит.
Во-вторых, к одному мастеру может подключаться много слейвов обычным параллельным соединением MISO, MOSI b SCLK. Они все одновременно получают тактирование и данные по MOSI, но каждому слейву подведен свой собственный проводок SS, и принимать/отвечать будет только тот слейв, чей SS сейчас активен.
В-третьих, когда слейв один, считается, что что SS не нужен. Так вот это пиздеж. Ну или так, с оговорочкой. Если SPI используется для коммуникации внутри платы и слейв с мастером не могут быть выключены (питанием или перезагрузкой) отдельно друг от друга, то все ок. Но если ты хочешь, чтобы слейв мог ребутаться независимо от мастера (или мастер от слейва) - все, ты в дерьме. Дело в том, что внутри чипа есть счетчик бит. SPI передает данные байтами, а не битами, и сам их считатает. Так вот, если передача была прервана на шестом, допустим, бите, то произойдет рассинхронизация шины и нет никаких софтовых способов это исправить. Тут нужен только SS. Использование SS в начале и конце передачи сбрасывает стейт-машину чипа и восстанавливает состояние внутренних счетчиков.
Едем дальше. Поскольку у нас слейв и мастер могут ребутаться, нужно сделать протокол с синхронизацией и контролем четности. В моем случае мастер отправляет 8 байт и ждет столько же в ответ. Причем ответ может начаться через какое-то время, а не сразу после завершения передачи. Пакеты состоят из одного байта заголовка (НЕ ноль, что-нибудь хорошо различимое, типа 00110011), 5 байт данных и 2 байт CRC для 6 предыдущих.
Упрощенно алгоритм мастера примерно такой:
- Записываем слейву 10 байт, пока в ответ не начнут приходить только нули. Слейв ничего не хочет нам сказать.
- Пишем 8 байт, игнорим ответы слейва.
- Читаем слейва, пока он не начнет отдавать ненулевые байты. С этого моменты вычитываем 8 байт.
- Проверяем CRC ответа. Если он совпадает, то все ок. Если не совпадает (ответ неполон, сбой передачи, перезагрузка и тп), то просим слейв повторить ответ. Для этого снова отправляем команду в 8 байт и цикл повторяется.
На слейве алгоритм примерно тот же.
Исходник для слейва: https://github.com/pikvm/kvmd/blob/master/hid/src/spi.cpp
А здесь для мастера:
https://github.com/pikvm/kvmd/blob/master/kvmd/plugins/hid/spi.py
https://github.com/pikvm/kvmd/blob/master/kvmd/plugins/hid/_mcu/__init__.py#L317
Мастер сложноват, потому что там тот же самый протокол используется для UART, но разобраться можно.
> Это какой файл в проекте?
Конкретного места нет, там много где понамешано. Именно эмуляцией занимается ядро. Я использую ядерный интерфейс, чтобы слать репорты в USB. Смотри тут:
https://github.com/pikvm/kvmd/tree/master/kvmd/plugins/hid/otg
В свое оправдание скажу, что я не паразитирую на чужом коде и нашел за последний год примерно 6 багов в ядре, которые были благополучно исправлены :) Один из моих тредов на гитхабе у разрабов пая разросся до овер 100 каментов с обсуждением проблемы и диагностикой.
После пердуины либо подружить АрдуиноИДЕ с стм, либо поставить STM32CubeIDE, чтоб было всё и сразу
То же самое, годнота, только редактор похуже эклипса.
>>42419
Если нет st-link, но есть usb-uart - можно перекинуть джампер boot и шить через uart и flash loader demonstrator.
Если есть две платы - одну по uart можно прошить в st-link.
И аккуратнее с usb и статикой, у меня на паре мк выгорел usb с ошибкой 43.
То есть можно взять USBasp и транзистором подменить сигнал и всё?
Или там всё намного сложнее?
схема_устройства_электросон_доработанная_нашим_читателем.jpg
>- МНЕ ВСЁ ЕЩЁ МАЛО
>- Поздравляю! Вы прошли игру. Самое время зарабатывать 300kk/ns
Да идите вы все нахуй, погромисты хуевы, работаю за 19к инженером по электронике, обеспечиваю работу предприятия, разрабатывая йобы на микроконтроллерах и в то же время живу с мамой посреди сраного нихуя, жру хрючево из красной цены и коплю на ремонт в своей комнате потому что окно продувает пиздец как.
Нахуй я их всех слушал этих пидарах чтобы идти учиться, заканчивать универ по мёртвой профессии и в свои 34 сосать хуй на обочине. Даже тян не могу завести чтоб не проворачивать колесо сансары.
Человеком станешь, блеадь, диплом нужен. Уууу сука
Лучше бы учился на обычного программиста или веб-макаку, как все нормальные люди.
Байка старая, а все ведутся. Веб-макаки в регионах тоже сосут хуи с 15-20к зряплатой. Рынок перенасыщен программистами всех мастей. Это нынче как бухгалтера, маркетологи-менеджеры и экономисты 10-15 лет назад. Фрилансом тоже нихуя не заработаешь, новичку максимум что предложат - работу 24/7 за еду, и то постараются кинуть. Иронично, но сейчас больше ценятся даже РАБочие специальности. Хочешь зашибать деньги - тебе дорога в бизнес, либо в продажи.
Ну и что ты хотел? Рынок поделен уже давно. А те, кто демпинговал цены моему отцу, сейчас ходят и просят милостыню, пока я пашу как вол за троих. Зато у меня есть хлеб, масло и икра, пусть и приходится сразу по четыре - пять проектов железячить.
> А те, кто демпинговал цены моему отцу, сейчас ходят и просят милостыню
Не все могут посмотреть в завтрашний день.
Главное правило успеха в айти - не работать на российского заказчика, что в комапнии, что на фрилансе. У веб-макак не хватает мозгов выучить английский
Так вот, железячнику работать на иностранца практически нереально. Разве что иностранец откроет фирму в твоей стране.
А я без образования чиню электронику и продаю на ебее кастомные нишевые часы и гитарные педальки, получаю несколько килобаксов в месяц. Может, надо начать с себя?
но тем не менее, я таких знаю, и у них единственных в этом городе дела идут неплохо сейчас
Моментальный диванон? Спасибо, не нужно. Можешь открыть ебей и в поиске посмотреть количество таких лотов, цены и спрос, и сам поймёшь, что это не проблема. А свои проекции про фантазёра оставь при себе, червь
>пук
Почему? Корпуса готовые на алике по 200 рублей за штуку, насверлить и накатить шелкографию или травление я и сам могу
Kekeke!
https://www.aliexpress.com/item/1005001679846041.html
https://www.aliexpress.com/item/4001256001497.html
https://www.aliexpress.com/item/1005001671748468.html
Первые две - корпуса, третье - педалька.
У западного барина в ходу, я же не на русского клиента ориентируюсь. Как правило пару-тройку педалек в месяц, столько же часов на никсях. Перед рождеством спрос больше. Корпуса заказал один раз оптом
Hand Made, епта?
Выходит, что единственный способ нормально зарабатывать железячнику в рахе - это засобачить какую-то очень востребованную и нужную людям хреновину, которая будет пользоваться спросом и продавать её.
А из альтернатив только разводить платы/писать прошивки за еду, пока не сдохнешь.
>засобачить какую-то очень востребованную и нужную людям хреновину, которая будет пользоваться спросом и продавать её.
Пока китайцы не скопируют и не выложат на али в пять раз дешевле.
>продавать
Ну и это уже совсем другая специальность.
учитывая санкции на детальки и цены китая, заказывают платы и пайку в китае, прошивают и отправляют дальше на завод на сборку
Так ты нихуя толком не знаешь.
>>учился на обычного программиста или веб-макаку, как все нормальные люди
образование в айти не котируется, ибо институты учат либо доисторической хуйне, либо ненужной, а чаще всего всё сразу. Онли опыт.
Так что читай на метаните про шарп (это самое близкое к сям), отработай минимум два месяца джуном в любой говноконторе и велком ту энтерпрайз
>Поздравляю! Вы прошли игру. Самое время зарабатывать 300kk/ns и наставлять молодых оленят на путь истинный ITT
Надесь имеется ввиду забрасывание ардуины нахуй после прилепливния всех китайских готовых говномодулей к ней и пиздование учить программирование и вкатываться для зарабатывания бабла?
Увы, но да.
if (Serial.available() > 0) { //если есть доступные данные
// считываем байт
debugMode = Serial.read();
// отсылаем то, что получили
Serial.print("I received: ");
Serial.println(debugMode);
}
Я ему через монитор порта шлю 1, а он возвращает
I received: 49
I received: 10
Какого хуя то? Должно быть 1
Ладно, я понял, Serial.parseInt()
Но какого хуя он присылает два раза?
I received: 0
I received: 0
Ясно, эта хуйня ещё и /n читает. Фиксится в настройках монитора порта без новой строки
А зачем железки надо отправлять?
Ты можешь отправлять схемы, печатные платы и прошивки.
А уже по ним их можно производить где угодно.
Другое дело, что западному заказчику это нафиг не надо.
Это в обычных прогерах есть нехватка, вот их часто и нанимают из России.
А вакансий на железячников - раз-два и обчелся, и все они заняты выпускниками разных MITов и Гамбургов.
>образование в айти не котируется
Лол кек, скажи это Сберу и Яндексу, которые берут себе на работу только с дипломом Топ-вузов ДС.
>Так что читай на метаните про шарп (это самое близкое к сям), отработай минимум два месяца джуном в любой говноконторе и велком ту энтерпрайз
Это бесолезно, ведь любой программист мк - говнокодер по определению и научить его нормлаьно программировать невозможно. Проще зайца научить курить.
>Сберу и Яндексу
а есть еще нормальные конторы без ебли в жопу за белую рубашку (сбер) и грейды (яндекс), прикинь
Вам в тред stm32
>но ведь это скучно
Когда твоя поебень по идее состоит из 10 строк логики, но почему-то частота слегка уплывает, байтики проебываются и вообще иногда не стартует - становится очень нескучно.
Твои примеры некорректные.
Да, реально. Процессоры, на которых их делали в бородатые 80е, были еще проще. А если взять какую-нибудь мегу с кучей выходов, то вообще лафа, думать почти ни о чем не надо, никаких шифтрегистров или матричных игр изобретать не надо.
Конечно, в качестве ардуины, лучше взять что-то из STM32. Просто можно считать, что китайские блюпилки - это такие ардуины, только дешевле и быстрее.
МК для автоматизации и есть. Ну можешь "Покак-метр" из Омского отжеления КБ Ардуизмуса воплотить. За говно люди давно платят, почему бы им еще и за говно не платить.
Я для этого три дисплея по 2,8" использовал, соеденив их параллельно и разделив CS лапы.
А можешь чуть подробнее написать, что за дисплеи, и зачем параллельно соединять?
Может, для того, чтобы приборка не была 4:3? Да нет, бред какой-то.
>Какие мк популярные у работодателей?
Так за програмирование мк сущие копейки платят. Лучше продолжай прогать на шарпе или плк, за это платят намного больше и отношение работадателей лучше.
Дешевле и проще выкинуть все нахуй и сидеть на жопе ровно
Одного мало, собрал из трёх, лол. Получил диагональ больше.
CS - он же Chip Select, нужен для управления каждым конкретным экраном, которые работают по SPI. Но честно, проще взять на Али https://www.aliexpress.com/item/4000475157263.html если ты не умеешь в PCB чертежирование. И ещё, сразу ставь минимум ESP2866, а не ардуину. Для текста и простой графики 16МГц хватает, а на средних размеров хотя бы анимацию уже нет. Так как требуется время для отрисовки.
Объясните, в чем разница между платами ESP32 и ESP8266?
И какие лучше брать для "умного дома"?
Типо и те, и те поддерживают вай-фай и блютуз, но на один из них есть доки, а второй мощнее и дешевле?
Мне надо, чтобы кто-то в одном посте ответил кратко на вопрос, а лазить и читать статейки целый час нехочу, мне лень, мне некогда...
Мне кажется что ни то ни другое. Мне непонятно что именно ты собираешься делать, но лучше возьми малинку или какой-нибудь еще одноплатник. А ардуину выкини.
>возьми малинку или какой-нибудь еще одноплатник. А ардуину выкини.
С малинкой будет много ебли.
А с ардуинкой проще.
Скорость процессора и объем памяти. EsP32 может в камеру, 8266 не потянет приемлемо. Для "умного" длма подойдет одна-две 32х и остальные 8266.
ESP8266 емнип блютуз не поддерживает.
Впрочем, с 32-й не пробовал, только вафлю.
>>43429
У меня лично дико предвзятое отношение ко всему этому зоопарку одноплатников. Ибо в самой дешевой ипостаси у малинки нет вообще нихуя кроме камня, памяти, гпио и юсб. А 4-я требует чуть ли не 3-амперный БП. Второе - все что работает на линухе, чот склонно подвисать, падать, лагать и т д. На есп нет никакой прослойки в виде ведра с кучей финтифлюшек, по сути голая прошивка. К таким системам у меня доверия больше, они отказывают только из-за неправильного кода или аппаратных проблем, а не потому что магия диспетчера задач или еще чего.
Понятно, значит, показать готовое не можешь. ЧТД.
Спасибо, добрый анон (* ^ ω ^)
>> На есп нет никакой прослойки в виде ведра с кучей финтифлюшек
Наговнокоженный сдк в виде бинарей и есть прослойка
Эти одноплатники - те же ардуины, но с встроенным ваем-фаем, usb-хостом и ethernet портом. То, что они не надежны - ты сам придумал, процент отказа по всем ситуациям чуть выше АТМег или ESP с STM32. И то из-за говнокода нестандартных библиотек связи. Доступ к лапам-пинам через запись в файл, там ебатня такая, что просто пиздец как долго все выполняется. Но для инерциальных систем "умного" дома хватает.
И еще, говнокода на одноплатниках гораздо больше, так как пришли на них в основном из веб-макак. А вот сам по себе лигь весьма хорош, надо будет потом вебмку нарезать, когда песеля ходить научу.
>Ибо в самой дешевой ипостаси у малинки нет вообще нихуя кроме камня, памяти, гпио и юсб.
В самой дешевой Raspberry PI Zero кроме UART есть SPI и I2C, что тебе еще не хватает? При этом одноплатники дадут больше возможностей, тут тебе будут полноценные СУБД, анон выше упоминал камеры - будет тебе OpenCV и прочее, также не будешь ограничен одними C и C++, и многое другое.
Ну и ты не написал что именно хочешь делать, все же "умный дом" это сильно растяжимое понятие.
>В самой дешевой Raspberry PI Zero кроме UART есть SPI и I2C, что тебе еще не хватает?
1) Интерфейса для камеры.
2) Интерфейса для цветного дисплея.
3) Интерфейса для USB.
4) Размеры и цена. Платки на ESP, Blue Pill и ардуинки как минимум раза в 3-4 дешевле Raspberry PI Zero.
>Ну и ты не написал что именно хочешь делать, все же "умный дом" это сильно растяжимое понятие.
Что то вроде упрощенного IoT. Т.е. куча датчиков по вайфаю, которые выполняют простые функции(вкл выкл свет, вкл выкл чайник, поднять шторы, поддерживать влажность воздуха и освещенноксть) и чтобы можно было с телефона или компа управлять еще. Я не претендую на полноценный "умный дом" от проф. компаний, мне чисто поиграться.
анон который задал вопрос про esp и "умный" дом
Сага нечайно прилипла, извените.
>И еще, говнокода на одноплатниках гораздо больше, так как пришли на них в основном из веб-макак.
Я веб-макака и с тобой не согласен.
Так то веб-макаки обычно хороший код пишут, потому что их на работе хотя бы как то обязывают обеспечивать качество кода. Истинный говнокод пишут эмбеддеры и разные прогеры МК. Вот там полный пиздец, потому что обычно прогерам МК такие простые программерские штучки, как системы контроля версий, уровни абстракций, расширяемость кода, QA, тестирование и остальное просто не знакомы. А эмбеддеру пофиг как писать код, ведь обычно у него на работе единственное требование - "чтобы работало" и были комментарии в коде. Все. Поэтому чаще всего программист микроконтроллеров и говнокодер слова синонимы.
Большинство либ под ардуино и малинку написано веб-макаками , для которых это является хобби, но эти либы вполне качественные и могут использоваться даже в коммерческих проектах.
> Размеры и цена. Платки на ESP, Blue Pill и ардуинки как минимум раза в 3-4 дешевле Raspberry PI Zero.
А теперь открываю секрет. Ардуино, Стм32, есп это микроконтроллеры. А у малинки SoC и это полноценный компьютер
> 3) Интерфейса для USB.
Это у малины то?
>1) Интерфейса для камеры.
Ошибаешься, там есть CSI. Также можешь втыкать камеру в USB или по сети. И допустим воткнешь ты камеру в ESP32, а дальше что будешь делать без такого как OpenCV?
>2) Интерфейса для цветного дисплея.
Там есть HDMI, а какую-нибудь мелочь можно подключить через SPI.
>3) Интерфейса для USB.
Есть там один.
>4) Размеры и цена.
Оно мелкое, не выдумывай. Цена небольшая и оно окупит себя меньшими затратами времени.
>Т.е. куча датчиков по вайфаю
Нахрена по вайфаю? Возьми любой микроконтроллер с трансивером ISM диапазона или атмегу и трансивер отдельно, будет проще, компактнее, надежнее. Есть же nrf24 и zigbee всякие, разработанные специально для такого.
>но эти либы вполне качественные
Не выдумывай. Или приводи примеры.
Вот я могу привести в пример https://github.com/melexis/mlx90614-library Тут все нормально написано, можно использовать с любым микроконтроллером дописав пару функций, также можно задействовать все возможности mlx90614. А теперь сравни это с https://github.com/adafruit/Adafruit-MLX90614-Library/blob/master/Adafruit_MLX90614.cpp или любой другой ардуиновской библиотекой. Да там сразу захардкожен дебильный Wire и так далее.
Но в остальном ты прав.
А почему так?
Включение чайника с тилибона.
Ага, бессмысленная фигня в 99% случаев. Но иногда есть смысл, например включать котел на даче дистанционно. Или опять же на даче камер понатыкать.
>А теперь открываю секрет. Ардуино, Стм32, есп это микроконтроллеры. А у малинки SoC и это полноценный компьютер
Так это овернжиринг в моем случае, из пушки по воробьям. У меня же очень простой "умный дом" будет, только шторы закрывать, лампочки и чайник включать, зачем так полноценный компьютер? С этим и мк справится.
>Ошибаешься, там есть CSI. Также можешь втыкать камеру в USB или по сети. И допустим воткнешь ты камеру в ESP32, а дальше что будешь делать без такого как OpenCV?
Мне не нужно компьютерное зрение, будет просто передача видео на комп или телефон как в системах видеонаблюдения.
>Цена небольшая
У одноплатников раза в 3-4 больше миниум чем у план микроконтроллеров.
>и оно окупит себя меньшими затратами времени.
Почему? Уверен, что время разработки будет даже меньше, ведь прогать ардуиноподобные платы с мк проще - подключил готовые либы, написал пару строк логики, готово.
А в случае с одноплатниками придется еще с линуксом ебаться(который я не знаю).
>Нахрена по вайфаю?
Так можно будет с телефона или компа управлять по вай-фаю.
>Ага, бессмысленная фигня в 99% случаев.
Почему тогда разные багачи и алигархи платят по несклько лямов за установку в своих особняках "умного дома"?
> Почему тогда разные багачи и алигархи платят по несклько лямов за установку в своих особняках "умного дома"?
Говноеды, сэр
>будет просто передача видео на комп или телефон как в системах видеонаблюдения.
Бред. Зачем оно нужно, когда проще и дешевле взять готовую камеру, которая будет к тому же намного лучше работать.
>У одноплатников раза в 3-4 больше миниум чем у план микроконтроллеров.
А свое время не считаешь?
>А в случае с одноплатниками придется еще с линуксом ебаться(который я не знаю).
>который я не знаю
Это плохо. С линуксом проще. И библиотек больше, например Qt будет намного лучше всякой ардуйни. Можно например наговнокодить на питоне и отладить на компе, а потом оно без изменений заработает на одноплатнике.
>Так можно будет с телефона или компа управлять по вай-фаю.
С nrf24 и прочими тоже можно будет, только потребуется где-нибудь воткнуть сервер. При этом в случае с nrf24 сервер TCP/IP (и возможно HTTP) у тебя будет один на все, в отличии от есп-шек.
>>43551
>овернжиринг
Как и ESP32 вместе с ESP8266.
Ну и да, включать чайник через вайфай это полнейший бред. Да и со шторами идея ничуть не лучше. По моему из всего такого какой-то смысл есть в дистанционном включении кондиционера.
>Бред. Зачем оно нужно, когда проще и дешевле взять готовую камеру, которая будет к тому же намного лучше работать.
Хочется почувствовать себя инженером, наладить самому. Суть хобби ведь именно в этом, а не в том, чтобы купить все готовое.
>А свое время не считаешь?
Про время я уже написал - на еблю с линуксом и питоном уйдет куда больше времени, мк проще.
> И библиотек больше, например Qt
Qt под одноплатники есть? На нем же пишут проги для ПК.
>>овернжиринг
>Как и ESP32 вместе с ESP8266.
Почему? Еспшки такие же простые и дешевые, как и аруинки.
>Хочется почувствовать себя инженером, наладить самому. Суть хобби ведь именно в этом, а не в том, чтобы купить все готовое.
Будто для ESP32 ты не возьмешь все готовое вместе с готовым кодом. При этом матрица будет говно, т.к. ты возьмешь готовый модуль для ESP32. Объектив у этой камеры будет еще большим говном чем матрица, потому что ты возьмешь готовый модуль с объективом. А потом частота кадров тоже будет ниже плинтуса, потому что ESP32 не потянет нормальную. Для камер нужно что-то на уровне одноплатников. А еще изготовление нормальной камеры осложняется отсутствием документации на интересные матрицы.
>проги для ПК
Одноплатники это те же ПК. Если использовать линукс, то основное отличие от десктопа на x86 будет только в том что пишет uname -a.
>Почему? Еспшки такие же простые и дешевые, как и аруинки.
Я уже писал. Наверное ардуинщику объяснять бессмысленно.
Тупо понты
>>Почему? Еспшки такие же простые и дешевые, как и аруинки.
>Я уже писал.
Не пойму твою логику, т.е. дешевая плата с мк для тебя оверинжиринг, а одноплатный компьютер в 4 раза дороже - нет.
>Наверное ардуинщику объяснять бессмысленно.
Я веб-макака, самоделки на ардуино это всего лишь хобби и я не претендую на звание профи.
На пакетном уровне мне кажется более эстетический и красивый вариант, а на физическом - более дубовый.
Но в любом случае хочу заметить, что глушилки - это не законно.
Никудышная ты веб-макака, если в линукс не можешь.
>т.е. дешевая плата с мк для тебя оверинжиринг, а одноплатный компьютер в 4 раза дороже - нет.
Оверинжиринг это пихать в каждую лампочку вайфай. Потому что для этого хватит более простого микроконтроллера nRF24LU1 или аналогичного, который настолько же проще по своему устройству чем ESP32, насколько ESP32 проще какого-нибудь одноплатника. А вот объединять управление кучей лампочек через одноплатник это вполне нормально.
>одноплатный компьютер в 4 раза дороже - нет.
При этом ты можешь применять для одноплатного компьютера все навыки веб-макакинга, в отличии от микроконтроллера. Можешь хоть на жс, хоть на питоне все сделать. Более того, как ты весь этот свой умный дом представляешь без единого сервера? Всякие там MQTT брокеры (по моему бестолковая хрень, но все же), на чем будешь делать?
Впрочем, делай что хочешь, т.к. умный дом это бессмысленная ерунда, по крайней мере в твоей интерпретации.
В общем, я погуглил немного, и примерно понял, что мне нужно считывать минимум 5 аналоговых сигналов, и выводить информацию на 2 или 3 дисплея.
Дисплеи присмотрел вот такие, если удастся достать https://noritake-vfd.com/discount_sale_for_gu128x128d-3900b.aspx .
Вроде бы работают с ардуино.
Вопрос: какой вариант ардуино мне нужен? Я же правильно понимаю, что мне надо подбирать по количеству входов и портов UART (поскольку дисплей подключается по RS232)?
Цветной дисплей по SPI, камера по параллельному или CSI, USB в большей части умного дома не нужен.
>куча датчиков по ваю-фаю
ESP8266, пксть и по скорости черезчур, но вая с фаем есть. Но жрет 250мА минимум, хотя есть режим сна.
Про контроль версий ты прав, про расширяемость нет.
>про либы под малину и ардуино
Тупое тормозящее говно, ткм не менее выполняющее свою работу. Я когда на малину ставил ILI9341, то сначала попробовал готовый код. О боги, какое же лагалище! Так что потом воткнул свой адаптированный с МК код и работает как надо все.
ESP это SoC. Как минимум.
Модно. Понты. Дорвались жо денег.
Да, завидую. Но со стороны своей могу написать: модно, понты, имбецилы.
Модно. Понты. Дорого. Полезли все, кто не вписался в рыночек.
https://m.aliexpress.com/item/4000839144387.html
Как пример. Подключишь куда угодно, это SPI модуль. Если просто данные выводить, то вполне хватает. Плюс еще и сенсорный резтстивный экран. Можно и хуем тыкать.
Вот это подрыв! Зарешистрировал всеми датчиками и положил на график подрывов ардуиноманечек.
Мне не надо хуем тыкать, мне надо VFD дисплей. Если не получится достать VFD, тогда буду на ЖК делать, конечно.
Куда чего прописать чтоб оно записало загрузчик?
Я тут узнал, что if (Serial) debug = 1; else debug = 0;
В принципе не работает или работает случайно. А как можно надежно проверить, подключен ли UART?
>однопроводной датчик, делителем
Я такой сразу давай 1-Wire вспоминать, а ты про аналоговый резистор переменный спрашиваешь. Да, делитель.
И в чем проблема тогда?
Возьми да запиши программатором (usb asp-ом) оригинальную прошивку наны.
Спасибо. Сорян, я ньюфаг, не знаю, как что правильно называется.
Это не вайфай вовсе. Вайфай это довольно сложная штука, которая слишком избыточна для всякой мелочи.
nrf24 это несколько разных микросхем, среди которых есть как просто трансиверы без микроконтроллера, так и микроконтроллеры с трансивером вместе. В отличие от вайфая оно специально сделано для всякой мелочевки типы беспроводных мышек. То есть скорость передачи низкая, но потребляет совсем мало.
Помимо nrf24 есть множество других подобных микросхем. А если ты сравниваешь с ESP, то учти что ESP32 и ESP8266 требуют внешнюю микросхему памяти, у них нет своей ПЗУ в отличии от простых микроконтроллеров.
Да, туториалы есть. Тебе надо ввести в поисковик как arduino+rhytm+games+buttons
Главная фича - размыкание USB data линий. Ну и выведенные пины SPIю
Слышал, что можно собрать процессор из микросхем и проводов: http://ferralabs.ru/hitech_news/1458-BMOW-unikalnyj-processor-iz-1253-provodov/
Также знаю, что можно собрать процессор из электромагнитных реле.
Вопрос. Как собрать процессор из логических элементов?
Есть где-то подробная схема?
возьми исходники любого проца на верилоге, посмотри что синтезируется и собери в логике
Пожалуйста, но лучше даыай сам RTFM по интернетам.
>посмотри что синтезируется
Но если синтезировать под FPGA, то все синтезируется на тамошних ячейках, которые состоят из триггера и LUT, а от этого толка не будет. Если я правильно понял того анона, то ему нужно чтобы результат был на 7400/К155 серии, но какой синтезатор выдаст такое?
>>43735
Ты не в том треде задаешь вопросы. А сделать такое совсем не так сложно как кажется, только слишком муторно. Для начала тебе потребуется изучить основы - какая эта сама логика бывает и как делать из нее простейшие устройства типа счетчиков и подобного. Когда изучишь основы, сможешь приступать к творению, в этом нет ничего сверхсложного или требующего особых тайных знаний.
смотри на ютубе видео-уроки "процессор в майнрафте"
Зачем каждой ноге по пину если можно матричную сделать 10x10, двадцати ног хватит (одна ardunio nano (atmega328))
Он хочет поебаться, ты прям как маленький мальчик с вопросом "а ебутся ли линуксоиды?".
Нормально всё. Зима, сухой воздух, повышенное напряжение и статика. Забей.
И ещё сразу вопрос, если на первой схеме снимать сигнал не с коллектора транзистора, а с эмиттера и убрать резистор в цепи коллектора, то есть просто на коллектор подавать 5в, на базу сигнал с микроконтроллера через резистор, а с эмиттера подать напрямую на анод индикаторов. Вообще суть вопроса в том что можно ли для индикаторов с общим анодом ключ сделать на npn транзисторе.
Нет, в эмиттер ничего нельзя включать. Иначе напряжения с микроконтроллера не хватит и транзистор будет уже не в ключевом режиме работать, а в линейном с соответствующим нагревом.
Вообще нет, но в данный момент сосем метафизический хуй этой страны со всеми сопутствующими сложностями.
>сосем метафизический хуй этой страны со всеми сопутствующими сложностями.
Сочувствую.
Ну ты держись там у себя на Украине, что уж там.
ага
Какая разница, если оно решает задачи клиента? То, что ядро от ардуины - это даже плюс, популярная опенсорсная хуйня, коммерсы смогут сами тюнить по желанию.
Поставил бы пару 74HC595 и не выебывался. PNP нужны там для пропускания тока с "+". Общий анод же, от анода к катоду.
Удач.
Так на сдвиговых те же самые транзисторы придется ставить, выигрыш только в количестве ножек заюзаных на ардуйне
ну а хватит ли вычислительных мощностей, я еще не умею играть на пианино, и не знаю насколько часто нажимаются клавиши, а ведь нужно для каждой клавиши вычислить положение и насколько оно резко изменилось с пред идущего момента
в новой esp32 c3 есть своя рама на 400 кб
Внутри регистров уже те же самые транзисторы. Ты инвертируешь управление на контактах в зависимости от модели общего электрода.
Ты хочешь сказать что если я возьму 2 74нс595, на один подключу через резисторы 200 Ом сегменты индикатора, а к второму 74нс595 я подключу напрямую через 200 Ом аноды сегментов, то я они будут работать и не спалят регистр?
>почему
Потому что транзисторы будут работать в ключевом режиме только когда будут соединены по схеме с общим эмиттером. Если сделать эмиттерный повторитель, т.е. схему с общим коллектором, то до насыщения дело не дойдет, со всеми вытекающими последствиями. Схемы не смотрел.
Я лично ТОКООГРАНИЧИВАЮЩИЕ резисторы только с одной стороны ставлю. Либо по аноду, либо по катоду. И да, регистрам пофиг на твои 20мА на одну секцию. Почитай уже документацию, там написано +-25мА на вход, +-35мА на выход.
А что ты хочешь сделать?
Помогите выразить COUNT из этих формул.
Почему-то у чувака в либе получается count = ( (( (n - 1) x Ftach x 60) / poles) x (poles) ) / rpm;
Онлайн-решалка вобще решает не так - пик 3, правда это без учёта y. Но и с ним как в либе не сходится.
>Помогите выразить COUNT из этих формул.
Меняешь COUNT и RPM_R местами и готово. Это в первой формуле. Если ввести y, то будет - COUNT = ((n-1)2 x fTACH x 60)/(3 x poles x RPM_A x 1/m)
Шимлю светодиод, двумя кнопками управляю яркостью. При зажатии одной яркость плавно растёт, при зажатии другой плавно уменьшается. Всё работало, но слишком быстро менялась яркость. Мне хотелось бы помедленее. Для этого добавил задержку по идее, это не давало бы так быстро менять pwm_density, но всё просто перестало работать. Где я наебался?
Как реализована задержка? Вообще всегда надо стараться обходиться без них, тем более когда речь идёт о работе таймеров. Вероятнее всего ты наебался где-то в настройке этой задержки, если она там использует systick, то возможно ты не разрешил прерывания или и ещё что-то, надо сидеть и проверять регистры, в отладчике смотреть
Мне, кажется, дело в твоей задержке развития.
Лучше менять параметры таймера, отвечающие за ШИМ.
>возможно ты не разрешил прерывания
ВОТ ЕТО ВОТ
>>44654
HAL_Delay - работает от systick, который у тебя не активен. Ты даже не проверяеш нажатие, а сразу бахаешь задержку. Ну и конечно же у тебя всё встаёт, так как HAL_Delay не может выполниться. Надо так:
if(проверка кнопки) {TIM1->CCR1++; HAL_Delay(50);}
>>44665
>>44667
>>44671
Я ебан. Всё работало, но слишком медленно, лол. На весь диапазон в таком виде приходится 50 часов удержания кнопки. И это в одну сторону. Сделал делей на 1 мс и инкремент заменил на +100. Нормально стало.
>>44671
> if(проверка кнопки) {TIM1->CCR1++; HAL_Delay(50);}
Да, так красивее. Только не ++, а += 100. И не 50, а 1.
Там всего лишь в прерывании инкрементируется счетчик, а millis читает значение этого счетчика.
Лучше сам открой ардуиновские исходники и смотри что там делается https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/wiring.c
Может, можно как-то использовать прерывания с не-5В логикой?
Первое что приходит в голову это преобразователи 5в -> TTL и обратно
Ключи поставь.
1мкФ конденсатор + задержка считывания на >10мс
Ты в теории можешь отослать скомпилированный код на еспху и та по юарту его загрузит в ардуину, но боюсь, что ардуиноиде не поддерживает такой тип программатора. Нельзя просто взять и сделать проводной интерфейс беспроводным обернув его в другой протокол
А причём тут ардуиноиде? Бутлоадер ардуиновский из уарта же жрёт прошивку. Выкидываем стандартный конвертер, пихаем еспху, прошитую на wifi-uart мост. Voilà. Мы по-сути просто меняем мост uart-usb на wifi-usb. Прошивку скармливаем не через иде, а сами через какую-нибудь самопальную парашу на питоне. Не думаю, что там какой-то сложный протокол.
я не анон с ардуиной, если что
Удваиваю. Кстати, я этим не пользовался, но знаю что для многих мостов TCP-UART есть драйвера, так чтобы они в системе виделись как обычные COM-порты.
>мост uart-usb на wifi-usb
Только ты еще не учел того что придется на резет жать.
>резет
Блять))00)
Ну тот анон вроде wifi хотел только чтобы otg не нужно было использовать. Сам нажмёт.
Затем что в есп хуево работает ацп, шим, прерывания, у него мало ног и они дергаются при перезагрузке чипа как в конвульсиях.
Я вот сейчас мучаюсь с есп как раз, делаю крутилятор от термодатчика, но 18b20 выдает -127 при значениях шим 760 и 200, уже всю голову сломал, какого хуя творится-то...
даже просто
sensors.requestTemperatures();
float temp = sensors.getTempC(sensorAddress1);
Serial.print("Temp C: ");
Serial.print(tempC);
analogWrite(2, 200);
analogWrite(0, 200);
вызывает такую хуйню
помехи с шим не причем, отрубил вообще вентиляторы, все равно четко на 200 и 760 -127 возвращает...
лучшеб на меге делал...
>eps давно поддерживается arduino ide
Вот спасибо. Попробую. А то всё в блокнотике пишу да консольному компилятору скармливаю.
Неплохо бы ещё и про синтаксис arduino ide какой нибудь информации.
-127 - НЕТ ОТВЕТА, ЁПТА! Ты чем там документацию читаешь? При этих значениях ШИМа у тебя ESP не видит датчик, а это значит, что 200 и 700 - тупо библиотека под датчик завязана на ШИМ модуляции сигнала 1-Wire. Ищи другую библиотеку или пиши сам.
Там надо поебаться немного, чтоб поддерживало
EEPROM живёт всего лишь в 10 раз больше циклов же? Думал бывает какая-то батарейная SRAM внешняя...
Есть ли аналоги вот этой хуйни для ардуины или хотя бы что то похожее?
https://www.chipdip.ru/catalog-show/ic-memory
Хз что ты подразумеваешь под батарейной памятью, но срам тут есть, ты че ёпта
Может быть тебе обычные индикаторные головки нужны? Они есть с выходами RS-232.
>вот этой хуйни для ардуины
Это рассуждение у тебя ошибочно. Хуйня для ардуины ничем не отличается от хуйни для не ардуины, т.к. ардуина это обыкновенный микроконтроллер.
Ну я к тому, что вот этот измерительный щуп тзначально является лишь модулем ддя станка, его можно как и на фрезу так и на сверло заменить.
Хотел сделать отдельно функцию измерения условной длинны ширины при помощи похожего инструмента, но под управлением ардуино и столкнулся с непониманием а как это подключить а что ещё важнее как сделать так чтобы оно запоминало пройденый путь чтобы показывать размер детали.
Не понимаю в чем твои проблемы. Бери индикаторные головки с RS-232 и подключай их напрямую к компу, ардуина для такого точно не нужна. Или бери свой щуп от станка, ищи на него документацию и тоже подключай к чему угодно.
А если ты хочешь подключить устройство с RS-232 выходом к дурине, то подключай через соответствующий преобразователь уровней, например на MAX3232, такие есть в виде готовых модулей "для ардуины".
>-127 - НЕТ ОТВЕТА, ЁПТА! Ты чем там документацию читаешь?
Я то это понимаю, но при шим на 200 и 760 это нет ответа почти постоянно.
Но вряд ли -127 в моем случае - нет ответа. Часто на этих -127 ловит эксепшоны вида:
>--------------- CUT HERE FOR EXCEPTION DECODER --------------- ets Jan 8 2021,rst cause:2, boot mode:(3,6) load 0x4010f000, len 3584, room 16 tail 0 chksum 0xb0 csum 0xb0 v2843a5ac ~ld
и еспха ребутается
>>45747
Да собсно кусок кода и выложил который багует. Ну либы только разве что:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <EEPROM.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress sensorAddress0;
шим 24кгц на 2 и 0
Я подозреваю где-то в прерываниях у 1-wire крышу сносит от шима. Дело точно не в помехах с вентилятора, все же это сам ШИМ говно в есп, ну или библиотека 1-wire, ну или и то и другое - говно, скорее последнее.
Датчик кстати еще и сам инициализироваться отказывается, т.е. sensors.getAddress(sensorAddress0, 0) и sensors.getDeviceCount() нули возвращают в 9 случаях из 10, но если напрямую по адресу 18B20 стучаться, то он отвечает и всё приходит с него. отключаешь шим - работает нормально. Если просто по oneWire стучаться, а не через DallasTemperature, та же херня, поиск скан через раз находит, по уже известному адресу откликается всегда либо шлет говно (-127 т.е.).
Пока просто сделал доп проверку что если с датчика хуита приходит, меняю шим на рандом в +- 10 интервале от текущего и пока не придёт корректное значение либо пока число попыток не закончится (чтоб не висло вообще к хуям), опрашиваю датчик. Работает вроде стабильно, уже шестой день крутится не висло вроде.
>-127 - НЕТ ОТВЕТА, ЁПТА! Ты чем там документацию читаешь?
Я то это понимаю, но при шим на 200 и 760 это нет ответа почти постоянно.
Но вряд ли -127 в моем случае - нет ответа. Часто на этих -127 ловит эксепшоны вида:
>--------------- CUT HERE FOR EXCEPTION DECODER --------------- ets Jan 8 2021,rst cause:2, boot mode:(3,6) load 0x4010f000, len 3584, room 16 tail 0 chksum 0xb0 csum 0xb0 v2843a5ac ~ld
и еспха ребутается
>>45747
Да собсно кусок кода и выложил который багует. Ну либы только разве что:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <EEPROM.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress sensorAddress0;
шим 24кгц на 2 и 0
Я подозреваю где-то в прерываниях у 1-wire крышу сносит от шима. Дело точно не в помехах с вентилятора, все же это сам ШИМ говно в есп, ну или библиотека 1-wire, ну или и то и другое - говно, скорее последнее.
Датчик кстати еще и сам инициализироваться отказывается, т.е. sensors.getAddress(sensorAddress0, 0) и sensors.getDeviceCount() нули возвращают в 9 случаях из 10, но если напрямую по адресу 18B20 стучаться, то он отвечает и всё приходит с него. отключаешь шим - работает нормально. Если просто по oneWire стучаться, а не через DallasTemperature, та же херня, поиск скан через раз находит, по уже известному адресу откликается всегда либо шлет говно (-127 т.е.).
Пока просто сделал доп проверку что если с датчика хуита приходит, меняю шим на рандом в +- 10 интервале от текущего и пока не придёт корректное значение либо пока число попыток не закончится (чтоб не висло вообще к хуям), опрашиваю датчик. Работает вроде стабильно, уже шестой день крутится не висло вроде.
На несколько килобайт? В RTC микросхемах есть несколько байт, в основном AT24cxxx серию используют в поделках. Там и мегабит есть.
А вот если я очень начинающий, можете объяснить? Вот у меня есть ардуино, питается от 6v, к ней через Н-мост подключены два моторчика пикрил. Почему она не может одновременно запустить оба? Керамические кондесаторы припаивал, не помогло.
Отклеялось
Питай моторы не от ардуино, а напрямую от источника питания. Какой, кстати, у него выходной ток?
У ардуины внутри на 1А стабилизатор на 5В, моторчика оба просто пусковым током выбивают этот стабилизатор.
Ставь отдельный стабилизатор на 5В..12В/3А.
Купил клон меги, офигел с того, что не все платы можно без танцев с бубном сделать hid/midi устройствами с использованием удобных библиотек.
Мега не умеет в нативное midi over usb?..
Несказанно удивлён.
А клон даже в dfu перевести геморно, у него просто нет контактов для ресета чипа 16u2 на оборотной стороне.
А если бы были, каждый раз перед тестом кода этот алгоритм выполнять
залить скетч
увести в dfu
перепрошить
потестить
это жопа.
Пушо это получается hid девайс, для которого дополнительно нужны ещё и виртуальные миди порты, чтобы нормально передавать сигнал serial -> midi.
Может быть какие-то шилды на доп юсб порт спасли бы ситуацию, но проще купить duo, по-моему.
ребят, есть ли возможность работать с есп32 на низком уровне через arduino ide? в плане например установки регистров, потому что будет слишком медленно если полностью через ардуино писать, а в ардуино иде самая простая интеграция, поясните, кто работал, низкоуровневые операции с есп32 в ардуино возможны?
ты че, у нее контроллер слабый и цапа нет, только стм32/есп8266/32, но тут надо основательно уже учить си
все ардуины с нативным усб умеют ТОЛЬКО В ХАРДВЕРНУЮ ОТПРАВКУ БАЙТОВ ЧЕРЕЗ УСБ, а то, что ты будешь отправлять - сугубо твоя проблема, поэтому и надо столько библиотек, конкретной поддержки каких то протоколов у ардуино НЕТ
эти 24 помрут тоже, если у человека флеш на 10к записей помирает быстро, тут FRAM - ферритовая оператива, жрет мало, или напрямую в регистры RTC модуляч писать, но там нет много памяти, около 16 байт
кстати есть, но жрет она все равно многовато, 23c1024 вроде
23c1024 посмотри, 256 кбайт, оператива, ее подпитывать надо, или FRAM посмотри, на хабре статья была
сделать транзисторы на входах чтобы повышали уровни до 5в аллах запрещает уже?
попробуй стм32, много уарт, стоит 100р(всего), поддержка ардуино есть, но лучше писать в cubeIDE и выучить С,благо с HAL порог вхождения овернизкий
>каждую 1 мс
Ошибаешься. Тем более на этот вопрос уже был дан ответ две недели назад, причем со ссылкой на код.
Ты постоянно пишешь подобный бред, остановись!
Ему хочется общаться.
Бля. У меня там место ограничено. Обидно. А если диод и после него конденсатор припаять на питании ардуино? Конденсатор будет накапливать заряд и питать во время просадок, а диод не пускать накопленный ток на двигатели.
Так норм будет?
почти нет, я си знаю на процентов 30, но ардуину кодить могу, либо просто надо понять архитектуру МК и с cudemx стм32 будет изи программировать
Я вот третьекур, и так вышло, что с файберами и такими историями познакомился раньше, чем с ардуино. С ней опыта мало, но уже не раз не хватало файберов - например, при ожидании IO. Как обычно решаете такие проблемы?
ну я знаю case, if, while, классы, типы данных, в принципе более и не надо
>А что думаете о перспективах c++20-корутин в embedded?
>корутин
Чи шо?
>Я вот третьекур, и так вышло, что с файберами и такими историями познакомился раньше
С кем?
Кондер не выдержит тока запуска движков, а это значит, что диод не выдержит тока заряда кондёра. Увеличишь кондёр - увеличивай диод и по рекурсии в никуда.
Когда в одном треде ОС хранишь несколько стеков и переключаешься между их контекстами. Переключением немного управляет свой внутренний планировщик. В сетевых сервисах удобно.
Исполняется только один файбер за раз, конечно. Но если надо подождать, пока условно сетевое взаимодействие закончится - удобно.
Например, они позволили бы делать из кода на коллбеках для прерываний код, который выглядит синхронно, но при этом работает асинхронно.
Но они память кушают обильно довольно, так что вряд ли приживутся, боюсь(
>>47065
На ардуине в принципе ОС запиливается довольно редко потому что нахуй не нужно в 95% случаев, а ты хочешь ещё и с изъёбствами.
Кмк, такое вряд ли станет популярным. Разве что в каких-нибудь меш-сетях IoT, состоящих из устройств, использующих мощные контроллеры, которым кроме считывания датчиков и/или высирания в сеть по расписанию ещё что-то делать нужно поддерживать эту самую сеть, например. Возможно, в каких-нибудь осях для мк это и реализовано, но это далеко за пределами ардуино-треда надо спрашивать. Мы тут i2c инициализируем и пытаемся движки через ардуину запитать.
>первый контроллер
Контроллер это квадратная микросхемка на плате. В ардуинах атмега328п стоит. Покрывает 99% потребностей среднего махарайщика. Вкатиться элементарно, инфы в интернетах море, либы основное отличие ардуины от просто контроллера на плате — загрузчик и наличие собственной (хоть и говённенькой) ide и кучкой либ для дебилов ньюфагов упрощают использование максимально. Вкатишься быстро.
>амперка
Не покупай, подумой. Если устраивает оверпрайс за красивую коробку и инструкцию с примерами, то можно брать. Но вообще гораздо выгоднее у стратегических партнёров заказать сет здоровенный, а за идеями и примерами ходить итт и в гугл.
> Но вообще гораздо выгоднее у стратегических партнёров заказать сет здоровенный
Под стратегическими партнерами ты имеешь ввиду китайцев с алика? Что то вроде этого стартер пака?
https://aliexpress.ru/item/32542616423.html
Да, типа того. Смотри где комплектация будет больше содержать вещей из интересующей области. Типа, если жить не можешь без включения лампы с телефона, то желателен bt модуль hc-05. А если хочешь смывать унитаз автоматически, то лучше датчик расстояния типа sr-04 или инфракрасный забыл название. Светодиоды-резисторы-сервы-моторчики почти везде лежат.
Спасибо, а из шапки для понимания схемостроения занимательную электронику почитать?
Хз. Я не читал, но судя по аннотации норм должно быть.
Если прям вообще полный ноль, гуманитарий в плохом смысле слова и даже в книжках "для нубов" нихуя не понятно, то посмотри на изиэлектрониксе про электричество для самых маленьких. Ох блять щас говна могут кинуть. С сантех аналогиями и объяснениями даже не на пальцах, а на одном пальце. Как придёт понимание, обращаться к литературе.
пойдет, потом можешь еще взять стм32 если наиграешься, но амперку не надо, китайцы и только китайцы, еще не советую брать с конвертером мегой16, лучше ch340, с мегой столько ебли, ну еще там светодиоды-семисегментные идникаторы-сервы-моторчики-дисплей 1602 и графический любой, я не покупаю модули, только ардуину купил, если тебя устраивает пиздить с помоек выкинутые приборы и дербанить их то можешь купить только ардуину, так как найти на помойках можно что угодно, сам недавно нашел шаговики и дисплей 1602, а диоды и 7 сегмент есть везде почти потому что все необходимое из датчиков есть
Думаю записывать в формате строки: id,name#var1,var2;var3,var4;var5,var6; ... varN,varN+1
Таких строк будет с десяток. Переменные будут периодически меняться.
Потом читать всю строку и распихивать куда надо.
Ещё есть вариант записывать \ читать значение каждой переменной с определённого адреса в флешке. Типа, как регистры в какой-нибудь микрухе. Но не знаю насколько получится.
Какой вариант будет предпочтительней?
делаешь структуру и размещаешь ее в своей флеш памяти. Не забудь отключить выравнивание https://habr.com/ru/post/142662/
>делаешь структуру и размещаешь ее в своей флеш памяти
Мне это ни о чём не говорит.
Как запихнуть структуру во флешку?
Не указал - флешка внешняя, spi-flash память. Без файловой системы.
Нашёл только вот это:
https://electronics.stackexchange.com/questions/331605/read-and-write-multi-variable-struct-from-to-external-fram-memory-over-spi-by
Чтобы выключить выравнивание в GCC:
#pragma pack(push,1)
...
#pragma pack(pop)
?
И не понятен момент: заполняем структуру и записываем в память. А как потом будет считываться структура вместе с данными? Размер то неизвестен.
Если писать и читать будет один и тот же микроконтроллер с одной и той же прошивкой, то о выравнивании можно не думать.
>>47148
Приводишь тип указателя на структуру к указателю на char или uint8_t или еще чему-то, по обстоятельствам. Далее читаешь байты по этому указателю и пишешь их на флешку, либо наоборот читаешь байты из флешки и пишешь их по указателю в структуру. Определить количество байт (а точнее char-ов) в структуре можно с помощью sizeof. Все легко и просто.
Повторю то же самое другими словами. Когда ты объявляешь обычную переменную структурного типа, локальную либо глобальную, то она будет лежать в ОЗУ. Далее можно получить адрес по которому структура будет лежать в ОЗУ и делать с тем участком памяти что угодно.
640x480, 0:07
А можешь в пастебине или симуляторе каком-нибудь набросать код завязанный на структуры, плез?
https://pastebin.com/3yEb8JDM
Вот так я планирую структуру сделать.
А что тебе не нравится в этом >>47163 примере?
Ладно, немного изменил и добавил комментарии: https://ideone.com/IMoJuj
Хорошо, спасибо. Попробую.
У вас, кажется, шекель за створку доменной печи закатился. Достаньте.
https://github.com/alx741/avr-health
Сейчас еще попробую поставить в сдохший транзистор-тестер, посмотреть.
Существуют ли более детальные тестовые прошивки контроллера, чтоб прям по всем режимам прогнать? Наверняка где-то не дотягивает до оригиналов. Использовать можно, но лучше знать где не тянет.
По происхождению получается чипы с отбраковки с корейской фабрики, еще варианты?
>По происхождению получается чипы с отбраковки
Какие ещё варианты нужны?
Сэкономил - получи и распишись, не?
>Использовать можно, но лучше знать где не тянет.
Если ты нагружаешь атмегу328 настолько, что она может что-то не потянуть, то ты уже все делаешь неправильно.
Бери STM32 с многократным запасом по мощи и не еби мозг, разница в цене микросхемы-контроллера ничтожна по сравнению с остальными компонентами и трудозатрами (если только миллионные тиражи не гнать).
Я не он, но ты пишешь что-то странное.
>нагружаешь
Если логические уровни не соответствуют оригиналу, то это очень плохо. Если по нагрузочной способности выводы также не соответствуют, то тоже очень плохо.
А если ты про "производительность", то не намного лучше. По тактовой частоте и так все понятно, ардуина работает с максимальной частотой для пятивольтового питания атмеги - 16МГц. Если тут будет несоответствие, то совсем нехорошо. А если ты о том что команды будут выполняться другое количество тактов, то тоже плохо, как минимум задержки на nop-ах будут работать иначе, такие вещи как V-USB перестанут работать.
Вчера, таки не запаял в тестер, ибо вырубился до утра. Сегодня если не усну снова попробую. Никто так и не ответил на вопрос по тестовым прошивкам. Или белые люди покупают на дижикее и не ебут голову?
Ты там помехозащищённое оборудование миллионными тиражами собираешь? Уровни совпадают? Частоту держит? Да и хуй с ней, махарайки будут работать. Можешь попытаться рефанднуть, если в объявлении было "100% оригинал бля буду".
Я в формате RAW использовал, по страницам. Задавал каждой переменной страницу, либо массиву данных свой индекс страницы.Но проблемы начинались на страницах больше 512 байт, так как памяти бывало не хватало.
Какие-нибудь элементарные потенциометры например.
Или нужно что-то, что называется шифт регистр, или что-то другое?
Как вообще увеличить количество одновременно читаемых инпутов на ардуино проще всего?
Гуглится отвратительно, даже на ангельском, нихуя не могу понять, будет ли это работать, как на самих инпутах ардуино или нет.
>мультиплексора например 74hc4051 все его инпуты одновременно
Ниет. Только по очереди.
>одновременно читаемых инпутов
Если прям пиздец одновременно - ставь пачку 165 регистров и надрачивая LE можешь сиснхронно хоть 128, хоть 1024 цифровых сигналов сохранить и неспешно загружать их по SPI в пердуинку.
Если про аналоговые сигналы - соси хуй и готовься продать последние штаны что бы затариться многоканальными АЦП с синхронной выборкой.
Спасибо.
Сначала я таки расстроился, а потом всё таки напряг извилину и понял, что входы и так в общем-то сигналы отдают по очереди. С интервалом 0,00001 сек, но всё-таки по очереди.
И по идее, с мультиплексора интервал увеличится до 0,0001 сек или больше, но по человеческим меркам это будет почти одновременная передача сигнала. Но может быть, работать не будет ваще.
Приеду щас, спаяю, задача вроде элементарная, подключить например 20 джойстиков к ардуино, это 40 аналоговых входов, и примерно 16 из них должны будут считываться +- одновременно, чтобы рулить софтом.
Подобных проектов полно в ютубе, но чтоб кто-то попробовал на видео не по очереди крутить потенциометры на плексоре, а одновременно - хуй.
Видимо я отстал от жизни. Посмотри например на AD7771 по сайту AD около 9$ - 8-channel, 24-bit simultaneous sampling ADC.
В даташит не вникал, 5 штук должно хватить на 40 входов.
Для пердуинозависимых с раком мозга - АЦП с дохуя входов через мультиплексор и АЦП с ОДНОВРЕМЕННОЙ выборкой (simultaneous sampling) это пиздец разные устройства. Если кто-то бзданет например про AD7617 - хуй там. Там всего 2 АЦП и 2 мультиплексора 8:1, так что мимо.
>С интервалом 0,00001 сек
Откуда взял это число? Также можно изменить коэффициент делилки ADPS и тогда будет быстрее.
>И по идее, с мультиплексора интервал увеличится до 0,0001 сек или больше
С чего бы это? Если ты не знал, то внутри микроконтроллера мультиплексор и один АЦП. Если ты поставишь дополнительный мультиплексор снаружи, то добавится время выдачи управляющего лог. уровня - несколько тактов, то есть практически ничего, если делать нормально а не через digitalWrite. Плюс добавится задержка самого мультиплексора - для CD74HC4067 это доли микросекунды. Даже если брать по максимуму, то внешний мультиплексор добавит не более микросекунды. Поэтому твое число какое-то странное.
>подключить например 20 джойстиков к ардуино
Вроде как обычные мышки выдают данные с частотой 100...200 Гц, для джойстика тоже будет достаточно. По всему видно что обеспечить такую частоту на AVR будет не сложно.
Выводы логичные. Я же подходил с максимальной педантичностью к заданию
>можно ли читать все его инпуты одновременно?
>одновременно
Еще раз - одновременно. Для синхронного и одновременного чтения нужно число АЦП по числу каналов.
В чуть более тупом варианте ставить 4 любых АЦП и мультиплексоры 16:1 и можно всевдопопарно читать по 4 канала (2 джойстика) за раз.
>Я же подходил с максимальной педантичностью к заданию
Ну и зря. Если пойти дальше, то можно докатиться до учета джиттера... Когда на деле это всего лишь джойстики.
Все будет хорошо и достаточно быстро работать с самыми дешевыми мультиплексорами, только не нужно использовать digitalWrite, да и analogRead тоже не стоит трогать.
>Наверняка где-то не дотягивает до оригиналов.
Обычно у копий ток во сне высокий, где-то на ютубе видос есть.
А так не отличается в остальном
Руки дошли до транзистор-тестера. Таки да, 12 вольт на вход убило контроллер. Купленный успешно прошит и установлен. Тестер заработал.
Можно брать, лол.
У тебя USBasp или вторая ардуина есть? Если есть скачай avrdudess, подключи и нажми Detect, опеределяет чип? А фьюзы считывает? Только смотри не нажми write.
Восстановил по инструкции. Я там, оказывается, проебал один пункт.
Спасибо за помощь. Если бы ты не ответил, я бы не попробовал ещё раз.
Я так две nrf24l01 подключал недавно, потом только дошло, что CE и CSN на UART ногах и надо бы UART выключить. Если чего-то не понимаешь, то RTFM нуб, серьёзно.
micro из-за поддержки usb значительно дороже.
Так что если тебе нужно собрать на ардуине девайс, который будет воткнут в комп, и отправлять что-то в комп - то бери micro, а если это будет отдельно стоящее устройство - то бери nano
Первое это вопрос один из цифровых пинов ведь можно назначит "землёй"?
А второе это что будет если "сигнальный" вывод датчика пустить на вывод "земля" ардуины? Не тот который кодом назначается, а тот что на плате подписан gnd
Т.е. к датчику подведено питание, земля, и сигнальный контакт датчика пустить не на цифровой пин ардуины, а на пин gnd?
Он же не должег сгореть?
Типа какая разница куда будет сигнал идти с датчика, в цифровой пин ардуины или в землю
Можно и осторожно. Некоторые так управляют питанием зависающего низкопотребляющего говна - питают прямо с вывода GPIO.
Если нагрузка (ток) менее 20 мА - можешь спокойно так делать. Из мелких косяков - уровень земли будет чуть смещен (ток нагрузки Х сопротивление ключа), только вот кого это ебет? Просто забей.
>Годная ли замена леонарде/промикре
Смотря для каких целей.
Если сравнивать малинку пико, леонардо и блю пил:
1)По аналоговой части леонардо/про микро просто разъебывает две другие платы, 12 каналов 12-битного ацп(против пико, где 3 канала) + 7 каналов шим, + около 8 каналов внешнего прерывания, поэтому для сложной аналоговой обработки он незаменим.
2) Единственное достоинство у пико - хост usb, поэтому его стоит применять только когда нужен хост usb. Также 16 каналов шим, может быть надо если надо управлять дофига лампочками или движков.
3) Во всех остальных случаях(когда не нужен ни хост юсб с дофига каналов шим, ни качественная обработка аналоговой части) - маст хевом остается блю пил, который в 4 раза дешевле, чем леонардо, и в 2 раза дешевле пико.
Лол, сейчас бы в 2к21 использовать МК без вайфая на борту. Тебе сколько лет, дедушка?
Супер, так а с датчиком что?
По логикк должен он был сгореть или не должен?
Типа сигнальный пин датчика, по которому с него в микроконтроллер должно было идти напряжение просто сливал бы сигнал в землю, так?
Или не так и ему пиздец...
Выкладывай что за датчик. Скорее всего закончится соревнованием у кого ключи сильнее и неизвестно кто сгорит быстрее как при соединении 2 выходов микросхем в выходом push-pull с разными сигналами на выходе.
Если же выход датчика opendrain - то ничего страшного не будет, можешь спокойно замыкать вывод на землю.
так там же земля..
а, или ты про то что ардуина пустит через него все свои "невероятные 20мА", лол
dht22 датчик, температуры и влажности
так пин же сигнальный, как через него может много потечь? разве когда этот сигнальный пин подключают к цифровому пину а не к земле, на этом пине ардуина делает высокое сопротивление?
Я думал она может только 5 вольт на него подать, сделать землёй, или сделать землёй, но перед сливом в землю чтобы считывались данные
Вдвойне не понимать в чем вопрос.. Чем не устраивают тысячи руководств со схемами под пердуинку как запускать этот датчик?
Можно мигать с помощью cube mx.
>полдня нужно проебаться с мануалом, чтоб светодиодом помигать
Полторы секунды в Кубе и в продакшн.
>Тебе сколько лет, дедушка?
Щегол! Если ты совладал с blink на ESP, это не значит, что ты охуеть как разобрался с вай-фаем в контроллере.
я понимаю как его подключить, я хочу понять сжёг я его или нет подключив неправильно
а если я на один выход ардуины выдам "1", а на другой выход "0" и потом замкну их все будет нормально?
и можно ли таким образом проверять кнопки??
Мимо паяю первый раз в жизни
внутри нет, между ног, под ним, под резисторами и под конденсаторами смд между ними и платой главное чтобы вода не осталась, просуши мамкиным феном
он заработал, догадка оказалась верной, можно путать гнд и сигнальный выход, ничего страшного не случится
сколько строк или символов
пока оперативка в компе не закончится или как?
на землю второй надо пускать второй провод, и через резистор чтобы при напряжении 5 в был ток меньше 20мА
Есть микроконтроллеры, которые работают на таких же частотах на жрут меньше?
Или тут почти прямая зависимость частота работы/жор, вне зависимости от контроллера?
продажи должны расти
Снижай тактовую частоту, используй спящий режим.
Может быть подробнее напишешь о своих задачах? А то вдруг у тебя основное потребление идет через подтягивающие резисторы, или микроконтроллер 99.9% времени может находиться в спящем режиме, или на самом деле основной ток у тебя потребляет вовсе не микроконтроллер.
>>49069
Тогда почему клавиатуру подключают напрямую к выводам ардуино в этом примере и она работает?
https://lesson.iarduino.ru/page/urok-13-podklyuchenie-klaviatury-4-4-i-pezoizluchatelya-k-arduino
И внутри клавиатуры тоже нет резисторов.
Выходы как правило соединять нельзя. Можно соединять выходы только с открытым стоком/коллектором.
Открываешь даташит на атмегу и вникаешь.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
Смотри графики 29-8 и 29-9 и думай! Какое выходное сопротивление у портов? Какой ток пойдет при замыкании выхода с лог.1 на землю? А какой максимальный ток допустим?
>Тогда почему клавиатуру подключают напрямую к выводам ардуино в этом примере и она работает?
Потому что одновременно можно нажимать только одну кнопку и там 4 вывода настроены на вход, а остальные 4 - как выходы. А на случай одновременного нажатия кнопок (когда могут соединиться выходы) необходимо добавить ограничивающие ток резисторы. Подтягивающие резисторы есть внутри микроконтроллера, если что.
На самом деле так >>49037 соединять можно, но только если один вывод настроен на выход, а другой на вход. Но нет никакого смысла соединять таким образом.
>графики 29-8 и 29-9
Только не 29-9, а 29-10. Но все равно ты ничего не поймешь, не надо было в школе прогуливать физику.
И что тут сложного, все понятно, тоже мне rocket science.
Графики, илюстрирующие работу выходов.
Допустимый ток от 0 до 20 мА.
При повышении тока напряжение снижается на пару миливольтов, ведь у вывода есть свое внутреннее сопротивление.
При повышении температуры сопротивление вывода растет и напряжение падает больше.
>И что тут сложного, все понятно, тоже мне rocket science.
Конечно ничего сложного, только не для анона спрашивающего о закорачивании двух выходов.
>Допустимый ток от 0 до 20 мА.
Нет, на графике не написан допустимый ток. Нужно смотреть раздел 28. 40 мА на одну I/O ногу, но ток VCC/GND не должен превышать 200 мА.
Теперь вопрос анону который спрашивал о закорачивании двух выходов: какой приблизительно при этом пойдет ток?
>необходимо добавить ограничивающие ток резисторы.
Это защитит от сгорания вывода, но при этом две кнопки будут обозначены, как не нажатые.
Если нужно еще и поддерживать комбинацию из двух нажатых кнопок, то тогда надо диоды.
(а если нужно 3 одновременно нажатые кнопки и более - вообще на все кнопки диоды).
>Подтягивающие резисторы есть внутри микроконтроллера, если что.
Они гавняные, на 100к, перебиваются любой более менее помехой(даже от смски телефона).
Если нужны норм подтягивающие надо ставить внешние на 10к.
Если вообще помехи будут сильные, то надо на 1к.
Хочу сделоть led-куб небольшой 8 8 8 или 6 6 6 . И потом может анимацию еще добавлю плавную.
Стоит вариант выбора микросхем - или регистр сдвига (74hc595) или регистр защелка (74HC574 к примеру).
Что лучше выбрать?
Защелка, если плавную
На каждом аналоговом пине прям внутри кристала rc цепочка стоит?
нет, цап не завезли. Используй шим
>ардуина нано может ВЫВОДИТЬ аналоговый сигнал на каждый аналоговый пин независимо
Да. Но с одной частотой
>На каждом аналоговом пине прям внутри кристала rc цепочка стоит?
Ни на каких пинах rc-цепочка не стоит. Ты вообще понимаешь, что такое аналоговый сигнал?
Кто тебе сказал что в ардуине вообще есть аналоговый выход, ты обкурился? Аналоговые пины это только про вход. Нечто подобное аналоговому выводу можно сколхозить на PWM-пинах, но rc-цепочку городи сам.
С какой ещё частотой? Речь про аналоговый сигнал.
Я понимаю, а ты понимаешь что такое аналоговый сигнал?
> Кто тебе сказал что в ардуине вообще есть аналоговый выход
Лучший эксперт ютуба...
пересматривал вчера старый видос, что-то типа "что такое ардуино, начало работы" и там в самом начале типа обзор, и вот про аналоговые пины такое саказано было, типа чтение аналога и вывод аналога 0-5 в с шагом 20мВ вроде.
А почему именно на pwm пинах? Вроде эе любой цифровой для rc цепочки подойдёт
Очевидно что это относилось к ШИМ, поскольку ЦАП отсутствует. Хотя еще лучше уточнить какая именно ардуина, а то мало ли.
И про частоту не совсем верно, таймеров то несколько.
Я ведь уверен, многие так делают. Сначала же большие дядьки пишут и тренируют все в симуляторе, а только потом, после многих тестов, пилят реальный прототип.
> маст хевом остается блю пил, который в 4 раза дешевле, чем леонардо, и в 2 раза дешевле пико.
Но у пико 2 ядра, а у блю пил 1
> Я ведь уверен, многие так делают.
Ахахах
> Сначала же большие дядьки пишут и тренируют все в симуляторе, а только потом, после многих тестов, пилят реальный прототип.
Ну если речь о ARM, то я б посоветовал qemu. Но вот AVR умеет симулировать только один сапр и это Proteus. И то, ему можно доверять, только если ты хорошо понимаешь, как настроить pspice симуляцию
Частота работы = потребление.
Видел похожее, только там были не совсем микроконтроллеры. Был мод для майнкрафта - redpower, под конец жизни которого его разработчица добавила компы с набором инструкций похожим на 6502. А чтобы программировать это дело в игре, было приляпано что-то фортоподобное. Также были фантазии на подобную тему - DCPU-16, но в итоге никакой игры не было.
Я бы посоветовал тебе взять набор команд от J1, там кода максимум на сотню строк. А чтобы можно было программировать в игре, воткнуть туда форт. Если интересно, то я писал форт для варианта J1, могу дать исходники, если еще на потерял их.
Однако проблема в том, что для большинства игроков вся это байтоебля совершенно неинтересна. Лучше воткнуть интерперетатор lua, без всякой байтоебли.
> Был мод для майнкрафта - redpower,
> Лучше воткнуть интерперетатор lua, без всякой байтоебли
Ну вот computercraft так и сделали. Зато в space engineers подошли к вопросу с размахом, там скриптинг аж на C#
Никогда не будет инкриментировать с частотой cpu то, что имеет более одного действия.
Оказалось что еще не потерял код. Вот так у меня было (кусок кода): https://pastebin.com/nhfVDMfG
Это эмулятор процессора, основной код в методах ALU и execute_insn, которые занимают меньше сотни строк. Отдельно еще два метода read_mem и write_mem, назначение которых понятно из названий.
Компилятор под этот процессор на Tcl, совсем простенький: https://pastebin.com/ZYR1A8aj На классическом ассемблере для такого процессора писать бессмысленно, поэтому сделал что-то похожее на форт.
А вот это уже сам форт, которые работает на этом процессоре: https://pastebin.com/vKBSzLE4
Этот анон >>49307 правильно пишет. Добавлю только, что самое медленное в этом цикле это digitalRead, пишут что оно занимает около 75 тактов. Поэтому можно рассчитывать что будет инкрементироваться с частотой примерно в 100 раз меньше тактовой процессора. Хочешь быстрее - заменяй тормозной digitalRead на чтение из регистра напрямую.
Спасибо, анон. Но вместо форта лучше уж си взять, его хоть многие знают.
> Лучше воткнуть интерперетатор lua, без всякой байтоебли.
Та прост суть будущей игры в том, что ты находишь все более и более мощное железо для своих роботов, и я понятия не имею, как в такую концепцию впихнуть хай левел язык. Хочется чтобы игра как раз была про оптимизацию кода при очень ограниченых ресурсах.
Уже нашел эмулятор 6502 под свой язык, мб изучу его и перепилю под свои нужды
Спрошу в этом треде, тут точно знают.
Что за энкодеры не схеме? 7 выводов вместо 5ти как сейчас везде .
Это уже древний вид не доступный для покупки?
Подписаны выводы 1 2 4 8 С.
>вместо 5ти как сейчас везде .
Ващет у самого обычного инкрементного энкодера - 3 вывода. Еще джва - кнопка.
Это могут быть галетники с йоба-коммутацией известной только производителю данного агрегата.
То есть схема включения(кроме транзисторов, так как они тут pnp типа, а у меня будут npn) приведена на пике
> и я понятия не имею, как в такую концепцию впихнуть хай левел язык.
Ограничение объема оперативки и тактовой частоты. Тут похуй, у тебя низкоуровневый язык или нет
Обычно делают как пик1.
На пик2 изображён крайне редкий случай, когда тока утечки транзисторов хватает для свечения индикатора.
Я пару машинок с камерой сделал в пердуиноIDE на esp32-cam. Еще две машинки ждут своего часа, так как надо качество видео поднять выше 124*84пикс, толи esp32 тупит, толи ли пердуиноIDE, толи антенна. С внешней тоже самое, выше качеством картинку не пересылает.
а ведь ты прав, хз почему думал что xtensa ядра основаны на арме
ты туповат? как ты ещё получишь аналоговый сигнал нормально, кроме как рс-цепочкой?
без всяких ебанутых изъёбов типа отслеживать падение напряжения и рулить переменным резистором
Так а чем pwm-пины ардуины отличаются от обычных цифровых?
На цифровых же тоже можно вкючать и выключать сигнал, будет тот же шим
Согласно каталогу ТИ бывают высокоскоростные и прецизионные
Обычных не бывает, хотя мне наверное бы пошло...
Высокие скорости переключения мне не надо, это я как понимаю для генераторов сигнала, чтобы прям он охуенно ровный был, квадрат или пила, даже на 10МГц
Значит мне надо прецизионный, раз других нет
Нужно чтобы он максимально маленькое потребление имел
И чтобы запоминал значение, т.е. чтобы МК настроил ему выходное значение и ешёл в сон, а он его держал сам.
Нужно добиться потребления от связки МК+ЦАП меньше 1мА в среднем, ну типа проснулся, жрёт МК 4мА, потом заснул на 0.9 секунды например, проснулся на 0.1 секунды подправил значение ЦАП и опять заснул
Выдавать ЦАП должен от 0.3В до 1.2
Если будет +- возле этих значений тоже ок, можно глянуть точнее
Ток с сигнального выхода ЦАП большой не надо, меньше 1мА думаю, это тоже как понимаю важный параметр, а то может к каким-то ЦАП и относительно мошную нагрузку цепляют, 20+мА...
Какие ещё есть параметры? У меня очень плохо с чтением даташитов на английском
Потребление ЦАП в даташитах кстати вообще не нашёл, я конечно понимаю что оно разное будет при разном напряжении выходном, и возможно разном питани, но...
Для меня очень важный параметр.
>цифровых же тоже можно вкючать и выключать сигнал, будет тот же шим
ты тратишь на это время проца, хардварный же шим мало того что не под влиянием утилиции ядер, дак ещё и гарантирует частоту и заполнение
А, вот оно чо.
Спс
>гарантирует
Слушьте, а вот эти пины для шима, они только в ардуине?
В аттине есть же тоже вроде?
Так вот, аттини без внешнего кварца работает, как она без внешнего кварца гарантировать это может?
Без кварца всё-таки немного плавать будут?
>И чтобы запоминал значение, т.е. чтобы МК настроил ему выходное значение и ешёл в сон, а он его держал сам.
Так будет работать практически любой ЦАП с последовательным интерфейсом (I2C или SPI).
>Потребление ЦАП в даташитах кстати вообще не нашёл
Как так? Первый попавшийся простенький ЦАП https://www.ti.com/lit/ds/symlink/dac7612.pdf
У него сразу на первой странице написано:
>LOW POWER: 3.7mW
Дальше правда уточняется, условия при которых это будет и то что на самом деле может быть больше.
У более доступных микрочиповских MCP4921, MCP4725 и прочих тоже все написано.
>Слушьте, а вот эти пины для шима, они только в ардуине?
Нет конечно. И они не просто для шима, у них немного более сложные функции. И вообще, что такое ардуина?
>Так вот, аттини без внешнего кварца работает
Наверное в большей части современных микроконтроллеров есть внутренний RC-генератор, от которого они могут работать. Помимо этого, многие аттини также могут тактироваться от кварца.
>Без кварца всё-таки немного плавать будут?
У любого генератора частота будет немного плавать. Открой даташит на аттини и посмотри насколько будет плавать частота. Вот что вам всем мешает открыть даташит? И к тому же плавать будет только частота, а не заполнение.
А, ну я видел это, но не был уверен что это то что надо
Так а почему так указано?
Хотя это по-идее и правильно, но у во всех электронных компонентов что раньше видел, указывалось потребление в амперах/миллиамперах, даже если они рассчитаны на питание разным напряжением
Хм, может у них потребление не зависит от напряжения питания, ну по крайней мере не прямо
А эти ЦАП прям как преобразователи работаяют... т.е. питаешь его в 2 раза бОльшими вольтами и он практически в 2 раза меньше жрать ампер начинает
Другие электронные компоненты же наоборот, больше напряжение питания-больше жрут, даже если на выходе то же самое делают
Может знаешь как эти ЦАПы работают?
Там внутри микросхемы та же самая rc-цепочка и шим, ну и плюс сложная логика делающее это всё хорошо быстро и стабильно работать?
Все цапы так работают, или какие-то отличия есть?
Я просто хочу понять может есть ещё какие-то важные параметры которые мне нужно знать, чтобы не заказать, прождать месяца 3 пока оно хер знает откуда приедет и потом узнать что это не то что надо
Вот ещё про переключения на другое напряжение выходного сигнала, оно плавно происходит? С каким-то шагом?
>Там внутри микросхемы та же самая rc-цепочка и шим, ну и плюс сложная логика делающее это всё хорошо быстро и стабильно работать?
Нет. У перечисленных выше ЦАП, внутри коммутируются резисторы. Почитай что ли о R-2R ЦАП-ах для начала.
Фигасе, это ж фактически цифровые потенциометры, и переключение ступенчатое значит
Не, мне такие не подходят, хорошо что спросил
Скорости нарастания сигнала не хватает у МК?
>почему
Что за ключи (Vgs(th), Qg, Rds(on) vs Vgs) ? Что за мк? Какая частота нужна? Что за топология (может ты преобразователь)? Нужна ли развязка хуль, можно и трансформаторный драйвер сделать?
А это важно?
Драйверы для коючей или юзают или нет.
Сомнительно что все эти уточнения что ты пернчислил важны важны.
Или скорости нехватает или мощи пинам ардуинки
Есть ещё варианты или нет?
А, ну и вопрос был чисто теоретический, если ты об этом, ничего конкретного не делаю где нужен драйвер ключам.
Я думал это видно из вопроса
>и переключение ступенчатое значит
Что за бред ты пишешь? Будто у ШИМ с RC-цепочкой переключение не ступенчатое. При переключении переходные процессы той или иной длительности есть в любом ЦАП (и вообще любых устройствах).
Если посмотреть статистику по диджикею, то у ЦАП с интерфейсами I2C/SPI и внутренним ИОН, типичное время установления около 10-30 мкс. Причем почти все ЦАП с интерфейсами I2C/SPI сделаны через переключение резисторов разными способами.
Если брать сигма-дельта ЦАП с последовательными интерфейсами, то это в основном с интерфейсом I2S и предназначены они в основном для звука. Время установления у таких ЦАП тоже не более нескольких десятков мкс.
Если так нужно, то что тебе мешает поставить дополнительную RC-цепочку на выходе любого ЦАП?
Я не про время переключения а про форму сигнала при переключении
РС-цепочка на выходе цап с резисторами сомнительная штука, просто конденсатор ещё ладно
Так а МК не может выдавать даже через специальные пины pwm пины шим во время сна?
ну почему ты так порвался...
>а про форму сигнала при переключении
Которая тоже часто приводится в документации. Для упомянутого выше DAC7612 все нарисовано, напряжение на выходе плавно изменяется в течении нескольких микросекунд. Что тебе еще не нравится?
Если брать дельта-сигма ЦАП (которые по принципу действия отдаленно похожи на ШИМ с RC-цепочкой), то и у них будет что-то похожее.
>РС-цепочка на выходе цап с резисторами сомнительная штука
Тогда поставь туда фильтр на ОУ.
>просто конденсатор ещё ладно
А нельзя так делать обычно. Это как поставить на выход ОУ конденсатор с относительно большой емкостью.
>Так а МК не может выдавать даже через специальные пины pwm пины шим во время сна?
Если ты об атмегах, то в режиме idle периферия у них остается включенной, если я не ошибаюсь. При более "глубоком" сне таймеры все же отключаются.
> Которая тоже часто приводится в документации. Для упомянутого выше DAC7612 все нарисовано, напряжение на выходе плавно изменяется в течении нескольких микросекунд. Что тебе еще не нравится?
Ну я думал раз резисторы переключаются в р ту р то будет ступенчато
В рс-цепочке с шимом-то там из-за конденсатора полюбому прям резкой ступеньки не получится
> А нельзя так делать обычно. Это как поставить на выход ОУ конденсатор с относительно большой емкостью.
А что, нельзя??
Это почему..
Ну типа будет просто очень медленно заторможенно изменяться, или прям что-то плохое произойдёт?
там опорные напряжения обычно 0.4-0.6В
У микросхемы преобразователя кпд под 95% при нагрузке даже 5мА
Не хотелось бы сильно изменить КПД приделыванием к ней связки МК+ЦАП
>Будто у ШИМ с RC-цепочкой переключение не ступенчатое
Ну у АЦП на выходе куча дискретных уровней, так что да, ступенчатое. А у ШИМ - пила
ШИМ - это прямоугольные импульсы, а не пила. И что же, коэффициент заполнения у ШИМ с атмеговского таймера не будет меняться дискретно? Также, в чем проблема выбрать постоянную времени RC-цепочки таким образом, чтобы "пила" была меньше младшего разряда?
И вообще стоит начать с определения ступенчатости.
https://pastebin.com/HGxNw7Lc
так это бы было и не применительно к ардуино, и хули?
не, там вот точно явные ступеньки, и дискретность маленькая
а мне надо плавно
хотя... если преобразователь шумит 1%, а количество шагов в цифровом переменном резисторе допустим 200...
то я этих переключений на фоне шума даже не замечу
Если нам надо сделать ну, например, таймер. Прогаем его на н часов, как сделать чтобы это количество н сохранялось после сброса питания? Я полагаю надо в луп делать вызов метода, который записывает переменную н, а сам метод вызывается в сетапе?
Я сейчас попробую, скажу что вышло.
Лол, я не знал про ЕЕПРОМ (гоните меня, насмехайтесь надо мной)
если у тебя ардуино это атмега и хочешь трулли хард экспириенс то есть атмел стуия и кейл
Нифига не понял что ты сказал.
Поэтому вопрос - что можно читать по проганью? Вроде же это кресты? Я дрочил яву немного, а за ардуину взялся без теории совсем, в принципе так даже интереснее.
И ещё вопрос. Функция millis() сколько миллисекунд пишет? Если у меня часы на внутреннем кварце, то на сколько их хватит? Надо ли скидывать по счетчику или функция не скидывается?
трулли экспириенс - это когда без надстройки в виде ардуино (ардуино же по факту высокоуровневая (на сколько можно сказать) обвязка вокруг железа на крестах). То есть ты будешь юзать hal (уровень абстракции от железа) библиотеку, она обычно на сях.
>Функция millis() сколько миллисекунд пишет?
да, под капотом трудится таймер который инкременитит счётчик каждую микросекунду.
>то на сколько их хватит?
на есп32 (сижу на ней) это uint64 то есть 18,446,744,073,709,551,615 микросекунд или же 584942 года
>Я дрочил яву немного, а за ардуину взялся без теории совсем, в принципе так даже интереснее
джве недели назад так же сел за есп32, имея из опыта только факт что 2 года назад моргал светодиодом на стм32 и около 30 строк на сях за всю жизнь. Трачу по паре часиков вечером. С ардуино обвязки сваливать не собираюсь, но сейчас по факту использую в большинстве случаев функции которые под капотом и фичи фриртоса. К примеру на пикриле мой мэйн, в лупе пусто т.к. юзаю таски (если юзать луп то будет залупа да ещё и только одно ядро из 2х будет впахивать), для логирования тоже юзаю подкапотные фичи. Пришлось пару функций фреймворка переписать что бы в коллбэк прилетало больше данных.
Одним словом будь готов читать кучу инфы на ангельском и учится ковырять чужой код
>овновский плк заказал, будет с чем сравнить.
Что сравнить-то? Анально огороженный ПЛК с Codesys и микроконтроллер у которого ты каждый бит регистра можешь нагибать как Б-г?
А ему оно надо? Вангую, набор потом к тебе перейдёт за ненадобностью. Или на полке забудется.
Вообще, этим занимается ЦАП. И там ФНЧ не обязателен. А схема ШИМ -> ФНЧ выдаёт хуёвый аналоговый сигнал.
А это сколько получается вариантов выходных сопротивлений при 8 и 10 битах?
не 8 и 10 же.. как это переводится/пересчитывается?
заебись
а они жрут обычно меньше цапов, эти переменные цифровые резисторы?
может уже сталкивался с подбором, пока я за даташиты не сел перебирать узнать сразу
я мк трогаю вторую неделю, так что вопросы мимо. Скорее всего я не тот чел которого ты ожидал
ну это было безпруфное утверждение на основании того что других способов получить изменяемое напряжение в качестве сигнала нету
ну индуктивность ещё, но явно в цапе не она
но это тоже считай резистор
но.. чтобы изменять степень открытости это надо тоже изменяемый по напряжению сигнал, опять или р-с цепочка или рещисторы переключаемые, лол
открыл даташит, чёт непонятно, оно столько жрёт в режиме работы, или в простое когда просто подано напряжение, или ей вообще пофиг работает или нет, всегда такое потребление?
У неё память есть, выставил сопротивление, отключил мк и она держит заданное?
И если она у тебя ещё есть, можешь проверить, она стабильно работает при 2.5в? По даташиту указано от 2.7 до 5, но мне бы что-то со стабильной работой до 2.5
>их точность хода будет зависеть от других выполняемых функций
нет, под капотом хардварный таймер который каждую микросекунду инкрементит счётчик
>по принципу if(millis()%1000==0)
идея by design хуёвая, гугли freertos ну или какой то другой лайтовый диспетчер
Спасибо, гляну.
Сам уже почти настройку доделяль, сижу на работе ковыряюсь чтобы не грустно было.
>у есп32 под капотом фриртос и там bl, wi-fi, net стэки на тасках. да даже loop это таска
И все написано по-индусски, в результате чего скорость передачи данных по вайфаю никакущая.
вообще не понятно что ты хочешь
Ещё и SSL при желании можно прикрутить.
Спасибулечки!
Почему бы и нет
Так-то ищу где здесь собака порылась и как ее решить. Скетч скину, ЦП не скину.
Нашёл вот такую библиотеку, но она делает по милисекундам, а мне нужно по микросекундам
https://github.com/NitrofMtl/TimeOut
Ну то есть у меня есть основной цикл и в нем есть куча разной хуйни, в том числе чтение SD карты и прочая хуйня, занимающая много циклов. Но на некотором моменте я выдаю команду и через строго заданное количество микросекунд (кстати не константой) выполняется некоторая функция
делать что то жруещее время в прерывании хуёвая идея, поищи какие нибудь менеджеры задач или сразу ебани freertos
упиленый да, но думаю для 328 лучше что то попроще притащить
Но ведь анон просил задержки с микросекундной точностью, если я правильно понял. Разве freertos или какой другой планировщик может переключать задачи с частотой хотя бы 1 МГц? Причем это на атмеге с тактовой частотой 16 МГц. Тут уже время входа в прерывание будет сопоставимо с микросекундой, а ты про freertos зачем-то пишешь.
20. Ну в общем, мне нужно сделать вот это вот без делеев
https://www.instructables.com/Arduino-controlled-light-dimmer-The-circuit/
Так это же печка шизика! Только попроще немного, без обратной связи от термометра.
>без делеев
Тебе один анон уже совершенно верно написал про таймеры. >>52576
Скорее всего даже прерывания от таймеров не потребуются, таймеры сами могут выдавать импульсы на ножки микроконтроллера. Использовать для такого freertos это конечно полнейший бред.
> Так это же печка шизика! Только попроще немного, без обратной связи от термометра.
Ну как тебе сказать. Вот, держи, max31855sasa и термопара S типа с али
2) Лучше инициализировать дисплей и вызывать display.begin в каждом модуле либе или запузырить его в основном файле, а остальным классам передавать по ссылке?
3) Так можно делать с любой периферией или зависит от подключаемого модуля и его либы?
0) Какого хуя визуалка с visual micro постоянно падает? так еще и на последнем скетче начала матерится на сигнатуры функций, которые в родной ide проходят без выебонов
Врятли. Просто шизики - шизики во всём
Вloop() я вызываю leds_loop() из другого файла.
В leds_loop() я вызываю tickPWM()
Пик 1. И вижу пик 2.
Всё дублируется. Будто мой файл инклудится 2 раза и работает параллельно. Но я так же вызываю leds_setup() и он вызывается только 1 раз.
Ещё хуже если я сделаю ticker.attach_ms(200, tickPWM); и удалю вызов tickPWM() из leds_loop()
Тогда пик 3. Числа повторяются ~36 раз.
КАК?!
Пик 4 весь мой leds.cpp
leds_setup() вызывается из главного setup()
leds_loop() вызывается из главного loop()
можно кста за место дефайнов в начале просто указывать #pragma once
Ну почти, это термопара S типа в керамическом корпусе
Ну вон выше поц лифт не может сделать, скооперируйтесь хуле
Роботизация всякая, бостон динамикс на минималках. Там надо много математики и много кода.
Ну или рисование 2D/3D на точечном дисплейчике типа 128х64, тоже анальная ебля еще та.
ебани вывод картинки на vga моник или осцилограф. но это скорее всего уже нужно брать что то попроизводительнее по типу esp32 или stm32 при чём если ты уже выбрал тему в заголовке которой есть ардуино то всё равно можешь спокойно брать почти любой камень и ебануть на него ардуино фреймворк
Сделай волка с яйцами.
Оке, улетел
VGA запросто можно сделать на AVR, конечно если для тебя ардуино это AVR. Только это не проходит по требованию сложности в программном плане.
Вывод одного пиксела можно сделать тупо двумя инструкциями, которые займут три такта. т.е. максимальная пиксельная частота будет в три раза меньше тактовой микроконтроллера.
ld r15, Z+
out PORTA, r15
Далее можно тупо скопипастить или макросом продублировать эту штуку на количество пикселей в строке. Если брать 640x480, 60Hz, то пиксельный клок пишут что 25 МГц, а на атмеге можно обеспечить 6,7 МГц, т.е. примерно в 4 раза ниже. Соответственно получится не 640 пикселов в строке, а 160. Если понизить разрешение до 128х96, то вся картинка влезет в 16 кб, если по 8 бит на пиксель. Если еще взять ардуину на ATmega1284, то можно будет выводить из ОЗУ произвольную картинку.
То есть это очень тупая задача в программном плане, необходимо только немного написать на ассемблере.
>ардуину на ATmega1284
С этим я похоже немного ошибся. Таких ардуин вроде как не бывает. В таком случае можно взять ардуину на ATmega2560, хотя тактовая частота будет немного ниже, но все равно хватит для 128х96.
Анонче, сильно не ругай. Скажи что купить, чтоб побаловаться и понять что такое Ардуино.
Arduino nano,
мультиметр DT830
паяльник на 900M жалах,
флюс и припой отечественные, луженую макетную плату бредборды строго нахуй, на них учиться только мозги засирать,
набор резисторов всех номиналов (особенно много 220R и 10K),
светодиоды RGB с общим анодом,
выпрямительные диоды 1N4007,
транзисторы D882 и IRLZ44N,
конденсаторы 1000uf 16v, сервомоторы 9g,
дисплей 1602 с i2c конвертером PCF8574,
датчик влажности и температуры BME280,
кнопки тактовые,
потенциометр с ручкой
Ну а там дальше сам разберешься.
прикрутить разрешение приемлемое, добавить возможность читать usb клаву, научить прикидываться терминалом с поддержкой 256 цветов по com
Дилдодрон с навигацией и проигрыванием рандомных гачиремиксов с флэшки
из жпга, кстати, дохуя поддерживает
пиздишь же
auto display = Adafruit_SSD1306(128, 64, &Wire, -1);
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
display.clearDisplay();
uint8_t h = 64;
uint8_t w = 64;
uint8_t pic_ptr = static_cast<uint8_t>(malloc((h w)/8));
for (size_t i = 0; i < (h w)/8; i++)
pic_ptr = i % 2 == 0 ? 0 : 255;
display.drawBitmap(0, 0, pic_ptr, w, h, 1);
display.display();
наглый пиздешь
картинка целая - если объявить как конст прогмем - все норм.
void setup() {
// Start the serial interface
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
uint8_t ram_img[] = {
0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xdd, 0x80, 0xdd, 0x80, 0xff, 0x80, 0xe3, 0x80,
0xff, 0x80
};
auto display = Adafruit_SSD1306(128, 64, &Wire, -1);
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
display.clearDisplay();
uint8_t h = 9;
uint8_t w = 9;
uint8_t pic_ptr = static_cast<uint8_t>(ram_img);
for (size_t i = 0; i < (h * w)/8; i++)
pic_ptr = i % 2 == 0 ? 0 : 255;
display.drawBitmap(0, 0, pic_ptr, w, h, 1);
display.display();
...
наглый пиздешь
картинка целая - если объявить как конст прогмем - все норм.
void setup() {
// Start the serial interface
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
uint8_t ram_img[] = {
0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xdd, 0x80, 0xdd, 0x80, 0xff, 0x80, 0xe3, 0x80,
0xff, 0x80
};
auto display = Adafruit_SSD1306(128, 64, &Wire, -1);
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
display.clearDisplay();
uint8_t h = 9;
uint8_t w = 9;
uint8_t pic_ptr = static_cast<uint8_t>(ram_img);
for (size_t i = 0; i < (h * w)/8; i++)
pic_ptr = i % 2 == 0 ? 0 : 255;
display.drawBitmap(0, 0, pic_ptr, w, h, 1);
display.display();
...
а, это я дибил твои полосочки не убрал
>> Шаговые двигатели на второй пикче
>Сколько тысяч долларов будут стоить шаговики, которые смогут обеспечить 12kps и 20 градусов?
Это делается гальванометрами. Наверно, можно пару дохлых винтов раздербанить для этого.
Вот похожий проект: http://krazerlasers.com/lasers/rgb4/
Вопрос: началась проектная импотенция. Идей нет. Посоветуйте что делать?
если ты кстати на есп32 сидишь то контролируй что бы всё что юзает один i2c сидело на одном и том же ядре. Натыкался на грабли и день ебался в попытках пофиксить а потом понял что у меня таска рисования висит на одном ядре а инициализация на другом проходит
>Посоветуйте что делать?
затея говно как по мне. если хочешь покайфовать от решения задачи то это должна быть нужная тебе задача
я шиз и легко загораюсь месяца на 2-3
Чёт начал писать говногод и слишком много ОЗУ на это дело уходит.
Состояние каждой кнопки, текущее и предыдущее, подсчет задержки для каждой кнопки. Как вообще правильно и оптимально делать.
Я не использую готовые решения для ардуины. Плату использую, как макетку. Пишу на сишке.
Посмотрел его код, он памяти сожрёт больше чем мой говнокод.
Можно конечно извернуться и использовать два байта для хранения состояния до 8 кнопок, текущее и предыдущее. Тупо можно байтики ебать масками. Ну и массив для подсчета длительность нажатия и антидребезга.
Короче нужен алгоритм, а то чёт я не разбираюсь.
А как быть перфекционисту?
Я ещё код не написал, а уже переживаю, что получится не оптимальное говно жрущее ОЗУ. Я переживаю, что слишком большой обработчик прерывания получается
да я же понимаю. у самого порой заскакивает. главное убедить себя что это можно отложить а потом уже оптимизировать
>А как быть перфекционисту?
Бросай эту устаревшую недоразвитую платформу, перекатывайся на стм или сразу на малину, тебе нужен совершенный лучший микроконтроллер.
Есть задача написать сервер на плюсах (boost asio или кьют-сокеты), приложение на qml и простой код на ардуино в качестве двух клиентов. С приложения на кьютах должен быть контроль ардуино через этот сервер посредством запросов. К этому всему ещё должна быть БД для системы аккаунтов. Насколько вообще это сложно? Работал я со всем этим кроме сетевого кода, с ним будут самые большие трудности и собственно по нему хотелось бы услышать советов. Фактически на сервере мне нужно будет принимать данные и обрабатывать их, а так же отдавать обратно другие данные, на деле звучит просто, а как это сделать нихуя не понятно. В какую сторону копать для реализации этого?
Подскажите, пожалуйста, самый простой путь повысить 3.3v до 5? Может есть решение в одном корпусе?
mqtt протокол гугли, можно готовый сервак найти, например nodejs( на базе него можно UI виджеты сделать для управления - отображения)
Вентилятор 5v, в этом загвоздка. Не хочу тащить питание из других мест, хочу всё необходимое брать из мини-псино-порта.
Бери на алиэкспрессе самый дешевый преобразователь для однобаночного павербанка (5v usb step up) и отпаивай от него usb-порт - как раз будет то что тебе нужно.
Бери на алиэкспрессе самый дешевый преобразователь для однобаночного павербанка (5v usb step up) и отпаивай от него usb-порт - как раз будет то что тебе нужно.
> mqtt протокол гугли
Глянул, понравилась эта вещь. А судя по этому видео https://www.youtube.com/watch?v=OOqS8fhd6ck это всё ещё и можно из браузера прямо настраивать, то есть просто установив москито на условный AWS, на котором же можно и организовать БД. Спасибо за помощь :3
да, все верно все в браузере можно нарисовать, mqtt либа для ардуины есть, я правда с esp8266 работал с этим протоколом.
Из какого говна и палок можно собрать такую ардуинку?
проблемка еще в том, что объекты хоть и в прямой видимости, но их положение в пространстве будет меняться, возможности постоянно направлять датчик нет.
Друг захотел устроить собачьи бега, придумали использовать приманку на тросе, и чтобы вручную не крутить, хочет чтобы крутилось самостоятельно, но надо как-то замерять расстояние между собаками и приманкой, для ускорения приманки.
Можно, конечно, сделать топорно и постоянно ускорять приманку, но решил заморочиться.
>придумали использовать приманку
Не сработает, метров через 50 максимум собаки прекратят погоню. Даже охотничьих собак надо долго тренировать для этого.
Загугли гпс ардуино. Я сам не делал такого, но вроде несколько модулей было.
китайские neo 8m (neo6 и 7 не бери) цена около 500р за шт
функция {
цикл1
delay
цикл2
}
Сами циклы короткие, а вот дилэй может быть около секунды, при этом эту функцию нужно прерывать при нажатии кнопки для смены состояния. Второй день гуглю, не могу понять как адаптировать под свою задачу это. Понял, что дилэй на даёт исполнять код в промежутке ожидания и что нужно использовать millis, но как их сюда правильно вставить я не понимаю, ведь мне нужно всё так же оставаться в этой функции (while (true)?), ну и о проверках на смену состояния (или просто проверку на нажатие) на каждой каждого цикла.
Таймеры!
да конечно, рад пообщаться
>А лучше сразу на есп32 уходить
в манямирке дауна есп32 типо самый мощны мк?
ошибаешься stm32f4 f7 намного мощнее будут
Делай на КОНЧЕННЫХ АВТОМАТАХ!!!!
можно rtos прикрутить, я правда freertos на голой атмега32 я заводил , но фишка в том что свои мигания ты вынесешь в некие таски, как и опрос нажатия кнопки.
Радио+GPS на ошейник каждой собаке.
Нет, ты серьёзно, зачем из дурки вылез? Ультразвук чтобы плюнуть - надо излучатель. Что ты с 5мм диаметра получишь? Как ты потом считаешь? Что у тебя там?
Ну, в игрушечную умную машинку нужно запихнуть УЗ датчики для определения примепного расстояния до препятствий,которые возникают впереди. Датчики стандартные на алике слишком большие, минимальный размер на алике который я видел 10мм. Но даже он большеват, машинка не такая большая, 5 мм датчики были бы в самый раз.
1мкФ, если надо быстро-быстро нажимать, то 0.1мкФ.
А при чём тут мощность?
F7 стоит 1,5к+
прелесть есп в том что там готовый фреймворк уже на фриртосе, стоит дёшево, производительности достаточно
Где про прерывания почитать, что бы просто объяснили? Последний раз это слово видет в настройках звуковухи в игрушках 90х годов. С тех пор ни разу не понадобилось несмотря на то что 40% времени на работе автоматизирую железо.
> уже на фриртосе
В куб-иде фриритос тоже подрубается пару кликов.
А тут еще какие-то фреймворки изучать, нахуй надо.
>>55518
>нескучные светлодиодные забавы
>stm32f7
>Да ебашь сразу на EPYC с 64 ядрами. Хуле.
Так говори об этом этому >>55387 шизику, который для светодиодных забав предлагает ипользовать есп32 с фриртосными фреймворками.
> Пиши свой delay(int), в котором у тебя будет проверка кнопки, лол.
О, а вот это то что как раз нужно, спасибо. Не смог додуматься до этого.
И всем остальным тоже спасибо, просто нужна была простая реализация без доп. средств, кастомный дилэй то что нужно, как раз можно millis() туда вставить.
Хочу поиграться с плисками, но при єтом не хочу учить тонны всягоко говна вроде fpga/verilog/vhdl и т.д.
В связи с чем вопрос:
1) Есть ли ардуины с плисками?
2) Можно ли в ардуино иде прогать плис?
The AVR Microcontroller and Embedded System by Muhammad Ali Mazidi ( PDFDrive )
Занудный петух-махарайщик с ЧСВ, раздутым до небес.
1. Че блядь с командами? В гайдах 0x79 - измерить уровень со2. В китайском дата_shit это включение/отключение автокалибровки. 0x86 у китайцев это чтение со2, в гайдах это выключение ABC.
2. В чем разница между ABC и Self-calibration?
3. Нормально ли что, при включении лгбт подсветки лампы напряжение падает с 4.8 до 4.5в? Можно ли воткнуть конденсатор рядом с датчиком?
4. Если я сделаю калибровку через HD пин в лесу, не запорется ли датчик?
5. Как часто делать опрос датчика? Нужно ли чекать байт S?
Но судя по видосам у него рабочая область не больше сантиметра.
avr not arduino.
есть ли смысл юзать чистый си с avr gcc с платой arduino вместо arduino си? скилл прибавится? в треде увожение получу? в схемоте около дна, с си/си++ болилименее знаком какая же заочка дно, я пришел чтоб меня палками пиздили, а по итогу так нихуя и не знаю
>есть ли смысл юзать чистый си с avr gcc с платой arduino вместо arduino си?
Да. В контроллер начнут влезать более сложные проги. Умение в погромирование авр не через ардуину даст тебе суперспособность паять в свои махарайки контроллер, а не ёба-плату, из-за чего они махарайки будут меньших размеров. Будешь на ардуине тестировать прошивку, а потом лить её в контроллер запаяный на плате пересчитав делители и поменяв названия некоторых регистров, если камень другой. Перекат на другие контроллеры если вдруг понадобятся будет проще.
>скилл прибавится?
Что ты под скиллом подразумеваешь? Научишься регистры ебать сам, а не через тыщщу проверок на дебила, как в ардуинолибах. Научишься в даташит смотреть. Хз почему, но ардуинщики этого патологически не умеют.
Взять к примеру модуль таймера в разных микроконтроллерах. Если посмотреть блок-схему, то становится понятно, что таймеры внутри довольно сложные и умеют аппаратно довольно много всего. Например, с помощью таймера можно измерять интервал между двумя импульсами с точностью до периода тактового сигнала.
Как это сделаешь с помощью ардуиновских функций? В этом случае придется лезть в даташит, регистры. Конечно может быть найдется сторонняя ардуинолиба под это, но вряд ли это избавит от изучения аппаратных особенностей таймера конкретного микроконтроллера.
И подобных примеров множество.
>arduino си
Там "чистый" C++, только еще небольшой препроцессор.
И еще вопрос: есть ли более компактная альтернатива меге кроме мега про? Можно с меньшим количеством выводов, но шоб флеш и озу столько же или больше.
Тебе обязательно Ethernet? Можешь взять что-то на ESP8266 ESP-01 например и это уже будет вайфай. А там уже и ESP-12/NodeMCU можешь взять ВМЕСТО ардуины
Да, именно медный нужен. Про есп знаю, не подходит к сожалению. Устройство будет устанавливаться в место где нет беспроводки.
Сча али смотрю, оче много разных модулей. Хз у кого какие минусы и плюсы.
Лучше модули на W5100/W5200/W5500, потому что они поддерживаются официальными библиотеками, но я и на китайском ENC28J60 простенький вебсервер заводил и тоже проблем не имел.
>оче много разных модулей.
Если ты берешь на алиэкспрессе
>мега про
То какой у тебя может быть выбор кроме ENC28J60 и W5100/W5200/W5500? Модулей то может и много разных, но начинка одна.
>И еще вопрос: есть ли более компактная альтернатива меге кроме мега про?
Очевидно, тебе надо сходить на сайт ардуино и купить посмотреть там.
https://store.arduino.cc/usa/arduino-yun-rev-2
Правильно!
Главное чтоб шим из за него не лагал.
Всё это вместе должно работать как-то так - анончик прикладывает свою карточку к сканеру, если его нет в бд, то доступа нет, если уровень доступа низкий - нужно ввести пинкод, уровень доступа высокий - пропускает просто так. Сам пинкод будет привязываться к каждой карточке в бд.
Если ещё останется время, то сделаю на qt-виджетах форму, чтобы можно было в базу данных заносить пинкод-карточки руками прямо. Для украшения ещё можно какой-то светодиодик зелёный поставить и пьезодинамик.
Я что-то подобное видел в фильмах/сериалах, возможно подобное даже продаётся, но лучше я придумать не смог.
Что думаешь по этому поводу? Больше особо не с кем советоваться, научрук дал полную свободу действий и сказал думать над темой, а уж по ардуино он вряд ли мне что-то подскажет.
Всё это вместе должно работать как-то так - анончик прикладывает свою карточку к сканеру, если его нет в бд, то доступа нет, если уровень доступа низкий - нужно ввести пинкод, уровень доступа высокий - пропускает просто так. Сам пинкод будет привязываться к каждой карточке в бд.
Если ещё останется время, то сделаю на qt-виджетах форму, чтобы можно было в базу данных заносить пинкод-карточки руками прямо. Для украшения ещё можно какой-то светодиодик зелёный поставить и пьезодинамик.
Я что-то подобное видел в фильмах/сериалах, возможно подобное даже продаётся, но лучше я придумать не смог.
Что думаешь по этому поводу? Больше особо не с кем советоваться, научрук дал полную свободу действий и сказал думать над темой, а уж по ардуино он вряд ли мне что-то подскажет.
Ты придумал предельно уебищную реализацию СКУД. Диплом? Сириусли? Я надеюсь, ты кончаешь колледж/ПТУ, потому что если такие проекты считают достойными диплома в ВУЗе, то эта страна окончательно и бесповоротно проебана.
Да, он придумал СКУД. Но если он реализует хотя бы ЭТО, от начала и до конца - то он молодец. Дипломники в мой год сдавали всё те же самые переделанные старые дипломы. И только я притащил напечатанного паукана, который весело дрыгая ножками держал горизонт при наклонах. Единственный инжонер на поток, который притащил ПРИБОР, лол, а не просто ворох бумаг. Пусть делает, лучше совет дай как ему лучше всё сделать.
>>57950
RFiD + клаву + LCD ESP8266 сама по себе по количеству ног не вытянет. Её только как WiFi-модуль.
Такие проекты не новы, ты даже можешь взять как пример любой из готовых. Серьёзно, это одна из излюбленных тех "умного дома на ардуине". Но если ты думаешь, что большего не потянешь - делай это, всё приходит с опытом.
Можешь ради прикола не дверь-замок + СКУД сделать, а катающуюся руумбуу с пластиковым ножом и чтобы она воспроизводила через динамик "пароль!", при зафиксированном движении через PIR датчик. На экране высвечивать три минуты на ввод пароля или карточки, в случае если не удалось ввести пароль, то воспроизводить "а нуууу, чики-брики!" и дико вращать пластиковым ножом.
>в гидравлической аппаратуре крана
ЕБААААТЬ!
>температуру и давление окружающей среды
>BMP280 + LCD + duino
Всё, готовых примеров завались. А вот гидравлику без нормального датчика - не не не, ну его нахуй. Хотя, если тебе не температуру жидкости в гидравлике измерять, а только вокруг, то любой термодатчик справится. Опять же, примеры есть, берёшь и делаешь.
Да, так как вебсервер на ENC28J60 хоть и будет работать, но будет периодически лагать с отваливанием от сети, по внутренним причинам. Там прерывание не всегда правильно завершается по входящим данных и чип тупо виснет.
HC чтоли?
Выпаиваешь стаканы вокруг излучателя и приёмника.
@
Выпаиваешь излучатель и приёмник
@
Паяешь их на провода к плате
@
Делаешь новые стаканы, чтобы излучатель не фигачил на приёмник
@
Профит
>Делаешь новые стаканы, чтобы излучатель не фигачил на приёмник
@
Выбрасываешь к хуям ету перделку и впаиваешь VL53L1CXV0FY
Вот я и думал насчёт датчика, там в ссылке которую я кидал, используется датчик давления масла от ваз-2106, потому что мне надо и температуру и давление самой рабочей жидкости. Где эти примеры посмотреть можно?
Тебе нужны примеры по датчикам и по АЦП. Всё.
> Ты придумал предельно уебищную реализацию СКУД
А как тогда можно сделать лучше?
> Я надеюсь, ты кончаешь колледж/ПТУ
Так и есть.
>>57956
> RFiD + клаву + LCD ESP8266 сама по себе по количеству ног не вытянет
Я вот подумал, что LCD вообще лучше выбросить тогда, а матричную клаву можно вроде как к одному аналоговому пину подключать. Да и наверное вместо wifi-модуля лучше какой-то ethernet шилд (а какой тогда?), чтобы условный клиент мог просто вставить кабель и чтобы всё работало из коробки, без перепрошивки устройства. Больше пока идей других и нет, разве что запилить какой-то интересный функционал ещё для приложения, где эти карты будут добавляться, что-то вроде: неизвестные карты добавляются в БД с меткой, а в приложении эти неизвестные карты можно модерировать из отдельного списка и уже вбивать номер карты не руками, а просто в пару кликов заполнив форму.
> Но если ты думаешь, что большего не потянешь - делай это
У меня просто идей как таковых нет, всякие сигнализации, умные теплицы это не то, а робототехнику какую-то я уже действительно не потяну, даже примерного представления этой области нет.
не оч советую именно китайские МОДУЛИ брать, ибо записку заебешься делать
у нас на заочке подобные курсачи были, делали их за пару недель до сдачи я делал пожарный извещатель с настройкой через монитор порта
> не оч советую именно китайские МОДУЛИ брать, ибо записку заебешься делать
Не совсем понял о чём ты, о какой записке речь?
Классика тут: 12В свинцовая батарея, преобразователь 12-5В и блок заряда для 12В. Можно и три 18650 и 3S BMS.
>>57986
ESP8266 ты по количеству ног к RFiD считывателю может и не сможешь подключить. Бери тогда ESP-07 или ESP-12. Экраном реально может быть и телепон на андроиде. Андроид студио бесплатна, я за неделю наваял свой проект и рад.
ну к курсачу идет пояснительная записка, где ты описываешь как ты проектировал свою хрень и как выбирал компоненты, и тут появляется проблема что сравнивать готовый модуль не с чем, и он еще и часто бывает хуже чем купить просто датчик и подсоеденить я просто глядя на твой охуенный проект, догадываюсь что ты такой же дуб, как и мы на заочке
> ESP8266 ты по количеству ног к RFiD считывателю может и не сможешь подключить. Бери тогда ESP-07 или ESP-12. Экраном реально может быть и телепон на андроиде. Андроид студио бесплатна, я за неделю наваял свой проект и рад.
В идеале хотелось бы это представить что-то вроде как решение для офисов либо корпораций (игрушечная версия конечно, но какая есть), чтобы работало по принципу plug and play, воткнув ethernet кабель и питание, автоматически подсоединяясь к серверу. С вайфай модулями это будет проблемнее, так как под определённую точку пришлось бы перепрошивать ардуино, да и, мне кажется, один кабель от коммутатора протянуть проще, чем выделять целую точку. Ещё и шилд можно поставить прямо поверх платы, пинов должно хватать в таком случае на RFID, клавиатуру, пьезодинамик и ргб-светодиод для индикации, LCD скорее действительно лишний, так как любой рандомный анон может легко запомнить твой пинкод (это я бы так оправдывался перед комиссией почему нет дисплея). Поправь, если я где-то здесь не прав. Может это всё как-то даже усложнить можно, чтобы больше на серьёзную дипломную походило, но в голову не приходит ничего.
>>58086
Не, у нас не пишут таких записок, да и модулей там будет штуки 3, из которых покомпонентно можно собрать только 1 и это матричная клавиатура, но её колхозить не хочется.
> просто глядя на твой охуенный проект, догадываюсь что ты такой же дуб
Похоже на то. А что по проекту посоветуешь и как он в целом? Слишком простой или идея для реализации говно?
>вроде как решение для офисов либо корпораций
Вот потешное решение СКУД по RFID, отпечатку пальца или пин-коду. Осилишь подобное?
> Осилишь подобное?
Именно сам пикрил? На пикриле скорее всего какая-то сложная ось на ядре линукса, раз у них ещё и интеграция с битриксом есть и интерфейс свой на дисплее. Конкретно вот так с нуля плату+ос я точно не осилю.
А если просто > СКУД по RFID, отпечатку пальца или пин-коду
то да, скорее всего. Отталкивает только цена сканера. Там же, фактически, всё так же как и с RFID нужно обрабатывать, будуть отличаться разве что функции из библиотеки. Или не так? С готовыми модулями всё просто выходит. Система логов у меня тоже будет, отдельной таблицей в БД рядом. Зачем там веб сервер примерно понимаю, видимо для удалённой настройки и модерации, но в моём случае это будет отдельное приложение (может даже веб-морда) со входом в БД конкретного устройства. Тревогу при вскрытии корпуса не знаю как сделать. И дисплей из этого всего остался, о котором я выше писал, что он не прям то особо и нужен в этом случае.
Можно поставить 18650 с защитой, зарядку и повышайку 3,6..4,2->5 с низким током в выключенном состоянии, входом включения, подтянутым к основным 5 В и схемой коммутации основного и резервного питания на диоде и полевике/двух полевиках.
Да, есть еще микросхемы зарядки со встроенными схемами коммутации питания, лучше всего взять такую.
>И дисплей из этого всего остался, о котором я выше писал, что он не прям то особо и нужен в этом случае
Для курсача важно чтобы схема была помудреннее и сам макет пиздато выглядел. Так что побольше дисплеев и светодиодов обязательно.
> ESP8266 ты по количеству ног к RFiD считывателю может и не сможешь подключить
Сдвиговые регистры
>spi на сдвиговых регистрах
Я с I2C на ключевых регистрах заебался (да оно работает, но пока добил заебался), а ты SPI думаешь реализовать на ESP8266, лол.
Причем первый пик - головоломка. А второй вообще не тема обсуждения, это ESP8266MOD, у которого проблемы этой и нет.
то что грубо говоря с софтовой реализацией жрёт твоё процессорное время и ты рука двигаешь все байтики и дёршаешь ноги. с хардварным же вариком ты просто пишешь в одно место конфигурацию, в другое пихаешь то что нужно передать из третьего читаешь, всю магию комуникации делает проц на спец блоке
Собрал программатор из нано, загрузил ардуино исп на нее, подключил правильно, выбрал плату правильно, выбрал загрузить через программатор, не прошивает, программатор не отвечает.
Взял обычную нану, точно рабочая, точно грузится через юсб. Прошил ее через адаптер - не прошивается. Прошил ее через другую нано в качестве isp - не прошивается.
В итоге через юсб все шьется, через неюсб ничего не шьется. В чем проблема?
MISO/MOSI
поясните, в atmega8 уже пофиксили баг, что vcc и avcc были соединены вместе, или нет?
Ну на ракшо форумах писали что да.
Было в старых версиях, сейчас в атмега8а должно всё быть ровно. А вообще атмега8 устарела. Есть 328 и прочее в таких же корпусах.
Ну а белые люди используют АРМы.
>А вообще атмега8 устарела. Есть 328 и прочее в таких же корпусах.
В чем заключается устаревание атмеги8 по сравнению с атмегой328?
>Ну а белые люди используют АРМы.
Походу в автопроме об этом не вкурсе и почему то пользуются avr-ками и stm8a.
> Походу в автопроме об этом не вкурсе и почему то пользуются avr-ками и stm8a.
Потому что автопром пиздец инертный, и из существующих линий выжимают максимум. Пока не пришёл Маск, никто вообще не собирался пихать полноценные компьютеры в машины
мне интересует всякая хрень около умного дома и чпу
я знаю что этих CAD программ овер дохуя но не ебу что мне нужно
я прост заочник, думал тут хоть как то учить меня заставят, но переподам ваще похуй, а силы воли чет хуй да нихуя
>В чем заключается устаревание атмеги8
Она дороже 328-ой
https://www.digikey.com/en/products/detail/microchip-technology/ATMEGA8-16PU/739787
https://www.digikey.com/en/products/detail/microchip-technology/ATMEGA328-PU/2271026
Она медленее
Меньше периферии
Меньше памяти
По-памяти atmega8 должна быть obsolete, вместо неё багфикшенная и по-моему на новом тех-процессе 8А была.Сейчас в таких же корпусах за приблизитильно аналогичную в розницу цену есть новые АВР-ки, больше перифирии, памяти и т.п. Смысла использовать старые запасы нет.
Отталкивайся от датчика давления. Гугли "датчик давления АСУ". Интерфейс там обычно 4-20. Модулей имеено на ардуино я не встречал.
>Пока не пришёл Маск
Ага, у которого "автомобили" постоянно горят и от которых гибнут люди. Браво, ты хотел сделать это аргументом, но обоссал сам себя!
Ты блядь сам вообще в курсе, что данные у тебя на картинке опровергают твои слова про "постоянно горят"? Или ты языкам не обучен — это ничего страшного, бывает, только не рассказывай другим, что они обоссывают сами себя, пока ты обоссываешь сам себя.
Я думаю, речь была про датчики и другую периферию, которая десятками висит на шине.
Нужно собрать простейший GPS-трекер, который будет раз в минуту отправлять геолокацию на сервер POST запросом. В ардуино я шарю очень хуево, поэтому возник следующий вопрос - совместимы ли следующие модули?
https://mcustore.ru/store/arduino/arduino-uno-r3-ch340g/
https://mcustore.ru/store/moduli/modul-gps-gt-u7/
https://mcustore.ru/store/moduli-svyazi/modul-wifi-esp8266/
Я погуглил, вроде все норм должно работать, но возможно есть какие-то моменты которые я ввиду отсутствия опыта упускаю
не надо так
>Нужно собрать простейший GPS-трекер, который будет раз в минуту отправлять геолокацию на сервер POST запросом.
Ерунда какая-то. Зачем через вай-фай? Разумнее и надежнее воткнуть GPS прямо в сервер.
Даже если делать через вай-фай, то ардуина совершенно лишняя. ESP8266 может самостоятельно делать все необходимое. Возможно лучше даже никакого кода не писать, а взять готовую прошивку ESP8266 для моста Wi-Fi в UART. Или вообще взять готовый мост, например у MOXA такие есть.
>совместимы ли они и подходят ли под мою задачу.
Логические уровни немного не соответствуют, поэтому работать будет, но без гарантий.
Это какая-то китайская подделка u-blox.
>в курсовой
Ну что за пиздец? И это высшее образование? Ардуинщиков на полном серьезе готовят...
Спасибо огромное за инфу!
>Ну что за пиздец? И это высшее образование? Ардуинщиков на полном серьезе готовят...
Да не, у меня основной упор на мобильное приложение, в котором можно будет посмотреть последнюю позицию трекера, отсортировать геометки по дате, добавить несколько разных трекеров и т.д. И соответственно сервер, который будет все запросы обрабатывать, как от пользователя, так и от трекера.
Сам же трекер мне нужно сделать максимально простой - чтобы показать, что есть прототип, ну и полчасика с ним на машине покататься, чтобы репрезентативные данные получить. Поэтому и пал выбор на ардуино, как на самую простую и понятную платформу.
Касательно вай-фая - изначально хотел сделать трекер из ардуины, GPRS и GPS шилдов. То есть раз в минуту ардуина брала бы геолокацию с GPS модуля и через GPRS отправляла POST запрос на сервер. Однако с GPRS модулем, как мне показалось, много лишней ебли - надо специальную симку покупать, да и потом его не задействуешь особо. Поэтому решил купить вай фай модуль, чтобы с телефона интернет раздавать на трекер и отправлять те же запросы через него.
Еще тут на одном форуме посоветовали ESP32 вместо ардуино, там встроенный WiFi модуль есть
В общем, если кому-то интересно, наверное для всего это дела буду брать вот эти штуки:
https://mcustore.ru/store/espressif-systems/wemos-d1-esp32-uno-sovmestimyj-kontroller/
https://tixer.ru/catalog/modules/radio-modules/gps_modul_ublox_neo_6m/
Критика приветствуется, я пока отложу покупку на пару дней
он пишет:
>Работает ПО только при установленных компонентах Python — Tk, PySerial, MatPlotLi. Также понадобится добавить библиотеку RTCLib
>Настройка устройства, считывание логов событий и построение месячного графика температуры происходит с помощью утилиты (Python 2.7 + Tk + pyserial + matplotli).
Как это перевести? Надо ставить питон 2.7 и туда библиотеки?
И от этого программа gsmGuardConf_v1.3.exe заработает? (сейчас она пишет устройство не найдено)
>Как это перевести?
Перевод примерно такой
>я еблан, в норм приложение не шмог, поэтому написал на хуйне с кучей костылей. Короче ебитесь, ребятки. А шобы вы вообще охуэли я всё это(не всё) в экешник запакую.
Короче, соболезную. Придется напердоливать все библиотеки-фреймворки.
А, сходил по ссылке. Как я и подозревал, это оказался чмошник линуксоид. Так что все эти пердолинги только под линукс нужны. А твой экзешник должен таки отдельно работать. Значит что-то с настройкой.
Как вариант, напиши автору на гитхабе вопросики, вроде живой акк.
При чем тут аварийность, когда у теслы самая большая капитализация? Айфоны тоже горят и че?
В чем суть? У меня есть пикрил. При инициализации выводится сообщение с приветствием , а дальше цикл со счетчиком.
Что происходит, при каждом запуске монитора порта:
Hallo
1
2
3
4
и т.д.
А потом я написал свой монитор порта и подключился к ардуине. И знаете что? Счетчик продолжает работать, он не начинается заново. Что такого отправляет ардуиновский монитор порта, что перезагружает контроллер?
Она глобальная.
Какая переменная?
Вход reset меги соединен с DTR выходом переходника USB-UART_TTL
Собственно дергая дтр он его и сбрасывает, при прошивке тоже это происходит. Вообще изучи схему ардуино, чтобы не задавать глупые вопросы.
Спасибо.
Неа, купил, спаял, подключил от уно, прошил уно как СПИ, подключил проху, не работает сука. Пробовал разные БОД и наименования плат, правил борд.тхт, прошивал исп как олд стаил вайринг, нихуя не вышло. Заказал программатор у узкачей от отчаяния.
Потому что настройка проекта - слишком сложно для чайников
Кокой ещё проект? В этой иде в принципе нету проектов.
Анончики, посоветуйте. Хочу сделать некий проект: конструкция из говна и палок, с возможностью собрать-разобрать-поменять. Много сервов (ну, от 8 и как пойдет), много датчиков. Штука отсылает показатели датчиков и положения сервов на комп, комп жужжит, отсылает обратно команды. Собственно, все это нужно, чтобы проверить программу, крутящуюся на компе.
В поклейке пластика и паянии проводков я ни бумбум, готов разбираться, но чем меньше, тем лучше. В идеале отдать это кому-то, чтобы сделали по моему эскизу, или использовать лего. Лего бы мне подошел, если бы не 2 проблемы: цена и наличие всего 4 выходов для сервов. Подойдет ли мне ардуино, или лучше взять что-то другое?
У ардуины уно 14 цифровых выходов и 6 входов - значит к ней можно подцепить до 14 сервов/шаговых двигателей, так? Получить назад нагрузку на серву, угол поворота шаговика оно может? Можно ли прицепить к ардуине сервы от лего, а то уж очень не хочется связываться с тридэ-принтерами и вот этим всем?
Или может быть вместо ардуины лучше взять что-то другое?
Картинки для привлечения внимания. 1я - ассортимент лего. Видно, что у управляющего модуля всего 4 дырки внизу. 2я и 3я - поделие из ардуины. Если мне не изменяют глаза, там по 3 сервы на каждую из 6 ног + 2 сервы на голову - итого 20.
Что ты подразумаеваешь под сервой? Если это модельная серва, то она не имеет обратной связи, но при этом управляется по одному проводу. Стандартная ардуина и библиотека servo.h позволяют работать с 12 сервами. Есть ещё либа soft servo, которая не совсем точно рулит сервами, т.к. работает не по таймеру, а по счетчику micros, зато не конфликтует с другими библиотеками из-за таймера и позволяет использовать все выхода (кроме а6 а7), то бишь управлять 18-ю сервами.
>Или может быть вместо ардуины лучше взять что-то другое?
можно мегу взять, у ней ног больше и вообще . на 3 фотке вроде бы как раз 2560 и стоит (черная платка)
>>61249
Спасибо за ответы, аноны.
По ценам - оно и правда так? Первая картинка с алиэкспресса.
По поводу серв - я нуб, не знаю, как правильно. Могу поставить серву, чтобы поворачивало конечность, как на видосе у шестиногой фиговины. Могу поставить шаговый мотор, который крутит гайку, которая ездит по шпильке (штырю с резьбой). Мне бы хотелось получить обратную связь. Я могу на аналоговый вход пустить замер тока, потребляемого сервой/мотором. Надо ли как-то замерять положение, или там сколько задашь, на столько оно и повернется?
5 с хуем тыщ это пиздец дохуя.
766 как-то тоже дохуя, но уже близко к тому что должно быть.
обычные сервы без обратной связи. на них подаешь шим, заполнение задает угол поворота, угол серва держит сама в силу своих возможностей. есть цифровые сервы, там так же угол посылают - она поворачивает сама на него так же.
>Могу поставить шаговый мотор, который крутит гайку, которая ездит по шпильке (штырю с резьбой). Мне бы хотелось получить обратную связь. Я могу на аналоговый вход пустить замер тока, потребляемого сервой/мотором.
какая-то дикая дичь
Везде пишут, что D0 и D1 использовать нельзя, мол если будет D0 как выход, сломается UART и нельзя будет с узб прошить и все такое.
Попробовал на нано сделать, нано китайская с ch340
loop{
PORTD = B00000011;
DDRD = B11111111; //conf as output
cli();
while(1){
PORTD = B00000000;
PORTD = B00000011;
__asm__ __volatile__ (
" nop\n" // volatile nop 1
" nop\n" // volatile nop 2
" nop\n" // volatile nop 3
" nop\n" // volatile nop 4
" nop\n" // volatile nop 5
" nop\n" // volatile nop 6
" nop\n" // volatile nop 7
" nop\n" // volatile nop 8
);
PORTD = B00000000;
__asm__ __volatile__ (
" nop\n" // volatile nop 1
" nop\n" // volatile nop 2
" nop\n" // volatile nop 3
" nop\n" // volatile nop 4
" nop\n" // volatile nop 5
" nop\n" // volatile nop 6
" nop\n" // volatile nop 7
" nop\n" // volatile nop 8
);
PORTD = B00000011;
}
sei();
}
порты 0 и 1 дергаются, мега с узб шьётся, резюки и ch340 не мешаются... Выходит хуйню пишут или чишо? Как вообще процесс загрузки прошивки через usb и конфиг портов D0 D1 на выход связаны могут быть?
Везде пишут, что D0 и D1 использовать нельзя, мол если будет D0 как выход, сломается UART и нельзя будет с узб прошить и все такое.
Попробовал на нано сделать, нано китайская с ch340
loop{
PORTD = B00000011;
DDRD = B11111111; //conf as output
cli();
while(1){
PORTD = B00000000;
PORTD = B00000011;
__asm__ __volatile__ (
" nop\n" // volatile nop 1
" nop\n" // volatile nop 2
" nop\n" // volatile nop 3
" nop\n" // volatile nop 4
" nop\n" // volatile nop 5
" nop\n" // volatile nop 6
" nop\n" // volatile nop 7
" nop\n" // volatile nop 8
);
PORTD = B00000000;
__asm__ __volatile__ (
" nop\n" // volatile nop 1
" nop\n" // volatile nop 2
" nop\n" // volatile nop 3
" nop\n" // volatile nop 4
" nop\n" // volatile nop 5
" nop\n" // volatile nop 6
" nop\n" // volatile nop 7
" nop\n" // volatile nop 8
);
PORTD = B00000011;
}
sei();
}
порты 0 и 1 дергаются, мега с узб шьётся, резюки и ch340 не мешаются... Выходит хуйню пишут или чишо? Как вообще процесс загрузки прошивки через usb и конфиг портов D0 D1 на выход связаны могут быть?
>какая-то дикая дичь
Собственно, так делают, например, перемещение головки 3д-принтера. Но там геморно, с сервой все проще.
Есть необходимость собрать устройство для проверки выкатных блоков НКУ Freecon и НКУ РУ.
Немного вводной инфы для лучшего понимания.
Что, по сути, представляют собой выкатные блоки?
Силовая часть - автоматический выключатель и контактор. Плюсом вторичка: блок-контакты, всевозможные реле. Проще говоря, удаленно, с АРМа, запускаем двигатель с заданными условиями задержек времени сигналов и получаем индикацию на АРМе о положении выкатного блока, выключателя, пускателя.
На блоке присутствуют два разъема: силовой и вторичной коммутации.
С силовой частью все относительно понятно: на верхние контакты пришло 3 фазы, и через автоматический выключатель и пускатель ушли на нижние контакты и далее на двигатель.
Вторичка отвечает за управление с АРМа и передачу индикации положения выкатного блока ремонтное-контрольное-рабочее, выключателя включен-отключен-трип и пускателявключен-выключен на том же АРМе.
Есть некоторое количество возможных конфигураций выкатных блоков, например, без реле, с задержкой времени, с защитой от перегрузки.
Вся вторичная коммутация заточена под напряжение 220В.
Вводная часть закончена.
Мне нужно как-то эмулировать АРМ. В моей голове это выглядит так:
Т.к. заранее известны все возможные конфигурации выкатных блоков, ардуино начинает перебор этих комбинаций, выдавая на пины OUTPUT сигнал, открывает транзистор и через него запитываются реле, появляется напряжение на блок-контактах и т.д. Пинами INPUT ардуино "слушает" соответствующие выводы с разъема вторичной коммутации.
То есть, к примеру, у меня есть условно три вида выкатных блоков. A, B и C.
У блока А задействованы выводы 1-3-5-8, у Блока В - 2-4-6-10, у блока С - 4-7-8-10. Соответственно, арудино сначала подает через транзисторы напряжение на выводы 1-3-5-8 и проверяет наличие напряжения на ответных выводах. Если напряжения нет - микроконтроллер подает напряжение на выводы 2-4-6-10 и снова проверяет наличие напряжения на соответствующих ответных выводах и так далее, пока не найдет комбинацию, которая замкнет цепи и не даст плате команду закончить цикл перебора.
Когда искомая комбинация найдена, назовем это "проверка типа блока", ардуино высвечивает название этой конфигурации и дает возможность полной ручной проверки всех электрических узлов блока условно - включить-выключить пускатель, дать реверс, снять и отобразить соответствующую индикацию с блок-контактов об успешном переключении режимов работы.
Итак, вопросы.
1. Хватит ли вычислительных мощностей ардуино на выполнение подобной программы?
2. Хватит ли памяти, если в наличии 12 различных конфигураций выкатных блоков с уникальной распиновкой разъемов?
3. Можно ли запитать пины INPUT через простой делитель напряжения и не сгорит ли чип, если я подам туда 3.3 вольта через делитель напряжения с резисторами на 100кОм и 1.5кОм?
4. Так как подразумевается наличие дисплея, хватит ли мне пинов для подключения всего к плате, если известно, что разъем вторичной коммутации состоит из 40 пинов, плюс еще 6 для силовой части?
5. Какие транзисторы можно использовать вместе с ардуино, чтобы заставить плату коммутировать через них напряжение 220В?
6. В программировании, как и в радиоэлектронике, я практически полный нуб. Правильно-ли я понимаю, что код должен представлять собой проверку входов на наличие сигнала с блочка отдал сигнал на пин INPUT-проверил пин OUTPUT на наличие сигнала, повторить, пока не появится. Вывод на дисплей информации о состоянии блока и его частей положение выключателя, реле, концевиков, контактора. Возможность отдать управляющий сигнал на соответствующие пины выкатного блока для эмулирования работы ключа на АРМе включить-отключить контактор. Что еще необходимо в коде? Забыл ли я что-то критически важное?
Есть необходимость собрать устройство для проверки выкатных блоков НКУ Freecon и НКУ РУ.
Немного вводной инфы для лучшего понимания.
Что, по сути, представляют собой выкатные блоки?
Силовая часть - автоматический выключатель и контактор. Плюсом вторичка: блок-контакты, всевозможные реле. Проще говоря, удаленно, с АРМа, запускаем двигатель с заданными условиями задержек времени сигналов и получаем индикацию на АРМе о положении выкатного блока, выключателя, пускателя.
На блоке присутствуют два разъема: силовой и вторичной коммутации.
С силовой частью все относительно понятно: на верхние контакты пришло 3 фазы, и через автоматический выключатель и пускатель ушли на нижние контакты и далее на двигатель.
Вторичка отвечает за управление с АРМа и передачу индикации положения выкатного блока ремонтное-контрольное-рабочее, выключателя включен-отключен-трип и пускателявключен-выключен на том же АРМе.
Есть некоторое количество возможных конфигураций выкатных блоков, например, без реле, с задержкой времени, с защитой от перегрузки.
Вся вторичная коммутация заточена под напряжение 220В.
Вводная часть закончена.
Мне нужно как-то эмулировать АРМ. В моей голове это выглядит так:
Т.к. заранее известны все возможные конфигурации выкатных блоков, ардуино начинает перебор этих комбинаций, выдавая на пины OUTPUT сигнал, открывает транзистор и через него запитываются реле, появляется напряжение на блок-контактах и т.д. Пинами INPUT ардуино "слушает" соответствующие выводы с разъема вторичной коммутации.
То есть, к примеру, у меня есть условно три вида выкатных блоков. A, B и C.
У блока А задействованы выводы 1-3-5-8, у Блока В - 2-4-6-10, у блока С - 4-7-8-10. Соответственно, арудино сначала подает через транзисторы напряжение на выводы 1-3-5-8 и проверяет наличие напряжения на ответных выводах. Если напряжения нет - микроконтроллер подает напряжение на выводы 2-4-6-10 и снова проверяет наличие напряжения на соответствующих ответных выводах и так далее, пока не найдет комбинацию, которая замкнет цепи и не даст плате команду закончить цикл перебора.
Когда искомая комбинация найдена, назовем это "проверка типа блока", ардуино высвечивает название этой конфигурации и дает возможность полной ручной проверки всех электрических узлов блока условно - включить-выключить пускатель, дать реверс, снять и отобразить соответствующую индикацию с блок-контактов об успешном переключении режимов работы.
Итак, вопросы.
1. Хватит ли вычислительных мощностей ардуино на выполнение подобной программы?
2. Хватит ли памяти, если в наличии 12 различных конфигураций выкатных блоков с уникальной распиновкой разъемов?
3. Можно ли запитать пины INPUT через простой делитель напряжения и не сгорит ли чип, если я подам туда 3.3 вольта через делитель напряжения с резисторами на 100кОм и 1.5кОм?
4. Так как подразумевается наличие дисплея, хватит ли мне пинов для подключения всего к плате, если известно, что разъем вторичной коммутации состоит из 40 пинов, плюс еще 6 для силовой части?
5. Какие транзисторы можно использовать вместе с ардуино, чтобы заставить плату коммутировать через них напряжение 220В?
6. В программировании, как и в радиоэлектронике, я практически полный нуб. Правильно-ли я понимаю, что код должен представлять собой проверку входов на наличие сигнала с блочка отдал сигнал на пин INPUT-проверил пин OUTPUT на наличие сигнала, повторить, пока не появится. Вывод на дисплей информации о состоянии блока и его частей положение выключателя, реле, концевиков, контактора. Возможность отдать управляющий сигнал на соответствующие пины выкатного блока для эмулирования работы ключа на АРМе включить-отключить контактор. Что еще необходимо в коде? Забыл ли я что-то критически важное?
удваиваю. Я тоже не осилил.
1. а тебе какое быстродействие надо?
2. 2 килобайта хватит на всё, тебе блять надо тупые битовые операции сравнения делать.
3. 3.3 вольта через такой делитель будет логическим нолем
4. дисплеи разные есть, в любом случае юзать расширители портов
5. лучше юзать гальваническую развязку через реле или оптопару
6. алгоритм в твоей башке, нормально изложи его, нихуя понятно чего тебе надо, если ты полнейший нуб, то даже не берись, банально на монтаже обосрёшься
>Собственно, все это нужно, чтобы проверить программу, крутящуюся на компе.
А в чем проблема программно эмулировать неразработанное устройство
Аноны, помогите!
Есть вот такая залупень на Attiny88:
https://cnx-software.ru/2019/04/15/plata-razrabotki-mh-tiny-attiny88-micro-stoimostyu-men/
Так же есть желание сделать HID устройство. Так вот я в душе не ебу можно ли это как-то сделать с этой планкой или нужно брать что-то еще с аппаратной поддержкой usb. Есть вроде бы всякие Digispark, на том же attiny, с тем же V-USB, но которые нормально могут в HID.
Бутлоадер залил, диодом помигал, но а дальше хуй знает что делать. В какую сторону двигаться? В сторону магазина за stm32>. Опыт взаимодействия с микроконтроллерами у меня почти 2 дня, так что не обоссывайте.
го на али за про микро на меге32ю4, кторая может в юсьб
Пиздос, спустя 2 дня абсолютно рандомного фейсроллинга по клавиатуре в ветке обсуждения прошивки ядра контроллера - я нашел этого парня, который все починил:
https://github.com/ArminJo/DigistumpArduino
Нужна схема/плата/сборка(я ньюфаг, так что хз как назвать, а самоделку сделать хочется), которая при нажатии на кнопку А начнёт пропускать ток в определённом месте. Так же нужно чтобы эта же сборка проверяла заряд на липохе/18650/18350(питание сборки от этого же аккума), лсд экран и был реалтайм омметр.
Что изучать, покупать, смотреть чтобы собрать схему, которую я описал?
Ну или вдруг есть варианты попроще, подешевле?
А ещё забыл главное, нужна максимальная компактность и автономность, поскольку аккум один и самоделка закрытого типа(хз как назвать это правильно).
>самоделка закрытого типа(хз как назвать это правильно).
Так и называй "электронных хуй-сосалка", так же известный как вейп. Не еби мозги людям, купи готовый и травись на здоровье.
Так у меня есть несколько "электронных хуев-сосалок", зачем мне себе ещё что-то шаманить? Не знаю, есть ли смысл объяснять, но это девайсина для прожига. Купил бы, но жаба душит и хочется сделать самому.
>но жаба душит
Любой ньюфаг должен усвоить первым делом аксиому:
САМОДЕЛЬНОЕ УСТРОЙСТВО ВСЕГДА, ВСЕГДА БЛЯДЬ, ВЫЙДЕТ ДОРОЖЕ, ЧЕМ ГОТОВОЕ ФАБРИЧНОЕ. ДАЖЕ МАКЕТ В КОРОБКЕ ИЗ ПОД ОБУВИ БУДЕТ ДОРОЖЕ, НЕ ГОВОРЯ УЖЕ О ПОЛНОЦЕННОМ УСТРОЙСТВЕ
>хочется сделать самому.
Будь готов, что получится(не факт) махарайка(факт).
Ну пусть и дороже, я хочу сделать сам и пришёл узнать какие мануал читать и какие модули купить, чтобы собрать.
Не получится - переделывать буду пока не получится, я упертый.
Так тебе ты писал главное компактность, а махарайка будет покрупнее. Ну ладно.
>>62423
>которая при нажатии на кнопку А начнёт пропускать ток в определённом месте
Обычный выключатель не подойдет?
>проверяла заряд
На али есть отдельно индикаторы заряда.
>лсд экран и был реалтайм омметр.
Конкретнее давай. Вообще размыто у тебя все слишком. По описанию так то один в один хуй-сосалка-парилка.
Зачем выдумывать велосипед и делать очередную сосалку, если у меня уже естьи не одна? Да и руки у меня не настолько дохуя ровные, чтобы собрать так, чтобы мне руки не оторвало.
Сопрот Чекать надо в реалтайме, потому что я мотаю спирали сам и мне нужно Чекать сопрот, который от температуры скачет, а важна каждая десятая и сотая.
Про компактность это больше про возможность взять это куда угодно с собой и не зависает от розетки и прочей поебени, тупа зарядил акб и погнал.
хотя при желании можно и с такой херни парить, видел как школьники таким занимались, когда в шопе работал
Если в общем и целом, то хочу сделать что-то как на пике. Вкручиваешь туда базу от бака/дрипки, засовываешь койлы и нажимая на кнопку прожигаешь. Из плюсов устойчивость конструкции и удобство общее из-за большого количества места вокруг базы.
Переключатель немного не то, потому что он легко выдаст все че может и если спираль тонкая, то перегорит к хуям, поэтому и нужна регулировка подаваемого напряжения. Я пока на работе был, глянул на ютубе видосы аля "шок, вейп на ардуино, рабочий вариант!!! 100% беспалевно" и там были даташиты(или как это называется) с готовой программой, хз подойдёт ли такое. Если надо, могу скинуть ссыль на видос, мб я не очень объяснил.
Ну я так-то зожник и не понимаю вашу дрочбу со спиралями, хотя слыхал про неё. Замер сопротивления используют в качестве датчика температуры или что? Зачем вообще прожигать что-то? ИМХО проще мотать на определенное сопротивление в холодном виде и не заморачиваться. Походу маркетологи вейперам конкретно в моск насрали.
>даташиты(или как это называется) с готовой программой
Даташит это документация на определенную радиодеталь. А программы на ардуино называются скетчами. Вообще уверен что готовых проектов как ты хочешь уже дохрена.
>Ну я так-то зожник и не понимаю вашу дрочбу со спиралями, хотя слыхал про неё. Замер сопротивления используют в качестве датчика температуры или что? Зачем вообще прожигать что-то? ИМХО проще мотать на определенное сопротивление в холодном виде и не заморачиваться. Походу маркетологи вейперам конкретно в моск насрали.
Чем ниже сопротивление, тем большая мощность нужна и тем больше итоговая температура спирали, а значит и больше пара(что почти всегда даёт больше вкуса). Прожигать надо, чтобы не было Кз, спаек и прочего говна, но это только для сложных спиралей, состоящих из нескольких жил. На определённый сопрот ты намотаешь только примерно, используя закон ома/калькуляторы которые считают за тебя все, однако они слабо учитывают длину ножек спирали и прочие тонкости, которые тоже влияют. Ну и как я выше писал, при температуре отдельные намотки могут изменить свой сопрот на более низкое значение, что в некоторых случаях может привести к взрыву(если реальное сопротивление спирали окажется ниже сопрота акб).
Есть режим термоконтроля, где ты вставляешь максимальную темпу, а плата сама решает сколько ампер и ват подать на койл. Этот режим требует определённого материала для койла, например никель, титан, нержа и ещё вроде православный нихром. Но вообще этот режим уже считай на свалке истории, ибо его юзают полтора масленка на ещё меньшем количестве модов.
Насчёт готовых скетчей, где можно можно их посмотреть и будет ли там указание под какой именно вид ардуино написан этот скетч? И вопрос по мануалам для вката в ардуино ещё открыт.
>На определённый сопрот ты намотаешь только примерно, используя закон ома/калькуляторы которые считают за тебя все, однако они слабо учитывают длину ножек спирали и прочие тонкости, которые тоже влияют.
Я возьму нормальный мультиметр(в любом случае тебе придется купить) и померяю им.
>Прожигать надо, чтобы не было Кз, спаек и прочего говна
Так пофиг какой ток прожига? Может тогда тупо через резистор токоограничительный к аккуму подключать?
> при температуре отдельные намотки могут изменить свой сопрот на более низкое значение
При нагреве металлов сопротивление всегда растет, уменьшаться оно не может.
>Насчёт готовых скетчей, где можно можно их посмотреть и будет ли там указание под какой именно вид ардуино написан этот скетч?
Гуглить или на ютубе искать. Под какую ардуино может быть и не подписано, но они почти все совместимые. Вот с версиями библиотек могут быть проблемы.
>И вопрос по мануалам для вката в ардуино ещё открыт.
Ну вот для начала
https://youtu.be/nrczO8tWJNg
https://youtu.be/hoprWM_b6V0
Спасибо, буду изучать.
Мультиметр это конечно хорошо, но я не очень представляю как ты будешь мерять если у тебя не один койл, а 2 или 3 или вообще сетка. Мультиметр это костыльный метод, сейчас большинство даже дешёвых плат нормально считают сопрот вплоть до сотых, не говоря уже о среднем ценовом сегменте и хайэнд девайсах.
Насечт прожига. Специфика койлов такова, что если ебануть байпасс даже с низкотокового 18650 на тонкую намотку, фактически тонкую проволку обычно из кантала/нихрома, будет место где она просто сгорит и рассоединиться, так что при прожиге койлов используют почти минимальное значение мощности(10-12 ватт в среднем) и регулируют расположение витков спирали для равномерного нагрева от центра спирали к её краям.
А ещё, можно поподробнее про не совместимость библиотек?
Читал что она держит до 100000 перезаписей типа, что это значит? Что использовав одну байтовую ячейку 100 тыщ раз она отвалится?
У меня таймер полива, который ежеминутно записывает в еепром таймер отсчета до полива (на случай перебоев электропитания). Откажут ли эти ячейки через 69 дней использования? М?
Nano Every 4809 юзал кто? Подводные камни есть?
Как тогда обойти эту срань? Модули памяти покупать? Менять адреса регистров каждый месяц?
Есть EZ-USB FX3, там контроллер с плисиной. Но ето монстер левел, тонны мосга нужны.
https://aliexpress.ru/item/4000399606371.html?spm=a2g0o.productlist.0.0.29e4271fop7NNz&algo_pvid=274b4759-d2e1-47bf-b9db-b702dc0c467b&algo_expid=274b4759-d2e1-47bf-b9db-b702dc0c467b-4&btsid=0b8b036a16210018635332351eaabf&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_&sku_id=10000001648936002
Часы или GPS модуль, в лупе пишешь
if (время из часов - прошлыйраз > промежутка ) {
сохранить прошлыйраз в епром;
пописоть;
}
Смотри, у меня гидропоника. Надо поливать например каждые три часа. Если на время полива приходится блэкаут, то полив проебывается. А так из еепром вытаскивается счетчик минут и полив просто отодвигается на время блэкаута, а не проебывается.
Может какую то обработку по включениям ввести.
Ты чорт и пидор. Не понимаешь нихуя - молчи сиди.
Да поставь ты уже модуль часов, там батарейка встроена, на случай блекаута. И регистры озу есть для твоего костыля. И даже на самом популярном модуле еще одна еепромка распаяна.
У меня стоит модуль 1302, и еще три разных едут от товарища Xi, дело не в этом. В общем на неделе попробую переписать скетч без регулярной записи в еепром, спрошу у вас если затуп какой будет.
Заказал и такой. 1302 был в стартерките.
Подскажите.
Вот пишу я периодичность полива. Например есть у меня байтовая переменная ПП - периодичность полива. Перевожу ее в 2 переменных -ЧП и МП (часы и минуты).
С включением света происходит первый полив, и записывается время. Далее ежеминутно сравнивается время по принципу
если (время > время прошлого полива + ПП), то происходит новый цикл полива. Но если происходит блекаут, то время прошлого полива стирается, а значит надо его регулярно записывать в энергонезависимую память. Это конечно не каждую минуту, но все равно выглядит костылем. Как изящно обойти эту проблему, чтобы все охуели?
У тебя ds1302, там есть два регистра для хранения данных. Второй вариант, обнулять часы после полива и контролировать по ним сколько прошло времени, ну это если точное время знать не нужно.
Надо покурить про этот модуль, как его юзать. В библиотеках у меня кажется такого нет.
Давай ты писю черемякать будешь и подскажи плиз где достать адрес модуля для указания в параметр метода beginTransmission()
Модули ардуино как правильно имеют стандартные адреса, просто нагуглить.
Ну или просканировать https://robotclass.ru/articles/arduino-i2c-scanner/
Так вот я хз, братишь.
Нужна открывалка домофонов на стм или говнуино. Хочу делать ночные фотографии с крыш с долгой выдержкой.
Ломик и шокер для вандализма не предлагать, мне на самом деле для культурной цели.
Ой дибил
Ты собрался ключи перебором подбирать что ли?
Есть один постоянник на 12 вольт. На валу этого постоянника сидит моторчик от игрушечной машинки, выполняющий роль датчика оборотов. Из-за своей коллекторной природы он сильно шумел, поэтому пришлось посадить электролит.
Постоянником я управляю ардуиной нано ШИМом через мосфет. С датчика приходит аналоговый (не очень линейный, кстати) сигнал. На ардуине же сидит потенциометр, задающий скорость. И при всём этом мне не удаётся сделать ровное поддержание момента на валу постоянника. То дёргаться начинает, то уходит в максимум, и потом даже при нуле на задаче продолжает крутить. Попробовал прикрутить гайверовский ПИД, но просто перебирая значения у меня ничего не получилось. Даже три потенциометра вешал, и настраивал коэффициенты ими на ходу. Мне кажется, здесь должна быть нормальная методология, а не пытаться методом тыка найти точку в трёх измерениях.
В общем реально такое сделать?
Сегодня полнолуние(рили), пробуй завтра. Но возможно, что оно только на растущей фазе луны работает, тогда две недели обожди.
А я не шучу, блят. Сам лунный календарь почекай.
Пики будут пробивать хотябы до 500 метров?
https://aliexpress.ru/item/32768125824.html
Дефайнить надо до включения библиотеки iarduino, но после wire, в этом прикол.
Аналогичная ситуация pro micro 3,3.
Приехала, вставил свою первую ардуину через толстый провод в ноут. Она определилась так же, загрузил пустой скетч, все светодиоды зажглись, что делать дальше не сказано, вытянул разъем.
Теперь при втыкании дескриптор отвалился, винда усб отключает, что делать дальше не понятно. завтра пробовать с коротким хуевым проводом.
Охуеть осваиваю, что делать дальше? памагити
Есть у меня мысль сделать свистоперделку с вводом значений с матричной клавиатуры. Для этго я хочу сделать инициализацию отдельной функции для ввода значения в буфер(переменную), и по нажатию на кнопку присвоить значение переменной в конфиг.
И собственно вопрос, как лучше организовать сей бред? Принимаю как готовые решения, так и примеры с той самой LiquidMenu.
>или или
>1. Дергать ресет вручную при прошивке.
>2. Перешить через програматор загрузчик.
чувак я серьезно. Само наличие начинки ардуины поразумевает что ее пользователь не знает какие бывают программаторы и как с ними обращаться.
Только что пережарил эту плату в духовке пытаясь прогреть пайку.
Будем заказывать новую.
>Только что пережарил эту плату в духовке пытаясь прогреть пайку.
Ну ты дурачина. Земля тебе пухом. Никогда так не делай больше.
>Будем заказывать новую.
В твоем случае единственный вариант. опять запоришь ведь
Кнопка 1. 45 оборота в минуту.
Кнопка 2. 33 оборота в минуту.
У меня ума хватит собрать схему по рисунку и залить прошивку.
Есть 3д принтер. Могу напечатать диск с перфорацией для оптопары если будет нужна.
А фоллаут 3 и Нью-Вегас в те же 720р на минималках в 26фпс+?
Бля, если нет, то интел-ньюки могут?
А эти mini-itx платы с припаянным процом? Типо если память ддр3, проц на 2 ядра и есть pci-e, но маленький, с алишки райзер и видеокарту уровня gt440 gddr5 или gt 730?
Так же открывается дисскас по проектированию ЧэПэУъ на пердуино
Самому открыть исходники и посмотреть не вариант? Или у тебя ардуино головного моска?
Господа, ссылочка в шапке на стартер-кит устарела, прошу подкинуть посвежее на более менее приличный набор. Бюджет до 2,5к.
Нашел такие, че думаете?
https://aliexpress.ru/item/32776223832.html?spm=a2g0o.cart.0.0.31583c00AJalg3&mp=1&_ga=2.113121860.1712548362.1623615995-1608545445.1622818500&sku_id=62478243976
https://aliexpress.ru/item/32542616423.html?spm=a2g0o.cart.0.0.31583c00AJalg3&mp=1&_ga=2.113121860.1712548362.1623615995-1608545445.1622818500
Есть корпус эт этой хуйни.
Подскажите есть ли какая-нибудь ардуинка или аналог более дешевый, чтобы туда его приколхозить и спокойно можно было на линуксе каком-нибудь сидеть в браузере до 10 вкладок и ютубе 480-720р? Или анрил и ардуина такое не тянет?
Могу ещё поставить сверху 80мм кулер от пк на вдув или перебор будет?
https://aliexpress.ru/item/10000395131992.html?spm=a2g0o.productlist.0.0.77575e42XDkVhx&algo_pvid=a584aec9-c726-49d2-b641-98d9743fab82&algo_expid=a584aec9-c726-49d2-b641-98d9743fab82-0&btsid=0b8b037216248273016812891e51fa&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_&item_id=10000395131992&sku_id=20000000195259100
Нашел такой, в одном из тредов говорили ок. + доставка 5 дней
Читая коды с пульта кондея, (если в NEC) они все одинаковые, и как я понял, он отправляет не одну нажатую кнопку, а общее состояние, как json объект. Соответственно кондей пикает, но не понимает что я от него хочу. Помимо NEC данных, есть ещё Raw, но я так и не понял как их отправлять.
Короче я купил его, доехал крайне быстро. Теперь правда хуй знает что с ним делать.
Что-то выходит единственное что я могу это мигать этими диодами. Классно.
https://aliexpress.ru/item/2044891395.html?spm=a2g0o.store_pc_groupList.8148356.6.617956d4zsXeMt&_ga=2.8956789.1985482851.1625455625-1517280815.1625455625&item_id=2044891395&sku_id=51679785075
Что скажете насчет этого набора?
По работе всей этой ардуинодичи не скажу нихуя, только вкатываюсь.
Тут ответов не дождался, по гайдам на AlexGyver заказал частями, т.е. разные модули и платки, которые действительно заинтересовали.
Алекс пишет о минусах такого способа заказа мол будет приходить частями, на самом деле все заказы из разных магазинов объединили в один пакет. Плату взял Nano от Keyestudio и шилд к ней. Остальное в основном у WAVGAT. посылка идет уже вторую неделю, вчера прошла таможню то ли в Москве, то ли в Казани.
представленный тут набор выглядит немного оверпрайсным, наборы за 2000 видел, там почти все то же самое
Я бы по отдельности затарился еще всяким, что реально расходники бешеные:
самими контроллерами, нано например десяток, дисплеями oled на 128х32 или 128х64 на I2c, очень уж удобные и не пиздят пины, как SPI дисплеи или вообще с параллельным интерфейсами, i2c расширителями портов типа MCP23017 (лучше такие, у других ток никакой на пинах), а то вечно ног не хватает у обычных дуин, если например воткнуть дисплей на spi и картридер и еще какую нибудь хуиту, кнопок 6х6 штук 200 + светодиодов 3мм штук по 100 разных цветов, резисторов ходовых от 50ом до 10кОм по 200 штук, подстроечниками и переменниками на 1ком 10ком и 100ком тоже хотя бы по полтосу каждый, стабами на 5 и 3.3в, тоже штук 50 каждого, капов электролитов по 10-100мкф 16в...50в штук сто, керамикой или пленочными на 1, 10, 100нф мелкими тоже сотнями. Ну еще провода для ардуины с коннекторами штук двести, и несколько макеток, если макетками баловаться хочешь, провода искать медные без лакировки внутри. Бывают что продают алюминиевые или медные, но литц, их при случае если разрезать, то очень тяжело паять. Хз может еще батарейные отсеки или на крону нашлепка понадобятся, тоже дохуя сразу набрать... Распространенные датчики типа температурных 18B20 или LM35 можно десяток накупить, у меня часто используются, ИК фотодиоды и ИК светодиоды штук 20, их прям парой продают, можно вместо фотодиодов фототранзисторы, фоторезисторы нескольких номиналов для автоматики которая на видимый свет реагирует, тоже часто в расход идут у меня. Можно еще релюх с опторазвязкой обязательно, несколько десятков.
Очень бесит когда какой-то ебучей мелочи нет под рукой, а пиздавать в местный магаз влом да и стоить там будет невменяемых денег, это всё удовлетворение от вообще хобби убивает в хлам, потому вот подобной хуйней которая явно будет расходником лучше сразу затовариться. Что-то специфичное можно подождать или купить у местных барыг. А пока идет, главное чтобы был запас мелочевки под отладку, чтобы собрать почти готовое устройство и отладить большинство функций, где не хватает лишь специфичной хуйни.
представленный тут набор выглядит немного оверпрайсным, наборы за 2000 видел, там почти все то же самое
Я бы по отдельности затарился еще всяким, что реально расходники бешеные:
самими контроллерами, нано например десяток, дисплеями oled на 128х32 или 128х64 на I2c, очень уж удобные и не пиздят пины, как SPI дисплеи или вообще с параллельным интерфейсами, i2c расширителями портов типа MCP23017 (лучше такие, у других ток никакой на пинах), а то вечно ног не хватает у обычных дуин, если например воткнуть дисплей на spi и картридер и еще какую нибудь хуиту, кнопок 6х6 штук 200 + светодиодов 3мм штук по 100 разных цветов, резисторов ходовых от 50ом до 10кОм по 200 штук, подстроечниками и переменниками на 1ком 10ком и 100ком тоже хотя бы по полтосу каждый, стабами на 5 и 3.3в, тоже штук 50 каждого, капов электролитов по 10-100мкф 16в...50в штук сто, керамикой или пленочными на 1, 10, 100нф мелкими тоже сотнями. Ну еще провода для ардуины с коннекторами штук двести, и несколько макеток, если макетками баловаться хочешь, провода искать медные без лакировки внутри. Бывают что продают алюминиевые или медные, но литц, их при случае если разрезать, то очень тяжело паять. Хз может еще батарейные отсеки или на крону нашлепка понадобятся, тоже дохуя сразу набрать... Распространенные датчики типа температурных 18B20 или LM35 можно десяток накупить, у меня часто используются, ИК фотодиоды и ИК светодиоды штук 20, их прям парой продают, можно вместо фотодиодов фототранзисторы, фоторезисторы нескольких номиналов для автоматики которая на видимый свет реагирует, тоже часто в расход идут у меня. Можно еще релюх с опторазвязкой обязательно, несколько десятков.
Очень бесит когда какой-то ебучей мелочи нет под рукой, а пиздавать в местный магаз влом да и стоить там будет невменяемых денег, это всё удовлетворение от вообще хобби убивает в хлам, потому вот подобной хуйней которая явно будет расходником лучше сразу затовариться. Что-то специфичное можно подождать или купить у местных барыг. А пока идет, главное чтобы был запас мелочевки под отладку, чтобы собрать почти готовое устройство и отладить большинство функций, где не хватает лишь специфичной хуйни.
использовать надо как конвертор usb в ttl чтобы в попытке продиагностировать подключится к одному переставшему работать хдд и посмотреть что он там на сериал порту выдает, но сначала надо работаеющий сериал порт иметь хотя бы из ардуины
подключаю платку к юсб, выключаю атмегу замкнув RES и GND, хочу только Tx/Rx, замкунл их просто проводулькой из комлпекта между собой и ожидаю что отправленное в Putty на соответствующий com-порт придет обратно пробовал как 9600 8n1 и еще несколько вариантов пока не помогло, но ничего не доходит обратно, хотя на самой плате вижу светодиоды rx/tx светятся когда идет приемо-передача.
Что делаю не так? судя по миганиаю rx светодиода, оно что-то получает, но будто не передает дальше софтине слушающей этот ком-порт
Шоб он те ответил нужно логично отправлять вопрос ему понятный, а што ты шлеш я хз
да не, какой запрос? до хдд еще дело не дошло, сначала просто рабочий usb в ттл конвертор нужен хотя бы. я просто на самой ардуине же RX замкнул на TX, и шлю из Putty RAW-дата в сериал ком порт который ch340g, какие символы ушли они и должны были придти обратно
Так CH340 это просто мост меж юсб и сп, тебе нужно свою дурину прогать как хуитку что-то там слушающую
а зачем дурину вообще включать в эту цепь? она же и сама сидит на готовом выходе ttl от ch340g, не проще атмегу просто выключить GND на RES ? пробую вообщем как описано тут не альтернативный способ https://wiki.iarduino.ru/page/Arduino_as_a_USB_UART_converter/
Ок, сможешь найти готовую глушилку FM до тыщи?
Мотор срет помехами в мк, повесь параллельно выводам конденсатор.
Я получаю данные в виде 10 знаков char, могу вывести их в сериал порт чтобы полюбоваться, но не могу превратить эти 10 знаков в нормальные числа для дальнейшей обработки. Хочу нарезать этот массив из десяти знаков на три трёхзначных числа и одно однозначное. Но никакие переводы из char в int не работают. В интернете только ссылки на форумы без нормальных ответов.
Отбой, разобрался. Спасибо.
Нашел в интернете два сайта, где учат ардуино:
1) https://alexgyver.ru
2) http://we.easyelectronics.ru
С каким сайтом лучше изучать ардуино?
>А ардуино это действительно новый идеологический подход в микроконтроллерах
Уже не новый.
Компания ст по-моему во всем взяла идеи ардуино - это и отладочные платы - (линейки stm nucleo и stm discovery) и аналог ардуино иде (cube mx), который сам подключает хардварные либы и за тобой остается лишь логика программы.
Только странные у нее мк очень, вот почему они в f401 зажопили pb11 ?
Failed to configure Ethernet using DHCP
Ethernet shield was not found. Sorry, can't run without hardware. :(
Ну со стандартными примерами из ide тоже не работает модуль.
Failed to configure Ethernet using DHCP и всё такое. А должен. Библиотека ethernet версии 2,0,0 имеет поддержку этих модулей. Я уже даже другой модуль припаял, у меня их несколько. То же самое.
>что ты там написал
Я же дал ссылку. Из стандартных примеров не работает chat server, link status, webserver. webserver я вообще накатил только потому что на канале arduinolab чел накатил и всё заработало сразу.
>как подключал
Как написано по ссылке.
>MOSI - 11, MISO - 12, SCK - 13, SS - 10;
Везде так пишут подключать. Пробовал перепаивать контакты на гребёнку spi. Кроме scs, его нет на гребёнке spi.
Пробовал явно указывать в коде void Ethernet.init(10); - ноль эффекта
Ethernet2 использовать не рекомендуют https://github.com/adafruit/Ethernet2/issues/30 так что все решения связанные с ней отпадают
Дайте какой-нибудь простой рабочий в данный момент пример плз
на esp8266 полно такого, я так себе контроллер крутилятора в ноутбуке по вафле сделал, т.к. выбешивал штатный режим. Примеры гуглятся, да даже в примерах к самим либам на esp ничего сложного нет, разобраться легко.
>while(blabla < blablabla or bleble == 0){
не будет работать? Если я так пишу, у меня while получается бесконечный. А если
>while(blabla < blablabla){
или
>while(bleble == 0){
то всё ок. Я видел где-то в while было and между двумя сравнениями и оно работало. А or не работает? Или я как-то криво записал?
>while(blabla < blablabla or bleble == 0){
0 или 0 = 0 цикл останавливается
0 или 1 = 1 цикл работает
1 или 0 = 1 цикл работает
1 или 1 = 1 цикл работает
чтобы цикл остановился, надо чтобы оба условия были 0. т.е. bleble != нулю и blabla > blablabla если у тебя таких условий не возникает никогда, цикл бесконечный
То есть чтобы цикл вылетал мне надо надо or на and заменить? Тогда если одно из условий будет 0 то и цикл будет 0
Мда вот я тупень, я мыслил единицами, а надо нулями. Спасибо
Охуительная мастурбация.
Получил вторую ардуинку ATMEGA32U4-AU 3.3V у другого продавца, определилась и все было хорошо. BN: LilyPad Arduino USB.
Залил базовый скетч мигания светодиодом для проверки.
Перед финишем винда нахуй отваливает usb по неполадкам. Все светодиоды теперь горят и не определяется.
Это мой ноут их так быстро жарит?
Чел у ардуинок надо точно выбирать что у тебя за плата. Особенно если у тебя нет на борту отдельного усб-ттл контроллера. Если неправильно выбираешь плату то у тебя всё неправильно прогается через фьюзы и всё отваливается, и тогда только внешним программатором оживлять
наверняка фьюзы все в труху, теперь только внешним погроматором оживлять... А если там бутлоадер был, то мог и его затереть случайно.
На удивление разобрался, и все ответы оказываются давно просто даны, не в рунете конечно же. Оказывается еще нужно ставить файлы SparkFun.
Нажимать загружать скетч, а затем тычить два раза ресет и скетч заливается успешно, но порт затем так или иначе отвалится через 8 секунд.
Сраный блинк скетч для теста который каждый форсит на первом уроке - говно, так как на плате D13 not used. Разобрался только когда нашел скетч где вручную номер прописан. На D15 мигает.
ебать
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#troubleshooting-and-faq
https://arduino.stackexchange.com/questions/6702/arduino-pro-micro-clone-not-recognized-flickering-rx-led
А зачем ты именно мегу32 пытаешься насиловать?
Как по мне, дефолтная нано на 168 или 328 намного пизже, хотя бы тем что у нее есть PCINT т.е. прерывания на весь порт, можно к любому пину порта подвесить капу и ловить её нажатие, а остлеживать и обрабатывать нажатый пин из прерывания, а не как у 32ой 3 пина на прерывания и пошел нахуй.
а хотя у 32u4 тоже есть я обосрался
Сегодня поставил Arduino IDE на другой комп с вин10. Все лампово заливается и читается и нет ни единого разрыва! порта.
С чего то нужно начинать, я выбрал то что подойдет для девайса который мне нужен. Пока что пару часов потратил что бы узнать что дисплей и сенсор на один rx tx работать похоже не будут.
Буду пытаться понять как в коде реализовать сенсор MH-Z19B по шиму, но пример пока не встретил.
> MH-Z19B по шиму, но пример пока не встретил.
Засекаешь через millis() время между фронтами импульса, период у него 1000мс = 5000ppm , т.е. умножаешь полученное время на 5 в итоге.
Так там везде подключаются либы для esp, а у меня-то нет esp, у меня arduino nano и w5500. Оно ж не будет работать?
А какие проблемы-то? Гугл "w5500 ардуино вебсервер" вроде примеров дохуя.
Если тебе ajax не нужно, то просто какой-нибудь submit кнопкой оформи, которая с формы данные тебе соберет и отрпавит в виде урла.
Проблема в том что я нифига не программист и в этом не понимаю. Я пока не могу найти достаточно простых примеров чтобы разобраться как они работают и переделать для своей самоделки.
Ну потрать несколько дней да поразбирайся, у тебя других вариантов нет. Ну или найди кто тебе готовое устройство продаст и не мучайся.
Я сам хочу. Какой смысл отдавать самоделку на аутсорс, весь смысл пропадает. И как ты мог заметить я уже несколько дней пытаюсь разобраться
Пока не видно даже попыток.
Хоть бы написал что у тебя не получается-то.
вот беглый гуглеж выдал пример, на мой взгляд очень простой. Там и кнопки для управления, и вывод переменной.
https://rcl-radio.ru/?p=77830
Ну разделяй примеры на то, что понимаешь и что не понимаешь, гугли что не понимаешь, понимай.
Этот пример у меня почему-то с браузеров только один раз страница открывается. Потом пишет "Попытка соединения не удалась". Хотя с браузера на смарте всё норм. Единственное что изменил это Ethernet2.h на Ethernet.h
https://text-host.ru/bez-zagolovka-502
Взял пример вот отсюда >>69986 и вставил в него часть уже не помню откуда чтобы была поддержка DHCP, которая отдельно тоже работает
Стала вылезать ошибка 'server' does not name a type на 62 строчке
Why??
Так всё сам нашёл. На 56 скобка лишняя
Вот только после сборки пишет
>Global variables use 1758 bytes (85%) of dynamic memory, leaving 290 bytes for local variables. Maximum is 2048 bytes.
>Low memory available, stability problems may occur.
Почему блин такой малюсенький скеч требует всю оперативку??
У тебя строки всю память сожрали.
Константные строки в макросы чтобы доставать из флеша а не из RAM оборачивай:
client.println( F( "HTTP/1.1 200 OK" ) );
вот так например
Ого ты крут и правда
Есть у меня такая камера https://roboshop.spb.ru/modules/ov7670
и ардуино нано. В сети почти все примеры завязаны либо на сохранение снимка на ПК/карту, либо на вывод видео на ЖК экран через какие-то либы. Может кто доступно объяснить как заявленные 30 фпс на ПК получить?
Достал матричный принтер и собираюсь из него запилить собственно каттер, режущий плоттер иначе говоря. Но из-за блядских ардуинопердоликов не могу понять нахуя мне CNC-шилд и будет ли gbrl или как эта приблуда называется нормально управлять без него? Ибо на плате принтера реализованны все, как я понимаю, элементы управления (транзисторы и питание для двигателей). Придётся писать свой велосипед или всё взлетит без особых проблем?
Не вытащить 30 кадров на 8 битных мк. Даже 1 кадр и то вряд ли.
Несжатый 176х144х8 кадр это 202 752 бита, через uart в лучшем случае можно выжать 1мбит/с.
Можно купить камеру с встроенным жипег кодеком, тогда может быть получится вытянуть в несколько раз больше кадров/с.
Копай в сторону стм32 или Eps32, возможно Esp32cam. С Esp32cam примеров много, сам нагуглишь, через вафлю транслировать видео с mjpeg достаточно просто выглядит (сам не пробовал).
Но вот с USB UVC классом на STM32 нужно знатно промудохаться, это не так просто, как USB COM, с налёту без знания того, как USB устроен, будет очень сложно. https://habr.com/ru/post/245511/ вот в принципе статья есть подходящая.
>>70292
Пиши текст внутри блока <form>. Это же новый элемент в странице, потому он отдельно рендерится
https://jsfiddle.net/6mfh8v9b/1/
и не мучай ардуину каждый раз, собери страницу сначала в какой-нибудь песочнице потом уже в проект заноси.
Мда а я тут гуглю какие-нибудь команды html которые выраванивают элементы в строку. Спасибо.
Хочу вкатиться в эти ваши микроконтроллеры и сделать своего павука-гексапода без мануалов. Сколько примерно займет вкат с нуля (в электронике не шарю совсем, но в погромирование могу)? Или может лучше ползти в сторону stm32 и учиться мигать лампочками?
Сделай гексопода виртуального, в блендере, например, там есть питон, вот собери павука на констрейнах, шевели их питоном. Как заставишь нормально бегать и обегать препятствия, уже на стмку микропитон ставь и собирай гексу там с прошивкой от блендеровской модельки.
У меня есть несколько ip адресов типа таких
const IPAddress remoteip1(192, 168, 0, 15);
Мне надо их передавать ради экономии места одной функции.
Ну я фигле написал вначале
const IPAddress remoteipX(192, 168, 0, 15);
И потом перед передачей пишу
remoteipX = remoteip1;
Компилятор предупреждает что типа я константу меняю, нихорошо, но компилирует И ВСЁ РАБОТАЕТ.
Ну я такой думаю ну наверное плохо что он меня предупреждает, надо поменять константу на переменную. И не могу понять как. Как сделать remoteipX переменной IPAddress которой можно присваивать разные ip типа 192, 168, 0, 15?
Хех блин это 1,8,12 предупреждает, а 1.8.15 уже не предупреждает. Ей уже пофиг что я константу переназначаю. Может и правда забить?
Ну я с корешом, который ремонтами хат занимается, делаю на еспхах и ардуинах автоматику для дома простую. Типа автомата для крутиляторов вентиляции в толканы, светильников, регуляторов температуры, климата в аквариуме и т.п. Автомат вентилятора в толкан прям классика классик из хотелок клиентов, да еще чтобы с мобилы управлялся.
>зная Java?
Если знаешь норм язык высокого уровня(джава/питон етц) то тогда лучше взять расбери пай и писать на него, по размеру и питанию он как ардуино, а возможностей и портов намного больше.
Ардуино это для тех кто не умеет программировать скорее.
Цель же у меня светлая: делать 3д-принтеры, ёба-пятикоординатные станки, стабилизированных бигдогов всяких. С механикой у меня в общем лучше, чем с электроникой.
0. Путь избран правильный вообще? В интернетах диды воют, что ардуина для быдла, а пацан должен FPGA программировать советским паяльником по методике ботвинника, задачу класса EXPSPACE решать с первого такта.
1. Если вдруг захочется бешеных мегагерцов? Есть всякие быстрые команды типа PORTx с вбиванием битов вручную для обхода стандартных функций, этого хватит?
2. Насколько тяжко будет переходить с ардуины на всякие взрослые ёба-STM32? Там тоже будет юзерфрендли IDE с библиотеками или придётся чуть ли не на ассемблере всё это дрочить и регистрами двигать?
3. А с голыми микроконтроллерами работать это насколько пиздец? С первого взгляда кажется, что это как пеку спаять из рассыпухи.
>0
деды идут нахуй, но конфликтующие ардуиновские пердоли частенько имеют место.
>1
если не хватит, можешь хоть ассемблерными вставками хуярить прям там же в IDE в котором хуяришь
>2
на STM код ебашут адовый как батин суп, и ихний cubemx и HAL/LL тема даже более дремучая и ебучая, чем ардуина. но в принципе разобраться что к чему вполне посильно, если с ардуиной не возникает проблем. ну и под разные модули типа экранов и прочего меньше готовых либ, так что тут попердолиться надо будет с любой хуйней периферийной, в которой в ардуине надо было бы просто скачать либу и использовать, не вникая в суть.
>3
у авр фюзы наебнуть легко, потом нужно будет собирать высоковольтный программатор, чтобы перешить. в ардуинах если получился слишком здоровый размер проши можно случайно затереть бутлоадер и надо будет перешивать его.
у стм в этом плане напохуях всё, этим они удобнее конечно, частотами и прочей хуйней можно управлять из кода налету, бутлоадер в защищенной области которую не затереть никогда и чтобы прошить его достаточно просто питание к чипу протянуть и провода от стлинка, заведется и прошьется на встроенном генераторе. Только проблема что у них сейчас цена скакнула мощно, раньше stm32f103с8t6 плата рублей 60 стоила, а нынче по 500р просят за голый чип даже. Так что лучше купи сейчас заранее пяток платок с стм32ф401, пока она 200р стоит, а то потом локти кусать будешь, а так хоть будет с чем поиграться.
>2. Насколько тяжко будет переходить с ардуины на всякие взрослые ёба-STM32? Там тоже будет юзерфрендли IDE с библиотеками
Да, все так.
CubeMX еще проще чем ардуино: в конфигураторе сконфигурировал нужные ножки, подключил либы и потом пишешь чисто логику программы.
>3. А с голыми микроконтроллерами работать это насколько пиздец? С первого взгляда кажется, что это как пеку спаять из рассыпухи.
Отличие только в том, что ардуино и cubemx дает тебе "драйверы" для работы с железом микрика, а тебе остается только писать логику программы, дергая в ней API этих драйверов.
А если писать на голый мк, то появляется двойная задача: нужно сначала написать эти "драйверы" для работы с периферией микрика, и только потом саму программу.
>нужно сначала написать эти "драйверы" для работы с периферией микрика, и только потом саму программу.
При этом написание таких "драйверов" обычно занимает в несколько раз больше времени, чем написание непосредственного функционала программы.
>CubeMX еще проще чем ардуино: в конфигураторе сконфигурировал нужные ножки, подключил либы и потом пишешь чисто логику программы.
Мне с таким подходом CubeMX перепутал местами инициализацию I2C и DMA, несколько дней пытался понять что нетак. >>469465 →
>Отличие только в том, что ардуино и cubemx дает тебе "драйверы" для работы с железом микрика, а тебе остается только писать логику программы, дергая в ней API этих драйверов.
Ардуино это еще миллион либ на разные модули, а в СТМ с этим туго.
>если не хватит, можешь хоть ассемблерными вставками хуярить прям там же в IDE в котором хуяришь
Охуеть, даже это легально?
Пошёл гуглить, нагуглил сайт Гайвера и залип в километровое описание всевозможных хаков. Охуеть какая годнота, мегагерцы доступнее, чем я предполагал.
>ну и под разные модули типа экранов и прочего меньше готовых либ, так что тут попердолиться надо будет с любой хуйней периферийной, в которой в ардуине надо было бы просто скачать либу и использовать, не вникая в суть.
Вейт, а либы не взаимозаменяемые? Они же по идее на мультиплатформенном си написаны, и отличаться должны только по вводам, выводам и возможностям памяти конкретного железа, и что влезает на 8бит должно влезать и на 32бит. Плюс есть всякие предефайновые штуки #if defined(__процессорнейм__).
>Только проблема что у них сейчас цена скакнула мощно, раньше stm32f103с8t6 плата рублей 60 стоила, а нынче по 500р просят за голый чип даже.
Это из-за рубля или из-за ковида? Дохуя как-то.
>Мне с таким подходом CubeMX перепутал местами инициализацию I2C и DMA, несколько дней пытался понять что нетак. >>469465 → →
CubeMX(вернее то, на чем он генерит код - HAL-библиотека) раньше был очень забагован и выдавал баги постоянно и сгенереный проект потом долго приходилось дорабатывать наплиьником. Сейчас с этим получше - багов почти нет и в 99% случаев можно напрямую применять в продакшене. Если же ты нашел баг, то тебе стоило отправить багрепорт в ст, чтобы его пофиксили.
>Ардуино это еще миллион либ на разные модули, а в СТМ с этим туго.
Не согласен, CubeMX еще даст пососать в этом плане. Можно подрубить FreeRTOS прямо в кубике. А одна только работа с USB чего только стоит: надо сконфигурировал USB как com-port, надо - как usb-device, надо настроил как USB-host на работу с флешкой или еще с чем то. Так же самое можно настроить выводы на работу с дисплеями.
Тот же DMA настраивается прямов кубике, что вкупе с большей частотой тактирования дает пососать ардуине в плане "мегагерц".
>Тот же DMA настраивается прямов кубике
Да, но может легко перепутать порядок инициализации периферии и дма, и всё. Причем все потроха правильно сконфигурировал и хуй проссышь, в чем дело.
>и хуй проссышь, в чем дело.
Ну если ты не шаришь то да.
А норм специалист быстро найдет в чем дело.
Норм специалисту тогда и кубмх не потребуется.
А так из раза в раз повторялось одно и то же при генерации проекта, уверен что и норм специалист не сразу бы додумался посмотреть на порядок в котором периферия и дма иницилизируются.
Хотя вот все равно не пойму, какого там вообще сначала должен быть дма, а потом i2с, а не наоборот...
Дальше хуже. Для затухания нужен analogWrite, а его не все пины поддерживают. Пришлось отказаться от delay и колхозить говно-ШИМ на 10 состояний через digitalWrite. Сделал. Огонёк тормозит как пиздец, слайдшоу настоящее. Пошёл гуглить. Нагуглил, что один digitalWrite с какого-то хрена выполняется аж две миллисекунды, а у меня их тут 40.
Нагуглил регистры, внутреннюю распиновку атмеги, побитовые операции, складывания-инверсии. Напейсал функцию digiWrite, как digitalWrite только быстрее. Огонёк со шлейфом наконец-то пиздато забегал. Но всё равно раз в несколько секунд на мгновение притормаживает, хуй знает почему. И если сделать в ШИМе 255 градаций - тормозить всё начинает даже с digiWrite. Наверное мой колхозный ШИМ реализован алгоритмически хуёво, и его надо как-то упрощать. Оно не сгорит от таких экспериментов-то?
Загугли таймеры
Спасибо
Сап всем. Встал вопрос о проверке CRC прошивки при включении устр-ва + проверка CRC с определенным интервалом времени. При несоответствии пердуина должна НЕ выполнять основную программу, что бы не натворить хуйни, и каким-то образом сигнализировать о наступившем пиздеце(мигать светодиодом, пердеть пищалкой, вывести несколько символов на дисплей, etc). Как это можно провернуть? пердуина в итт случае - мозгъ узла, что подключен к ЧПУ
ССУКА НУ КАКОЙ МУДАК КИТАЕЦ СЭКОНОВИЛ ДВА ЗЕРНЫШКА РИСА СДЕЛАВ МОЙ ДЕРЬМОВЫЙ ЗАВАЛЯВШИЙСЯ МИНИЮСБ КАБЕЛЬ 20СМ ТОЛЬКО С ДВУМЯ ПРОВОДАМИ!!!!!!!
Не ну хули я ж монтажник. Разъебал кабель, припаял говно какое-то, работает теперь.
Допустим есть два микроконтроллера, нужно передать один байт данных от одного к дугому как можно быстрее.
Загвоздка в том, что доступны только четыре ноги из порта а (atmega32), то есть никакие серийные протоколы (uart, spi, i2c) передачи использовать не получится. Прерывания как на передатчике, так и на приемнике тоже использовать нежелательно, так как они могут замедлить основную программу.
Как это сделать наиболее оптимально?
>>74099
А, порт А.
Тебе в обе стороны?
Если в одну, то на первую ногу выводишь бит, а вторую дёргаешь чтоб вторая микруха считала его. И так все 8 бит.
А если в обе стороны, я бы наверное сделал через ADC. На первой ноге сделать напряжение 1/2 ADC, чтоб оно по середине было. Потом на вторую ногу выводишь нужный бит и LOW на ногу с ADC. Вторая микруха видит, что там из 1/2 опустилось до 0 и запоминает бит.
А если с второй на первую надо передать, то наоборот с 1/2 до HIGH поднять и первая микруха это увидит и считает бит с 2й ноги.
Но наверняка там можно проще.
Мимо ардуинщик
> А, порт А.
Технически на приемнике можно использовать любые, если это что-то даст. Передатчик строго порт а.
> Тебе в обе стороны?
Нет, передача только в одну сторону.
> я бы наверное сделал через ADC
Со входом понятно, а выход ты как задашь? Максимум шим сделать, но его вроде как ADC не читает.
1)Если блюпуп питается от ардуино пятью вольтами, то модуль работает но максимальное расстояние передачи около 1 метра.
2) Если ардуино и блюпуп питаются отдельно, то передачи информации не происходит.
Хм, написано его нужно питать 5в и 50 мА, с юсб от компа питаю, там вроде 5 в и до 500 мА.
Нет, не догадался, спасибо. При раздельном питании дальность передачи увеличилась до 1.5 м. Но заявлено то 10 м. Что еще можно сделать для увеличения дальности передачи?
Я, конечно, не знаю. Но блютус это же вайфайные частоты. Может у тебя у каждого соседа по 10 вайфайных лампочек умного дома и эфир засран.
Может в открытом поле будет 10 метров.
Но я не знаю.
Ну напиши свой маня-протокол, примерно повторяющий UART на любом нужном пине. Ну или SPI/i2с программно эмулируй.
Твоя задача сводится к:
1. Дать приёмнику знать, что передача на него началась.
2. Дать приёмнику знать, что передача на него кончилась.
3. Тактировать, чтобы отделить один бит от другого.
Как и каким способом ты будешь реализовывать каждый пункт - исключительно на твоей совести. Можно на разные провода "передача активна", "тактирование", "сигнал" повесить. Можно хоть вообще всё по одному проводу пустить, если по-хитрому отрабатывать тактирование разной длительностью импульса (но это нерационально).
Или используй готовое решение: https://alexgyver.ru/gyverbus/
Есть ещё тема с переназначением pinMode на вход/выход на лету в зависимости от условий. Сам не тестил, но теоретически запрета на это нет, ибо никаких setup() и loop() с точки зрения "глубинного" кода нет, есть только main(). И читать-писать в пин можно вообще без digitalRead и digitalWrite, вручную подставляя нужный бит в служебный регистр.
https://2ch.hk/ra/res/477741.html (М)
https://2ch.hk/ra/res/477741.html (М)
https://2ch.hk/ra/res/477741.html (М)
Это копия, сохраненная 4 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.