Здесь можно задать вопросы про Arduino и попробовать пересеcть на STM AVR. Вопросы по основам радиоэлектроники НУЖНО спрашивать в первом прикрепленном треде на доске. В данном треде обсуждается только Arduino и AVR (с использованием библиотек Arduino)
Коротко - о главном: - Что такое Arduino? - Ардуина - это конструктор из Atmega<X> и своей IDE с библиотеками, который будет выполнять написанные тобой команды - программу, или же просто - скетч.
- Сильно ли я сосну, купив arduino your name, в плане того, что она использует 3.3в вместо 5в как у остальных? - Если берешь побаловаться и закинуть, то строго похуй. Если какой проект мутишь, то тут уже смотря чем питать будешь.
- Как, например, я могу сжечь Arduino? - Подать больше 5В на входы. И ещё 1000 способов от русского Ивана, не умеющего в инструкции.
- Зачем нужны всякие борды-хуёрды? - Чтобы ты не запорол своим лудилом из-за ошибок схематики пару сотен МК
>>335886 Вообще хочу себе стимпанковские очки, чтобы реагировали на моргания глаз и закрывали диафрагму, + сужались на свету. Ещё заказал 5 сервомоторчиков самых дешевых, буду собирать схему для ММГ (считывание мышечных сокращений) и буду ебашить бионический протез на 3д принтере, для этого, собственно, и датчики давления, чтобы они откликались вибрацией прямо пропорционально давлению. Так чтобы инвалид имел хоть какую-то обратную связь со своей рукой. Короче, для развлечения. Ещё есть идея в машине сделать доводчик багажника. Открывается он сам, а закрывать нужно руками, так дела не делаются. Управляется там замок -12 вольтами, подаётся импульс, замок открывается, хочу сделать, чтобы на каждый второй импульс ардуина запускала моторчик, который будет багажник закрывать до концевика. Концевик разомкнулся, моторчик с небольшой задержкой отключился. Чтобы в итоге получилось типа: нажимаешь кнопку на сигналке, багажник на пружинах открывается, нажимаешь второй раз, ардуина вертает всё в зад, как было.
Короче идей дохерища. Что ещё посоветуете докупить?
Вопрос будет по большей части касаться STM8 и STM32. Хотя, я не смотрел что там у атмег в даташите, а то может и их тоже. Итак, я хочу программировать микроконтроллеры записью значений в регистры, без использования различных библиотек (за исключением CMSIS). Собственно вопрос заключается в следующем: "А какие есть пути что бы узнать в какой последовательности инициализировать периферию, включать тактирование и т.п.?". Конечно, я могу получить некоторую информацию из даташита или посмотреть исходники HALa, но это занимает уйму времени. Неужели вся эта информация добывается логическим путём при помощи даташита? Практически все уроки и статьи на форумах что мне попадались, вызывают ощущение что авторы таковых сами не до конца понимают что и зачем они делают, либо копипастят с других источников меняя слова на сой лад. Остальная часть книжечек и прочего - это использование высокоуровневых библиотек. Быть может я чего-то не знаю или не внимательно читаю даташит? Тогда почему такое говённое качество статей и уроков в интернете и книгах? Наставьте на путь истинный, я не хочу обучаться по принципу "нашёл несколько примеров в гугле и написал рабочий код".
>>335899 >реагировали на моргания глаз и закрывали диафрагму, + сужались на свету. >Одно моргание человеческого глаза длится приблизительно 0,05 секунды Ебать ты гений
>>335927 Какие проблемы подсветить глаз ИК диодом и читать изменения уровня отраженного света, при открытом глазе роговица будет больше света отражать, чем кожа при закрытом. Или частоты дискретизации не хватит? Да и не обязательно с такой же скоростью моргать, будет достаточно закрываться в синхрон с глазами.
>>335899 Для доводчика схема собирается на транзисторах, дуина не нужна. Серьёзно. ММГ работает, 100мВ есть на руке, около глаза не пробовал считывать. Но ты лучше мимическую мышцу попробуй найти на атласе тела, а потом по трём контактам вычислять напряжённость. Но диафрагму придется делать из металла, ибо микросерва пластик будет с усилием сжимать, что приведет к её повышенному износу. Протезы работают, сам сделал, сам ММГ обработал. Кустарно, работает от павербанка "3,7 -> 5". Пришлось в серву ставить многооборотный резистор, чтобы длину хода увеличить. Идея годная, но сжатие-разжатие кисти медленное.
>>335943 > мимическую мышцу попробуй найти на атласе тела Да я и так знаю, где она, я ж медик. Только вот электроды там некуда зацепить и изменение потенциала совсем крошечное.
> Для доводчика схема собирается на транзисторах, дуина не нужна. Серьёзно. Можно инфы, если не жалко?
>>335971 >электроды там некуда зацепить и изменение потенциала совсем крошечное Ты просто медик же! Потенциал там если есть хотя бы 10мВ, то AD620 вытянет его двумя каскадами до читаемого.
>Можно инфы, если не жалко? Концевик, транзисторы ну и триггер, про который я сразу забыл. Вот сейчас не нарисую, лучше сходи в поисковике поищи.
>>335982 Ну серьёзно. Ну тебя же просто разводят на бабло. Ты 2-3 модуля этих поюзаешь, а дальше сам сможешь паять нужные тебе устройства. Надеюсь. Хотя чёрт тебя знает.
Почаны, есть необходимость управлять 12В сетью с ардуины, как не спалить? С ардуины будет 2 управляющих выхода по +5В, с этих сигналов нужно пускать ток на реле. Короче, нужен электронный ключ. Тиристор подойдёт для сих дел? Не совсем понимаю, как безопасно совместить 5в и 12в сеть. При чём в 12в сети 140А тока, в случае чего от ардуины останется лишь пепел.
>>336052 Только для надежности я бы еще поставил резистор и стабилитрон перед выходом оптопары Если критична скорость размыкания то убери диод и поставь стабилитрон между стоком и истоком транзистора.
>>335982 Если в комплекте действительно годный гайдбук с примерами проектов и все необходимое для их сборки, то неплохой вариант для начинающего. Ибо проблема большинства этих китайских наборов - куча ненужной рандомной хуйни в комплекте, и хуй знает куда ее применить. В этом плане опять же хороши наборы Амперки: с точки зрения железок в комплекте - дикий оверпрайс, но гайдбук, документация на русском языке, примеры кода с подробными комментариями и даже обучающие видосики делают старт для нуба гораздо проще
>>336064 >>336067 >>336069 Кстати, зацените мой первый скетч на ардуине вообще. Навыков программирования только паскаль в школе. Ебашил всё на эмуляторе т.к моя дуина ещё едет.
>>336072 Реле то как подключал? Напрямую от пина питал? Так можно выжечь ногу, слишком высокий ток. А ещё если ты диод не поставил, в момент выключения там ебанутый скачок обратного напряжения, мог вообще микруху выжечь. Или у тебя модуль с реле? Тогда всё нормально.
>>336073 Не, реле там 12в сетью питается. Дуина на выходах сидит. Просто у меня с сигнализации выходит -12в, вот я на один контакт обмотки подал +12в, а на другой этот управляющий. Получается когда мы жмем кнопку реле срабатывает и замыкает на ардуине GND и 4 пин.
Почоны. Есть один вопрос. Есть один мотор, который будет закрывать ворота, питание от 12в, нужно сделать так, чтобы он не перекусил случайно попавшего туда мимокрокодила/кота/собаку, можно ли использовать датчик тока? Я правильно понимаю, что чем тяжелее мотору крутиться, тем больший ток через него протекает? Можно же поставить отсечку по току, скажем, на 10А, чтобы он при превышении этого тока открывался обратно?
Итак краткое впечатление от вкатывальщика: ПРАВИЛЬНЫЙ порядок действий. Во первых выкидываем ардуину и покупаем отладочную плату STM32 и/или STM32 и STM8. У AVR не лучшие времена, она проигрывает гонку STM. Но даже изучая AVR пользы будет больше чем от богомерзкой ардуинки. Ардуину можно нужно шить как простой AVR камень, считай что это дешёвая отладочная плата. Не забудь скачать даташит на свой камень.
Во вторых, идём в программач, в Си трэд. Качаем книгу Стивен Прата "Язык программирования Си" 6-е издание. Продаётся на торрентах. Книги от K&R немного отклоняются о принятого сейчас стандарта С11 но написаны попроще. Не надо боятся, Си простой и понятный язык. С++ хорош но нуб в нём утонет нахуй. И к тому же, не на все камни есть компилятор С++. Алсо, от компилятора тоже дохуя чего зависит. И да их много.
Немного конкретики, микроконтроллеры это не процессоры. Не используй операции с плавающей точкой! На камнях нет сопроцессора для этого говна на с STM32 4m есть и такие вычисления идут МЕДЛЕННО. Ничего не высчитывай во время работы, что можно посчитать до компиляции - нужно посчитать до компиляции, и использовать готовые значения а не ебать камень во время работы.
Ардуина нужна чтобы помигать светодиодом ощутить всю прелесть дребезга контактов и не ссаться при виде кода. ВСЁ. Освоил базу пиздуй дальше не задерживайся на этом говне. Изучая ардуину ты изучаешь ТОЛЬКО ардуину. неплохое видео от уважаемого человека - https://youtu.be/m3ViTkyPUKo почему ардуина говно.
Ребята, давайте жить дружно, запилите единый трэд по МикроКонтроллерам.
>>336682 Нахуя в сотый раз срывать покровы? С поразительно регулярностью возникают кадры, попытавшиеся построить дом из детского лего и внезапно обнаруживающие, что из кирпичей дом всё же лучше.
>>336682 >Не надо боятся, Си простой и понятный язык. Си может и нет, но вот эта всякая залупа авровская >//Interrupt Service Routine for INT0 >ISR(INT0_vect) >GICR = 1<<INT0; // Enable INT0 >MCUCR = 1<<ISC01 | 1<<ISC00; // Trigger INT0 on rising edge Этож ебанись.
А вот эти библиотеки вшиты в ардуину по дефолту или с IDE каждый раз закидывается при прошивке? У всяких Лилий и Промини памяти нема же, а если еще и свои библиотеки зашивать...уф, не хватит
>>336747 Может быть и так, только на ногодрыге микроконтроллеры не заканчиваются. Более того, иногда вообще без ногодрыга обходятся. И когда (если) тебе перестанет хватать ногодрыга, придется начать изучать регистры.
>>336733 Это не требуется помнить наизусть, считай это справочной информацией. Обычно непосредственно с регистрами работают небольшие, относительно всей программы, кусочки кода. Написать эти кусочки, заглядывая в даташит, совсем недолго по сравнению с затратами времени на написание остального кода. Хотя, если ты делаешь одни мигалки, то да, сложно будет.
>>335724 (OP) Ультраньюфаг врывается. Есть необходимость запилить что-то типа обратного таймера, ну или зуммера/пищалки с задержкой в 30/60/120сек., не суть. Для этих задач хватит встроенной считалки ардуины, которой она миллисекунды задержки тикает, или понадобится какой-нибудь модуль часов реального времени? Супер точность не нужна, если за минуту наврет на полсекунды, то все равно будет норм.
>>336876 Откуда там возьмется такая ошибка? Ардуина же от кварца тактируется, разве нет? Миллисекунды эти по прерываниям от таймера считаются, соответственно все упирается в точность кварца. В самом худшем случае это 100ppm=0,01. Ошибки могут появиться только если где-нибудь запрещаются прерывания. Удивительный какой-то тред, даже в ньюфаготреде такой концентрации бреда нет.
Не совсем по ардуинам вопрос... Пусть есть цепь с фиксированным напряжением N и огромной силой тока М, а также резистор рассеивающий N ватт. Замыкаем цепь этим резюком, через него пойдет лишь ток 1A, больше не будет? Или если резюк - единственный путь для тока - тогда через него пойдет M ампер и он сгорит впердоч?
Второй день не понимаю как делать бочку на базовейшем проекте. Есть ргб светодиод, нужно его заставить светиться в три разных приема: 255,255,255 ; рандомное мерцание оранжевым; тусклый красный свет. Не могу понять как прописать фликер который крутится пока не нажмешь кнопку и как его сдружить с кодом на обычное свечение 1 и третьей программы. Халп?
>>337278 Запускаешь таймер на 10мкс, по таймеру обрабатываешь "0" или "1" на ножке светодиода. от 0 до 250 крутишь эти самые 10мкс, получаешь ШИМ сигнал и кучу цветов.
Возможно для этого вопроса надо создавать отдельный тред, но сперва спрошу тут:
Есть у меня такой вот сенсор. Я цепляю 1 на 5вольт, 3 - на землю, а 2, через резистор на землю и на аналоговый вход ардуины. Теперь я читаю (например каждые 500мс), что он мне дает и офигеваю. Потому, что выдает он мне какую-то полную чушь. Например может сперва несколько раз подряд ~50, а потом один раз ~120 и так циклично. Это, если я ничего не делаю. Если приблизить руку, то иногда реагирует, но такие прыжки остаются.
>>337384 Ты все не так делаешь. Для начала мог бы прочитать о том что такое пироэлектрический эффект. Заряд в пироэлектрике появляется при изменении температуры. И заряд этот постепенно стекает на землю. Поэтому тебе нужно приделать полосовой фильтр на ОУ.
>>337386 Спасибо. Почитал и послушал. Действительно я не так понимал, что PIR делает. Получается, что мне как раз эти (или другие) пики ловить и надо? Причем так, чтобы они в обе стороны были?
Я понимаю, что до усилителя сигналы очень слабые. Значит ли это, что считывать их с элемента нет никакого смысла? Мне просто интересно посмотреть, что датчик сам по себе выдает. Ведь я могу их и програмно усилить или они до усиления, какие-то не такие?
>>337392 А вот разъяснить, в чем я кретин, религия не позволяет? Я же за помощью пришел. Ну например сказать что-то типа: "синал слишком слабый, тебе нужно столько-то. Прочесть про это сможешь по ссылке"
>>337427 датчик твой выдаёт сигнал с размахом 20 милливольт и смещением от нуля в 100 миливольт
иными словами при затемнении на выходе будет ~125 милливольт (0,125 вольт) а при подсветке ~90 милливольт (0,09) (хотя я могу ошибаться и будет наоборот) и да скорее всего ты его уже прожарил, и можешь выкинуть
>>337532 потому что 20mv PP означает переменку с постоянным(dc) смещением а аналоговый вход ардуины даже отключеный подтянут к +5 через диод (ну если вдруг не подтянут то не выкидывай тогда) и как выше тебе подсказали сигнал снимать с него нужно при помощи конденсатора включенного последовательно что бы срезать постоянку (офсет) >тебе нужно приделать полосовой фильтр
>>337546 >подтянут к +5 через диод Причем тут это? Диод начнет открываться когда к выводу приложено больше 5 В. А тут датчик питается от 5 В, значит больше 5 В на выходе не будет и диод не откроется. >снимать с него нужно при помощи конденсатора Как бы не совсем так. Что такое RC-цепочка слышал? Какая постоянная времени получится в этом случае? Еще отклик от датчика может быть как вверх так и вниз относительно его среднего уровня, соответственно после конденсатора все равно нужен какой-то средний уровень, который больше нуля.
Полосовой фильтр для другого - информация о движении содержится в относительно быстрых изменениях напряжения. Если в помещении будет плавно меняться температура, то датчик как-то на это среагирует, только полезной информацией это не будет. Дополнительно целесообразно отфильтровать слишком быстрые изменения, наводки 50 Гц и прочие шумы. Поэтому если отфильтровать и потом усилить, то можно повысить чувствительность. Иначе можно в микроконтроллере запрограммировать цифровые фильтры.
Сап аноны, ньюфаг на связи. Хочу сделать робота, который мог бы обнаруживать лица через камеру и поворачивать корпус сторону человека. Примерно хочу сделать так: камера с сервоприводами подключена к ардуино, камера отправляет видеопоток на компьютер, там обнаруживается лицо с помощью python, определяются координаты, а затем отправляется сигнал сервоприводам двигать камеру так, чтобы лицо было в центре. И у меня возникло несколько вопросов: 1) Можно ли полностью управлять всей конструкцией через python? 2) Какую камеру подключить? Читал про ov7670, но кажись она слабая, не уверен, что точность распознавания будет высокой, но думаю хватит. Можно ли подключить вебкамеру? Если да, то как? 3) И собственно, так как я ньюфаг, какую плату arduino выбрать?в общем выйдет 7 сервоприводов, камера, 4 кнопки и мб круговой светодиод Жду ваших ответов!
>>337570 >ov7670 Сомнительная фигня зачем вообще городить камеру к ардуине?. Не проще вебку взять?
>управлять всей конструкцией через python Гугл говорит можно юзать PySerial.
>7 сервоприводов Нахуа? Смотря какие. А вообще: >The Servo library supports up to 12 motors on most Arduino boards and 48 on the Arduino Mega. А значит подойдёт любая. Оптимально, наверное, Nano Mini Strong типа моей из ОП-поста, чтоб питание на сервы подать с платы. Но если дорого, то с макеткой пойдёт и Nano.
>>337578 >Nano Mini Strong Фикс: Nano Srong Алсо, кнопки можно на аналоговые входы повесить. Что такое "круговой светодиод" я не знаю. Если ардуина будет дополняться со временем, то как вариант можно взять PCA9685 в дополнение к обычной Nano V3 не Strong.
Правильно понимаю, что если мне нужно 2 задачи, каждая через свое ПО на компе общается по ком порту, то тупо брать 2 нано надо, в одну не впихнуть? До этого только оранжи ковырял, там это проще как-то, но тут задачи тривиальные.
>>337631 А погуглить? https://toster.ru/q/338386 Никто не отвечает, высру IMHO. Если я правильно понял, то читать смогут, а писать - нет. Оно и понятно, serial port же. Теоретически можно написать/настроить какой-то софт для маршрутизации, но это явно лучше в /s/ спрашивать. Две ардуины могут оказаться проще.
>>337700 >Никто не отвечает Так вопрос соответствует уровню треда, потому и не отвечают.
Ну да, на компе две программы с одним компортом простыми способами не будут работать. Но у многих атмег по два UART-а, никаких проблем в их одновременном использовании нет. Как написать для микроконтроллера программу, выполняющую несколько задач? Ну разные способы есть, можно в прерываниях что-то делать, или делать программу в виде конечного автомата, или использовать ОС с многозадачностью.
>>337704 >у многих атмег по два UART-а Это где такое? Я видел только у СТМок такое, и ещё библиотеку software serial для ардуины. С ней и конвертером тоже можно попробовать наверняка.
>>337713 Это Quick Reference Guide, там вроде бы не все микроконтроллеры перечислены. >Теперь понял почему. Неужели ПЕРДУИНО ИДЕ не поддерживает микроконтроллеры с двумя USART-ами?
>>337700 Спасибо. В принципе логично, один порт - одно соединение. Но думал может какие готовые обертки есть, но это не про нано наверное, и так мозгов мало.
>>337770 >нано Либо Software serial с конвертером на второй USB Либо искать/писать маршрутизатор для потока данных, с виртуальными адресами, портами, арбитражем, бла-бла в /s/
Аноны, есть одна Arduino Mega 2560, которая после короткого замыкания не определяется камплюхтером. На самой ардуине после подключения USB кабеля загорается красный индикатор рядом с надписью ON пикрил. В чём проблема, почему комп её никак не определяет? Она скончалась? Помогите мимокрокодилу, пожалуйста.
>>338287 Звук "ты-дынь" подключения есть? Комплюхтер в беззвучном режиме работал, так что не знаю. Сейчас нет возможности проверить, только завтра утром.
Аноны, посоветуйте что мне делать - пердолиться с перемычками и перепрошивкой порта в надежде на маловероятное воскрешение, или забить и заказывать новую ардуину? Пердолиться будет очень сложно, потому что в электронике я нуб, да и паяльник в руках давненько не держал, а про самостоятельную замену порта без подробного пошагового гайда вообще бессмысленно говорить - для меня это что-то из ряда фантастики. Алсо, сразу реквестирую где можно заказать оригинальную Arduino Mega 2560 с быстрой доставкой в мухосрань.
>>338306 А когда коротнул плату, она была запитана через круглый разъём? ХЗ кто как и куда, но на твоём месте я бы сначала запитал её через пин 5V от внешнего источника, или замерил напряжение на пине 5V в штатном режиме. Если напряжение низкое или ардуина заведётся от внешних 5В, то сдох регулятор/предохранитель/диод. Если без изменений и напряжение соответствует, то на тест всех компонентов отдельно, начиная с меги2560.
>>338322 Эта плата из 3d принтера. Коротнуло нагревательный элемент на экструдере, принтер вырубился и тут же перестал опознаваться пекарней. Разобрал корпус - на плате подключенной к ардуине через пины на пике зеленая два живых предохранителя, а в блоке включения обычный 0/1 переключатель предохранитель сгорел. Заменил предохранитель - принтер заработал, но компом не определяется. Сама ардуина напрямую через круглый разъем не запитывалась, но к разъему от верхней зеленой платы припаяны два провода как на пике. Я нихуя в электронике не разбираюсь, но, как понял, они как-то выходят на блок питания через зеленую плату.
Придется, видимо, покупать новую плату, потому как все эти мелкие компоненты от ардуины в мою мухосрань приедут не раньше чем через месяц, а целую новую ардуину привезут за неделю с платной доставкой. Ждать месяц и, с большой вероятностью, соснут хуйца, а потом еще неделю ждать ардуину - слишком долго. Жаль, я бы ради интереса попердолился будь возможность пойти в магазин и купить все нужные компоненты без ожидания доставки. amperka - нормальный магазин? Не пришлют китайскую подделку?
>>338347 > я бы сказал, что у тебя самого - сорт оф "подделка" Не исключаю что так и есть - в рашке предприимчивые разрабы даже в принтер за 100к могут любое говно запихать.
Загуглил - амперка в списке официальных дистрибьютеров на сайте ардуино, так что должны продавать оригинальные платы.
>>338363 > Амперка дорохо Меня цена не особо интересует - платить будет работодатель, я должен только заставить принтер работать. Оригинал хочу брать потому что это хоть какая-то гарантия качества и снижение вероятности получить бракованное говно.
>>338371 Они стоят косарь, а оригинал 3.5к - разница небольшая, зато, если плата полетит, мне никто не сможет предъявить за то что я говно поддельное купил. Для себя я бы тоже хорошую подделку брал чтобы не переплачивать.
>>338380 Ах, ты предлагаешь ему версию с CH340G. Ну, этодругое. Хрен знает как там дело обстоит с софтом, драйверами и вообще. Если он написал, что не разбирается, то нефиг такие меги покупать.
Час формировал свой нубский вопрос и упростил его до суперплатинового нубского вопроса. Есть время, но мало денег. Заинтересовала ваша ардуинка, а вот цена за плашку не очень. Стоит ли покупать китайский (или другой) аналог для начала, или лучше поднакомить и ккпить нормальную ардуину? А, может быть, купить свовсем что-то другое? Можете отпиздить тапками, но ответьте пожалуйста
>>338463 Либо Arduino Pro Mini (5V или 3.3V) + отдельно USB-UART конвертер типа CP2102, или CH340G, или какой-то другой. Либо BluePill/BlackPill + отдельно USB-UART чтоб пользоваться как ардуиной, или ST-LINK отладчик чтоб вкатываться в байтоёбство уже по-взрослому. Всё китайское по 100р. за платку/конвертер/программатор, всё с Али, всё отлично работает.
>>338463 >Стоит ли покупать китайский (или другой) аналог для начала, или лучше поднакомить и ккпить нормальную ардуину? В них стоят одинаковые атмеги (процы). Только корпуса процов разные, а кристаллы внутри одинаковые во всех. Только в оригинале ещё стоит atmega16 для связи с пекой, в дешевых клонах стоят USB-TTL чипы. Тебе нужна это атмега16? Я не думаю. Но даже если нужна, есть клоны и с ней.
Кроме uno есть ещё другие, но они нахуй не нужны ящитаю. Uno самая популярная, по ней больше всего информации найдёшь в интернетах и решение любой проблемы, которая у тебя появится.
>>338473 Вот я бы не советовал ньюфагу брать. ESP8266 сложный. И GPIO там намного меньше. Там штук 7 доступно, так ещё и некоторые должны быть подтянуты в правильное место при включении. А ещё комьюнити никакое, нет IDE как у ардуины, нет нихуя. В ESP8266 нужно вкатываться уже после ардуины, когда ты понимаешь что ты делаешь.
>>338496 На самом деле под проекты уно уже нахуй не нужна, она для экспериментов. А когда приходит время делать практический проект охлаждения стула при перегреве жопы, на него идет мини/нано/attiny.
>>338501 Я тоже пользую attiny, но начинал я с raspberry pi и ардуины. Но ньюфаг никогда в неё не вкатится. На ебаную attiny13, которая стоит 30 центов и имеет 1кб флешку и 64 байта (БАЙТА, БЛЯДЬ) оперативки даташит аж, мать его, 176 листов. http://ww1.microchip.com/downloads/en/devicedoc/doc2535.pdf Хотя я всё равно нихуя не понимаю, просто пользую MicroCore для ArduinoIDE и копипащу код из гугла .
>>338510 >Но ньюфаг никогда в неё не вкатится. Чего блядь? Как раз и надо вкатываться прямо в аттини, а не в это все ардуино, нихуя там сложного нет. >На ебаную attiny13, которая стоит 30 центов и имеет 1кб флешку и 64 байта (БАЙТА, БЛЯДЬ) оперативки даташит аж, мать его, 176 листов Так там описание регистров-хуистров и прочего говна, практически одинаковое для всего семейства.
>>338524 >Как раз и надо вкатываться прямо в аттини Охуеть какой ты простой. А умеет ли ньюфаг паять? А есть ли у него вообще паяльник, чтоб это всё спаять? Так ему ещё и плату самому делать надо что ли? Ему сразу с первого дня в ЛУТ вкатываться? А ещё купить USBasp и припаять 5 проводов от него только для перепрошивки. А фьюзы? Он же если не поймёт что такое фьюзы, он себе закирпичит микруху одним неверным кликом.
И ты вот правда советуешь человеку, который в жизни микрухи не видел, лезть вот в это всё с первого дня? Откуда вы такие лезете.
>>338540 Вполне успешно начинал с ассемблера для PIC16, умея при этом только паять. В PIC16 с памятью еще хуже чем с attiny13 - там страничная организация. Но советовать что-то в этом треде - глупость. Другой анон.
>>338540 Что-то мешает взять ардуину, подключить к ней программатор и прошивать? Чтоб пограмировать контроллеры абсолютно не нужно уметь паять, ЛУТать и прочее, отладочных плат кучи на любой вкус.
>>338546 >отладочных плат кучи на любой вкус А я о чём? Я предлагаю купить отладочную плату с atmega328p - и называется эта плата Arduino Uno А умник выше советует покупать тиньки и самому всё паять и шить.
>>338547 А почему именно Uno? Лучше брать Pro Mini с макеткой. Там выбор среди двух стульев (3.3В/5В), и в случае чего её можно применить в автономное устройство без потраченного конвертера usb-uart. Программатор, в конце-концов, должен быть инструментом. мимодурачок ОП треда
>>338499 Ты не путай голый esp8266 с его наркоманским ide и nodemcu/wemos/wifibee что работают через https://github.com/esp8266/Arduino Там все работает как на обычной ардуинке, ног до 17, но ацп один.
>>338392 Короче тут две пары i2c пинов, с которыми нужно как-то совладать. Придумал делать пикрил чтобы сигнал не шёл туда, куда не нужно, но есть сомнения по поводу того, что i2c пины не всегда являются выходами. т.е. могут быть настроены на приём и тогда схема не будет работать. Что скажите?
>>338582 Долбоёб, я не знаю что ты там намалевал, но ты в курсе что к 1 шине TWI подключается несколько устройств одновременно? Да-да - ты не ослышался! К этим двум проводочкам несколько устройств. А теперь будь добр рассказать чем тебя не устраивает одна шина и что мешает твою ебаную esp228 использовать в качестве Master, а обои аурдании в качистви Slaves???7
>>338594 Видишь ли, дурашка, я не хочу использовать два контроллера одновременно. Если ты прочитаешь мой первый пост, то может быть поймёшь суть. Попробуй. А я тебе ещё и эту картинку разъясню.
>>338612 Ты вопрос можешь сформулировать или будешь продолжать выёбываться?
1) У тебя одновременно втыкнуто в макетки esp и avr. Кто-то из них абсолютно всегда выключен.
2) У тебя одновременно втыкнуто в макетки esp и avr. Кто-то из них выключен в определённые моменты времени, но бывает что работают оба одновременно (нет блять, не по i2c, а просто питание подано).
3) У тебя всегда такая ситуация, что в макетки воткнута только ардуина или только esp.
4) Одновременно в макетки всё воткнуто и бывает что иногда ардуина шлёт данные, а иногда esp.
А теперь, будь добр, выбрать соответствующий вариант ответа и расписать его поподробнее, если он не отражает сути до конца.
>>338656 3. Нужна универсальная плата, в которую можно воткнуть либо нану, либо есп. По переферии: -Экран 128x64 либо 4-пиновый, либо 7-пиновый. Опять же, либо-либо, но не вместе. -Часы. Тут один вариант - DS3231. -кнопка -пищалка Тут последняя версия схемы: https://www.tinkercad.com/things/dWOHfdCN0p6
Там каждая пара диодов должна исключать ситуацию когда сигнал с одного пина при использовании, например, ардуины идёт на другой пин, который является источником этого же сигнала на есп и наоборот.
Такая система диодов кажется должна работать с пинами, являющимися либо источниками, либо приёмниками сигнала. А вот с i2c не понятно. Потому что мне кажется что i2c контакты могут менять input на output и наоборот во время работы. Если так, то нужно как-то обыграть эту ситуацию чтобы не нужно было механически ничего менять при смене контроллера.
>>338659 Короче, выкидываешь из схемы диоды и провода. SCL наны соединяешь с SCL есп, аналогично для SDA и у тебя в итоге получается 2 провода для устройств. Только не забудь резисторами 10К подтянуть линии, как на картинке выше. Вариант 1) Каждый из контроллеров программируешь как Slave. Далее алгоритм такой. Если контроллер получает по i2c сигнал о том что ему нужно стать Master, он становится им через некоторое время после некоторой задержки. Тот контроллер который был изначально мастером становится Slave. Текущий мастер должен слать сигнал другому микроконтроллеру, например, каждые 10 секунд. В противном случае, если slave не получил скажем в течении 10 секунд + некоторая задержка (а ты её можешь в виде переменной делать и менять каждый раз по i2c) сигнал о том что ему нужно оставаться slave, он автоматически переходит в master. Т.к. ты кодер, то идею надеюсь, понял. Ты можешь через отдельный пин переключать режимы каждого контроллера, тут похуй, пару лишних проводов. Алгоритму, как видишь похуй на любые комбинации. Ты даже можешь ебануть такой алгоритм когда у тебя и esp будет гонять сигнал и arduino, да хоть блять 1 esp или 1 arduino. Тебе не нужны никакие диоды, просто следи за конфигурацией пинов ПРОГРАММНО, вот здесь прочитай подробно: https://hubstub.ru/stm32/152-push-pull-vs-open-drain.html
>>338664 Вечерком перечитаю ещё раз, а пока хочу уточнить: ты точно третий вариант расписал? Сдаётся мне что у тебя тут про первый вариант. Я ещё про slave и master не понял. Может, конечно, это задаётся где-то внутри библиотек, но чтобы экранчик заработал я всего-лишь выбираю правильный конструктор класса и всё.
>>338670 Про все сразу расписал. У меня в тексте написано: "Вариант 1)" ибо я под вторым подразумевал использование не интерфейса i2c, а 2-х проводов с других пинов, но забыл написать "Вариант 2". Ты не забывай что в arduino ide (ты по всей видимости именно её используешь) в библиотеках дохуя ошибок и они медленные. Я даже не знаю есть ли там возможность такой настройки. Советую тебе, раз начал МК, писать все программы используя по максимуму регистры (без разницы хоть на плюсах, хоть на чистом). Абстракции это, конечно, здорово, но именно на микроконтроллерах на них далеко не уехать, ибо как я писал выше функционал не весь есть в библиотеках и надо делать свои, да ещё и ошибок дохуя. Вот ты пользуясь абстракциями не понимаешь ни про конфигурацию пинов, ни про SCL и SDA, а без этого далеко не уехать, как бы ты не хотел, но придётся тебе опускаться на более низкие уровни, иначе вечно будешь страдать на таких простых вопросах и путать других.
Анонче, я разжился ардуинкой, но хочу заниматься байтоебством. Настроил себе среду на Эклипсе и AVR GCC, прошивать хочу с помощью avrdude через ардуиновский загрузчик. Вопрос - простейший хелло-ворлд убьет мне ардуиновский загрузчик или нет?
>>338806 Спасибо, тогда еще вопрос - на моей плате (UNO) стоит мега16 как "мост" USB-UART. Где можно найти описание протокола между "мостом" и целевым контроллером, если я хочу пообщаться с целевым контроллером с компа через виртуальный COM-порт? Короче, на какие настройки программировать USART целевого контроллера, чтобы они с "мостом" друг друга поняли?
>>338815 Бля, я тупой вопрос задал - там же наверняка настройки приемопередатчика "моста" задаются с помощью драйвера виртуального COM-порта на хост-машине.
Короче собрал я этот переходник наконец. На механическом переключателе i2c к сожалению, ну да похер. Сейчас такая проблема: память наны перегружается при подключении библиотек экранчика. Остаётся 350 байт для переменных. При этом сам контроллер начинает глючить и код не выполняется. (В моём случае отваливается работа со строками через String класс) Пробовал две библиотеки: U8g2 и Adafruit. Обе они уже на демках загружают память на 70-75%. А мне ведь для моего кода нужен ещё запас по памяти. И вот что мне делать?
>>338887 Возьми код из тестера транзисторов. Или сам напиши, это не так сложно и заняло бы меньше времени, чем ты уже потратил на поиски. И научись рисовать схемы по человечески. Даже школьникам в учебниках по физике нормально рисуют.
>>338890 Чё за тестер? Свою либу писать не хочу. С моим-то знанием сишки далеко не уйду. Ну а где мне схемы рисовать? Я только это нашёл. Оно лагает только, а так мне норм.
Сап, достопочтенные антуаны. Появился в голове проект, ничего оригинального. Есть одна вэбка, которую я хочу установить на шаговик 28byj и рулить ей через интернет, в идеале. Беда в том, что знаний катастрофически не хватает. С шаговиком я разберусь и смогу его поворачивать на нужные мне углы, подавая команды на сериал из ардуино иде. Но если его закрыть, то я совершенно не представляю, что делать и как сделать так, чтобы я мог сидя на работе нажимать в смартфоне кнопочку и наблюдать поворот моей вэбки на экране. Насколько я понимаю, мне нужно создать некую вэб страничку, которая будет выводить картинку с вэбки и иметь ряд кнопок, по нажатию на которые в нужный com порт будет уходить нужная команда. Как это сделать я в душе не ебу. Вторая половина беды, что к этой страничке нужно как-то обращаться из интернетов. И я совершенно не имею представления, как это сделать. Я могу постучаться по внешнему айпишнику своего роутера, даже допустим на определенный порт, обращения к которому я могу заранее перенаправить на внутренний айпишник компа, к которому подключена вэбка. Но на этом мои полномочия всё.
Подскажи, в какую сторону мне копать и как правильно гуглить, чтобы слепить все эти разные кусочки во едино
>>338893 >Подскажи, в какую сторону мне копать и как правильно гуглить, чтобы слепить все эти разные кусочки во едино Вэбстроничка нинужна, нужен сервер смотрящий в ынторнет на который приходит команды, можно в джисон, в ответ на заданный инторнет адрес или какуюнить файлопомойку сервер будет отправлять кортингу. Ну или подними фтп на который будет срать камера.
>>338915 700мс <-> 2300мс - стандарт, это что-то около 230 градусов, всего 1500мс. Есть и постоянного вращения, есть и на 360 градусов. Но поверь, тебе хватит и 230.
Сап анон. Хочу вкатится к вам, сделав контроллер для rgb светодиодных ламп. Цвета которых меняется от музыки может быть аукс или микрофон. Планирую сделать квадрат из таких ламп. Что нужно купить кроме ардуино, диодов (подскажите какие мощные?) и плафонов?
>>338925 Так ты ему сразу и уточняй какие сервы нужны. Я просто показал минимальный вариант приобретённого мной, что подразумевалось в совете про сервы.
>>338928 >тебе хватит и 230 Не мне. Я себе уже купил для других целей, а из этого следует, что я не тот изобретатель IP-камеры.
>>338935 Слушай я нуб в электронике, знаю только минимальные азы. >БП соответствующей мощности Планирую от компютерного БП питать, 5в с молекса взять. >ттл совместимые мосфеты Это что такое и для чего?
Ребзя, вы меня не правильно поняли. Задача не в том, чтобы изобрести велосипед ip камеру. Задача стоит именно разобраться во взаимодействии в цепочке смартфон-интернет-(роутер)-пека-ардуинавюсбпорту. Вот этот был ближе всех >>338899
Я понимаю, что один шд для ip камеры далекое от идеала решение. И что проще было бы сделать с сервами и через esp или хотя бы через ethernet модуль. Но дело не в простоте, а наоборот, в освоении сложного
>>338938 Берёшь rgb ленту. Бывает разной плотности(количество диодов на метр), питается разным напряжением(5, 12, 18, 24 вольт, обычно). Чтобы узнать мощность для БП нужно знать какая лента и сколько метров. При покупке мощность ленты на метр может быть указана, если нет, надо считать по типу светодиодов. Мощность блока питания должна быть на 20% больше мощности ленты.
Вбей в гугол слово мосфет, там тебе все расскажут. Нужны они потому, что ардуина не сможет своими выходами рулить лентой, слишком большие токи, сгорит. Поэтому ардуина в твоей задаче будет рулить мосфетом, а мосфет уже лентой
>>338939 Из всего вот этого: >цепочке смартфон-интернет-(роутер)-пека-ардуинавюсбпорту. Треду соответствует только ардуинавюсбпорту. А вообще ты сделал меня погуглить, и я нагуглил кучу последовательных вопросов (смартфон-интернет, интернет-(роутер), (роутер)-пека), в которых я, как некий ардуинщик, не понимаю почти нихуя. Хотя и представляю, что вариантов несколько, и это самое что ни на есть изобретение IP-камеры с сервером "где-то там" в случае серого ай-пи. http://nabludaykin.ru/videonablyudenie-cherez-internet/
>>338939 >Задача стоит именно разобраться во взаимодействии в цепочке смартфон-интернет-(роутер)-пека-ардуинавюсбпорту. Арендуй у прова статический ИП и прописывый правила на доступ из вне на роутере, далее все завязывай на веутренней адресации.
>>338974 >которые будут резаться Хотя, можешь не отвечать. Этих камер и сраных веб-нян уже миллионы из каждой будки вещают. Тут уже приходил мамкин рантье с похожим вопросом. Советовали как DynDNS, так и его вариации, а для камер есть ещё облачные сервисы: http://nabludaykin.ru/oblachnoe-videonablyudenie/ И вообще похуй как-то, тред для мигания 13-м.
>>339019 Да, я про этот писал. Все влезает вместе с довольно большим количеством логики. Но тому анону не поможет, скорее всего. >кастомная прошивка с русским языком и энкодером В каком смысле кастомная? Там же все это в исходниках есть. Нужно лишь указать необходимые флаги в мейкфайле. >не влезла в мегу 328 У меня все влезло с некоторым запасом. Только у меня без энкодера, но сомнительно что это сильно изменит объем прошивки. Тулчейн брал с сайта микрочипа, а не ардуиновский, возможно в этом причина того что влезло.
>>339019 Блин сложна! Мне, ардуино ИДЕ ребёнку, нужно как-то проще. Просто лёгкую библиотеку с поддержкой spi и i2c интерфейса и русскими шрифтами. А у вас там мейкфайлы какие-то, ни одного ini скрипта.
Анон, прошу помощи. Прикрутил printf, а он мне в консоль выплевывает кракозябры. Ардуиновские библиотеки не использую, использую avr-libc. Пробовал две консоли, эклипсовскую и putty, одинаково. Прием по usart одиночных символов вроде происходит верно, 1 зажигает светодиод, 0 гасит, значит скорость правильная. Что я упустил?
Поясните, USBASPу похуй в каком режиме работают mosi/miso/sck/rst пины у перепрограммируемого МК? Или важно оставить нетронутым только ресет, подтянутый через резистор к питанию? Если у меня, например, mosi будет настроен как выход или на нем будет висеть прерывание, компаратор, выход таймера, то будет ли работать? Аналогичные вопросы про miso и sck как входы. Нифига не нашел этой инфы, даже в доках по усбаспу. Как он работает и какие условия нужны?
>>339065 Вот смысл писать, если нихуя толком по делу не сказал? Касательно фьюзов, как я понял, все же обязательно нужно сохранить ресет, т.е. не активировать RSTDISBL. Ок. Что насчет SELFPRGEN, нужно ли активировать, или он нужен только для для функционирования загрузчика и возможности программной записи в прогфлэш? Пиздец, тупо нигде нет четкой инфы какие условия нужны для ISP прошивки. Бля, неужели тут только начинающие ардуинщики? Ау, бывалые техномаги, явите себя и разжуйте мне это дерьмо.
>>339139 Оттащил на работу и прочитал. Только в процессе подключения перепутал MOSI MISO, каким-то образом попортил лок-биты, пришлось вытаскивать из панельки, ставить на макетку, давать внешнюю частоту с программатора, делать полное стирание и восстанавливать все. Восстановил, работает. Зато теперь точно знаю, какие фьюзы у меня прошиты.
ищу кастомное решение на ардуино. Мне нужна система, чтобы замерять индукцию в разных точках, чтобы на выходе на хард писалась матрица значений. Алсо нужна мехническая часть под всё это. Проще говоря, под ключ. Я знаю, что есть люди, которых бы это заинтересовало, но не знаю где их искать.
>>339067 Я не понял, что ты спросил, но если ты фьюзы хочешь прошить просто прочитай их сначала и зашей обратно с изменениями, которые тебе нужны. Скачай avrdudess и там всё кнопочками делается.
>>339057 >Если у меня, например, mosi будет настроен как выход или на нем будет висеть прерывание, компаратор, выход таймера, то будет ли работать? Аналогичные вопросы про miso и sck как входы. Будут. Делай с ними что хочешь. Если ты подключаешь программатор, то твой код не запускается - mosi/miso/sck будут работать на программатор. А без него уже работает твой код и в нём можешь их инициализировать как хочешь и делать всё, что хочешь. Кодом ничего убить невозможно, только фьюзами.
>>339576 >>339573 >с ардуины Прям с ардуины? Это когда ты USB кабелем подключаешь ардуину к пеке? Там вообще нельзя фюзы прошить. Твоя пека разговаривает с бутлоадером, который заранее прошит в атмегу. Это вообще не прошивка, а загрузка скетчей. Чтоб фьюзы шить, тебе нужен программатор. Я не умею в фьюзы. Но как я понял, там всё не так то просто. Даже если запретить чтение, можно наебаться и оставить какой-то там дебаг на одной из ног, через который можно слить всю память и прошивку твою.
Мне надо прерываться постоянно по таймеру. Но может получиться так, что основная программа в это время общается с другим устройством, и прерывание нарушит программные задержки при передаче бит по проводам. Можно как-то указать область кода, в которой "нельзя делать прерывание" или как это делается нормальными людьми?
Я не уверен, что это обязательно, но на GND и RESET Ардуины лучше повесить электролитический конденсатор на 10 мкФ. После того как ты залил скетч, естественно.
Сап, аноны. Я правильно понимаю, что у Ардуины нет jtaga? Как тогда вы дебажите свои программы? У меня есть плата с контроллером stm32f4, там нормально всё: ставишь бряку, смотришь значения регистров, памяти через отладчик. А как это делается на Ардуине?
>>339814 Тоже как-то задавался этим вопросом. Есть там везде или почти везде debugWIRE, на многих атмегах и JTAG имеется. Только там сильные ограничения на количество брекпойнтов и возможно еще на что-то. Вроде почти все хорошо, но почему-то почти не пользуются.
>>339822 Есть и более дешевые варианты, правда только для JTAG, который не везде. http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html На алиэкспрессе тоже что-то подобное есть. Только это вроде как предыдущий отладчик, он уже не везде работает "из коробки". И ограничений вроде больше, по сравнению с современным. >Мда, походу 50 баксов Кому как. Если покупать как один из основных инструментов, то по моему нормально.
Тоже немного погуглил и обнаружил удивительную штуку. Оказывается в ардуинах без доработки платы нельзя было использовать debugWIRE, потом несколько доработали. Но тоже немного забавным образом - сэкономили на резисторе-перемычке.
Двач, поясни за модули на DS1307. Мои часики постоянно торопятся, я уже подумываю замерить на сколько они уходят и в скетче пропускать каждую n-ную секунду. Но что если этот дрейф зависит от внешних условий? Может ли кварц изменять свою частоту от температуры? Какие вообще есть способы сделать часы максимально точными?
>>339853 >rtc нужны В самом деле, зачем оно тебе? Таймеры есть в микроконтроллере, на них часы ничем не хуже. Разве что только DS1307 может от своей батарейки тикать.
>>339857 >Это. Если бы был гпс модуль, обновлял бы при каждом включении, и не заморачивался бы. RTC уже встроен в атмегу. И он может тикать пока все остальное в микроконтроллере выключено.
>Как на ангельском гуглить? Если модуль, то на DS3231.
>>339858 Еще добавлю, чтобы иллюзий не было. В документации DS3231 указана точность ±2ppm (т.е. две миллионные доли) - это означает что за год оно может уйти на минуту, не больше. Разумеется может и меньше, как повезет.
Есть ли модуль CMOS камеры для ардуины или STM32, только не тормозное шумное и смазанное говно на 640х480 или большее разрешение, которое будет пропердываться со скоростью 5-10 fps, а как раз наоборот: 64х64, или даже 16х16 пикселей, тысячи fps, зверская чувствительность. На лавинниках, возможно. В идеале, чтобы контроллер матрицы на лету позволял настройку этого разрешения на всю площадь, или работу только с ее отдельным фрагментом, и мы бы сами выбирали компромисс между разрешением и скоростью. Читал, что CMOS как раз могут в эту фичу.
>>339896 С мышками люди пробовали, вроде говно выходит, даже в качестве сканера: https://www.bidouille.org/hack/mousecam >The frame dump routines are a bit slow so if you dump a full frame you'll get only about 5 fps.
>Смысла в таких камерах нет, кроме как поиграться. Ок, есть ли просто универсальная сверхскоростная камера низкого разрешения, с которой можно было бы считать поток данных 1000 fps по ардуиновскому серийнику? При этом формата камеры для смартфона, а не килограммового кирпича 10х10х20 см.
>>339910 Хотя забейте, ардуино для моих целей говно из за смехотворной памяти. Мне нужно для опытов хотя бы 25Кб SRAM, там постоянные матричные переобразования и LUT гиперболического тангенса. Ардуино однозначно не то. Попробую STM
>>339912 У кварцевых генераторов без термокомпенсации стабильность около 20-50ppm, а то и хуже. Это в 10-25 раз больше >>339860 Уход часов на пол часа за год с таким генератором это нормально. Вот и получается минута за пару недель >>339861 В этом модуле можно только подстроить частоту конденсаторами, которые рядом с кварцем припаяны, тогда будет получше некоторое время.
>>339914 У тебя даже не с памятью была бы проблема, а с быстродействием. Если 32х32х1000 = 1 миллион байт в секунду, а при этом тактовая частота у AVR всего лишь 16 МГц. Одна команда выполняется минимум один такт. Считать в память и выдать в другой интерфейс можно успеть, но что-то посчитать уже крайне сомнительно. Даже если брать 16х16, тоже ничего толком посчитать не успеешь. >Попробую STM Не знаю что ты там считать собрался, но может на компе сделаешь для начала?
>>339915 >Не знаю что ты там считать собрался, но может на компе сделаешь для начала? А, ничего такого, банальный сверточный классификатор объектов. Троллейбус, одним словом. На компе выдает около 80%. Думал, как его можно встроить в простейшие ЦП, чтобы работал на максимальной скорости без прерываний системы и прочей ерунды. Еще посматриваю в сторону связки малинки+мовидиус, но эти решения уже переусложнены, и работают очень медленно. Ключ как раз в малом количестве входов и их быстрой обработке.
>>339917 Я так и не понял сколько ты сверток на один кадр считаешь. STM32, даже самые старшие, возможно слабоваты для такого. Тут скорее DSP посерьезнее нужны или ПЛИС.
>>339919 Смсис на арме успешно запускает сверточную нейронку, натренированную на cifar-10, которая может классифицировать 10 объектов на цветном изображении 32x32 https://github.com/ARM-software/ML-examples/blob/master/cmsisnn-cifar10/README.md То есть в принципе, её можно перетренировать на распознавание лиц, и она научится их не только детектить, но и различать
>>339928 Вот и я о том же. С чего бы эта нейронка должна потянуть 1000 fps. Даже если потянет, то почему она должна лучше распознавать требуемые объекты? Может тому анону требовалось распознавать кружок на ровном фоне.
>>339928 Действительно, нахуя? Я бы вот от ОС избавился настолько, насколько это возможно, и от многозадачности тоже, я в свое время еще под ДОС писал. Перенаправлю на полумертвый малинко-тред, там решил спросить: https://2ch.hk/diy/res/393987.html#459745
>>339931 Нет, не кружок. 1000fps это запас, условно. И косвенная функция чувствительности. Иными словами, 1000 = 100 fps при в 10 раз худшем освещении с сохранением уровня сигнал-шум Зависимость же линейная, определяется уровнем заряда на ячейках.
>>339931 Ну раз уж разговор пошёл про распознавание изображений на микроконтроллерах, то это стоит упомянуть, хоть там и не 1000 фпс, а 10. Вот нахуя в этом разговоре ты ввернул эксперимент с линуксом на микроконтроллере, который представляет чисто академический интерес - непонятно. Как будто в лужу пернул
>>339933 Добавлю, как я это вижу: Лавинный фотодиод регистрирует фотон (или 10. или 100.) - в элемент памяти ячейки идет инкремент - когда в одной из всех опрашиваемых ячеек уровень достигает предельного, все содержимое сбрасывается контроллером матрицы по серийнику куда нам нужно (в наш МК или ПЛИС или ЦП) Получаем картинку с такими-то градациями. Тепловой шум пока не учитываем.
>>339943 > Все известные матрицы Матрицы с лавинными фотодиодами и 1000 фпс, с выводами откаждого элемента? О да, они очень известны, я вот только забыл. Напомни, плиз
>>339945 >с лавинными фотодиодами Без понятия, есть ли гражданские. Специального назначения точно есть, еще и с системой охлаждения. Но прогресс идет, все может быть. Не придирайся. >с выводами откаждого элемента КМОП технология. Не выводы, а возможность снять значения с произвольного участка матрицы
Возникла проблема с подключением сраного buzzer'a. Он даёт сигнал при выполнении условия if, но при этом не отключается ни на noTone, ни на duration сигнала. Вместо этого он просто меняет тональность и успешно пищит дальше, при этом, если if снова выполняется , то он просто опять меняет тональность, как будто только включился, отключается только от ребута ардуинки. У меня уже знатно пригорело с этого, памагити
>>339959void loop() Прошу пардон, насрал в первый и понял, что есть свежий. Код: void loop() { val = analogRead(PotPin); val = map(val, 0, 1023, 0, 1000); val = constrain(val, 0, 1000);
>>339956 Есть теория. Может этот модуль с пика буззер (а тебе нужен не-буззер) и он пищит при низком уровне на I/O. Когда ты делаешь noTone там появляется 0 и он пищит. А когда tone то он пищит половину времени. В общем подай на I/O руками питание или землю, он будет пищать? Если будет, то это буззер и им нужно управлять через digitalWrite. И его тональность нельзя менять. Если хочешь через tone() то тебе другой нужен. Я забыл как он называется, но не buzzer.
>>339961 В общем то, я уже за время горения перепробовал и digitalWrite с управлением через low/high, и tone с разными частотами и разными таймингами, и через if/else, и через if/if, я сдаюсь, и инвертировал high/low
Проблема в том, что реагирует на if он адекватно и верно, а вот выключаться не хочет ни при инверсионном управлении, ни по истечению таймера на сигнал, ни от noTone
>>339963 Ты делаешь что-то не так. У тебя - активный. На его I/O надо подавать или 0 или питание. И на пузе у него написано low level trigger. digitalWrite(Buzzer, LOW); - будет пищать digitalWrite(Buzzer, HIGH); - не будет пищать
>>339932 >Какие именно? В какие проще всего вкатиться хую с поверхностным знанием МК? Где самая большая база примеров и помощи? Наверное никакие. Ты ведь даже не посчитал требуемое количество арифметических операций в секунду. С такой логикой мышления бесполезно вкатываться.
>>339932 >1000fps это запас, условно. И косвенная функция чувствительности. Иными словами, 1000 = 100 fps при в 10 раз худшем освещении с сохранением уровня сигнал-шум Ну сложишь 10 раз, динамический диапазон увеличится на 10 дБ. Но эти 10 дБ это (почти совсем) ерунда по сравнению с динамическим диапазоном обыкновенных камер. И с тем же успехом ты мог просто складывать соседние пиксели с камеры с большим разрешением, но с обыкновенным fps.
>>339966 >digitalWrite(Buzzer, LOW); - будет пищать digitalWrite(Buzzer, HIGH); - не будет пищать
Та вот в том то и дело, я пробовал и так тоже писать: if(val>=600) { digitalWrite(Buzzer, LOW); } else { digitalWrite(Buzzer, HIGH); }
А ему похуй, вместо того, чтобы отключаться, он просто меняет тональность. И на пины разные пробовал и вообще хуй знает уже. Может он тупо бракованный? Хотя как он может быть бракованным я хз, там особо ломаться нечему, а сигнал не в нём генерится, а с дуинки подаётся. Я уже второй день с этим баззером блядским ебусь, со сраной пищалкой
>>340000 Ничего не нужно там менять. Там три детальки всего. Пищит та большая круглая штука. Пищит потому что туда встроен генератор. Подаешь напряжение - пищит. Напряжение снимаешь - не пищит. Но выводы атмеги большой ток не тянут, поэтому туда поставили ключ на транзисторе. Транзистор открывается - пищит, закрывается - не пищит. Мультиметром можно проверить меняется ли напряжение на выводе ардуины и на самой пищалке.
>только заказал Купил бы лучше в местных магазинах, если там есть.
>>340004 Окей, тогда попробую все эти дела, если нет, то просто ебану какое нибудь реле и буду работать с ним, а не напрямую с баззером и гори оно всё синим пламенем нахуй.
Та я всё с arduino.ua заказываю, приходит за день ко мне под двери, удобно и цены у них отличные, едва ли дороже, чем на али, учитывая доставку за каждый товар.
>>340041 Ну ты прогромист пиздец, конечно лол. После else в твоём случае не надо проверки условия. Ты видишь вообще внизу компилятор ошибку выдаёт? Если ты уж решил проверить условие, то после else нужен if. Но опять же, в твоём случае digitalRead может возвращать либо low, либо high, поэтому в ветке else проверять ничего не нужно
>>340044 Ты для начала руками на VCC подай питание, на GND землю, на I/O землю. Пищит? А должен. А теперь на I/O подай питание. Пищит? А не должен. И нам расскажи.
>>340085 Что у тебя на A0 происходит? Что туда физически подключено? Может там шум ёбаный и случайные уровни читаются? Руками на A0 воткни сначала землю, а потом питание. Работает?
>>340085 >пин потенциометр Смотри на пикрелейтед. Ты так сделал? Ты подключил на одну ногу питание, а на другую землю? Без неё это будет просто переменный резистор. С а ней будет делитель, который будет контролировать напряжение.
А ещё зачем тебе в коде map и constrain? Судя по коду они делают одно и то же у тебя - из 0-1023 делают 0-1000. Оставь один. А лучше выброси оба, нахер оно там надо? Пользуй 0-1023.
>>340085 Проиграл с твоего говнокода. Приглядись, у тебя условие if(val < 600) никогда не выполняется, так как оно стоит в теле if (val>=600), и, очевидно, если значение больше 600, то оно уже никак не может быть меньше 600
>>340085 Алсо, "выводим на экран значения потенциометра с шагом в 100" - это вообще блять что? Во-первых, у тебя в ветки case зайдёт только если val ровно 100, 200, 300 и т. д. Во-вторых, нахуя это всё, если у тебя во всех case выполняется одинаковый код, лол?
>>340105 Питание там выдаёт LM1117, который до 20 вольт может пережевать. Рекомендовано до 15. Так что можешь туда хоть свинцовую автомобильную батарею поставить.
>>340125 Неправильно, нужно еще учитывать рассеиваемую мощность. На 16 МГц атмега8 потребляет 2.5мА, таким образом будет рассеиваться (20-5)х0,0025=0,0375 Вт. Это ерунда, но если прибавить выходной ток GPIO, то может оказаться намного хуже. Максимально допустимый суммарный ток с одного выхода - 40 мА, но суммарный ток потребления 200 мА. Допустим подключили кучу светодиодов к выводам - и вот уже 100 мА как нефиг делать, а это уже 1,5 Вт (при 20 В на входе). LM1117 с корпусом SOT-223 столько не вытянет. У корпуса SOT-223 тепловое сопротивление кристалл-воздух 60 градусов/Вт, в результате нагреется на 90 градусов (относительно температуры воздуха).
>>340136 Я игрался с LM1117, цеплял мощный светодиод, при перегреве она просто занижает напряжение, а потом обратно поднимает. А потом снова занижает. Ничего страшного не случится.
>>340101 >А ещё зачем тебе в коде map и constrain? Потому что я нуб, а map, чтобы ограничить 0-1000, для того чтобы выводить на экран показания потенциометра именно с шагом в 100 и потом в код я буду еще добавлять управление помпой, которая будет работать также в зависимости от этого шага в 100: помпа качает 80л/час или ~1300мл/60сек Если выполняется условие case 100, то имеется в виду 100мл и на экран выводится значение 100, а насос включается на ~5сек, чтобы срыгнуть 100мл жидкости. Ну вот как то так.
Алсо по сути пикрил и есть просто движковый переменный резистор, а у меня как раз такой.
>>340231 ICSP? Маркировка на большом чипе похожа на логотип Atmel. Не, это понятно, но лучше бы узнать о платках побольше. Вдруг что интересное. В гугле не нашёл.
>>340219 Паяльная станция у них весьма приличная на вид. Не думаю что много ардуинщиков себе такое покупает. Если потратились на такую паяльную станцию, то могли сами такие платки сделать.
>>340216 >Алсо по сути пикрил и есть просто движковый переменный резистор, а у меня как раз такой. Тогда тебе надо ногу A0 подтянуть к земле, а через твой резистор питание подводить. Допустим у тебя переменный резистор на 10кОм, берёшь 1кОм резистор, подтягиваешь ним к земле и получается, что когда твой переменный в максимальном сопротивлении, на A0 будет почти земля. А если минимальное сопротивление, то питание.
В третьих, все эти модули кроме Bluetooth можно собрать на коленке, если хочешь конечно. Те же модули BT HC-05 на Али по 200 рублей, микросхемы для двигателей L293D, SN754410NE по те же 200-300, только понадобятся макетные платы, резисторы-конденсаторы и прочая дребедень. "Модуль" для следования по линии делается из макетной платы, 3 фоторезисторов, трёх светодиодов и 6 резисторов. Машинку проще купить за 600 рублей на Али. Но есть вариант играть в ждуна, потому что резисторы, например ещё не пришли, или конденсаторов нет.
В пикрелейтеде, например много схем есть.
Вопрос кстати, что за схемы там в наборе и что там вообще понаписано.
А ведь и правда, хорошо бы составить собственный кит уровня /b/ для вкатывающихся пердуинщиков. Я вот уже года тжри что-то дозаказываю, потому что вечно чего-то не хватает. А ведь мог бы сразу взять, если б знал.
Например, резюки сразу нужных номиналов, а не бесполезную хуйню вразнобой (для МК и светодиодов в первую очередь нужны 100R, 150R, 200R, 300R, 1K, 3K и гора по 10K). Кондеры развязывающие по 10-30nf и кондеры для сглаживания питания, 1000uf. Транзисторы на разные нагрузки - до 0.7А, до 6А, до 25-45А.
Ну и так далее, по каждому виду радиодеталей для пердуины можно подобрать самое оптимальное.
>>340615 Ну магазины-то любой может найти поиском по али, на это много ума не надо. И там не бывает каких-то уж прямо "проверенных" селлеров - сегодня тебе прислали годноту, а завтра она кончилась и начали рассылать выпайку и паленку.
Гайд нужен именно по наименованиям рассыпухи, чтобы ньюфагу было проще получить нормальную производительность/надежность за малые деньги, а не накупить всякой устаревшей срани из assorted kits.
>>340622 За доставку платить - без штанов не останешься? На фентезях есть любая рассупыха для ньюфагов, только силовые триаки все палёные (ну и похуй). Собрать можно вполне уложившись в два посылки с трековой доставкой по 50р. на каждую.
>>340624 Я предлагаю все-таки вопросы КАК и ГДЕ ПОКУПАТЬ опустить, все же ньюфаги может и не разбираются в электронике, но они не клинические дебилы и сами сообразят как на доставке сэкономить (если вообще надо эти копейки экономить, может им проще на маузере закупиться).
Самая главная проблема всегда - это какие компоненты выбрать из 100500 аналогов. Хорошо если будет список, от которого можно отталкиваться при решении самых распространенных задач. А задачи в микроконтроллерных проектах чаще всего однотипные - подключение датчиков, отображение/логгирование/обрабротка данных с них, и управление разными видами нагрузок.
>>340622 Хуй знает, я просто купил на Али пачки диодов / резисторов / конденсаторов и докупаю что нужно. Купил пачку резисторов 1000 штук - 100 номиналов. Надо мне - достал 5 резисторов по 120 Ом и заебись. Тут всё равно всё цифровое - можно вместо 120 чуть побольше поставить, никаких проблем.
Лучше один раз научиться рассчитывать резисторы для светодиодов, вычитая forward voltage из 5 вольт и деля на ток, который выдержит Ардуина, чем каждый раз покупать наборы с готовыми деталями.
Корпусов под nano без 3DPD-принтера не получить почти никак, верно? Сейчас упихнул одну в коробочку от Raspberry Pi Zero, но её там надо еще и подклеить/подэпоксидить, чтобы не болталась.
>>340785 >3DPD Гугл о таком не знает. Или ты про 3DP? >Корпусов под nano То есть ты хочешь корпус, в который вставлялась бы одна дурина вообще без ничего? Но зачем? Это бессмысленно, к пердуине все равно придется подключать какие-то платы, или хотя бы разъемы.
>>340788 Да, но к унам, например, есть куча разных странных корпусов, куда влезает ардубина и еще-чуть-чуть. Вот мне бы такой пригодился для наны (и чтобы шлейф из него торчать мог). А еще можно сделать корпус с _местом под ардуину_, чтобы она там крепилась плотно и разъемом торчала, или корпус контактами наружу.
Ньюфаг на связи. Двач, научи управлять пинами. Есть схема пикрилейтед. Все digital pin'ы отданы под LCD и keyboard, но есть еще три кнопки, с которых мне тоже надо делать digitalRead. Я правильно понимаю, что для них мне нельзя использовать пины, уже используемые клавиатурой/LCD? И чего тогда делать? Ставить рядом вторую плату, цеплять к её пинам кнопку, а потом соединять с первой через I2C и обмениваться сообщениями типа была нажата кнопка?
>>340848 На пике у тебя ещё 6 ног от A0 до A5 свободны. Они такие же GPIO пины.
А ещё есть лайфхак, который в телевизорах применяют. Если у тебя только один аналоговый порт свободоен, делаешь делитель на резисторах и каждая кнопка цепляет свой резистор. Пикрелейтед. На аналоговой ноге смотришь напряжение и понимаешь какая кнопка нажата. Правда это не очень надёжно, но ты знай на будущее.
А ещё есть сдвиговые регистры и демультиплексоры, чтоб из пары ног ардуины получить хоть 9999 GPIO. Но там уже сам разберёшься.
>>340848 >Я правильно понимаю, что для них мне нельзя использовать пины, уже используемые клавиатурой/LCD? Нет, ты понимаешь не совсем правильно. Посмотри как соединены кнопки в этой клавиатуре. И научись рисовать схемы нормально.
Делаю барабанную установку на пердуине, на пьезоэлементах. У меня идут наводки на соседние аналоговые входы. Тоесть, когда бью в один пэд, к нему подмешивается тихий звук другого инструмента, который висит на соседнем аналоговом входе. думаю, что проблема в этом пучке на самой плате, пикрелейтед.
Сейчас решил разнести инструменты подальше. Подключить их не друг за другом а через одну линию. А те что между ними, повесить на землю. Их можно прямо к земле подпаивать, или через резистор? И что, если сверху над дорожками приклеить кусок, заземленного медного скотча?
Радионы, хочу запилить управление lcdдисплеем через плашку с двухвыводными кнопками. Может кто дать советов, как эргономичнее это сделать? Набросок кода приветствуется. На робокрафт прошу не слать - я уже там.
>>341321 Что вообще нужно иметь кроме компа и рук, чтобы начать прогать микроконтроллеры? Видел видосы, где люди просто подключают микроконтроллер через usb программатор и больше ничего не используют. Можно так?
>>341323 >>341319 >Какой микропроцессор из ATmega Они все одинаковые, отличаются немного лишь по периферии и по объему памяти.
>Ардуины не предлагать. Писать такое в этом треде как-то странно. Можешь ардуину взять, действительно. Ардуина же это обыкновенный (только сильно устаревший) микроконтроллер AVR, припаянный на плату и с прошитым загрузчиком. Никто не заставляет использовать пердуино IDE для программирования ардуин, можешь хоть в машинных кодах вбивать. >Знаю: основы электроники, С, ASM. Если действительно знаешь, то ничто не мешает практически сразу начать программировать любой микроконтроллер.
>Можно так? Если все что тебе требуется, это только мигать светодиодом и что-нибудь выводить в UART, то вполне можно обойтись одним программатором. Но с отладчиком получше будет, поэтому начинать с AVR не стоит.
>>341327 >Если все что тебе требуется, это только мигать светодиодом и что-нибудь выводить в UART, то вполне можно обойтись одним программатором. Но с отладчиком получше будет, поэтому начинать с AVR не стоит. Ну, вообще, я хотел, после того как разберусь в микроконтроллерах нормально, конечно, сделать, что-то типа Гейм-Боя с небольшим экранчиком например, как в старой нокии и кнопочками. Чтобы в него можно было загружать мои игры, которые я напишу на С и играть. Возможно это слишком сложная цель, но это то, что я хотел бы сделать в итоге. Между мной - ничего не знающим и этой целью будет, куча всяких проектов, на которых я в итоге научусь, возможно, достаточно хорошо прогать микроконтроллеры, чтобы такое сделать.
>>341427 Легко. Берешь 5 ног с транзисторами замыкающими реле на землю и еще две подтягивающие к питанию. Получается матрица 5х2. Напряжение питания реле должно быть вдвое выше номинального, тк скважность 50%
>>341448 Это сработает если нужно включать какое-нибудь ОДНО реле из всех, а мне нужно чтобы одновременно можно было замкнуть хоть одно, хоть половину или все произвольно.
>>341452 >Это сработает если нужно включать какое-нибудь ОДНО реле из всех Вот и нет. >>341483 Да нормально будет работать на паре килогерц или выше. Хотя с большими реле и 500гц хватит. Только диоды параллельно реле не забудь.
>>335724 (OP) - Насколько хорошая(и реальная) идея сделать Arduino на Atmega328 + v-usb? - получится ли более-менее рабочий осциллограф(знаю что это одна их первых нубских идей, но вот я тоже нуб). - стоит ли использовать 3-е состояние выхода(высокоимпедансное) как сигнальное(троичная логика)? Насколько простым может быть дешифратор на транзисторах в такой логике(2+z)? - реально ли вывести что-то на vga монитор(800/600/60 гц)?
Сап, анон. Решил вкатиться в моргание светодиодом, благо руки вроде не очень кривые и останков всякой электроники дома дохуищща. Светодиодом поморгал, дисплей от старого сименса подключил, задумал вот с RFID поиграть. Но не дает мне этого сделать Arduino IDE! 1) Создаю новый пустой скетч 2) Говорю "подключи мне SPI" 3) В начале скетча появляется инклюд SPI.h 4) Тыкаю скомпилировать 5) ??? 6) FATAL ERRRRORRRORR: SPI.h: no such file or directory Библиотека SPI, как я понимаю, встроенная - лежит в каталоге самой IDE. Файл SPI.h там есть. Библиотека в менеджере помечена как установленная, для нее доступны примеры (не собирающиеся с той же ошибкой). Каталог настроек IDE сносил, саму IDE переустанавливал, хуйцы сосал, бочку делал - не помогает. ЧЯДНТ?
>>341535 > - реально ли вывести что-то на vga монитор(800/600/60 гц)? Да, если тебя устраивают примитивные узоры. Где-то была статья, где чувак выводил полосы (R,G,B) как раз в 800x600@60. На полноценный вывод не хватит мощей: 800х600х60 = 28800000, а у дуинки частота всего 8/16 МГц (китайцы могут в 20, но даже этого мало). И ведь там не просто поток, еще всякие синхронизации... Поэтому тупо простые узоры.
Прочитал, что в обработчик прерываний нельзя прописывать delay и и организовывать паузы нужно с помощью функции Millis. В первой же проге, используя её для обработки дребезга кнопки, столкнулся с такой хней, что находясь в обработчике прерывания millis не увеличивается,. Продолжает увеличиваться только после возвращения в loop. ЧЯДНТ?
>>342754 Миллисекунды там тоже считаются в прерываниях от таймера, поэтому у тебя не работает. То есть эта твоя задержка останавливает подсчет миллисекунд. Может быть в ардуине возможно настроить приоритет прерываний. Тогда если прерыванию от таймера назначить наивысший приоритет, то такой код у тебя будет работать.
Но вообще-то вставлять задержки в прерывания не рекомендуют по другим причинам. Назначение прерываний - повысить скорость реакции на внешние события. Если в прерывание вставлять задержку, то очевидно что прерываниям с меньшим приоритетом придется ждать и повышения скорости реакции не будет.
>>342838 >>342597 + скачай Arduino IDE, подключи плату в усб, выбери в настройках плату Nano, выбери чип 328 (если у тебя такой), выбери порт, открой "примеры" > "Blink" надписи будут как на скрине из ОП-поста, нажми кнопку со стрелочкой (=>). После прошивки должно мигать светодиодом.
>>342813 Да. Давай ньюфагам стм32 советовать, у которого комьюнити, чуть больше, чем нихуя. Купил ардуину, накопипастил кода из гугла, всё работает, всё заебись. Купил стм32, я даже программатор подключить не смог. Нихуя не понятно. А пробуешь помощь найти, там там всё в дядьках-инженерах, которые на ассемблере под них пишут. Заходишь в /ra/, спрашиваешь как подключить программатор, тебя нахуй шлют, закидывают книгами по электронике и советуют купить ардуину.
>>342850 Что-то пошло не так > avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00 > avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 > Произошла ошибка при загрузке скетча Как идею-то переключить на английский, тут все непонятно
>>342858 >тебя нахуй шлют, закидывают книгами по электронике и советуют купить А можешь показать тот вопрос с ответами на него? Просто не видел ничего подобного.
>>342860 Поэтому роботдиновская из ОП-поста куда лучше.
ВЕЛИКИМИ УМАМИ ИЗ РАДАЧА БЫЛ РАЗРАБОТАН УНИКАЛЬНЫЙ ДЕВАЙС ПОЗВОЛЯЮЩИЙ ОПРЕДЕЛИТЬ ПИДОРА В ЧЕЛОВЕКЕ НА А1 ВЕШАЕТСЯ ДЮПОН МАМА-ПАПА, ЗА НЕГО ДЕРЖИТСЯ ИСПЫТУЕМЫЙ НА ЗЕМЛЮ1 И Д2 ВЕШАЕТСЯ СВЕТОДИОД НА ЗЕМЛЮ2 И Д4 ВЕШАЕТСЯ ДРУГОЙ СВЕТОДИОД ЕСЛИ ИСПЫТУЕМЫЙ ПИДОР, ТО ЗАГОРАЕТСЯ ПЕРВЫЙ СВЕТОДИОД, ИНАЧЕ ВТОРОЙ ГЕНИАЛЬНАЯ РАЗРАБОТКА НУЖНО ПРИВЛЕЧЬ ИНВЕСТИЦИИ [CODE]void setup() { randomSeed(analogRead(14)); if (random(0,1000) % 2 == 0) { pinMode(2, OUTPUT); digitalWrite(2, HIGH); } else { pinMode(4, OUTPUT); digitalWrite(4, HIGH); } }[/CODE]
Короче, защищал диплом в июне. Заходил к вам за советом. Нихуя мне особо не подсказали, только какую-то дичь про плавающую запятую втирали. Но я защитился, похуй. Замутил мини теплицу с открывающейся дверкой, привязанной к температуре. Оставляю вам, может кому-то надо будет.
Анончики, возможно ли сниффить ближайшие bt-устройства через HC-06? Например, есть фитнес-браслет с кнопкой. По идее, даже если канал зашифрован, а браслет привязан к телефону, raw-сигнал по нажатию кнопки будет один и тот же? Можно его использовать для зажигания светодиода на ардуине?
>>343032 Я в этом всём не разбираюсь, но там же наверняка блютус лоу энержи или что-то типа того. В общем с браслете может быть какой-то другой блютус, не такой как в этом модуле.
Сразу соре за качество фото. Вообщем это wiznet w5500 и ардуино WAWGAT uno R3. Нужен веб сервер для того чтобы включать светодиоды из веб интерфейса. Хочу как у Осипова. Но у него другой модуль и я не знаю как подключать правильно этот модуль. нужна схема подключения рабочая и скетч только для ВКЛ/ВЫКЛ светодиодов
как сделать вэб сервер имея это?
Сыч из Тулы04/11/18 Вск 22:22:33№343652372
Сразу соре за качество фото. Вообщем это wiznet w5500 и ардуино WAWGAT uno R3. Нужен веб сервер для того чтобы включать светодиоды из веб интерфейса. Хочу как у Осипова. Но у него другой модуль и я не знаю как подключать правильно этот модуль. нужна схема подключения рабочая и скетч только для ВКЛ/ВЫКЛ светодиодов
Ньюфаг в электронике. Почему перед фоторезистором нужно ставить ещё и резистор? При питании 5V нужен жирненький резистор на 10кОм. Но ведь фоторезистор и есть резистор? Он ведь тоже копротивляется. Я своим вопросом дошел до какого-то "делителя напряжения", но так и не понял, что это. Может кто пояснить не на серьезных щщах? Книгу по электричеству для ньюфагов только начал читать.
>>343683 а если взять фоторезистор с большим сопротивление? например на те же 10кОм или даже чуть жирнее? (в соответствии с источником питания, конечно).
>>343695 лучше объясни, почему схемы работают по разному. пример >>343693 с этой схемой работает по принципу: пьезо пищит, если свет меньше 500; со схемой пикрил ровно наоборот: шумит, если свет меньше 500.
>>343713 Так их много разных бывает. Со встроенным генератором, без встроенного генератора, без управления логическим уровнем, с включением по лог. 1, с включением по лог. 0. У тебя какой вариант?
>>343716 понятно. заменим пищалку на светодиод. теперь понял? при одной коммутации он тухнет ,когда наводишь палец на фоторезистор, а при другой загорается при тех же действиях. Код при этом один. Есть что по делу сказать или ща будешь рассказывать "а какой резистор, а сколько ампер, а какой вольтаж подаешь, а кто производитель"?
>>343720 Потому что делитель напряжения. 1) Сумма напряжений на фоторезисторе и резисторе равна напряжению питания. Это второй закон Кирхгофа. 2) Если поменять местами резистор и фоторезистор, п.1 также будет соблюдаться. При этом напряжения на резисторе и фоторезисторе не изменятся (существенно). 3) В одном случае ты измеряешь напряжение на фоторезисторе, во втором на постоянном резисторе. Теперь понятно? В школе не учился что ли?
И не пытайтесь теперь отрицать, что ардуина не отупляет.
>>343701 Рановато за ардуину взялся. Сначала зугугли "делитель напряжения". >почему схемы работают по разному Потому, что в одной схеме фоторезистор одним концом подключен к 5V, а вдругой схеме к GND. Это, какбе, инвертирует измеряемое напряжение.
>>343728 Тебе не надоело устраивать ардуиносрачи, шизик?
>>343734 >наверстываю для себя Научись все-таки нормально рисовать схемы. Если бы ты нарисовал нормально, то может быть сам сообразил что к чему. И использовать ардуину для обучения - плохой выбор.
>>343740 ты, наверное, считаешь, что нужно сразу купить толстый томик по электронике, затариться диодами и прочей комплектухой, взять паяльник и начать самому дороги разводить, да?
ты, наверное, из тех программистов, которые говорят мол "хуле твоя JAVA/Python/языкнейм, если ты не знаешь ассемблер"
>>343878 Завидую современным детям. Мы на трудах болванки точили из дерева, самотыки для своих мамаш и прочую хуйню с гнутыми гвоздями, а они роботов собирают, программируют.
>>343880 Нет, ардуина это для того, чтобы человек далекий от радиотехники, мог не особо вникая сделать что-нибудь простенькое для автоматизации чего-нибудь для себя.
>>343881 >ты, наверное, из тех программистов, которые говорят мол "хуле твоя JAVA/Python/языкнейм, если ты не знаешь ассемблер" Вот этим ты доказываешь мое утверждение. Ассемблер , особенно для атмеги, изучить проще чем Си. Но знание ассемблера, само по себе, существенных преимуществ не дает.
>>343888 Роботов практически с такой же функциональностью, даже почти сто лет назад, дети могли собирать на шаговых искателях.
Пиздец, какой-то умоляю помогите. Что я делаю не так? Пытаюсь брут форсом узнать адрес oled дисплея, но каждый раз выбивает разный адрес. У меня к порту А подключены светодиоды которые светятся если на них подать единицу. То двойку выдаст, то 59, то еще какое число. Генератор рандомных чисел короче какой-то. Код:
int TWSR_buf;
void IIC_init(unsigned long frq) { TWBR = (F_CPU/(2xfrq))-8;//set scl frequency (двач бы убил умножение поэтому заменил на х. В IDE умножение какое надо) TWSR = 0; sei(); }
for(int i = 255; i != 0; i--) { TWSR_buf = 0; _delay_us(1.3); IIC_start(); _delay_us(0.6); IIC_write(i); _delay_us(0.6); if(TWSR_buf)//если не равно нулю, то записать текущий адрес { PORTA = i; break; } IIC_stop(); _delay_us(1.3); }
while(1); }
ISR(TWI_vect) { if(TWSR == 0x20)//SLA+W has been transmitted(Адрес раба передан и получен бит подтверждения) TWSR_buf = TWSR; }
void IIC_init(unsigned long frq) { TWBR = (F_CPU/(2xfrq))-8;//set scl frequency (двач бы убил умножение поэтому заменил на х. В IDE умножение какое надо) TWSR = 0; sei(); }
for(int i = 255; i != 0; i--) { TWSR_buf = 0; _delay_us(1.3); IIC_start(); _delay_us(0.6); IIC_write(i); _delay_us(0.6); if(TWSR_buf)//если не равно нулю, то записать текущий адрес { PORTA = i; break; } IIC_stop(); _delay_us(1.3); }
while(1); }
ISR(TWI_vect) { if(TWSR == 0x20)//SLA+W has been transmitted(Адрес раба передан и получен бит подтверждения) TWSR_buf = TWSR; }
>>344102 Вот как оно все подключено в реальности, если че только у каждого диода по 1к резисторы и вместо i2cslave - sdd1306. >>344105 Толку с того что хардкор, если все равно ниче не работает.
ISR(TWI_vect) { if(TWSR == 0x18) // 0х18 - SLA+W has been transmitted(Адрес раба передан и получен бит подтверждения) //0х20 - SLA+W has been transmitted(Адрес раба передан и бит подтверждения не получен) TWSR_buf = TWSR; }
Теперь все светодиоды погашены постоянно. Как брутфорсом найти адрес контроллера?
>>344110 >Как брутфорсом найти адрес контроллера? Как i2cdetect в линуксе или почитать еще раз описание протокола iic - тупо брутфорсом по очереди перебирать все адреса и смотреть кто ответит ACK и не забыть про таймауты, а то на первом же адресе все раком встанет.
>>344110 >sdd1306 Открыл за тебя датаshit “SA0” bit provides an extension bit for the slave address. Either “0111100” or “0111101”, can be selected as the slave address of SD1306. D/C# pin acts as SA0 for slave address selection. “R/W#” bit is used to determine the operation mode of the I2C-bus interface. R/W#=1, it is in read mode. R/W#=0, it is in write mode.
Бля, какой же я даун. Вчера целый день проебался с контроллером, а оказывается я дату не в тот регистр писал, пиздос какой-то. Вот зачем делать так, чтобы регистры отличались друг от друга на одну букву? Все, пишу файл со своими названиями регистров, а то это пиздец.
P.S. Все заработало, всем спасибо. Адрес был - 0x3C
Ананасы, подскажите название детали, которая нужна. Есть деталь на сервоприводе. Но она двигается только в две стороны. Допустим вверх-вниз. Мне же нужно, чтобы помимо вверх-вниз было ещё и влево-вправо. То есть как бы двуосевое вращение. Не только по оси X, но и по оси Y.
>>344306 чуть неправильно написал. Нужен аналог сервопривода или сервопривод с двумя осями или что-то похожее, на что я прицеплю деталь и буду вращать по двум осям.
Помогите, аноны. Вот у меня есть авр с 2к RAM, а если я хочу передавать дату на экран, то мне этой памяти хватит только на дисплей 44х44 пикселя или 127х127 если использовать один бит на пиксель. Есть ли какая нибудь внешняя RAM для avr? Чтобы записывать в нее память, а потом эту память писать на экран. Просто, у меня в планах отрисовка изображений на экране телевизора, а в нем намного больше пикселей, чем я могу сейчас себе позволить.
>>344610 Но как тебе поможет память? Если ты про обыкновенный ч/б видеосигнал по ГОСТ 7845-92, то для получения полного разрешения (576х768) нужно обновлять данные с частотой 14,75 МГц. То есть AVR с этим явно не справится, особенно если возьмешь SPI. Более того, что тебе мешает держать в памяти только шрифт?
>>344639 Ничего вменяемого не получится, по причинам которые я написал выше. В обычном телевизионном сигнале пиксели идут с частотой 14,75 МГц, а это практически максимальная частота для AVR. Если ты хочешь получить квадратные пиксели, то тебе необходимо выдавать данные с этой или кратной частотой. Даже если в памяти уже есть изображение, то на вывод одного байта будет тратится вроде как три такта, соответственно по горизонтали получится разрешение лишь 192. При этом потребуется писать на ассемблере и считать такты вручную. С SPI памятью так еще в несколько раз хуже получится. А еще нужно успеть посчитать само изображение. Как? Еще одну ардуину брать? Или считать во время кадровых синхроимпульсов? Не проще ли взять что-нибудь более подходящее для задачи?
>>344670 Там все-таки разрешение было никакое. И вывод видео делался в основном аппаратно, а не программно. Впрочем, если тебя устроит два бита на точку, то можно сделать на AVR с полным разрешением 576х768 с помощью сдвигового регистра. Но опять же, будет очень мало времени на расчет самого изображения.
>>344672 Ну так это можно вообще без процессоров сделать. Всего лишь видеомагнитофон нужен. Если хочешь без ленты, то можешь просто взять ПЗУ побольше и счетчиком считывать.
Аноны, нужен быстрый совет умеет ли ардуина стыковать вайфай непосредственно на датчик например температуры ? Пока что ощущение что все равно надо ставить еще и ардуину к ним.
Более сотни датчиков и приводов разнесенных в сфере радиусом метров сто. Нужно как минимум датчики сделать беспроводными.
>>344836 Ардуина вайфай не умеет, гугли esp8622, он сам по себе кодится и работает без ардуины, в том числе и в ардуиновской ide вроде можно кодить, но не уверен. А нахуя вайфай? Вайфай это не industrial grade решение, cотня датчиков это дохуя, далеко не каждый роутер сможет это обработать, нужно всякие дорогие рукусы, а там уже скорее те же esp8622 не потянут такой срач в эфире, вайфаю хуево когда очень много клиентов. Смотри в сторону решений специально заточенных под такие задачи, я тут не шарю, может кто придет подскажет. Lorawan и всякое такое, я бы изучал статьи в англонете по запросам "wirelless iot protocol" "iot mesh solutions" и подобное, вайфай не заточен под такое, вайфай заточен под малое количество клиентов и большие скорости, а тебе наоборот надо, небольшие скорости, дохуя клиентов и большое для вайфая расстояния.
Их можно подключать к той же ардуино (возьми nano, будет компактно, хотя хз какие у тебя датчики и требования к размерам и питанию). Есть либы для ардуино и примеры, гугли "SX1278 arduino"
>>344842 >Ардуина вайфай не умеет, гугли esp8622 Об этом и речь, чтобы что-то взять с датчика нужен ардуино, чтобы скормить в ESP получается тоже нужен ардуино. Но по твоим словам ESP автономны и возможно удастся затащить сигнал с платы датчика сразу в ESP.
>>345017 >Есть мечта сделать нормальные точные часы, чтобы прям годами их не переводить. ESP8266 и синхронизация по NTP, и можешь никогда не переводить.
>>345058 Надежности и репутации, а так же софта который понятен инженерам работающим в этой индустрии. Промышленный контроллер зачастую контролирует оборудование которое стоит намного больше чем он, и если из-за того что ардуинка поймает наводку и зависнет разлетится движок на мегаватт или кого-то намотает на вал, то отвечать будет тот кто решил сэкономить и поставил китайское говно для хипстеров.
Анон, а где почитать по программированию элементов gui? Я про ардуину и экраны для неё вроде 1604, 2004 или оледы эти всякие 128*96. Нагуглить я не смог, гугл выдаёт гуи для пеки, а это не то.
Например, есть вот такая штука https://www.youtube.com/watch?v=KsiVaUWkXNA Сам автор скетчами не делится, а я не в теме. Это что-то из готового шаблона, или он с нуля всё ебашил вручную?
>>345140 Это матричный дисплей, графический. Кто во что горазд, тот так и рисует. У меня для SSD1306, SSD1963, ILI9341 и прочих графических свои шрифты и программа для предварительного дизайна. ХЗ что у автора того видео есть.
>>345139 А ты точно хочешь чужой exe файл скачать?
>>344819 За последнюю ссыль, спасибки! Разобрал гОвеновский ТРМ, а там на AI стоит AD7705 ценой юолее 400 рупий. Я теперь не сильно и удивляюсь ценам сраных измерителей-регуляторов в 4-5к. Помимо АЦП стоят недешевые гальваноразвязки ADUM1311, PIC заместо контроллера и прочие релюшки. Навскидку рассыпухи одной на пару к, плюс корпус, печатка, сборка, менеджеры продавцы-родины. Не так и дохуя они в прибыли.
>>344819 Надо повнимательнее на работе присматриваться к списанным железякам. Там оказывается могут быть сочные АЦП за тыщи нефти. А я как еблан в помойку выбрасываю.
Привет, анон. хочу подключить кнопку к arduino. Но есть трабл, у меня нет резистора 10к, а только 220 и несколько светодиодов. Имеет ли смысл эта схема(вывод-кнопка-светодиод-резистор220-земля)?
Привет анон, помоги разобраться с возможностями платформы. Есть одна Arduino Uno R3/Nano v3. Нужно сделать i2c ретранслятор - с одного порта (тут можно использовать TWI) получаем пакеты на скорости до 400к, с ней же и отправляем с другого (тут видимо придётся программно эмулировать)?, "параллельно" отправляя это на сериал-порт компа. Насколько реально?
И ещё не совсем понимаю, что это за дополнительные SDA/SCL на R3, и как они работают
Начав хотя бы с того что тебе придется прикидываться слейвом и иметь какой-то адрес что бы принимать данные и транслировать их дальше как мастер. >>345836
>>345832 Сниффер возьми. Если ты дуинщик, то для тебя такая задача не по зубам пока. Ты по временным рамкам не уложишься и постоянно будет мастер уходить в ошибку.
>>345836 И подмену тоже, дохуя всего на самом деле. Нужно контроллер другой завести, потом повторять последовательности сигналов, и смотреть что он делает. У меня есть анализатор, но с него данные доставать будет не удобно. Я приблизительно понимаю, как реализовать I2C на D портах, но не уверен, что можно максимально достать из них, и как на атмеге работает передача на каком месте ардуина скажет, что с неё хватит.
>>345864 Тогда хуйню не неси. Если есть дампы трафика - проанализируй как можешь и пиши их дегенератор на пердуине. Как тут выше подсказали - в особо тонких ситуациях можно попробовать проверить как сделан и сделан ли арбитраж когда сразу 2 мастера пытаются занять шину - по окончании обмена настоящим мастером начнешь свое говно в шину вливать. Займись реверсинженигрингом. Да, долго, тупо, поиск клопов там где их нет. Как минимум примерный протокол будет известен, а дальше особый быдлокод который меняет каждое поле и так же сниффером наблюдаем что происходит. Намекнешь что ломаешь? Какой-то адовый инвертор на 100500 КВт или что-то другое что может представлять угрозу жизни/здоровью/техпроцессу? Очень неспешно пилю эмулятор мозгов UPS по дампам обмена(овер 4 часа), но забил, пошел по пути найти реальные мозги (МК залочен, прошивок в сети не нашел да и вряд ли они там есть) и создавать им анальные сигналы, что бы они думали что живут в реальной UPSе. Имея реальные мозги можно очень внимательно изучать тонкие моменты общения с ними, которые расходятся с документацией. Интересно попробовать написать свой netagent.
>>345865 Понимаю, и? Я собираюсь ставить её вразрыв. Зачем ещё мне второй I2C порт? >>345885 Ну устроился на работку, они там реверсят одну железяку. И им (видимо для понимания того что происходит на i2c шине) понадобилось сэмулировать одно из подключенных устройств. Устройств на шине много, мне надо ретранслировать/записывать только то что приходит на один адрес
>>345897 Мне кажется это полнейший бред в постановке задачи. Единственное что может изменить мнение - это если то что надо эмулировать работает И МАСТЕРОМ И СЛЕЙВОМ ПОПЕРЕМЕННО. В случае только слейва - курить дампы, курить дампы, курить дампы и делать пердуину slave устройством, на которой через компорт или еще как менять значения выдаваемых байтов. Если же эмулируемое устройство работает и мастером - тоже раскурка дампов и создание slave на другой/других пердуинах. Когда ты прикидываешься слейвом (при этом тебе надо реального slave отключить, чтобы не было конфликтов на шине) - через тот же компорт сможешь ловить на компе адресованные конкретно тебе байты и что будешь отсылать. Пердуину стоит брать потолще на ATmega640/1280/2560 - у них 4 компорта, не придется пердолиться с программной эмуляцией компорта (один копия данных, другой управление), в качестве побочки - можно добавив 573 регистр добавить немного внешнего ОЗУ (до 64килобайт). Как тупой вариант (адрес же знаешь?) сделать тупого слейва, который просто слушает, отправляя на каждый байт NACK (те идите в жопу и не светит свое присутствие на шине) и получишь в регистре данных то что летело слейву. Из тонких моментов - забив на бит ACK - передаешь байт с шины по uart, а как быть с условиями старт-стоп-повторный старт? Как их запихнешь в 8 бит посылки по uart? Перейдешь на 9 битные посылки? Говнокод на компе поймет 9 бит? PS Похуй на формальности битовости: 400 000 / 9 = 44 500 x 10 = 445 000 у тебя компорт на компе в состоянии принять поток говна на скорости 445 000 бод ? Стандартная максимальная скорость 115 200, те в 4 раза МЕНЬШЕ нужной. Логический анализатор и ручка - твои лучшие друзья. Долго, нудно, но как без этих данных собрался эмулятор писать? Начни с тупого переписывания в столбик данных декодированных данных с логического анализатора и при "обычной" работе, и как они меняются когда делаются какие-либо воздействия на slave. Мне кажется основательно соснешь.. И из-за непонимания происходящего и из-за уровня знаний.
>>345897 >Понимаю, и? Мне кажется что не понимаешь. Ты сам написал, что втыкать будешь в разрыв. А куда конкретно? Между ведущим и ведомыми? В таком случае ты должен понимать что ведущий начинает обмен с ведомым с посылки адреса, в ответ на который ведомый выдает ACK/NACK. И ты же написал что принимать будешь через TWI. Принимать с какой стороны? От ведущего? Но какой адрес ты назначишь TWI? Или будешь отвечать ACK по всем адресам? А если ведущий захочет проверить наличие отсутствия ведомого? Если принимать будешь от ведомого, то тоже будет не лучше. И так далее, при таком подходе будет много подобных проблем.
>>345937 У меня есть несколько вероятных адресов, с анализатора. Да и в конце концов, адресное пространство всего на 127 адресов. Я пока сам не вполне понимаю подводных камней сего действия (пока не начну кодить/эксперементировать). >>345933 Ага, хитрый ты если правильно понял о чем ты. Дампов рома нет, микроконтроллер "слейва" - с прошивкой на встроенном флеше, жтага у него нет, программируется только собственным программатором. Есть предположение, что он попеременно слейв и мастер, но надеюсь эт не так. >при этом тебе надо реального slave отключить Да я ж в курсе, я же говорю что буду ставить вразрыв перед эмулируемым устройством. >Пердуину стоит брать потолще Собираю на чем есть, а есть уно/нано. Ещё вроде где-то есть Blue Pill, но если ардуина аппаратно в мою задачу может, то на ней реализовать было бы проще. >445 000 бод Тут ты прав, даже ком-монитор из IDE ардуины, говорит максимум 250к бод. Что, конечно не в 4 раза меньше, а в 2, но всё равно создаст неудобства. >Логический анализатор и ручка - твои лучшие друзья. Долго, нудно, но как без этих данных собрался эмулятор писать? Да ясно дело что без них не выйдет, я про наличие данных с анализатора не забываю. >Говнокод на компе поймет 9 бит? Я таки не пойму, зачем мне целиком передавать 9 бит, я всё равно ведь от состояний ардуины плясать (она же знает что произошло, что хотел от неё мастер и что она ответила/ей ответили). Но чувствую мне придётся писать софт под это, так что там я учту всё что надо.
В целом ты наверно прав, стоит начать с эмуляции мастера для слейва, там уже и поэксперементировать можно будет, но для этого, слейва надо завести, а у меня этого пока не вышло.
>>345961 Петросянишь? Чем дампы снимаешь? Что за логический анализатор? Про дампы ROMа не было не слова, разговор про дампы трафика с логического анализатора. Покажешь? А теперь втопчу в дерьмо: > ставить вразрыв перед Отлично, можешь сделать физический разрыв проводов SCL и SDA, рекомендую со стороны отрубленного слейва повесить на них по подтягивающему резистору килоом на 10 и больше. Поэтому берешь из дампа несколько посылок в сторону слейва и шлешь их с пердуины под анализатором. Еще раз - НЕСКОЛЬКО разных посылок, снова пропустил слово - НЕСКОЛЬКО разных посылок, в оригинале все какие есть в дампе и смотришь будет ли какая-то обратная активность от него после отправки посылки. Нет? Смотрел/ждал не пару секунд а несколько минут или какой там интервал в дампе между посылками(и взяв с запасам раза в 1.5-2 больше)? Точно ничего нет? Поздравляю, у тебя походу тупой слейв. А это значит что второй порт IIC тебе не нужен, и добро пожаловать в увлекательный мир эротических фантазий при попытке реализовать софтовый юарт на те же 250килобод для управления или каждый ебаный раз загружать паршивку скетч? с измененными данными и смотреть как будет охуевать мастер когда среди бела дня слейв пропадает в середине обмена. Подключившись параллельно к шине можно слушать что летит к слейву даже НЕ отключая его (NACK наше все). Можешь конечно попробовать настроить юарт слать только захваченные данные, а прием на изменение (например байт адрес и байт значение и например +++ как в АТ модемах для перехода в режим управления (точнее сброса твоего конченного автомата правки памяти) на случай если налажал в команде правки памяти). В таком ракурсе у тебя 2(3) задачки для школьников: 0) Сделать мастера для теста слейва по дампам. 1) Сделать настойку первой пердуины слейвом с конченным автоматом, выдающим дерьмо из дампа в ОЗУ и принимающей команды на правку ОЗУ(те выдаваемого говно). Ты же уже выучил уроки^w^w^w^w^w дампы или хотя бы как они меняются? Соснешь если в посылке больше нескольких калобайт передается (лень искать сколько ОЗУ в какой пердуине). 2 ) Сделать настойку второй пердуины слейвом, который всегда шлет NACK и принятое говно в юарт - вот тебе тупая сниффалка, которую на постоянку повесил на другой порт и забыл про нее, причем ее можно и гвоздями прибить к шине - она на нее никак не будет влиять. Если повезет - может все дерьмище в подобие кольцевого буфера скинешь и будешь неспешло сливать в паузах пока твой слейв не активен тов майору. Для продвинутых - объединить это все вместе. Have a nice holiday! Завтра в школу, а ты еще уроки не сделал. > Blue Pill На STM32F1? Ой не, спасибо... В режиме мастера там точно есть аппаратная бага в виде залипающего Busy в режиме мастера, слейва не гонял, скорее всего тоже будет залипать(см errata). Добро пожаловать в софтовую реализацию IIC..
>>345971 >Можешь конечно попробовать настроить юарт слать только захваченные данные, а прием на изменение Так и хочу, если правильно понял тебя. >лень искать сколько ОЗУ в какой пердуине Вроде 2кб в Uno/Nano, но у меня все передачи - передачи комманд, судя по всему, так что там размеры посылок сильно меньше. >Если повезет - может все дерьмище в подобие кольцевого буфера скинешь и будешь неспешло сливать в паузах пока твой слейв не активен Тоже думал об этом >Сделать настойку второй пердуины слейвом, который всегда шлет NACK и принятое говно в юарт Не совсем тебя понял тут. Если я буду своему мастеру отвечать Нак, он быстро выпадет в ошибку из-за того что необходимое устройство не отзывается. >берешь из дампа несколько посылок в сторону слейва и шлешь их с пердуины под анализатором. У меня сейчас с ним вообще проблема не в том, что он "странно реагирует" на посылки по i2c, а в том что он вообще не реагирует на i2c - подаю всё, повторяя полностью диаграмму анализатора Кроме начального куска перед i2c, до него ещё не добрался, после чего пытаясь пройтись i2c сканером. В результате никаких активных устройств не вижу. На самом деле, надо проверить, на какой частоте это всё общается в оригинале, может быть далеко меньше максимальной >Чем дампы снимаешь? Что за логический анализатор? Китайский клон Logic-Pro 8-канальный. >Покажешь? Неа, нельзя
>>346016 Понятно, не читал описание работы шины IIC, как она физически выглядит и устроена и как на логическом уровне работает. Не читай, не передергивай и не вырывай фразы из контекста - весь смысл теряется. Основные идеи есть и более-менее поняты, дальше ебитесь как хотите. Посоветовал бы пердуину в помойку и сразу на чистом Си в аврстудии программировать - может быть понадобится прямое управление когда будет нехватать скорости. Возможно не в тему, но все же -> https://habr.com/post/254163/ Сам начинал сразу с ассемблера и писал конченные автоматы на ICALL, возможно придется заняться байтоебством, тк опять же забив на формальности (может ошибся где в расчетах?) - для кварца в 16МГц получаем 16 000 000 / 400 000 = 40 тактов на один "тик" шины или же 40 х 9 = 360 тактов на то чтобы просраться и решить что делать. Один только заход и выход в прерывание - максимум 3 такта на окончание текущей инструкции, 2 такта (вроде бы) переход на таблицу прерываний, 2 такта прыжок на начало обработчика прерывания, если весь контекст сохранять и восстанавливать в стеке - это около (32+1)х2 + (32+1)х2 = 132 такта, 5 тактов выход из прерывания. Итого условно 144 такта на служебные нужды и остается чуть больше 200 тактов на логику.
>>346094 Да я не пойму, что ты от меня хочешь услышать, чтобы сделать вывод о том что я что-то читал? Я тебя не понимаю. Лекции этого преподавателя я смотрел, и описание работы (старта, стопа, условий работы, механизмы работы с епромом и другими подобными устройствами), в том числе эту конкретную статью. Что тебе ещё надо? Я бы лучше почитал описание того, какая команда сколько тактов занимает (не в AVR'е, а в Arduino IDE).
>>346136 > какая команда сколько тактов занимает Длительность команд искать в конце даташита (раздел Instruction Set Summary, последняя колонка (#Clocks)). Не забываем что у AVR есть двухстадийный конвейер и может требоваться дополнительный такт в командах перехода по условию, поэтому их длительность каждый раз разная, от 1 до 3 тактов.
> (не в AVR'е, а в Arduino IDE) Если же собрался смотреть длительность участков кода - основательно так ебешь настойки говносреды пердуино так, что бы она выдавала листинг говнокода где увидишь пердуинокод и его ассемблерные команды, или грузишь православную IDE AVR Studio и через ее дизассемблер сам глазками и руками смотришь где какой участок кода или сразу пишешь на Си и по командам в листинге считаешь. Для примера маленький обработчик прерывания - тупо каждый раз менять значение одного бита - всего 1 строчка си кода "PORTD = PORTD ^ 0b00010000;" (дописал число тактов перед адресом команды, в листинге нет указаний сколько тактов занимает каждая команда) 000000b6 <__vector_9>: ISR(TIMER2_OVF_vect) { 2 b6: 1f 92 push r1 2 b8: 0f 92 push r0 1 ba: 0f b6 in r0, 0x3f ; 63 2 bc: 0f 92 push r0 1 be: 11 24 eor r1, r1 2 c0: 8f 93 push r24 2 c2: 9f 93 push r25 PORTD = PORTD ^ 0b00010000; 1 c4: 8b b1 in r24, 0x0b ; 11 1 c6: 90 e1 ldi r25, 0x10 ; 16 1 c8: 89 27 eor r24, r25 1 ca: 8b b9 out 0x0b, r24 ; 11 }; 2 cc: 9f 91 pop r25 2 ce: 8f 91 pop r24 2 d0: 0f 90 pop r0 1 d2: 0f be out 0x3f, r0 ; 63 2 d4: 0f 90 pop r0 2 d6: 1f 90 pop r1 5 d8: 18 95 reti 000000da <main>: In [1]: 2+2+1+2+1+2+2+1+1+1+1+2+2+2+1+2+2+5 Out[1]: 32 - 32 такта сам обработчик + еще сверху максимум 3 такта на окончание текущей инструкции, 5+3 тактов переход на таблицу векторов прерываний, 3 такта переход на первую команду обработчика прерывания (это для "толстых" атмег, у версий попроще на пару тактов меньше будет) In [2]: 32+3+5+3+3 Out[2]: 46 - это примерное число команд. Для кварца в 16 МГц это 46.0 / 16000000.0 = 0.000'002'875 те около 3 микросекунд, что дает в теории максимальную частоту около 174 килогерц. In [7]: 1/0.000002875/2 Out[7]: 173913.04347826086 Может и налажал где-то в расчетах, получено примерное число тактов и посчитано время выполнения участка кода.
>>346136 В Си и С++ нет команд. Заранее можно только приблизительно оценить сколько будут выполняться библиотечные функции. Приблизительно тут потому, что у gcc есть разные версии и опции, с которыми получается разный результат.
>>346168 >основательно так ебешь настойки говносреды пердуино так, что бы она выдавала листинг говнокода где увидишь пердуинокод и его ассемблерные команды gcc -S -fverbose-asm
Здравствйте аноны. Купил такую плату: Robotdyn Uno R3, atmega328p. Хочу сделать на ней вольтметр 0-100 Вольт, на трехразрядном семисегментном индикаторе, можно ли организовать динамическую индикацию без всяких сдвиговых резисторов? Перед тем как вам написать я гуглил, есть готовый код для atmega8 но он как я понял под другой компилятор и в IDE не подходит. Есть какая нибудь библиотека под семисегментные индикаторы? То есть, вот снял я допустим с АЦП 400 значений напряжения с входного делителя напряжения, просуммировал их, нашел среднее - как его вывести на индикаторы то? Не понимаю как ардуино "понимает" это значение, лол. Есть допустим 15.0 вольт, но что с ними дальше делать - не пойму :c
>>346208 >динамическую индикацию без всяких сдвиговых Без сдвиговых регистров разумеется можно. >резисторов Не знаю что такое сдвиговые резисторы, но без резисторов светодиоды не стоит подключать к источнику напряжения. Напрямую светодиоды можно подключать только к источнику тока (на который они рассчитаны). >Есть какая нибудь библиотека под семисегментные индикаторы? Там кода пару строк, очнись, какая библиотека? >как его вывести на индикаторы то? Ну как, выводишь один разряд, потом другой и т.д. по кругу. Для начала эти самые разряды получаешь делением на 10 к примеру. Но есть и более быстродействующие способы, чем деление на 10. >Не понимаю как ардуино "понимает" это значение, лол. Не пердуина, а твоя программа в ней. Пердуина - это лишь простенький процессор припаянный на плату. Процессор умеет выполнять лишь простые команды, например сложить, сравнить, перейти по условию. Про твои индикаторы процессор сам по себе ничего не знает. >Есть допустим 15.0 вольт Числа с плавающей запятой не стоит использовать в программах для микроконтроллеров.
Школьника >>345832 с дампилкой-эмулятором iic походу сильно обосрали, обиделся и улетелел.. R.I.P. До встречи на небесах. Школоло, поделись инфой - как отрастил крылья для полетов?
>>346289 >>346252 В кортексах М4 и М7 FPU опционален. И с наличием FPU они называются cortex-M4F и M7F. Еще в STM32 FPU вроде как максимум одинарной точности. Так что нет, полноценно оно не тянет.
Вот это мне и нужно, но тупо копипаст же не получится сделать. Не пойму как он выводит в индикаторы? Там где switch {} зачем он делит на дроби каждая из которых равна десяти?
>>346298 Раздели задачу на части и решай по отдельности. 1) Научись выводить цифру от 0 до 9 на один единственный разряд. 2) Сделай переключение разрядов в прерывании. 3) Получи десятичные разряды из числа которое хочешь отобразить. Учитывай что индикакторы могут быть как с общим анодом, так и с общим катодом. Еще учитывай максимальный ток порта в атмеге, ты можешь перегрузить микроконтроллер своими светодиодами.
>зачем он делит Не делит, а берет остаток от деления. А в прерывании делит потому что пердуинщик. Это работает следующим образом. Например, хотим вывести число 123 из регистра атмеги на индикаторы. 1. Делим 123 на 100. Результат 1 и остаток от деления 23. Соответственно старший десятичный разряд числа это 1. 2. Делим остаток от п.1, т.е. 23 на 10. Результат 2, остаток от деления 3. Соответственно в разряде десяток нужно отображать 2. 3. Остаток от деления в п.2 это 3, соответственно самый младший десятичный разряд это 3. Все, путем арифметических упражнений из начальной школы, мы получили цифры, которые нужно выводить на отдельные индикаторы.
>>346302 >делит 123 не на 100, а на 10? 10000/1000 Это не так. У этих операторов одинаковый приоритет. Сначала берется остаток от деления, который потом делится. Код по твоей ссылке не слишком качественный, даже в качестве примера такое брать не следует. Лучше сам пиши без таких примеров.
>>346289 Это был стеб >>346264 . Не получилось тонко тролльнуть. Бывает. Могу только добавить что иногда может будет лучше вариант не с делением, а вычитанием. Те 123 - 100 = 23. 1 вычитание, значит 1 сотня. 23 -10 = 13 -10 =3 - 2 вычитания, значит 2 десятка. Последняя цифра из последнего шага берется как есть.
Как умножить пусть 42 на 0.2354525 (отфонарная цифра)? Если битов не жалко(возьмем 16), то 0.2354525 х 65536 = 15431. Ответ будет 42 х 15431 = 648102(dec) = 9E3A6(hex) и отбросив последние 16 бит получим ответ - 9 (вместо реального 9.889). Если нужен один знак после запятой - можно попробовать на 10 умножить исходную величину 420 х 15431 = 6481020(dec) = 62E47C(hex) -> 0x62 = 98 и зная что последняя цифра это число после точки - получаем 9.8 .
>>346172 Да, спасибо что поправил про функции вместо комманд. В основе разных +- версияй Ардуино IDE лежат разные версии gcc? GCC для AVR наверно не так уж часто обновляется?
>>346270 Я не школоло, а великовозрастный долбоёб, как бы обиден этот факт для меня ни был в данной ситуации На самом деле мне похуй на это, и уж тем более на местную шизу. Если кто-то ушёл из вашего тредика, это значит что он не нашёл здесь того, что надо. Я ожидал получить ответы по-полочкам, как для 12-летнего школьника. Получил море обсёра, шизы и сумбура, с редкими островками из ответов адекватных анонов.
Если по делу, то вероятно придётся раздобыть что-то STM32F4 - образное, возможно решит мои задачи. Сейчас я ардуиной даже инициализацию одного из каналов повторить не могу не дергается нога с нужной скоростью. А может мои наполеоновские планы не сбудутся и придётся ебать-распарсивать эксель от логгера.
>>346547 >Получил море обсёра, шизы и сумбура, с редкими островками из ответов адекватных анонов. На дурацкий вопрос можно дать только дурацкий ответ. Просто невозможно менять данные в I2C на ходу как ты хотел, нет там такой возможности. Такое может получиться только в частных случаях.
>не дергается нога с нужной скоростью. Потому что нужно писать в регистр порта напрямую. И смотреть результирующий ассемблерный код.
>>346547 Поразвлекай меня - WTF? Синус генерится ШИМом по таблице из 256 точек и вижу отдельные точки, по которым оно строится. Как так то?
Выкидываешь пердуиноIDE и пишешь сразу на чистом Си - там все просто будет, регистров управления всего ничего. Для любителей особого хардкора - добро пожаловать в Ад, те в соседний ПЛИСо тред. Может там подскажут как на Verilog или VHDL сделать тупого I2C Slave.
>>346549 >Просто невозможно менять данные в I2C на ходу как ты хотел, нет там такой возможности. Такое может получиться только в частных случаях. Не собираюсь я напрямую менять. Каким вообще образом Я перехватывать собирался, и при необходимости некоторые команды подменять слейву. Самому представляться мастером на шине где оригинально сидит слейв, писать подключенному ко второму I2C входу слейву то, что мне написал мастер на первом. >Потому что нужно писать в регистр порта напрямую. Скинь человекопонятный пример в ардуино-иде, если можешь. >>346563 Там не синус, там пикрил. >Выкидываешь пердуиноIDE и пишешь сразу на чистом Си Не вопрос, если анон порекоммендует удобную IDE. Период дёрганья ногой - 3 микросекунды и кратные до 15. На анализаторе вижу примерно ничего.
>>346657 > Там не синус, там пикрил. Синус моя железка выдает и кривоватый. Может стоит частоту повысить. Надо пробовать.
> Не вопрос, если анон порекоммендует удобную IDE. Oh shi~. AVR studio же. Некроверсия, просто, тупо, быстро работает с полным отсутствием всяких свистелок и перделок, которые на хуй не вперлись.
Скрин настоящей посылки( с включенным декодером iic) или адрес железки и длина посылки. Еще бздани что длина(длины от до) посылки тайна - оборжаться можно. То что на картинке - какая-то поеботина, ни разу не похожая на IIC.
>>346657 Что-то мне кажется что соснешь с проглотом. Как минимум. Короткая запись обмена на 400 КГц(опрос с stm32f3discovery), uart на скорости около 500 000 бод (да, полмегабита) с меги328P на кварце 20 МГц. По бокам мега-слейв-эмулятор, который шлет в юарт то что ему предназначено (начало и конец записи), по центру - просто чтение микросхемы памяти 24 серии. Запись ниже - начало общения, где можно увидеть как в притирку идут данные и как слейв немного подтормаживает (где-то 2 такта на 400 КГц). Говно в юарт пихается ровно в тот момент, когда и в TWI. На меге этот черновик занял всего ничего: Device: atmega328p Program: 798 bytes (2.4% Full) (.text + .data + .bootloader) Data: 258 bytes (12.6% Full) (.data + .bss + .noinit)
>>346668 То что на картинке - ты пикрил. Я тебе скинул не I2C, не что-то относящееся к твоему синусу, а сигнал, который по какой-то причине ардуина затыкается повторить. >Еще бздани что длина(длины от до) посылки тайна - оборжаться можно. Да нет конечно, у меня I2C на первом и втором канале (SCL, SDA), и как видишь, там в заскриненный момент пусто (в высоком уровне). Просто проблема пока не в I2C, а в повторении сигнала, который я повторять охуею и на более мощном железе, а на ведруине - тем более. >>346723 >Что-то мне кажется что соснешь с проглотом. Как минимум. А я и не против Я выпросил stm32f4discovery, но не уверен, справится ли она со ВСЕМ, что я хочу на неё возложить. Продублировать, либо просто воспроизвести код передающийся по I2C- да как нехуй. USB есть, что ещё надо? Только охуею с libusb разбираться. А вот регистрировать что происходит с пинами - ну тут я хуй знает, смогу ли я снимать время до микросекунд, или сосну - надо попробовать.
Arduino nano и esp8266
Аноним23/11/18 Птн 19:28:22№346796518
Имеется Arduino nano, и такой вот модуль esp8266 и ещё какая-то приблуда к нему.Собственно вопрос,как подключить?
>>346783 "Без внятного ТЗ результат ХЗ" "Без внятного ТЗ результат ХЗ" "Без внятного ТЗ результат ХЗ" > у меня I2C на первом и втором канале (SCL, SDA), и как видишь Экстрасенсы в отпуске или в шары долблюсь. >>346657 Ни намека ни подписи - что там.
> а в повторении сигнала Скорее всего там банальный uart и не вижу смысла изъебываться с ним. Как вариант можно попробовать OneShotMode режим таймеров в STM32, каждый раз их перенастаивая. Если он более-менее симметричный и с равными промежутками - есть перенастаиваемый SPI: 4-bit to 16-bit data size selection (RM0316 от STM32F3).
> Я выпросил stm32f4discovery Какой молодец. Дали пирожок? На STM32F407VGT6 или STM32F429ZIT6 (пикрил, с TFT экраном)? Почему не подсел на отходы промышленности х86 - 86Duino / Intel Galileo / Intel Edison? В чём и чем все это собрался программировать и отЛАЖивать?
> USB есть, что ещё надо? Только охуею с libusb разбираться. Какая мерзость. Проблевался. Сожги и забудь эти высеры для домохозяек или поебени в стиле - "отвалилось и по хуй, передернут шнурок". Atmega32U4 в помощь. Переходи на православный Ethernet (это в основном stm32Fxx7)- из любой задницы Мира можешь получить доступ и забить охуенный болт на драйвера под разные ОС или совместимость с ними. Даже если просто срать тем же UDP - можно на приемной стороне смотреть временнЫе метки приема фреймов. Точность правда +- километр, да и врядли над каждым байтом будешь трястись, сразу пачку байтов слать. Если впасть в маразм - недавно принят стандарт 1588v2 https://habr.com/post/163253/ . Может найдешь несколько байт и будешь передавать свои метки времени вместе с данными. Даже если отсылать один байт - нужно готовить фрейм из 64 байт, из которых байт 30-40 - служебные и их число не меняется. За раз одним куском можно передать около 1460 байт. Если лень разбираться с lwip и rtos - есть wiznet w5500 (SPI) или w5300(параллельная шина), которые в принципе можно подключить к любому говну.
Так глядишь будешь между 2 стульев скакать, перейдя на ПЛИС - Altera vs Xilinx. PS - Если вообще ебануться на отличненько - может посмотришь в сторону FTDI (например FT2232H / FT4232H) https://habr.com/post/207214/ ? "Без внятного ТЗ результат ХЗ" "Без внятного ТЗ результат ХЗ" "Без внятного ТЗ результат ХЗ"
>>346855 Могу позволить себе немного игрушек на Новый Год и обновиться с FT2232D. Они работают с частными лицами, когда-то был минимальный заказ 15$. Которые как оказалось на хуй не вперлись, но пару раз надо было сдуть пыль и проверить особо бредовые теории. ПЛИС заплесневела. Бывает. Как минимум у них одинаковые распиновки. Каналов, как и выводов много не бывает, да и не жалко похоронить в случае чего (из H версий часто делают всякие JTAG программаторы или отладчики). Стоят не дорого, почему бы не взять разных на пробу? У них есть тонкое различие в реализации внешней шины, но детально не копал, не знаю. Для меня главное UART-ов жопой жуй, которые очень легко превращаются в RS485 с автоматическим переключением RX/TX. Libusb и py-ftdi так и не осилил на винде.Embedded -> broadway to nowhere. https://www.youtube.com/watch?v=J3wU_L8hpPg
>>346860 Ничоси игрушки! Dear Santa, ... Спросил к тому, что в кои-то веки захотел себе самопальный реверсировщик & программатор-отладчик на все случаи жизни, а потому потратился 300р. LOL и заказал себе 2232 с Али (предположил, что ты тоже мог там купить). Если б/у, то даже лучше, ибо деньги вернут, а микра останется. Спасибо за ответ :3 Сначала подумал может чего фееричного на четырёх каналах придумали.
>>346862 Закидай говном - что сейчас в тренде из дебажно-отладочного на 2232H? "ft2232h openocd", "ft2232h byteblaster", "ft2232h Digilent Jtag HS2"? Может есть что на тему говноЮСБ-CAN? Видел статью на хабре как делали на stm32f100 и еще где-то на pic18f14k50+mcp2515. Еще нашел двухканальный CAN-Hacker 3.0, но прошивки в открытом доступе нет или плохо искал. Из чего собрать вменяемый и не теряющий фреймы сниффер-спамилку CAN с вменяемым софтом под ПК?
>>346867 ХЗ, если честно, я знаю гораздо меньше твоего. Буду юзать в зависимости от того, что потребуется в данный момент, но без OpenOCD/UrJTAG не обойдусь. Главное - не полениться и сделать железную часть пожирнее. Мне нужна будет опторазвязка по первому каналу (а в моём случае это HCPL на скорость какую найду побольше), конвертер уровней, EEPROM, и доп. слот на второй канал для прочих модулей расширения, типа как цопеелда в Bus Blaster... CAN не интересовался пока ещё, но прогуглив весь сегодняшние вечер+ночь просто охуел от зоопарка удивлён изобилием возможностей, начиная с ардуины типа опенсорсного CANBus-Triple через Wireshark + своя утилита, и тех же FTDI+MCP, заканчивая HackRF в GNU Radio, с логическими анализаторами Saleae в середине. >CAN-Hacker 3.0 Тоже не нашёл. Тот трек с ютуба сделал мне вечер, спасибо :3
>>346893 В гугл. "Переключение контекста прерывания". Можешь попробовать напИсать быдлокод на асме, не сохраняя SREG или делая разное число push/pop. Обеспечит огромное количество незабываемых часов отладки под высеры какое AVR говно, а на самом деле косяк в прокладке между стулом и клавиатурой.
>>346901 Видимо не дочитал > сниффер-спамилку > спамилку Оно должно уметь срать фреймиками в CAN сеть, а не просто слушать. Если умеешь пользоваться гуглом - на казусе можно выловить двуханальные HCPL2630 по 10. Собирал на них пару модулей развязки под RS485.
>>339711 Тебе нужен DMA (direct memory access) чувак. Не знаю как в ардуине, но в STM32 он есть. Суть в том что ты поручаешь делезу пушить поток данных из одного место в другое, хардварно, например по SPI. При этом ты можешь прерываться сколько хочешь.
>>346911 >Видимо не дочитал Вот чтоб в виде готового софта с шикарным гуем и функционалом за спасибо - да, такого я не нашёл. Не зря же они CAN-Hacker продают.
Осваиваю азы сей примудрости, но уже умудрился взорвать РГБ-светодиод. Суть токова. Из 5V запитал общую шину питания на макетной плате, с неё провёл через резистроны на 220 Ом липистричество к контактам светоиода, затем вывел через шину заземления. При подключении к сети вся эта приблуда внезапно взорвалась в области светодиода. Вопрос - в чём я проебался?
>>347590 Ты бы ещё 5000х4000 фото сюда вкинул. Хорошо хоть не зашакалил и ладно. Проверь сам светодиод скорее всего нужен был резистор на 5000мВ / 10мА ~= 470 Ом, а не 5000мВ / 220Ом = 22,7мА. Вот он и сгорел. Опять же, если ты будешь моргать им с большой частотой, для полного разноцвета по всем RGB888 (255, 255, 255), то ток надо на общий элемент прилагать. Если постоянно светить, то нужны три резистора.
>>346911 > Можешь попробовать напИсать быдлокод на асме, не сохраняя SREG > косяк в прокладке между стулом и клавиатурой. Кто тебя заставляет писать говнокод?
>>347599 Да нет, сейчас перепроверил ещё раз. Резистор с четырьмя полосами — красная, красная, коричневая, золотая. Прямо как у тебя на пиках. >>347591 Окей, я понял. Спасибо большое.
>>347632 >Резистор с четырьмя полосами Фатальная ошибка - доверять цветовой маркировке. Не знаю как там у всего раздела, но меня просто заебал то брак, то непонятный цвет, то ещё какая хуйня. Без проверки тестером такое не паяю, даже СМД, ибо какой-то процент сразу из упаковки бесконечно сопротивляется.
Раданы, подскажите такую штуку. Делаю сорт оф декоративный светильник на WS2812 и ардуине. Запитывать планирую от одного внешнего источника питания. Паять отдельный USB геморно и у меня его тупо нет. Потребление ленты в максимуме будет 1440 мА из расчета 60 мА на диод. К самому порту паяться тоже не очень удобно, паяло слишком большое. Вопрос: если подпаюсь лентой как на пике, выживет ли ардуина?
>>347693 > Запитывать планирую от одного внешнего источника > отдельный USB геморно и у меня его тупо нет Взаимоисключающие параграфы? Если от USB - соснешь с 1440 мА. По стандарту до 100 мА, считай перегруз в 14 раз. Кукареканья про зарядку говна от порта током под полампера и более будешь рассказывать когда порт выгорит.
> одного внешнего источника Уже лучше, но не очень. Если прикинуть что стоит LM1117-3.3, то по даташиту у нее рабочий ток 800мА. Снова перегруз раза в два. Возьмешь тяжелую артиллерию в виде LD1084V? Продолжим - пусть LM держит ток в 1.5А, тогда при входном напряжении 5 вольт - (5-3.3)х1.5 = 2.55Вт будет выделяться в виде тепла, на ленте же 3.3х1.5 = 4.95 Вт. Отличный результат. LM жрет и превращает в тепло половину того, что потрЕБЛЯет лента, разогреваясь на 61х2.55=155 градусов, добавив 25 градусов снаружи раскалится до всех 180 градусов. Покойся с Миром, LM1117..
>>347697 Нет, не взаимоисключающие. Возможно, я херово объяснил, что хочу. Идея такая: В розетку двухамперный бп на 5 вольт. От него mini-USB в стандартный порт наны. На выходную(!) ногу 5в AMS1117 стабилизатора припаиваю + питания ленты, — куда нибудь на землю, поближе к порту(пока не смотрел куда). Вся суть вопроса, состоит в том, что не станет ли ардуинке плохо от полутора ампер, пробегающих мимо по дорожкам платы от mini-USB порта до выходной ноги стабилизатора. Не перегреется, не выгорит?
>>347701 > двухамперный бп на 5 вольт. > mini-USB в стандартный порт наны Насколько хуевый кабель? Из кетайского картона с фольгой и стальными жилами? Да еще и из одного угла сырночевальни в другой? Просто прикинь что если копротивление 2 жил будет 0.1 Ома, то в кабеле сразу просрешь 1.44А х 0.1 = 0.144 Вольта, вроде мелочь, но может вылезти боком. Уверен что нет четырехпроводных омметров, можешь пропустить известный ток и посмотрев разницу на входе и выходе кабеля по закону Ома (поделив разницу напряжений на ток) получить сопротивление провода. > выходную(!) ногу 5в AMS1117 стабилизатора припаиваю + питания ленты > выходную(!) (Отмеченная на рисунке - это ВЫХОД) Если лента питается от 5 вольт - соснешь. Подав на вход линейного стабилизатора 5 вольт никак не получить 5 вольт на выходе. Если же лента питается от 3.3 вольт (раз собрался на выход стабилизатора вешать) - см трактат выше. Если выше облажался и таки собрался припаиваться к крайним контактам стабилизатора (это как раз земля и входное напряжение) - то сказал бы что можешь рискнуть, но бросив еще отдельные сопли до миниюсб (если сгорит miniusb - туда ему и дорога, как и микроюсб). Если совсем задротить - пусть одноунцевая фольга (18 мкм) и дорожка 0.2мм, то ее сечение 0.2х0.018=0.0036мм2, длина дорожки (чуть больше возьму - 15 штырей 2.54мм) те 2.54х14 = 35.5мм и посчитаем сопротивление (0.0170.0355)/0.0036 = 0.167 Ома и помножив на ток 1.44А получим потерю 0.24 Вольта на участке от разъема до стабилизатора и выделение на ней 1.44х1.440.167= 0.346Ватта тепла (это только в одну сторону, обратка по земляным полигонам тут не считалась). К сожалению как перевести ватты в перегрев незнаю. KiCAD-овский калькулятор говорит что проводник от такого тока нагреется на 140 градусов(обрати внимание - не ДО, а НА и будет раскален под 165 градусов). Не могу не подтвердить ни опровергнуть.
>>347707 вот поэтому я и сомневаюсь. Похоже придется все таки отдельный порт городить, в обход ардуиновской печатки.
>>347710 Кабель норм, но в процессе эксплуатации не исключена замена на любой подвернувшийся ноунейм. По длинне без выкрутасов, стандартных размеров кабелей для зарядки смартфонов и прочей хреноты.
Про стабилизатор то ли ты меня не понимаешь, то ли я тебя. Лента на 5в. Мне не нужен функционал стабилизатора, все что мне нужно от него это физически большая нога, к которой мне будет проще подпаяться, чем к ноге миниЮСБ. Выходная нога висит в общей цепочке +5 вольт и соединена с +5в миниЮСБ. Соответственно, теоретически, я могу воткнуть 2 ампера в миниЮСБ, НАНА отожрет свои 20 мА или сколько ей там нужно, а лента через дорожки на плате, ногу стабилизатора и припаянный к ней провод отожрет свои 1440 мА. Но это теоретически. Практически видимо получается перегрев дорожки. Я правильно понял?
Алсоу, на схеме ардуины, между юсб и остальной частью цепи +5в стоит предохранитель на 500 мА. У меня китайский клон и я предохранителя нигде не наблюдаю. Может ли быть такое, что его нет? или я просто в глаза ебусь?
>>347715 > Про стабилизатор то ли ты меня не понимаешь, то ли я тебя > Мне не нужен функционал стабилизатора, все что мне нужно от него это физически большая нога > нужно от него это физически большая нога > большая нога Для особо тупых кусок даташита - это ВЫХОД. Если у тебя стаб на 5 вольт и подаешь 5 вольт на вход - в лучшем случае на ВЫХОДЕ увидишь 4 вольта. Если кто и читает через жопу > Если выше облажался и таки собрался припаиваться к крайним контактам стабилизатора (это как раз земля и входное напряжение) > к крайним контактам стабилизатора (это как раз земля и входное напряжение) > к крайним контактам стабилизатора то это твои проблемы. Смотри нижний левый угол пикрила, потом изображение стаба по снизу по центру и вникни где какой вывод. (вывод сверху не подписан, это практически всегда 2-й вывод, те ВЫХОД. См назначение выводов LM1117.)
>>347715 Совсем заебал своим стабом.. Тупанул и.. Разуй глазки - возле разъема ISP пердуины есть 2 нужных вывода - GND и +5V. По поводу какой ток с них можно снять - перечитывай посты выше. Как минимум самое тонкое место - это переход(пайка) с вывода дерьмоюсб-дорожка на плате, которая по фоткам не сильно то и шире вывода usb и переходные отверстия между слоями. >>347721
>>347721 сукааааааааааааааа У меня стаб на 5 вольт. Выход подключен в цепь 5в. Я не подаю стабу на вход нихуя, потому что вход стаба не подключен к ЮСБ, он нужен для питания через Vin пин. Выход стаба, который подключен в цепь 5в это вторая нога или/ большая площадка. Прямо сейчас у меня на столе лежит ардуинка, подключенная через юсб к компу. И я легко могу зажечь светодиод с резистором, если прислоню его ко 2ой ноге стаба и к земле. При том, что на входе стаба нет нихуя на самом деле есть, около 4.3в, я хз откуда, но на выходе 4.75, что соответствует питанию через юсб 5.1в минус падение 0.25в на диоде Шоттки, что стоит по входу
Ты мне лучше скажи, дорожки 720 мА потянут или нет?
>>347723 В общем, я психанул. Подключил на макетке все говно, подключился к +5V, версия на 720 мА. Все крутится уже минут пять, на ощупь нагрев на ардуинке не заметен, сама лента теплее. Всем спасибо, все свободны, кто хочет, угощайтесь чаем.
спрошу ещё и тут У кого есть опыт работы с датчиком mq7? Купил на алишке уже распаянный на плате с обвязкой. Не вполне ясно, для чего там стоит подстроечный резюк- для калибровки, выставления чувствительности или порога цифрового сигнала? Даташит очень мутный, больше всего интересует, что они понимают под preheating. Написано, что этот прогрев нужно делать в течение 48+ часов. Как я понимаю, оно требуется один только раз перед началом использования в принципе, а не перед каждым сеансом измерения (иначе нахрена такой датчик?). Однако в том же даташите они описывают хитрый механизм прогрева- чередование 1.4 вольт и 5 с определенными таймингами. Мне этот пре-хит делать с указанным режимом, или можно тупо дать 5 вольт на двое суток?
Заказал этот набор. Сразу встал вопрос, ясен хуй, что платка не оригинальная, но озадачился я только сейчас. Как с ней робототь? Ну писать софт и так далее. Arduino IDE покатит или нужно какие-то костыли навернуть?
>>347811 Закажи еще программатор avr usbasp - как минимум сможешь прочитать текущую прошивку с бутлоадером и восстановить ее назад после шкодинга в AVR Studio на ассемблере. Хотя не имея отладчика - толку от студии 0. Это в отладчике можно остановить программу, посмотреть состояние периферии и поднастроить ее или даже залить/слить область ОЗУ и продолжить выполнение быдлокода. Пограмматором такого не сделаешь.
>>347815 Ты мне скажи, если эта хуйня не пизданётся после первого запуска, то будет ли возможно на ней использовать Arduino IDE или нужно аналог искать?
>>347821 >то будет ли возможно на ней использовать Arduino IDE Прошьешь взад загрузчик и снова аутируешь с Ардуиной. Если фьюзами не прикончишь контроллер
>>347824 Имею ввиду из коробки. Приехала мне эта хуета. Я молюсь богу, прихожу домой, врубаю... вроде работает. Захожу в Windows Store, качаю IDE и... Мою платку подхватит или надо ебатрониться?
>>347846 Блять. Приходит этот набор. Я достаю плату, подключаю его к компу, качаю Arduino IDE. Выбираю тестовый скетч, закидываю на плату... Скетч теоретически заработает?
>>347824 Переходи сразу на уровень Hardcore(Nightmare). Сам собирай древний и тормозной жтаг под не менее древнюю AVR Studio (4-я версия), забив на кукареканья пердуинщиков. Тут тебе доступен и ассемблер, и avr-gcc (язык Си) и тормозная отладка - реальная отладка с пошаговым выполнением программы. Единственное что только на древних камнях работает - на той же шмеге328 JTAG-а нет, только Debugwire. У эталонной шмеги8 так вообще нет никаких интерфейсов отладки. Если не прожженный нищеброд - найди того же дракона AVR Dragon, который горит от прикосновения к преобразователю и будет тебе Debugwire и сможешь обоссать всех пердуинщиков с их 328 мегой, зайдя в режим пошаговой отладки и бонусом - высоковольтное программирование, те тебе будет все по хуй, можешь шить фьюзы в любых вариантах и высоковольтное программирование вернет к жизни точнее каторге у ньюфагов. http://easyelectronics.ru/vnutrisxemnaya-otladka-avr-cherez-jtag-ice.html USBasp не забудь - чем первую мегу для JTAG-а будешь шить? Громовым с компорта? "5 проводков" на LPT?
>>347862 >Сам собирай древний и тормозной жтаг под не менее древнюю AVR Studio (4-я версия), забив на кукареканья пердуинщиков. Можно просто взять STM8 или MSP430, которые с нормальными и дешевыми отладчиками и такие же простые как AVR. >язык Си Вот только у ардуинщиков С++, который будет явно посложнее Си. >Тут тебе доступен и ассемблер, и avr-gcc (язык Си) Разве пердуиновскому загрузчику есть разница что грузить? Ну максимум линкер потребуется немного подкрутить.
Не учатся ничему некоторые и учиться не хотят. Ютуба американского насмотрелись или крышу срывает от жадности. Ты ему про регистры, он тебе про digitalWrite(). Ни о чем думать не хотят, кроме ногодрыга. Пока порты по веткам не разбросает.
>>347872 > Можно просто взять STM8 или MSP430, которые с нормальными и дешевыми отладчиками и такие же простые как AVR. Не передергивай. Человек хочет именно AVR. Может проще взять ARM+FPGA в виде CycloneV и пердолиться еще и с линуксом? Совсем просто же, задача для детского садика, если даже не для подготовительных групп. Как на счет восставшего из Ада 8051 (желтенькая отладка с W7100 - 8051+Ethernet на одном кристалле)?
> Разве пердуиновскому загрузчику есть разница что грузить? Ну максимум линкер потребуется немного подкрутить. С зашкварными прослойками не работал. Только baremetal, только хардкор.
Да и в последнее время как-то без разницы из чего делать новогоднюю гирлянду. Каждый день я синтезирую на Verilog счетчик, вместо тактового сигнала подаю сетевые наводки на свою тушу, циклонами создаю вокруг себя поток ветра, обмазаюсь Flex-ом и дрочу на рабочий счетчик на верилоге. Получается косить под местного шизика?
>>347896 >косить под местного шизика? Нет. Даже близко не получается. Сдабривай свои выкрики на борде рандомными вставками тухлых клипов 80х - 90х, угрозами обоссать мочератора и всю его родню. Пости фотки выебанного гуся/индюка, матарошки и йоба-датчика для измерения всего.
>>347898 Полегче. FLEX10K - это теплые ламповые 5вольт, а не бездушные 3.3вольта и ниже, которые можно без костылей цеплять к любому старому шизоидному говну и с учетом ее древности - довольно быстро синтезируется конфигурация FPGA и ее можно почти бесконечно перешивать вместо буквального сжигания CPLD. Именно поэтому и выкапывал эту ламповую некрофилию, на которую эпизодически фапаю. Найти бы EPF10K10LC84 в PLCC84 - маленькая, простенькая и малоножечная FPGA на замену MAX7128.
ща будет провокационный вброс (да-да, знаю, что тыщу раз уже всё обсосали, но всё же)
stm vs avr
наткнулся недавно на хабровую статью (https://habr.com/post/406839/), где чувак топит за stm и сравнивает её с авркой (пикча оттуда), мол цена/возможности у стм дают пососать с проглотам детищу микрочипа
интересно конкретно ваше мнение - что вы выбираете для своих поделок, чем руководствуетесь? почему в таком случае авр ещё не вылетело с рынка?
>>347922 я это знаю. однако, это не означает, что avr-ки больше не выпускаются. поглощение одного бренда другим не всегда приводит к прекращению производства
>>347921 >почему Триллионы устройств спроектированы для работы на них. Недавно ковырял башку умягчителя воды, а там атмега329. Куча гОвеновских контроллеров на авр-ках. Еще большая на PICах
>>347911 >stm vs avr LOL. Может хватит жрать колючий кактус? Для четких пацанчиков есть продвинутые мигалки (обращаем внимание - конец 2001 года, стоит совсем ничего) "25.12.2001 Доступен для заказа ARM-based Excalibur Development Kit. Этот набор содержит: EPXA10 development board (макетная плата с кристаллом EPXA10), CD Excalibur Solutions Pack (CD с утилитами, примерами проектов, демо-версиями программных продуктов третьих фирм для этой платы), самоучитель, источник питания и набор необходимых кабелей. Макетная плата имеет: кристалл EPXA10, на котором распологаются: 32 - битное ядро RISC процессора ARM922T; программируемая логика семейства APEX 20KE (1 млн. вентилей, 327 Кбит встроенной памяти); 256 Kбайт Single-port SRAM; 128 Кбайт Dual-port SRAM; ETM9 trace модуль для отладки программного обеспечения; Контроллер прерываний, UART, Таймер, Сторожевой таймер, JTAG интерфейс, интерфейс для подключения внешней памяти, схема умножения частоты; 16 Мбайт Flash памяти; схему формирования физического уровня 10/100 Ethernet; четыре разъёма для подключения daughter cards (дополнительных плат); 20 pin JTAG и MICTOR-style отладочные разъёмы; PC 100 32 Мбайта, 32 бит single data rate SDRAM DIMM; Два full-length 3,3 В, 32 бит PCI разъема; Пять тактовых генераторов; Переключатели и индикаторы. На этой плате можно будет использовать 16550 UART MegaCore и 10/100 Ethernet MAC MegaCore в отладочном режиме. Стоимость платы USD 11200,00. "
Сейчас же - ой, у меня всего 4 анала ШИМ? всего 1 UART? всего 20 выводов GPIO, да еще и раскиданных по разным портам? Отладка через printf-ы? Eсть всего пару калобайт ОЗУ, которые не расширить? Да ебись оно конем. Достаю Игрушки от Altera и синтезирую NIOS, у которого сам задаю что мне нужно для мигания лампочками на гирлянде. Начиная от гибкого лампового Flex10K и заканчивая StratixiV на 230kLE, разбавляя все это 2-м циклоном на 20kLE и 4-м циклоном на 6kLE, чего с лихвой хватает на эротическую фантазию в виде мигающего светодиода. По выходным у меня отдых от пердолинга, поэтому достаю CycloneV и через его HPS(ARM ядро) мигаю светодиодом, используя /sys/class/gpio/. Всякие хуйнюшки типа STM32, AVR, PIC особо нервно курят в сторонке, зная что FPGA из выебет во все щели и в разных позах, позволяя отлаживать отлаживать себя через собираемые из подножного хлама FT2232H (благодарность Марсоходу) или PIC18F14K50 ( http://www.sa89a.net/mp.cgi/ele/ub.htm ) и используя NIOS можно создать практически любой набор и количество нужной периферии, как и приличное количество корпусов с разным количеством выводов. Единственное чего нет в FPGA - так это АНАЛа. АЦП это экзотика, есть в новых MAX10.
Как обоссал то? STM и AVR и PIC, как и 8051, MSP430 и прочая экзотика - игрушки для домохозяек. Особо ярые задроты могут класть большой и толстый на NIOS и заебашить проект MIPSFPGA и уже на нем Linux запускать и дебажить через gdb (хоть удаленно, хоть с локальной консоли Linux) мигалку светодиодом. У пердуинщиков даже нет отладчика LOL ( https://habr.com/post/390427/ ), только printf в лучшем случае. Printf? По компорту? Что за древность? Есть LVDS на пару сотен мегабит. Если чуть ебануться - есть блоки PCI-Express или просто потратить немного выводов на параллельный PCI. Можно подключить Ethernet PHY и забив на все с частотой 25 МГц выплевывать по 4 бита чуть больше 70 байт - и ебать колотить, мой комп принял какой-то ethernet фрейм, где главное первые 14 байт, дальше любую поебень можно ставить, тк только до компа отправка идет. Какая на хуй отладка через printf? Совсем там ебанулись? Сегодня выходной, это значит что настало время греть CycloneV и фапать на пингвинчиков.
>>347898 Полюбуйся Flex-ом чуть ближе. Конфигурационная флеш AT17 за кадром.
Кто подкинет архив паст и нигропак местного шизика?
>>347932 Меня там обоссали, обдристали и выгнали.. Теперь вот сижу меж двух стульев - пердуино и stm32, гоняя и местами тралля школолольника с его сниффером-подменялкой iic шины, который свалил даже из этого треда и ушел в тред stm32.
Так-так, что тут у нас? Ах, опять ардуиносрач. Даже ардуинщики понимают, что ардуина это низший уровень пердолинга, но всегда находится уникум, который с радостью торопится им об этом напомнить. -Пиздюки. вы чо тут делаете? -Дяденька, мы тут светодиодом мигаем . -Ха-ха, говна поешьте, школьники ебаные. Смотрите, какой у меня хуй здоровый. Хосспаде, как же хочется зотереть всех ардуинохейтеров в ардуинотреде, а ИРЛ прописать эцих с гвоздями.
>>347967 >Так-так, что тут у нас? Ах, опять ардуиносрач. Странно, что-то я не заметил. Тут лишь придурок с древними флексами пытается подражать шизику. Но он настолько туп, что даже это у него не получается. >Даже ардуинщики понимают, что ардуина это низший уровень пердолинга Это не совсем так. С одной стороны что-то там ардуина упрощает. Но вместе с этим ардуина предусматривает отладку только printf-ами, что явно создает сложности для начинающих. Особенно неудобно из-за этого будет анону, решившему потренироваться в ассемблере на ардуине. Более того, ардуина не так уж много упрощает. Например, разве сложно вместо digitalWrite(6, HIGH); писать PC_ODR_bit.ODR6 = 1; ?
>>347982 >По порогу вхождения. fftgj Это тебе так кажется из-за того что ничего кроме ардуины в руки не брал. >С ардуиной нинужна. Тогда значит отладчик не нужен для чего угодно. Да, такое мнение тоже распространено.
>>347989 >STM32 >Можно просто взять STM8 или MSP430, которые с нормальными и дешевыми отладчиками и такие же простые как AVR. Или кроме STM32 и ардуины ничего не бывает?
>>347986 >ничего кроме ардуины в руки не брал Это тебе так кажется из-за того что ты ардуинохейтер. Она не даёт тебе жить, не даёт спать, у-у-у проклятая тупая ардуина. >Тогда значит Не значит. С простыми автоматами тупо нечего отлаживать - либо ты сделаешь и оно работает пусть и с небольшими недочётами, которые потом сам доработаешь, либо оно не работает и ты выбрасываешь ардуинуИДЕ к хуям.
>>347983 Первый кто внимательно рассмотрел фотку и понял что светодиод реально горит с огоньком. Действовал согласно инструкции "зажечь светодиод". Зажег. Начал гореть, дымить, вонять. До мигания так и не дошло. Спасибо что намекнул другим что это троллинг.
>>347973 > лишь придурок с древними флексами пытается подражать шизику. > Но он настолько туп, что даже это у него не получается. Печаль. Дай советов что ли, помимо >>347897 Может научусь и сложно будет отличить от местного шизика. Зачем? Сам не знаю.
>>348017 Самокритичненько. Но зачем? >Зачем? Сам не знаю. А. Ну, да. Есть мнение, что все гении слегка поехамши, но глядя на нашего шизика такого не скажешь. Ты бы какой-нибудь эпичный шайтан-прибор запилил на своей нане, что ли.
>>348030 Как бы через 20 лет диски сгниют, лол. Особенно не самого хорошего качества. Самый оптимальный, хоть и дорогой, вариант хранения информации — картриджи. Выходили в восьмидесятых и как новые до сих пор.
>>348033 Я бы не был так категоричен. Отрыл у себя четыре CD-R, записанных около 12 лет назад, все нормально читается. Но даже если только половина дисков доживет - значит уже не зря клали. >Самый оптимальный, хоть и дорогой, вариант хранения информации — картриджи. Выходили в восьмидесятых и как новые до сих пор. Это и без тебя наверное все знают.
кто нибудь боролся с помехами на серво машинках, поставил мощный резистор в конце провода, вроде помогло, но может кто еще знает способы. И еще проблема в nrf24l01 когда надеваю антену, то передатчик плохо передает, я так понял антена не касается передающего устройства, но когда я прикасаюсь все хорошо, можно ли просто проводок припаять?
>>348091 >помехами на сервомашинках RTFM! Какой длины провод? >И еще проблема в nrf24l01 когда надеваю антену RTFM! Нельзя включать передающие устройства без нагрузки, они тупо дохнут в большинстве случаев.
Че за херня? У моей платки нет поддержки в пердуино иде? Какую-то херню на Verilog пришлось писать и ручками надрачивать тактовую кнопку для смены состояний конченного автомата чтобы и эта херня таки вывела текст. Да, я люблю ебать Arduino! Говнокамера только в темноте более-менее адекватно может показать содержимое VFD на половинной яркости.
>>348127 Очень большой 1метр, я припаял резистор на 40 ом в конче серво машинки землю и сигналный провод соединил резистором. Работает довольно годно. редко дергается. А про антены, она изначально с антеной плохо работала, я отсоеденил стало нормально.
Ребят, никто не подкинет прогу чтобы на ТМ1638 выдавались сначала все восемь единиц, и дальше так же по порядку со всеми цифрами включая F, через заданный интервал времени?
>>348212 Ардуинщики хуже юнити-даунов. Скоро блять и вами завезут ассет стор и вы будете перетаскивать свои куски говна в десятки килобайт чтобы помигать светодиодом.
Полетал, толи из за того что плохо работает nrf2401 потерялась связь, а я в прошивке сделал слишком долгое время отключения двигателя когда потеряется связь, толи я под аффектом того что оно полетело и плохо управлял, он разбился. Ну тут все вместе. Он упал и порубил себя.
>>348212 Сажа и ненависть (плохо видно, там написано SAGE rAGE). Код вне сеанса отладки с пошаговым выполнением работать не будет. Тебе повезло что индикаторы с общим катодом. В даташите есть flowchart как это говно запускать. Всего 2 команды в контроллер и вывод данных - адрес знакоместа+данные. Неужели так сложно? Открываешь даташит и вникаешь что за поебень тут написана. Тестил на поделке для школьника.
Ардуинщики бля.. https://www.youtube.com/watch?v=cNfpuXk_ltY Кто так над бедным механиком по лифтам издевается? У кого-то LIR2032 впихнули вместо обычной CR2032? Или наоборот заряд установленной батарейки вместо LIR? буквально бомбануло.
Есть nano 3 китайская, usb ch340g. Почему в параметрах порта в шин10 не могу выше 128000 сделать? Гугл говорит что хотя бы 230400 должно поддерживать, по даташиту и мегабит тянет.
>>348245 У меня nRF24I01 работает на 7-9 миллисекунд в одну сторону. В обе стороны получается 10-15. Время Fail-Safe обычно 999 миллисекунд. А вообще, кричи WAAAAAGH!! ты настоящий орк, заставил летать нелетаемое. Старайся сервы в центре располагать, а до плоскостей тянуть жёсткие сцепки, тогда центр масс будет центром.
>>348330 >кричи WAAAAAGH!! ты настоящий орк, заставил летать нелетаемое. с современными аккумами и моторами можно все что угодно (в разумных пределах) поднять в воздух, вопрос управляющего по.
>>348330 да нет у меня все в порядке с центром масс, он полетел и управлялся, теперь нужно в следующий раз не такие обороты давать, что бы он так быстро не улетал.Только что ходил проверял дальность связи почти 100 метров. Очень странно летом их купил работали на метров 200 + я был на 3 этаже в бетонном доме. Поэтому вина сломанного самолета полностью на передатчиках.
>>348331 Вот. Антену отпаял так как если ее подключаю то передавать совсем перестает. Припаял проводок длинной 32мм . Пишут что для 2.4Ггц нужен именно такой. И на приемнике такой же проводок.
>>348424 Хоть один вменяемый адекват. Ответ тут >>346668 То же на хую вертел дерьмище со времен 5-й версии. Сливал все отсюда https://www.mikrocontroller.net/articles/Atmel_Studio Версию GCC правда не помню - есть просто папку архив распаковать, а есть через инсталлер. У меня через инсталлер установленная.
>>348424 Ты лучше не на базе VS, а саму VS бери. VS с какой-то версии поддерживает CMake, поэтому может без проблем использоваться с самыми разными микроконтроллерами.
>>348424 В начале стоял "AVR Toolchain 3.2.3-579 (95 MB, avr-gcc 4.5.1, AVR-Libc 1.7.1, updated 2011/06/11, Toolchain 3.2.3-314)", обновился соседом "AVR Toolchain 3.4.2-1573 (86.6 MB, avr-gcc 4.7.2, AVR-Libc 1.8.0, updated 2013/04)" - и сразу сoснyл хyйца в виде Studio совершило недопустимую операцию и будет закрыто при запуске отладки, компиляция и пересборка при этом происходит нормально(во выводу). Попытка подсунуть avr8-gnu-toolchain-3.6.2.1759-win32.any.x86 - и сразу фейл. Долго тупил, понял что просран мейк, поэтому не долго думая скопировал без замены содержимое старого тулчейна поверх нового. Скомпилилось, формат вывода warning-ов чуть изменился, уже что-то. Отладка так же валит студию. Пересоздал еще раз проект - перекомпилил и оно зашло в отладку. Как-то так. Вертeл на хyю все ваши мeйки, хyeйки и прочую залyпу, которая меня не eбeт и лазеть по тоннам форумов как склеить все это дeрьмищe вместе. У меня есть только быдлoкoд который пишу и дeбажу через отладчик, для тяжелых случаев есть листинг. Со скрипом вроде встал gcc version 5.4.0 (AVR_8_bit_GNU_Toolchain_3.6.2_1759)
>>348428 Есть скрин этой VS с сеансом отладки, в котором можно в реальном времени наблюдать состояние периферии, ставить точки останова, просматривать-менять память и пошагoво выполнять быдлoкoд?
>>348447 >Есть скрин этой VS с сеансом отладки https://visualgdb.com/tutorials/avr/ Можно обойтись и без этого плагина, но тогда не будет того окошка с регистрами. Я сам пользуюсь не VS а CLion, но смысл тот же. GDB поддерживает большинство IDE, CMake или хотя бы просто Make тоже поддерживают многие IDE. Поэтому для микроконтроллеров можно без проблем использовать самые разные IDE.
>>348407 >nRF24I01+PA >паять проводок вместо идущей в комплекте ЗАМЕЧАТЕЛЬНОЙ антенны на ~1000 метров ЧТОЖТЫСУКАДЕЛАЕШЬ?! Меня же на части разорвало от смеха! Это на nRF24I01+ надо два проводка, чтобы он вместо ~50м давал ~70м дальности. Не уродствуй рабочую технику.
>>348404 >Поэтому вина сломанного самолета полностью на передатчиках Глупый винит инструменты, умный ищет свои ошибки. А ты просто засранец. И не 32мм, а 27мм с противовесом от "земли" тоже 27мм.
>>338524 >Чего блядь? Как раз и надо вкатываться прямо в аттини, а не в это все ардуино, нихуя там сложного нет. лол, я сегодня вчера-сегодня сделал первые шаги. до этого только на пыхах и джаве катался.
>>348618 ну ну я так то хотел видио сделать, но там особо рассказываться не будет. Просто как на картинках пошагово собертся корпус вставится электроника , напечатается код. Ну я так себе видио представляю которое хочу выложить, но так как кадров с полетами нету поэтому пока не выкладываю.
Ребзи, есть модуль блюетух HC-06 из китая, который вроде работает, то бишь есть связь с телефоном и передача данных на ардуино, но вот на АТ команды он никак не отвечает, ни через ардуино, ни через терминал на пекарне USB-TTL. Это китайцы бракоделы намудрили или же ноги какие замкнуть? В интернетах написано что должно отвечать тупо OK на команду AT, но в ответ тишина, RX TX менял местами, скорости тоже пробовал менять, хотя передача данных в готовом проекте робит на 9600 без проблем, но мне нужно сменить SSID
>>348881 Ок, кажется пидарасы китайцы прислали HC-05 и тупо его переименовали, т.к. на АТ команды стало отвечать после добавления галочек +CR и CR=CR+LF в терминале, тогда как HC-06 должен отвечать без доп. символов.
>>348970 Дай пруфы. Ни разу не слышал о сгоревших светодиодах, когда резистор ставят со стороны анодного или катодного вывода. Это одна цепь, ток одинаков и без разницы где резистор ставить.
>>348957 Да потому что говнокод, на самом-то деле. Был случай, что написано CR+LF, а оказалось LF+CR, либо только CR. Китаец взял СС2500 или подобный, запихнул туда свой код и продал. А ещё HC-05 b 06 горят, если RXD и TXD местами перепутать.
Хочу запилить управление светом в ванной удаленно, например с телефона что бы сутрища не охуевать с того как 4 светодиодных прожектора светят в мое не проснувшееся ебало, а включать сначала один самый дальний. Вырисовывается такой набор: ардуина, блютус модуль, платка с релюхами на 230В и какой-нибудь блок питания для всего этого. По железу все понятно, а вот по софту - нет. Как запрограммировать ардуине взаимодействие с блютус модулем? Как написать на ведроит программу, которая сможет подавать команды на включение и выключение светильников (а не ебаться с отправкой в консоль вручную)? Есть ли какие-то стандартные решения? Что-то мне подсказывает что есть и полно, а я тут изобретаю велосипед.
А, забыл почему именно удаленное включение - тупо потому что не хочется делать какие-то дополнительные хардварные кнопки и проводку под них.
>>349029 >Есть ли какие-то стандартные решения? Esphomelib/tasmota/espurna/espeasy но оно больше рассчитано на работу с контроллером, чем на прямое управление с телефона. А вообще удаленное управление тебе не нужно. Поставь светодиодные лампы с диммером, сделай софтстарт и два режима яркости (аля день и поссать ночью)
Т.е. 5 диодов моргают одновременно. На бредборде работает нормально, но когда ставлю в пикрил, мигает только BP2(оранжевый шрифт). Или когда присодиняю диод к ПБ1 и земле - горят ПБ2-оранжевый и ПБ1. Когда присоединяю диод к ПБ2+земля он не говрит, а ПБ2-оранжеый гаснет. БП3-5 вообще не горят на на прикриле. В чём суть этой ебучей платки?
>>349046 Какую-то хуйню несешь. Давай с начала - есть всего 8 ног, из них 2 питание и 1 сброс, остается 5 ног. По первому пункту верю. Взяв платку - уже вижу как минимум USB порт (программный что ле? или он только для питания), который занимает 2 вывода - остается 3 доступных вывода. На самой плате вижу 2 светодиода, допустим один точно какой-то из выводов, другой - или питание или вывод. Через какую жопу подключил 5 светодиодов? Где картинка?
Господа, такой вопросик: Запилил я тут гирлянду на 2812 ленте, но поскольку я у мамы инженер, а не погромист, то код взял из проекта товарища Gyvera, конкретней отсюда: https://alexgyver.ru/ws2812b-fx/ Все завелось и все хорошо, однако я хочу добавить управление яркостью данной ленты при помощи потенциометра, дабы по ночам гирлянда не мешала спать, а днем светилась ярко и сочно. Но поскольку я не могу даже в hello world, прошу вашей помощи. Подскажите, как надо дополнить код прошивки, чтобы она научилась менять яркость по потенциометру и за одно осоветуйте книг для совсем зеленого нуба, дабы не возникало впредь таких зашкварных вопросов. Заранее благодарен.
>>349188 И зачем ты связался с этим велосипедом? Для управления светом есть специализированные протоколы и софт. DMX Берешь esp8266, делаешь из нее ArtNet интерфейс и управляешь через Daslight или любой другой софт. https://github.com/mtongnz/ESP8266_ArtNetNode_v2
>>349199 Ну пердулинкой я решил обмазаться из за ее дикой популярности на ютубе. Когда из каждого холодильника кричат о ней, сложно не заинтересоваться. Нашел себе самый простой проект, который будет максимально полезен в хозяйстве (новый год, а тут не унылая китайская гирлянда, а умная, всеми цветами переливается, красива) и решил на нем познакомиться с тем, что это вообще такое и с чем едят. За одно хоть как то вкатиться в погромирование, в котором я нуб абсолютный. Все собрал, все завел, работает отлично, однако дополнить готовый проект такой простой функцией как регулятор яркости я не смог. Вроде и манов куча и код хорошо прокомментирован, а все равно не заводится как надо. Вот решил испросить совета у бывалых радачеров.
Вопрос: можно ли ардуину использовать как передатчик информации?
Например, я у меня есть два режима: 1. ардуино берет инфу с мыши и потом что-то там делает с ней 2. данные с мыши тупо проходят сквозь ардуино к компьютеру, как будто ардуины не существует.
>>335724 (OP) прошу пояснить одну вещь. максимально допустимый ток через одну ножку на atmega8a = 40 мА, однако там ничего не сказано, при каком duty cycle это считается. если я буду пускать через эту ногу ток для запитки нескольких светодиодов в параллель суммарной силой 80 мА со скважность 0.5 и периодом 1 мс - это будет считаться превышением? вообще, где можно нарыть инфу на предельный ток через ножку при использовании pwm (и параметры самого pwm в таком случае)?
>>349281 Один крайний пин потенциометра на землю, другой крайний - на 5 вольт. Средний пин потенциомерта на аналоговый вход, A7, например. И вот тут его пропиши (пик). Все заведется.
>>349417 Это смотря какая ардуина и какая мышка. Если мышка PS/2, то это довольно легко. Раньше еще были мышки с RS-232, их поддержка вроде как до сих пор в винде осталась. Только сейчас везде USB вместо PS/2. Для AVR есть всякие v-usb, в том числе и реализация хоста, но сомневаюсь что получится сделать два программных USB одновременно.
>>349427 Будет превышением. Потому что допустимый ток это не только ток при котором оно не горит, но еще и ток при котором логические уровни находятся в заданных пределах. >для запитки нескольких светодиодов Учитывай ограничение по суммарному току. Обычно в даташитах пишут максимальный суммарный ток VCC.
>>349449 Да, суммарный ток у меня в пределах допустимого для порта и чипа в целом, так что тут проблем нет. Однако ещё такой вопрос. Я запитываю Мегу от 3 вольт (в данный момент от usbasp с 3.33 вольта, в дальнейшем собираюсь от 18650 баночки), bod выставлен на 2.7 вольта. В дате сказано, что минимальный вольтаж на выходе с ноги при 3V, 10mA может быть 2.2 вольта. На что ориентироваться при расчете токоограничительного резистора- на возможный минимум (тогда мне нужен резюк на 69 ом), на мое напряжение Vcc (которое по предварительным оценкам не очень сильно проседает от 3.33 вольт) или проводить какую-то эмпирическую калибровку? Для светодиодов (сегментов индикатора) калибровку ВАХ я уже сделал, падение напряжения там меняется от 1.7 до 2.1 вольт в диапазоне приемлемых токов, поэтому не хочется обосраться с жирным резюком, если вдруг мега будет выдавать только 2.2 вольта... Если нужно, могу подробную схему подключения приложить
>>349463 >Так USB это и есть PS/2 Это вовсе не так. Некоторые мышки определяют куда их воткнули и потом работают в соответствии с этим. И это еще вопрос, какая часть современных мышек может так работать. Если у тебя возникает такой вопрос, то сомнительно что ты сам сможешь написать код, максимум сможешь откуда-то скопировать.
>>349789 >свои программаторы Вроде как не совсем. STM32 можно через UART прошивать, так же как ардуину с загрузчиком. >свои языки Это как? Можешь подробнее разъяснить?
>>349789 какие нахуй свои языки даун? все таже синятина или кресты для особо упоротой школоты сисярп... хотя если постараца то и под бейсик можно кампилятор найти. и какие нахуй ф пизду свои погроматоры???
>>349866 А ты любитель изобретения велосипедов, я погляжу. Зачем тогда пользуешься кривым японским двачом в тупом пиндосском интернете? Напиши лучше свой интернет.
>>349876 Тот шизик прав. Нет смысла хардкодить в библиотеках взаимодействие с периферией конкретного микроконтроллера. Как пример, в lwip, FatFs, FreeRTOS такого практически нет. А ту маленькую часть кода, необходимого для связи библиотеки с периферией конкретного микроконтроллера, недолго написать самостоятельно, если потребуется.
>>335724 (OP) Сап, ra, я к тебе с вопросами. Короче, есть тут у меня один проектик. Даже программа, я бы сказал В общем мне посоветовали STM32F103C8T6 для моих целей. Я так понимаю работать с ней не сложнее чем ардуиной? Задачи следующие: обработать данные с акселерометра и барометра и записывать их. Ну там в простой txt файл хотя бы. Реализовать запись данных несложно?
>>349943 Систему управления возвратом ракеты. Все до балды примитивно. Когда аксеоерометр зафиксирует невесомость, пойдет замер давления. Как только давление начнет расти ну то есть апогей будетдостигнут система раскрывает парашют. Параллельно записывая данные. Переводить в высоту уже можно и потом. В принципе меня волнует только запись. Внутренней памяти хватит? И как потом оттуда доставать эти данные?
>>349949 это все лишнее я ходил в ракетомодельный кружек задавай ответы расскажу да и зачем мучиться 1 вариант автоспасатель - смотри твердотопливный движок догорел в его верхушке несколько маленьких отверстий сверху пирозаряд для выталкивания парашюта
2 вариант на хоббикинге есть готовые флешки альтиметры и акселерометры с записью показателей полета ускорение высота и прочее
3 берешь ардуину и например раз в секунду пишешь в епром свои данные или на флешку в текстовом формате, датчик давления лучше используй хоть узнаешь высоту на которую твоя ракета подлетит
Ардуинач, я хочу сделать манипулятор для дрочки держания всякой хуйни, и ему для этого требуется как минимум две сервы, а лучше даже три или четыре. Они напрямую не подключаются, только через драйвер. Хватит ли пинов на Нано, и что еще потребуется? Сервы за доллар вряд ли подойдут, пушто там усилие полкилограмма
>>349955 MeArm я собирал, вполне весело. И тебе потребуется 4 ноги. Только советую на одном порту и самому написать обработчик, чтобы сервы меньше дергались.
>>349950 > 1 вариант автоспасатель - смотри твердотопливный движок догорел в его верхушке несколько маленьких отверстий сверху пирозаряд для выталкивания парашюта У меня профиль горения не тот. Догарает последним сбоку, а не сверху > 2 вариант на хоббикинге есть готовые флешки альтиметры и акселерометры с записью показателей полета ускорение высота и прочее Потом хочу на основе этого запилить стабилизатор с гиродинами, так что нет > 3 берешь ардуину и например раз в секунду пишешь в епром свои данные или на флешку в текстовом формате, датчик давления лучше используй хоть узнаешь высоту на которую твоя ракета подлетит Епром? А на sd карту можно?
Сап, дващ ! Помогите разобраться, а то не догоняю чет. Внизу код из книжки Джереми Блюма из темы как бороться с дребезгом контактов кнопки. Непонятна строка boolean debounse(boolean last). Что в этой строке значат скобки? Булеан это же просто тип данных и он не имеет аргумента , как читается эта строка кода и что она делает ? И второй вопрос: функция return , возвращает значение, что значит эта фраза? куда она его возвращает это значение ? Объясните пожалуйста , не одупляю чет
// переменные с пинами подключенных устройств int switchPin = 8; int ledPin = 11;
// переменные для хранения состояния кнопки и светодиода boolean lastButton = LOW; boolean currentButton = LOW; int ledLevel = 0;
>>349997 Ебать, тебе надо основы си изучить, ардуина тут не причем. Ответь на такие вопросы: что такое функция, как в си передаются аргументы функции, как функция возвращает результат. Гугл в помощь.
>>350015 Я в зачаточном состоянии изучения, мне бы только понять почему так сделано с этими скобками boolean debounse(boolean last). Это типо локальная переменная объявляется так ?
>>349977 да конечно можно погляди уроки работы с модулем сд карты, да и мой тебе совет делай капсулу спасения например как картонный патрон чтоб наружу торчали только провода , все пространство капсулы спасения либо залей чем нибудь либо засыпь плотно потому как падение ракеты с пары километров убьет твою махарайку
>>350092 Я вроде разобрался. Сначала мы объявляем и описываем как будет работать эта функция в void setup() . Здесь (boolean last) просто аргумент. Изначально я думал что туда (в boolean last) при инициализации что-то должно прилетать, какое то конкретное значение переменной.
boolean debounse(boolean last) { boolean current = digitalRead(switchPin); if(last != current) { delay(5); current = digitalRead(switchPin); } return current; }
Затем начинается void loop() { currentButton = debounse(lastButton);
А тут, уже в void loop() {, как понимаю мы вызываем функцию debounse с аргументом (lastButton) , то есть вместо (boolean last) подставили нужную нам и она автоматом будет меняться при вызове. Я все так понял ?
>>349958 >MeArm Господа, а есть подобные проекты но для самостоятельного выпиливания? С чертежами там, из доступных материалов и без механизации процессов. Считаю покупку и сборку набора слишком простой задачей для подобных проектов, ведь вся их суть в процессе создания, а не каком то прикладном использовании Если конечно не пилить пик
>>350101 >для самостоятельного выпиливания Погоди, зачем выпиливаться таким сложным способом? А если ты такими интересные вещами интересуешься, то почему решил выпилиться?
>>349977 Если sd карту использовать как RAW, без смазки в виде FAT, то скорость записи на блок из 512 байт может достигать 32-64 микросекунд или миллисекунд, уже не помню.
Короче я сначала не туда спросил, но помощь всё ещё нужна
Аноним25/12/18 Втр 14:58:51№350848720
Короче, первый раз сюда пишу, если что сорян. Нашёл у себя пикрил, купленный три года назад на алике и решил слепить из неё какую-нибудь вундервафлю, и вот второй день уже не могу разобраться как она работает. По идее - должна позволять мне с условной ардуиной управлять четырьмя движками так. На практике я подключаюсь к IN1 и IN2 для контроля направления вращения и нифига не происходит. Движение начинается только когда я жмакаю на белую кнопку и задерживаю где-то посередине (нажимаю но не до конца) . Короче объясните плиз нафига здесь эта кнопка, так как раньше я делал всё на L298N и для двух движков (цэ L293D) и там никогда подобной ерунды не было.
Смотрите что в бэ творится. Попробую опа сюда заманить. https://2ch.hk/b/res/188609279.html > Сап, хотелось бы попросить помощи тут. В тематике мало людей. > > Нашел данную плату на чердаке, рядом с жилыми квартирами. Хотелось бы узнать что за плата. Там виден разъем usb, видимо для записи программы, которая будет исполнятся. Так как там была антенна, видимо перехватывали вайфай. Двач помоги пожалуйста
Приехал ко мне этот китайский набор. Ждал почти месяц. Не могу нарадоваться, да и платка вроде не на соплях спаяна, когда это китайцы научились ебашить хотя бы немного не говно?
>>350971 Давно уже, когда поняли, что надо заваливать мир не только конечным говном, но и делать платы на заказ за немалые деньги. Оборудования для качественного монтажа там теперь полно.
>>350972 Слушай, вопрос возник. В шапке треда есть обучалка от амперки и книги от Ревича по микроконтроллерам, но я так понимаю, что нужно так же уметь схемы проектировать. Где по этой теме книги взять?
>>350954 Безконтактный детектор. Например, открытия двери. Удобно, когда устройство нужно разместить незаметно и на расстоянии от объекта наблюдения
Ардуина и электроспички
Аноним01/01/19 Втр 15:53:17№351438753
>>335724 (OP) Думаю, принцип работы электоспички тут все знают. По идее 5 В должно хватить для зажигания. Если такую спичку подключить в gnd и цифровой порт - не спалю ардуину?
>>351438 Открой даташит на ссаную атмегу и посмотри какой там максимальный выходной ток у портов. И сравни это с током потребляемым твоей электроспичкой, причем не средним, а максимальным.
Есть один светодиод, в одной программе он горит ярко, в другой - с кнопкой - еле виден. Схема на пике. В радиотехнике разбираюсь плохо. ЧЯДНТ? Код: void setup() { #define led_p 8 #define button_p 2 pinMode (2, INPUT); pinMode (7, OUTPUT);
>>351681 Все в микроконтроллере это регистры. Можно бит байта регистра обозначить как константу, причём как входного регистра и получить ВХОД, так и выходного регистра и получить ВЫХОД. #define PINB.2 IN_A #define PORTD.6 OUT_A Имеют смысл и работают.
>>351683 Ты неправильно объясняешь, а может и сам не знаешь. Впрочем, от пердуинщиков не стоит ожидать даже знания сишечки.
#define — это директива препроцессора. Перед тем как приступить непосредственно к компиляции, компилятор прогоняет исходники через препроцессор. Препроцессор один раз проходит по тексту и производит замены в тексте в соответствии с тем что прописали в #define. Также препроцессор включает в текст содержимое файлов, которые прописали в #include, обрабатывает #ifdef и прочее. Например, ты написал >#define button_p 2 Это означает что препроцессор заменит в тексте button_p на 2. Возможно тебе покажется что разницы между этим и константой нет, но это вовсе не так, т.к. подставляться при замене абсолютно любой текст.
>>351700 Хуй знает, в даташите написано максимум 1гб, но на форуме пердуины пишут что и некоторые модели на 2гб работают, но не все. Китайские модули как всегда сделаны через жопу.
Сап, посоны. Давно хочу вкатиться в схемотехнику и микроконтроллеры, но нихуя в этом не понимаю. Поможет ли мне эта ваша Ардуина разобраться с основами, чтобы потом если зайдёт, то перекатиться куда посерьёзнее? Стартовый набор из оп-поста норм тема же?
>>351864 Мне кажется нет. В пердуине же только логика в большинстве случаев, а это не отличается от быдлокодинга на компе, все условно низкоуровневое спрятано + тут НЕТ отладчика. Только срать в компорт или зажигать светодиоды. Других вариантов отладки нет. Для выкатывания из темы нужен хотя бы минимальный низкоуровневый кодинг на уровне регистров и раскуривания документации чтобы не задавать миллион вопрос - почему не работает, слишком медленно работает, есть ли возможность это сделать, какин нужные фичи есть у (название периферийного блока)? Если собрался делать наебизнес - забудь. С кетаем не посоревнуешься, работать на кого-то - дворники и то больше получают. Добро пожаловать на днище, в мир Embedded!
>>351869 >минимальный низкоуровневый кодинг на уровне регистров Тебе никто не мешает низкоуровнево кодить на пердуине. Даже IDE переваривает это насилие.
>>351872 Это да, но тот шизик в одном все же прав — нет нормальной отладки. Если собрался "низкоуровнево кодить", то отладка будет весьма полезна. А для вката в схемотехенику что пердуино ИДЕ, что в машинных кодах писать, одинаково бесполезно будет.
Онаний, нужен совет. Появилась возможность поковыряться с ESP чипами. Что будет оптимальнее взять - esp8266 или esp32? Последний вроде как новее и по характеристикам лучше будет. Далее вопрос про, скажем так, физическое воплощение. У ЧипДип тот же esp8266 продается в нескольких вариантах которые относятся к Wi-Fi адапетрам https://www.chipdip.ru/catalog-show/wireless-modules?gq=ESP8266 Который из них лучше выбрать? Или там особой разницы вообще нет? Покупать буду на алике, там дешевле выйдет.
>>352237 >В финальных устройствах же dev плату не здорово использовать. С одной стороны конешно да, но с другой - не везде компактность необходима, а в остальном с dev board ты за дополнительные 100 руб получаешь немало важных плюшек:
легкость пайки 2.54мм ног, готовое стабилизированное питание, емкостную и резисторную обвязку, возможность установки в разъем для оперативной замены/перепрошивки в случае чего, готовое подключение к usb компа для ввода текста или логгирования данных через ком-порт.
>>335724 (OP) Здорова. Кто нибудь итт встраивал ардуину куда-то или все так только мигали светодиодом? Короче мне надо спроектировать корпус для ардуино нано, реле и барометра. Есть какие программы? Хочу это печатать на 3д принтере. При этом говно и палки не подойдут, так как это всё должно держаться крепко и не развалиться нахуй от перегрузки в 3g. Корпус должен представлять из себя цилиндр, диаметром не более 4 см. И какой туда источник питания можно запихнуть? Кроновую батарейку?
>>352622 А примерные координаты, куда полетит твой «барометр» полетит, можешь привести? Я бы не на барометрическом взрывателе запилил, а на pixy 2 нейросетку обучил.
Есть одна ардуина uno, к которой подключен температурный датчик TMP36. Датчик подключен к 5в и аналоговому порту, соответственно и при преобразовании аналога в цифру использую 5. Пока arduino подключена к компу с помощью usb - все норм, показывает температуру у меня в комнате. Как только подключаю в разъём питания, то показывает температуру, которая в три раза больше чем есть на самом деле. Где я мог объебаться?
>>352622 Развести самому плату под готовый корпус никак? >Хочу это печатать на 3д принтере. Печатать корпуса на тридэ принтере - дурацкое занятие, слишком низкое качество.
>>352701 Если сделать все на одной более маленькой плате, то будет намного прочнее. Логично? Все это можно спокойно разместить на плате 15х15 мм, а то и меньше. Корпус хоть из бумаги склей и напихай внутрь чего-нибудь мягкого. Или возьми любую подходящую по размеру пластмассовую баночку. Это будет намного прочнее чем слоеный пластик от принтера. В качестве батарейки можно взять две штуки мелких литиевых CR1220 или CR1616.
>>352622 Лол, проверь свой барометр, у него должно быть что-то типа INT... хотя стой, это же песочница. Парашютный стакан под ракету делаешь? Реле 5В масса, проще транзистор N-MOSFET логического уровня, типа 06N03. Tinkercad.com -> и делай свой стакан.
>>352721 У меня корпуса из "слоеного пластика" проданы танцевальным группам, они в них прыгают и скачут, корпуса не разваливаются. Они битые, паленые уже начинкой, так как ни один раз сжигали их. Конструкционно напечатанный корпус имеет 75% прочности от литого, ИМХО. И то, если просто коробочка. Если форму задать рифленую, то и выше.
>>352622 И ещё, встраивать ардуину - плохой тон. Правило простое - чем больше контактов на пути сигнала, тем ниже надежность. А дуина вообще макетная плата.
>>352723 Молодец, только подобный корпус из бумаги все равно будет лучше выдерживать падение. Или можно просто из пеноплекса вырезать цилиндрик. И еще без всяких принтеров несложно сделать такой корпус из стеклопластика. Ну и нафиг 3Д принтеры для таких вещей?
>>352724 >чем больше контактов на пути сигнала, тем ниже надежность. Если бы дело было только в этом, то можно было бы просто припаять.
>>352726 А проще взять баночку из под плёнки, две. Или цилиндр пластиковый любой другой. Просто взять катушку пластика и нарисовать цилиндр нужной формы, а не пилить его из чего-то - проще. Но заменяет одни навыки другими.
>>352726 >Если бы дело было только в этом, то можно было бы просто припаять. Так дело не только в этом, дело в том, что дуина перебор по параметрам очень часто. Для считывания аналогового сигнала с барометра, а потом принятия решения о включении парашюта - достаточно и ATTiny13-45-85. Либо вообще компаратор и резистор, и никаких ISP, МК и резисторов на подтяжку RESET. Но тут же песочница, хватит о высоком.
>>352730 >Просто взять катушку пластика и нарисовать цилиндр нужной формы, а не пилить его из чего-то - проще. Сомнительно. Тем более что для начала нужно купить сам принтер, потратить кучу времени и ради чего? Ладно еще всякие игрушки печатать, но для корпусов польза мизерная.
>>352731 >перебор по параметрам очень часто. Про избыточность бессмысленно писать, если только про цену. К примеру, ATSAMD09C13A-SSUT и ATTINY20-XUR стоят примерно одинаково. Но для разовых самоделок это тоже не важно. >ATTiny13-45-85 Так это и есть ардуина. >Либо вообще компаратор и резистор Как мне кажется, оно должно срабатывать не на заданной высоте, а когда ракета начнет падать. Поэтому просто срабатывание по уровню сигнала не подойдет. Самое главное, наиболее популярные и дешевые барометры не имеют аналогового выхода, только I2C. Также этот анон вроде как хотел записывать показания барометра.
>>352721 >Если сделать все на одной более маленькой плате >>352724 Кажется "корпус" имеет в вашем контексте какое-то строго определенное значение и не такое, какое я подразумеваю. Этот >>352722 прав. Нужно сделать отсек для электроники, то есть ардуино нано, барометр, реле, батарея. Отсек это цилиндр, диаметром не более 4 см и высотой не более 10. Под ним бустер, над ним - обтекатель с парашютом. Задача простая, закрепить все это внутри, чтобы оно пережило полет. Учитывая, что ускоритель у меня на сорбитовой карамели и форма шашки - цилиндр с цилндрическим каналом, тяговоруженность там может быть от 5 и выше. Собственно вопрос: из чего лучше сделать отсек и как крепить? Крепить так, чтобы потом это можно было вытащить
>>352746 Как ты себе это представляешь? Ну посмотри видео на ютубе, почитай руководства к САПР-ам. Почитай соответствующий тред https://2ch.hk/ra/res/107196.html >Сомневаюсь, что транзистор выдержит такой ток Спокойно выдержит. IRFTS8342TRPBF на 8 А, корпус 3х3 мм. В корпусе TO-220 уже до десятков ампер.
>>352760 Ну есть разные варианты. 1. Прикрутить винтом с гайкой. Если сделаешь на одной маленькой плате, то хватит пары винтов. 2. Прикрутить саморезами. 3. Приклеить. Можно еще залить герметиком/эпоксидкой. 4. Закрепить в маленькой коробочке и крепить уже ее. 5. Завернуть во что-нибудь мягкое и просто засунуть в "отсек для электроники".
Ладно еще когда у тебя три довольно больших платы, соединенные проводами, действительно будут некоторые трудности. Но если плата меньше двух сантиметров то крепи ее как угодно. При чем тут вообще пердуина?
>>352764 >1. Прикрутить винтом с гайкой. Если сделаешь на одной маленькой плате, то хватит пары винтов. >2. Прикрутить саморезами. Снаружи цилиндра ничего не должно торчать, очевидно же. >3. Приклеить. Можно еще залить герметиком/эпоксидкой. Тогда это не вытащить >4. Закрепить в маленькой коробочке и крепить уже ее. Хм >5. Завернуть во что-нибудь мягкое и просто засунуть в "отсек для электроники". Ебанет
>Ладно еще когда у тебя три довольно больших платы, соединенные проводами, действительно будут некоторые трудности Да. Я не умею в теорию цепей, зато умею в програмирование.
>>352767 >Тогда это не вытащить Бери винты с потайной головкой. >Ебанет Ошибаешься. Нормальная плата вместе с батарейкой будет намного меньше твоего отсека. Или можно сделать круглую плату, в соответствии с диаметром твоего отсека. Плату тогда засовываешь между двумя прокладками из пенопласта. Микроконтроллер в корпусе 14-TSSOP на плате займет 7х7 мм, транзистор 3х3 мм, несколько резисторов и конденсаторов в корпусе 0603 по 2,5х1,5 мм, сам барометр 4х4 мм. Это совсем маленькая фигнюшка получается. Хоть в колпачок от фломастера влезет вместе с батарейками.
На пустом месте проблемы придумываешь. Ладно бы еще о центре тяжести беспокоился, а так вообще не понимаю твоих проблем.
>>352733 В Attiny85 влезает простой алгоритм и сам I2C. Attiny и иже с ними не дуина, бутлоадер не используется по-умолчанию. >>352746 Электроспичка включается и при токе 1А, главное пороху добавить и "спираль" достаточную. У меня 06N03 справляется и поэтому пишу все про них. Гораздо важнее какая батарея и куда ты ее всунешь. Ли-по хоть и дают 10-20 своих объемов на раз, все равно для спички нужен минимум 1А.
Анчоусы, добрый день. "Программирую" атмеги/атиайни по кускам программ найденых в нете. Хочу по лучше разобраца с коммандами и пропертями типа DDRB, PORTB и _delay_ms(). Где об этом почитать? Программирую через атмел студио 7.
Пацаны, есть вытяжной вентилятор, хочу, чтобы он автоматически включался/отключался при достижении определенных значений уровней влажности в помещении. Подойдет для этих целей ардуино и какой-нибудь датчик влажности (какой именно?). Что еще нужно для сбора этой штуки?
>>352857 Дуинщики обычно, когда вентиль делают на 220В, то питание делают херово и дуины горят, он об этом. Обычно 5В источника для заряда сотового хватает, но я бы поставил предохранитель.
Почему я не могу найти в сети гайды по подключению мышиных сенсоров к ардуинам? Чтобы просто вот взять любую дженерик мышь, подключить к леонарде и юзать, внезапно, как мышь.
>>352973 Обыкновенный SPI, все команды расписаны, что сложного то? Или можно взять сразу с PS/2 выходом, будет универсальнее. Какие нафиг гайды для такого?
>>352973 Кроме сенсора нужна еще линза. Так что проще из ненужной мыши добыть. >>352970 Качаешь даташит на сенсор, если он не нонейм. Изучаешь. Пишешь свой код. Какие проблемы? >Почему я не могу найти в сети гайды по подключению мышиных сенсоров к ардуинам? Почему я нашел за 5 секунд в гугле? Вангую, ты просто безнадежный дегенерат из поколения 00х. https://hackteria.org/wiki/Hacked_Optical_Mouse
>>352981 Да нигде не любят быдланов "в интернете мне все должны принести на блюдечке, а то я до гугла не дотягиваюсь", просто тут не стесняются об этом сказать.
Нужно собрать устройство. До этого делал только аналоговые. Суть в чём. Должно быть условно три режима работы. В первом режиме. Стартовый сигнал будет давать отдельный таймер (использую его что бы по ходу дела можно было без ноута сразу поменять интервал срабатывания) По сигналу должен провернуться шагоход на заданный градус и сработать одно реле на заданное время. Ещё одно реле должно быть постоянно включено. Во втором режиме. Всё тоже самое, только вместо таймера будет геркон (надо ли делать подавление дребезга или для ардуины не критично?) В третьем режиме должно быть два источника сигнала. Первое, по срабатыванию таймера срабатывает одно реле на заданное время и отключается то реле которое в первом этапе было включено. А по сигналу геркона срабатывает шаговый двигатель и после его срабатывание снова включается реле которое отключилось и ждёт следующего сигнала таймера. Работать всё должно в бесконечном цикле. Переключаться между режимами буду галетником, просто меняя источники сигнала. Это вообще реализуемо? И если да, то на сколько сложно. Подскажите. Может можно из каких то готовых кусков скетчей собрать.
>>352986 Да, реализуемо на самом базовом (школьном) уровне. Работа с герконами, реле и задержками таймера не требует какой-то внешней библиотеки, она понадобится только для работы с шаговым двигателем. Подавление дребезга тоже реализуется программно простейшими приемами.
>>352987 Да, уже прочёл что можно просто задержку выставив. Про релейный блок вроде разобрался. Можно про шаговик поподробнее? И можно ли вместо ардуинного блока просто реле взять обычные?
Суп, пердуинщики и аврщики. Треда по авр не нашёл, поэтому спрошу здесь. Есть атмеги16 и аттини2313. Хотет запилить на чём-нибудь из этого хронометр. Принцип, думаю, оптический, т.е. труба, на обоих концах которой излучатель и приемник. Пуля сначала прерывает луч первой пары, вызывает прерывание, запускающее таймер, а потом прерывает луч второй пары, аналогично запускающее интеррупт, в котором отключается таймер. Далее производятся расчеты и вывод на семисегментник скорости. Вопрос: возможно ли на этих МК сделать такое, чтобы не с особо длинной трубой и как не проебаться с расчетами. Какие лучше источник и приемник взять, чтоб не сгорели нахуй от пороховых газов хотя бы в первые несколько выстрелов. Заранее сотни нефти.
>>353067 >аналогично запускающее интеррупт Так не стоит делать. Не знаю как в пердуинах, но во многих микроконтроллерах в таймерах есть режим захвата. Советую почитать про это. Проблема в том, что во многих микроконтроллерах (уточни как это в пердуине) вход в прерывание может осуществляться за разное количество тактов, в зависимости от того какие инструкции выполнялась на момент вызова прерывания.
>>353067 Ставишь ЛАЗОР красненький, в качестве приёмника фототранзистор или фоторезистор, но тогда надо на вход компаратора AIN0 подавать напряжение фоторезистора. По прерыванию AIN_comp получаешь всё остальное. Семисегментник нафиг, ставь SPI матрицу монохромную, рекомендую. Меньше жрёт, диапазон температур достаточен.
>>353076 Правду пишешь, но период достаточно небольшой и можно крутиться в ожидании, а не выполнять что-то. Как расчет готов - отдать данные и снова только ждать прерывания.
Для пневмы то было бы просо - фотодиод/фототранзистор, подтягиваешь резюком 200-400ком к плюсу и к входу прерывания. Фоторезисторы ни в коем случае, они слишком медленные. Фототранзисторы тоже не очень быстрые, на огнестрельных скоростях пулю могут и не заметить.
Для огнестрельного тебе надо собирать рамочный (2 вряда фотодатчиков) чтобы могло работать вдали от оружия. Т.е. надо точно рассчитать большую рамку так, чтобы пуля пролетая гарантированно один из датчиков затемняла.
Ну или бичевский вариант - датчики пробивные из двух листов фольги. Каждый выстрел - менять
Ньюфаг вкатился. На Ютубе один чел сказал, что поскольку ток протекает от положительного заряда к отрицательному, то резистор нужно ставить через анод диода, но на пике они стоят там где катод, это как то связано с тем что в схеме подстроечный резистор участвует или почему?
>>353157 >На Ютубе один чел сказал, что поскольку ток протекает от положительного заряда к отрицательному, то резистор нужно ставить через анод диода Тоже смотришь канал Густава Кирхгофа?
GND ---|<|---- /\/\/\/----- +V делают только потому, чтобы проще было напругу на диоде измерять (относительно GND), если надо, а так же меньше проводов вести, если диоды от резюков отдельно.
Ебаный рот. Я уже несколько раз охуел от этого. Можете объяснить, какого хуя serialPCread выполняется дважды? Оно же должно выполниться один раз и вывести то, что я вбил в COM порт. Тут пытался AT
Сап микроконтроллеробоги! Как добавить в крайний релиз ардуино идэ 13тиньку? Положил в папку хардваре тини13 мастер, и хоть бы что. С другими версиями ядра тиньки все ок, только 13 нет...
>>353237 Попробуй вывести значения i после while. вероятно после serial.read .available = 0 становится. Ну или в буфере для чтения 1 байт доступен каждую итерацию главного лупа.
>>353358 налил на руки фейспальмовое масло и потирает лицо 0 же, всегда 0 же, запомни, переменная после объявления равна 0, если не была объявлена с другим значением.
>>353358 Зависит от ситуации. Если отвечать в общем - любое значение, которое окажется в памяти после запуска системы. GCC вроде при старте/перезагрузке обнуляет всю память и будет значение 0. Если сам быдлокодишь на асме - при первом запуске будет что угодно, после программной перезагрузки МК - останется старое значение, которое было до перезагрузки (если ты не эстет, который при старте инициализирует переменные). Мониторить очень просто - смотришь map файл - по каким адресам какие переменные живут, далее View->Memory (Alt+4), выбираешь Data memory, переходишь на нужный адрес и видишь значение и своей переменной, и соседних тоже.
>>353360 >всегда 0 же Что-то мне подсказывает, что ты пиздишь. При объявлении переменной, просто выделяется участок памяти, а какое в нем значение, знает только Б-г волшебного дыма. А вот когда ты присваиваешь значение, тогда и записывается оное в память.
>>353368 Ну ладно. Просто по старым книгам помню, что везде рекомендовали явно присваивать значение объявленной переменной, дабы потом не бегать с горящей сракой в поисках ошибки.
>>353372 А чо такого то? Проблемы тут могут быть только динамическими переменными, которые объявляешь через malloc/new, вот они не инициализируются сами.
Сап Аноний! Есть два стула ноутбука На одном пики точеныардуино иде 1.8.8 на другом хуи дроченытоже самое Так вот, при компиляции одного и того же скетча, на одно м всё ок, на другом рандомные баги.. В чём суть?
Господа, посоветуйте, пожалуйста, книгу по физике и схемотехнике для вкатывальщика. Вообще, думаю взять набор от амперки, но думаю, что там вряд ли достаточный уровень знаний для создания чего-то своими руками. Посоветуете чего-нибудь?
>>353393 Решено, отписал в личку))) иде не мог найти avr/power.h, при том, что он был в парке плат. Решилось, как не странно, выключением.... вы готовы?!... Касперского!
Нужна вот такая штука. К ардуино подключено реле и две кнопки. Суть в чём. Первая кнопка должна запускать реле. Она может быть как коротко нажата так и быть зажатой. А вторая должна отключать. Вторая при срабатывание зажимается. Ну и далее при зажатой второй первая должна будет снова включить реле. Можно ли такое реализовать?
>>353413 >RS триггер используй и транзистор КТ972 ака BD681 Пиздец детвора ебанулась. Для этой хуйни достаточно только кнопки с нормально замкнутыми контактами, кнопки с нормально разомкнутыми и самого реле. Всё. Никаких триггеров, транзисторов, Ардуин, комплюхтеров. Пиздец какой-то.
>>353417 >>353415 Мне мотором на 24 вольта надо управлять. И мне надо что бы при зажатой из любой двух кнопок нажатие второй вызывало срабатывание или отключение.
>>353449 Если логику тестить - выбираешь AVR Simulator, задаешь частоту и в верхней левой части, где регистры и состояние ядра - будет число системных тиков и время. Если в реальной системе - максимальный делитель для 16 битного таймера и считаешь число переполнений. Раскочегарив мегу8 на внешнем кварце 16МГц, с делителем 1024 и таймере 1 - переполнение будет каждые 1024 умножить 65536 = 67 108 864 тактов, что при 16 МГц дает время переполнения около 67.1 делить 16 = 4.19с
>>353453 Блядь, научись составлять ТЗ, тебе надо "безопасную" педаль чтоли? Да, конечно реализуемо, а мы с Никитишной тебе упрощали задачу, а ты хотел совсем другого.
>>353516 http://microsin.net/programming/avr/atmega32-16-bit-timer-counter1.html "Normal Mode. Самый простой режим работы это режим Normal (WGM13:0 = 0). В этом режиме счетчик всегда считает вверх (инкрементируется), и очистка счетчика не происходит. Счетчик просто переваливает через свое максимальное 16-битное значение (MAX = 0xFFFF), и затем перезапускает счет со значения BOTTOM (0x0000). В режиме Normal флаг переполнения Timer/Counter Overflow Flag (TOV1) установится на том же самом тайте таймера, на котором регистр счетчика TCNT1 станет нулем. В этом случае флаг TOV1 ведет себя наподобие 17-го бита счетчика, кроме случаев, если он только установлен и после этого не очищен. Однако в комбинации с использованием прерывания переполнения таймера флаг TOV1 будет автоматически очищаться, и аппаратная разрешающая способность таймера может быть увеличена программно. В режиме Normal нет никаких специальных случаев, требующих учета, новое значение счетчика может быть записано в любой момент времени." Кури даташит.
>>353516 Заебся ждать симуляцию, тут делитель=1(001), а не 1024(101). После запуска МК, очистки памяти и прочей херни ядро совершило 4655 тактов или 290 микросекунд. После запуска быдлокода первый раз вывалился в прерывание на 70216 такте или 4388 микросекунд после запуска, следующий раз вывалился в прерывание на 135752 такте или 8484 микросекунды. >>> 8484-4388 = 4096 >>> 4388-290 = 4098 Вываливаюсь в прерывание каждые 4096 микросекунд, или же >>> 135752-70216 = 65536 >>> 70216-4655 = 65561 каждые 65К тиков таймера.
>>353533 На примере говнокода разобрался как считать время? > и 4 моторчика для пропеллеров Ололо. Надеюсь они постановочные и не будут включаться на полную мощность для полета-перемещения макета?
>>353369 >этот пацанячий вскукарек А хули ты так раскудахтался, петушок? Как можно обнулить тип, манюнь? Ты лучше анус себе обнули, хуесос, а то слишком много раз тебе его отъебали, лол, нагноение пошло. pidoras353369->anus->ebali_count = 0; ебана.
>>353358 >>353367 Все так, пиздит он. Единственный случай - если у тебя переменные в глобальной области видимости. Насколько я помню, по стандарту память под такие переменные обнуляется всегда. Естественно, это не касается динамической памяти, выделяемой в конструкторах таких глобальных объектов.
>>353555 >память под такие переменные обнуляется всегда. Нет такого в стандарте. На практике секция .bss обычно заполняется нулями, но можно и обнулять. Кроме того обычно не обнуляются и локальные переменные.
>>353526 Я не мучаю. Я научный сотрудник так то. И за правильные ответы зверюшка получает вкусную еду, а за неправильные ничего не получает. Мы не используем отрицательное подкрепление, так как оно неэффективно, так что никакой анальной электростимуляции не проводим.
>>353565 Есть такое в стандарте, зенки-то раскрой пошире. Какая еще секция .bss, тут стандарт С++, нахуй. https://github.com/cplusplus/draft/raw/master/papers/n4791.pdf 6.8.3.2.2 >Constant initialization is performed if a variable or temporary object with static or thread storage duration is initialized by a constant initializer (7.7) for the entity. If constant initialization is not performed, a variable with static storage duration (6.6.4.1) or thread storage duration (6.6.4.2) is zero-initialized (9.3).
Продолжаю ебать gprs модуль от сранной амперки. Дано: строка со спецсимволами Напрмер "AT\r\nOK\r\n" Задача: вывести её вместе со спецсимволами, а не применяя их Т.е. должно быть не: AT OK
>>353555 Лососни тунца, компилятор обнулят данные, если они не были явно объявлены при создании - это стандарт. А если были объявлены, то там это значение и будет.
>>353580 Ты там ебанулся или просто нуфаг? \r\n так и отображается как ПЕРЕВОД КАРЕТКИ и ВОЗВРАТ СТРОКИ, тебе надо терминал включить в отображение символов как HEX строку, иначе так и будет , как ты показал.
>не были явно объявлены >если были объявлены, то там это значение и будет А если это инстанс класса с конструктором? Тада чо будит? По этому твоему вскукареку вообще очевидно, что ты стандарт С++ и не открывал, и имеешь о нем крайне поверхностное представление. Вангую, ты просто путаешь definition, declaration, zero-, value-, default-initialization, storage durations, и еще дохуя всего на полстраницы перечисления, ну как обычный байтоеб.
Ну-ка приведи-ка мне пример переменной, объявленной неявно, долбик.
>>353586 >Ты там ебанулся или просто нуфаг? \r\n так и отображается как ПЕРЕВОД КАРЕТКИ и ВОЗВРАТ СТРОКИ, тебе надо терминал включить в отображение символов как HEX строку, иначе так и будет , как ты показал. эээ Ну короче. GPRS модуль на AT выдает: AT OK
Это записывается в символьный массив. А strcmp этого с "AT\r\nOK\r\n" не выдает 0. Хуй знает почему
>>353631 >Ну-ка приведи-ка мне пример переменной, объявленной неявно, долбик. >компилятор обнулят данные, если они не были явно объявлены при создании - это стандарт Ты бы в словах не путался. Иди на хуй, толсто.
>>353635 Строка и вектор байт - одинаковые вещи, в терминале отображаются по разному. Например "AT\r\nOK\r\n" равно {#41,#54,#13,#10,#4F,#4B}, а отображается как ты и пишешь. Кстати, многие модемы понимают не \r\n, а \n\r.
>>353631 >Ну-ка приведи-ка мне пример переменной, объявленной неявно, долбик. >компилятор обнулят данные, если они не были явно объявлены при создании - это стандарт Ты бы в словах не путался. Иди на хуй, толсто.
>>353635 Строка и вектор байт - одинаковые вещи, в терминале отображаются по разному. Например "AT\r\nOK\r\n" равно {#41,#54,#13,#10,#4F,#4B,#13,#10}, а отображается как ты и пишешь. Кстати, многие модемы понимают не \r\n, а \n\r.
>>353742 Напишу, что эта дуина-хуина. В коде запись, которая заставляет ее ждать входящих данных, из которой код скорее всего вываливается по истечению задержки ожидания, как раз может быть секунду. Лучше использовать опрос счетчика входящих байт, чем ждать байты постоянно.
тогда вопрос. пишут что этот контроллер может работать на частотах до 20мгц. как?? фьюзы ему шить нельзя, тогда отвалится усб1,1. программно частоту менять нельзя. так как тогда?? как у него меняется частота выполнения программ?
Садись, два, неси дневничок. Если не знаешь, что такое UB, или как найти главу, на которую я ссылаюсь, ты остаешься на второй год и отправляешься в специнтернат для ниишников-байтоебов.
>>353850 Это дуино тред, дуины работают на сях. В сях все переменные, которым значение не задано равны нулю. То все не явно определенные, те самые которым ничего не присвоено, равны нулю.
>>353882 >фффыфыппфффуффф Ща жопу подниму с твоего ебла, повторишь, как ты рад, что господин выебал твое гнилое очко и очко твоей мамаши-блядины. И подмоешься заодно сбегаешь.
>>353742 Сделай опрос доступных байтов. И отправляй сообщения фиксированной длины всегда. Как заполнится - читаешь и передаешь дальше по коду. Задержкой такое решать это тупо
пришел первый байт "А" - она тут же его высрала в консоль, не дожидаясь второго, тут понятно.
пришел второй байт "Т" - вот тут непонятно. Доступно 2 байта пишет, но в консоли оказался "Т".
Сделай вывод по номеру байта из bufferPC[0] и bufferPC[1] чтобы понять, где "Т" сидит-то.
А вообще, не делай serial.read() пока буффер не заполнится целиком или до нужной тебе длины, означающей, что сообщение пришло целиком (придется всегда фиксированной длины сообщения посылать). И только уже после этого делай read().
>>353819 Эти проводочки не подходят для постоянного подключения. Неужели нет нормальных разъемов "папа" для подключения? Или может можно как-то выпаять существующие разъемы с платы и подпаять свои датчики напрямую?
>>353913 Не надо выпаивать, на обратной стороне пердуины видны контактные отверстия, занятые штырьками разъемов. Вот к ним и подпаивайся без задней мысли.
>>353237 >>353184 >>353581 Нет, в том-то и дело, что он ничего такого тебе не должен, в этих обменах байтиками гораздо больше ебли, чем кажется. Добро пожаловать в чудесный мир ЕМБЕДДЕД-байтоебства! Скажи спасибо, что оно хоть не теряет байты и не виснет, а то такое тоже бывает пользуясь случаем, передаю горячий привет ESP8266
Поскольку байты от модуля приходят постепенно (а не как ты надеялся - единым сообщением), нужно городить что-то вот такое, например: https://pastebin.com/eiKREk4w Оно опрашивает порт до тех пор, пока он не будет молчать >50мс, и возвращает строку со всем, что начиталось.
В качестве упражнения - переделать эту функцию под символьный буфер вместо строки для более эффективного и управляемого использования ресурсов. Можешь еще поиграться с ожиданием в ветке else, подобрать интервал под свой модуль, ждать более короткими интервалами в цикле и сразу делать continue, как только пришел символ, и т.п.
У него во 2 цикле пришло 2 байта, но отобразился только 1 в консоль в результате.
Не понятно, куда девался первый байт?
Ощущение, что у него было так
в буфер serial пришло А, available 1 он сделал .read() - A из буфера удалили, available обнулили
во второй раз у него пришел второй байт в буфер serial, available 2 он сделал .read() 2 раза - видно, что 2 раза исполнялось оно. А в результате в переменную под строку записался только T.
Он может и сделает как надо, но надо же блять разобраться, почему хуедуина пиздит про 2 байта авайлябле во втором цикле, а на деле там один Т остался.
>>353970 Все просто - это блокнот-костыль Пердуино(С)(ТМ) IDE, которая не умеет в пошаговую отладку и какие либо виды отладки, кроме printf. Даже breakpoint нету.
>>353980 > по I2C с F103 Ты не ты спрашивал про кулстори про зависания IIC? Как оно? Уже напарывался на эти баги?
>>353984 Не знаю, о чем ты, но я наслышан про i2cпроблемы в этих контроллерах. Это, впрочем, не перечеркивает их остальные неоспоримые достоинства перед пердуиной.
Помогите, не могу перепрошить принтер, делаю все по гайду а он мне пиште Arduino: 1.6.8 (Windows 10), Плата:"Sanguino, ATmega1284 or ATmega1284P (16 MHz)"
In file included from sketch\ultralcd.cpp:96:0:
sketch\ultralcd_impl_DOGM.h:46:20: fatal error: U8glib.h: No such file or directory
compilation terminated.
exit status 1 Ошибка компиляции для платы Sanguino.
Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
Сап радач. Я еще в процессе чтения треда. Пока курю, можете подкинуть адекватный софт для программирования ардуинки с андроид смарта. Часто катаюсь по командировкам и от нечего делать решил поковырять чудо китайского гения - ардуину нано. Ноут с собой вожу не часто, а вот смарт всегда при мне. ОТГ и BT клава в комплекте. Качал ArduinoDroid - срабатывает загрузка скетча один раз из десяти.
>>353844 Я так понимаю, что там внутри таймер и делитель, таймер работает на максимальной частоте, а дальше она делится например в джва / четыре / восемь раз. Плюс, там есть регистр, который позволяет откалибровать таймер и наверное можно его откалибровать по частоте USB.
Всё было бы прекрасно, но смотрю я на все гайды по ардуинке и там MISO и MOSI - разные провода, а у хуйни(датчика) есть только digital input/output. Попытка не пытка, подумал я и вхуярил MISO и MOSI на DI/O. Ардуина стабильно читает 255, т.е., как я понял, датчик все время шлет единицу, даже если я отрубаю MOSI.
Вопрос к знатокам: как правильно подключать к ардуине датчик с 3 SPI проводами. Для совсем охуенных ребят дополнительный вопрос: а можно ли на nano захуярить сразу несколько слейвов, т.е. задать несколько SS. Знаю что такая хуйня есть на Due, но может кто-то писал свою библиотеку, чтобы была такая возможность?
Есть задача, сделать электронный блок зажигания. Погроммирование только начал изучать, и на этом случился затык. Дано: ардуина на 328 атмеге и одноцилиндровый, двухтактный ДВС, который крутится до 9000 оборотов в минуту (150 об/с). Обороты снимает датчик Холла (с обвязкой), далее контроллер даёт сигнал на ключ, длительность которого зависит от положения потенциометра (или проще поставить энкодер?), который поворачивается вместе с заслонкой карбюратора. По внешнему сигналу цикл должен прерываться (не критично по времени выполнения). Я прочитал, что это надо делать через attachInterrupt(), но у меня нет никаких идей (после прочтения оф. документации), как должен работать мой код. Объясните в двух словах.
>>354002 >fatal error: U8glib.h: No such file or directory нет нужной библиотеки
на вскидку - проверь, чтобы не было рюске букв в путях установки всего этого барахла вероятно, еще нужна спец версия ардуино иде, которую надо бы скачать вместе с прошивкой
Изучай, как подключаются внешние прерывания, как управлять и читать инфу с портов без задержек и с нормальной скоростью.
Тебе так же потребуется задавать прерывания и обработчики прерывания по значению таймера-счетчика, чтобы задавать угол опережения, длительность сигнала на драйвер ключа зажигания.
Т.е. внешнее прерывание с датчика положения коленчатого вала обнуляет таймер-счетчик, затем задает значение таймера-счетчика, при котором сработает еще одно прерывание, которое подаст сигнал на драйвер ключа, а так же значение таймера-счетчика, пот котором этот сигнал снимется. Это если задумаешь опережение вычислять чтобы мощу поднять/экономичность, исходя из температуры движка, дпдз, датчика детонации и т.п. Если по тупому, то таймер не нужен, сразу вкл/выкд ключ по сигналу с внешнего прерывания.
>>354258 Пока опустим что однозначно соснешь с пердуино иде, пока не пересядешь на прямое управление регистрами на Си или Асме. Это реальный проект? В курсе что от этой штуки могут зависеть чьи-то жизни? Готов за них отвечать? Нарисуй для тупых диаграммки сигналов - что когда и в каком виде. Если даже брать 150 Герц (или даже 300) в секунду - условно должно быть много времени на тупняк, в FreeRTOS кванты по миллисекунде идут.
>>354258 Читаешь импульсы обормотов в секунду, по ним управляешь заслонкой, у которой лучше поставить энкодер с датчиком нуля, но это жирно, ставь датчик Холла-положения. Да, они есть "цифровые" - "0" и "1", а есть "аналоговые" - от минимума до максимума. Но проще переменный резистор на 10кОм. Не забудь усреднять показания АЦП, иначе болтанка тебе обеспечена. Далее, ставишь заслонку на "стартовое" значение, это должно быть процентов 20-25, чтобы движок стартанул и после наращивания оборотов понижаешь уровень дросселя до холостых. После чего регулируешь. Мне удавалось прерыванием фиксировать до 72000+ импульсов в секунду, это байтоебство, но реально.
>>354166 Пожалуйста, говори то, что я не знаю. На ардуине MISO MOSI, на датчике DIO. Как это заставить работать вместе? Как уже писал, просто прихуярить MISO и MOSI к DIO нихуя не дало, датчик дает все биты единицами. В интернетике ответов на эту тему до скудного мало, видел только одну схему предпочтительного подключения для одного датчика, где использовался резистор в линии MOSI -> DIO
>>354232 Подключен, SPI.h, по идее его автоматом конфигурирует по пину, который зависит от устройства.
Я ньюфаг, только-только вкатился в дуину, по классике уже помигал светодиодиком. Внезапно появился вопрос.
Есть ли возможность параллельного выполнения части скетча вместе с основной частью? Поясняю: то же мигание светодиода обеспечено задержками в коде и пока есть задержка, код ниже не выполняется. Есть ли возможность сделать так, чтобы условный светодиод мигал, т.е. часть скетча с функцией delay выполнялась отдельно, а основной код (например движение сервопривода) отдельно, чтобы не ждать условной паузы в 1 секунду перед окончанием цикла мигания и началом выполнения кода для сервопривода?
Пример из жизни, у меня масса приемопередатчиков nRF24L01+. То я их не мог заставить на передачу работать, теперь кучка не хочет работать на прием. Файл-драйвер один и тот же, подключение описано как должно. И все равно, нет связи.
>>354414 Переходи на другой IDE и используй таймера и прерывания. Будет все работать параллельно. Если не хочешь, то есть вариант такой, что из условного мигания светодиодом ты просто вычитаешь время на работу сервы.
А если серва, и светодиод, и еще что-то там вдруг будет, то вообще пиши планировщик задач и квантуй время выполнения задач так, чтобы всё друг с другом уживалось.
>>354285 Понел, спасибо. Полноценный ЭБУ я не осилю (мне и не не надо), проще взять за основу speeduino. >>354335 Заслонкой рулить будет отдельная серва, которой управляет радиоаппаратура. Моя задача — заменить штатное магнето, чтобы облегчить конструкцию, немного руля длительностью зажигания и опережением. Всё это совокупление из-за необходимости облегчить двигатель, чтобы поставить его в модельный самолёт.
>>354408 Пример: Твой таймер срабатывает 20 раз в секунду (20 Гц). Теперь ты делаешь так, чтобы с каждым срабатыванием таймера к числу в памяти прибавлялась единица. Когда число в памяти достигает четырёх, ты выдаешь на выходе импульс и обнуляешь число. Импульс на выходе будет подаваться 20 / 4 раза в секунду (5 герц).
Там же писано - оно может работать только на таких=то фиксированных частотах
Can be clocked with 12 MHz, 15 MHz, 16 MHz 18 MHz or 20 MHz crystal or from a 12.8 MHz or 16.5 MHz internal RC oscillator.
Я так понял - на любые из этих шъешь, на них дальше и работаешь. Нужную частоту перед прошивом устанавливашь в дефайнах. Вроде бы даже там автокалибровка усб есть. Типа "если говно какое-то - в проге-имитации убс 1.1 меняется делитель" или что-то такое, и так пока не начнется стабильное соединение.
>>354420 >то вообще пиши планировщик задач и квантуй время выполнения задач Охуенный совет. Вчера весело помигал светодиодом, а сегодня какой-то блядь планировщик, какой-то квантовщик блядь. В адруино всегда метровый страпон в жопу вводят после легкой прелюдии?
>>354454 >Чем отличается const int от просто int? const int a = 100; int b = 300;
a = 500; - cоснешь, неизменяемым переменным нельзя назначить значение, скорее всего даже код не скомпилится от такой наглости. В остальном - обычная переменная для сравнения с другими, записью в регистры и прочих непотребств. b = 500; - сработает и значение b поменяется с 300 до 500
>>354453 А завтра мы тебя научим ставить RTOS на ATMega128 !! Тут своя, особенная атмосфера! Если серьезно, то с дуиной вроде никак. Надо другую IDE и там уже это доступно.
>>354352 STM32 попробуй. У них больше ресурсов, больше производительность, они стоят уже дешевле AVR, из инструментов для разработки и отладки тебе понадобится только программатор с алика за 150 рублей. И никакой ебли с аттинями с микрописечной памятью. Можешь купить для начала плату BluePill и программатор, и поиграться прямо в Arduino IDE, а потом уже на Eclipse переползать.
Книжек не подскажу, сорри, ибо сам официальную документацию читаю.
>>354532 >никакой ебли с аттинями с микрописечной памятью Ты там только светодиодами мигаешь, да? Тинька 13А может работать на частотах 32 кГц-1 Мгц, при питании 1.8В, и потреблять при этом микроамперы. Да и при 9.6МГц и 5В потребляет лишь несколько мА. И в этом ее незаменимость. Можешь кукарекнуть про стм8, но это изначально срань с даташитами на китайском и без поддержки дурино-сообществом.
Кто tiny13 обижает? Нормальная тема, на которую всем похуй. Есть оптический приемник, у которого зависает Ethernet если после подачи питания нет линка в течении секунд 10 и соответственно по сети не виден, только руками по питанию передергивать чтобы ожил. Кочегарится на самой маленькой частоте, говнокод мониторинга на асме. Можно было и NE555 впихнуть, но тинька дает больше просторов для творчества, сложнее вникать что и как и можно впилить ограничение времени работы перезагружалки, что и было в первых версиях этой хуйни в гондоне. По политическим причинам дальше успешно пройденных тестов не пошло. Так-то.
>>354535 А почему ты такой злой? Твою любимую игрушку обоссали? Ну ты же все равно можешь продолжать ею играть, разве нет?
STM32L
Вообще-то васяны типа тебя суют эту аттини в любую хуйню, а далеко не только туда, где нужно потребление в 300 отсоси у стм32-программистов микроампер и невозможно спать. Ну и 5 ма при 5В - это как-то дохуя при таких-то незаоблачных характеристиках, между прочим.
>>354544 >даташиты у СТ микроэлектроникс на китайском >наркоман ли он Это скорее на шизу похоже. Или на олигофрению. В любом случае, на умного человека он не похож.
>>353984 Нет, не напарывался, и вряд ли теперь напорюсь, ибо в эррате же вполне однозначно написано, что оно тупо не работает. Вот я и буду юзать софтварный, а не ждать, пока его переклинит.
анончики, скажите плз. а как вообще называется в общем всякая хуита, когда в зависимости от входных сигналах плата формирует какие-то выходные? кроме умного дома. а то я не знаю что гуглить. мне надо чтобы устройтсво в зависимости от сигналов с датчиков, их наличия, отсутствия, плотности, изменяемости генерировала выходные для исполняющих устройств - включала, выключала, выдавала серии импульсов, в зависимости от времени суток - работало или игнорировало всё.
>>355496 не, это мне не по карману, я на ардуине это хочу делать. прост хочу посмотреть что в инете есть на это, чужие проекты, может есть такие которые можно настроить под мои нужды. может есть такие в которых ничего программировать не надо. я совершенно не умею программировать.
>>335724 (OP) Аноны, реквестирую помощь. Собираю себе показометр небольшой в машину, хочу, чтобы температуру за бортом и напряжение в бортовой сети показывало. С температурой худо-бедно разобрался, показывает в пределах плюс-минус километр, а вот с напряжением совсем хуйня какая-то. Собрал делитель напряжения с номиналами резисторов 13.1 кОм и 5.5 кОм, подключил его к ардуине, снимаю показания с 5.5 кОм резистора ардуиной, а вычисляется неправильное напряжение. Мультиметром замеряю на том резисторе напряжение - показывает 3.67В, на акб, который сейчас стоит дома и от которго я все это питаю, 12.5В плюс-минус 1-2 десятки, а ардуина мне показывает, что на акб 14 с лишним вольт. Не могу понять, что не так. Вот скетч, может кто-нибудь что-нибудь увидит. #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 #define SCREEN_HEIGHT 64 #define SCREEN_WIDTH 128 Adafruit_SSD1306 display(OLED_RESET); #define temperature A2 #define voltage A1 #define RT0 2700 #define B 3977 #define VCC 5 #define R 3300 float RT, VR, ln, TX, T0, VRT, U, U1, U2Raw, U2, R1, R2, Mod;
void setup() { T0 = 20 + 273.15; R1 = 13.07; R2 = 5.5; Mod = R1 / R2; Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) display.display(); delay(2000); display.clearDisplay(); pinMode(temperature, INPUT); pinMode(voltage, INPUT);
Саму ардуину запитал от зарядника для телефона, который в прикуриватель вставляют, минус делителей напряжения и ардуины, соответственно общий, плюс на терморезистор беру с ардуины, а на "вольтметр" с самого акб.
Есть одна есп8266, на ней веб-страница, доступ к которой можно получить с разных устройств в пределах локальной сети, вводя в поисковой строке браузера 192.168.., например, можно мигать лампочкой с телефона. Как сделать так, чтобы к этой же есп можно было получить с любого устройства с интернетом?
>>355499 У тебя на выводе VREF какое напряжение? При чем реальный замер. Мне кажется что налажал с делителем и опорным напряжением, которое может быть или от внутреннего ИОН (не вижу настройки) или от VREF(внешний вывод). Проверь настройки опорного напряжения.
>>355502 Можно поподробнее про опорное напряжение? К выводу AREF вообще ничего не подключал. Попробовал сейчас настройками поиграть, вот что вышло : При analogReference (DEFAULT) вольтметр мне показал 6 с небольшим вольт. При analogReference (EXTERNAL) он показал 16 вольт с чем-то и термометр сошел с ума, показав 200 градусов с лишним.
>>355498 Посмотрел быдлокод - WTF? Все проще же: U2Raw = analogRead (voltage); U = ((U2Raw умножить 5) делить (1024) ) делить (R2 делить (R1+R2)), чуть сократим (U2Raw умножить 0.0048828125) делить 0.2961 при U2Raw=883 получим 14.55 В - все верно, ошибки нет. Проблема в делителе - взяв даже ряд Е192 (хуй где найдешь) - 5.5КОм нет, ближайшие 5.49 и 5.56, для говна Е24 - ближайший 5.6. Для 13.07 - или 13.00 или 13.2, для Е24 - 13КОм. Пересчитай делитель. Только учти - без ОУ - будет жопа. Те например 15В делить 5 = 3 раза. (Те к примеру 5.1К и 10К) - для диапазона 15-10В на АЦП будет 5-3.33В, или же на 5вольт батарейки уходит всего 1.67В шкалы АЦП (всего треть шкалы АЦП или же 342 отчета, что дает в идеальном случае разрешение около 14мВ). >>355507
>>355512 Особая точность в делителе мне не нужна. Мне теперь уже интересно, почему ардуина полную чепуху выдает. Сейчас вот переписал по-новой всю свою поеботину. По-сути, получилось то же, что ты расписал. А ардуина, сука такая, выдает на экране значения от 6.8 до 7.3 Вольт. И вот с какого хуя - я не понимаю. Ладно, раньше она 13.4 выдавала, когда на аккумуляторе 12.4, но откуда 7 взялось - вообще проссать не могу.
>>355517 Отлично. Потихоньку все проясняется. У тебя опорное напряжение 4.2В вместо 5. Давай считать: При 12.5В - получаем... 904 отчета АЦП, что очень близко к 883. Если же Vref 5В - тогда должно быть около 760 отчетов АЦП. Так что смотри питание своей шарманки.. Однозначно тут косяк, о чем очень ярко говорит VREF. Ищи где просрал 0.8 Вольта.
>>355527 В принципе же можно хуй на это забить, ввести коэффициент ебучести в формулу и им подогнать значение под требуемое? С питанием там такая ебанина, шопиздец. К аккуме подключена зарядка для телефона, плюс зарядки идет на Vin ардуины, с +5V ардуины идет питание на термометр из терморезистора, плюс с аккумулятора идет на делитель напряжения, с которого я мечтаю получать напряжение бортовой сети. Минус зарядки вообще не задействован. Может в этом беда и стоит его на минус аккума кинуть?
>>355529 Картинкой нарисуй и не забудь замеры напряжений в каждой точке. >подключена зарядка для телефона, плюс зарядки идет на Vin ардуины Чуть больше, чем уверен что с зарядки идет 5В, которые попав на диод и/или линейный стаб дают далеко не 5 вольт, а 4.2В. >с +5V ардуины идет питание на термометр из терморезистора, См выше - уверен там будет 4.2В, а не 5. >Минус зарядки вообще не задействован. Земли много не бывает. Лучше соедини.
>>355560 Вот такая канитель, в общем. Попробовал землю всю соединить - ничего особо не изменилось. Значение, которое ардуина показывает всего на десятую долю вольта изменилось. Олсо, попробовал просто ардуину от зарядки запитать - напряжение на +5В пине было 4.23В. Чому такое может быть? подпалил ее?
>>355572 Какой хороший наскальный рисунок. Сам то заметил что на +5 у тебя +4.2? Косяк в том что подаешь +5 на VIN (разрозненные места говорят что оно для напряжений 7-12вольт). Раз есть (условно)стабилизированные 5В - их и подаешь на вывод +5. На всякий случай чтобы LDO не стало плохо - поставь диод (вообще любое говно, хоть 4148) - анодом к +5, катодом к VIN (что бы сделать условно одинаковыми потенциалы входа и выхода LDO), хотя может он уже есть в схеме. Не перепутай подключение диода, а то при подаче напряжения на VIN оно пойдет через диод мимо стаба в схему и будет волшебный дым.
>>355579 Благодарю анон, все починилось. Ебанул без диода, правда. Теперь пиздеж схемы в пределах 1-2 десятых вольта, а этого для меня достаточно. >Какой хороший наскальный рисунок. Ну я мог бы, конечно, красивее нарисовать, но ведь и этот не так уж и плох?
>>355583 >все починилось. Какой пиздец. You make me cry! Рамка на фоне выдает что далеко не по ГОСТу нарисовал. Определенно стоит добавить пачку супрессоров (TVS диодов), 12 вольт - бывает только в манямирке, в реале в машине можно словить иголки под сотню вольт. Не моя тема, не подскажу по защитам от перенапряжений. Если совсем задротить - куришь третий вариант http://chipenable.ru/index.php/how-connection/157-masshtabirovanie-signala-operacionnim-usilitelem.html (или же в "анальные интерфейсы микроконтроллеров" Стюарт Болл), берешь ОУ типа MCP602 (или любой другой RailToRail) и растягиваешь анус поделенное напряжение батарейки через ОУ. Копая еще глубже - линия 3.3вольта свободна(те меньше шумит, чем линия 5В с кучей нагрузок), можешь расковыряв схему подать 3.3В на AREF, и используя делитель на 5 получаешь диапазон от 2 до 3 вольт (при батарейке 10-15В), которые растянув через ОУ на 0.2-3.1В - получишь разрешение около 900 отчетов на 5В батарейки.
Хочу купить за 2к рублей начинающий набор ардуино и использовать ардуино для считывания видео с камеры, чтобы потом передать инфу на компьютер, где видеокарта проведет вычисления Не думаю, что ардуинка сможет потянуть дип лирнинг, распознавание изображений и потом отошлет результат назад на ардуинку, которая выполнит определенные действия.
Такая хуйня возможна? А если без отправки результата назад на ардуинку? Что гуглить?
>>356117 Зачем?! Чем не подходит обычная веб-камера? Это помимо того что пердуинка не потянет вменяемое разрешение c вменяемой частотой кадров. Если пердуиной называть плату с атмегой, то без шансов. STM32 вместе с другими микроконтроллерными ARM-ами чуть лучше, но не намного.
>>356124 >STM32 вместе с другими микроконтроллерными ARM-ами чуть лучше, но не намного. Ващет у STM32F429 есть порт камеры и она вытянет ннбольшую обработку.
Наткнулся на тот самый случай, когда алгоритмы не работают. Простейший, казалось бы, пример - подключить к ардуине энкодер из стартового набора. Есть канал A и канал B, они имеют общую точку, которая подкидывается на землю. Канал А на второй пин ардуины, В на третий через встроенные пуллапы. Подключаем интеррупт на канал А, в режиме CHANGE. Дальше по рисунку. Двигаемся в одну сторону - канал В меняет своё состояние раньше канала А. Когда изменяется состояние канала А, срабатывает прерывание, проверяем состояние канала В. Если оно такое же как у канала А, увеличиваем переменную. Двигаемся в другую сторону - канал А меняет своё состояние, а канал В ещё не успел - уменьшаем переменную. НО ПОЧЕМУ СУКА НА ДЕЛЕ ПЕРЕМЕННАЯ ТОЛЬКО УМЕНЬШАЕТСЯ В КАКУЮ СТОРОНУ Я БЫ НИ ДВИГАЛ???
>>356225 640х480 и 1 кадр в секунду через UART? Сильна пердуина. Эту же камеру намного эффективнее подключать через FTDI. Есть обычные веб-камеры, есть специализированные с эзернетом. Есть платы захвата видео, хоть для аналогового сигнала, хоть для camera link. Но пердуинка то зачем?
>>356241 Ну вот по сути, о чём мы говорим сейчас. Я так и сделал, и даже до проблемы дребезга не дошёл. Событие if(second != first) не срабатывает, хотя в одну из сторон вращения оно обязано срабатывать, иначе просто быть не может. Ну то есть может, как мы видим.
>>356258 За все время существования ардуины нито не придумал реализовать опенсурсный струйный принтер. Чтобы можно было по деталькам на алике купить или на 3д распечатать. Чтобы печатающие головки стоили копейки и принтер мозги не ебал на предмет заканчивающихся чернил. Ну и модульность реализовать заодно, типа печати на дисках или больших форматах бумаги.
Ахтунг, нубовопрос. Гуманитарий пытается, в общем, в понимание электроники. Собственно, поясните первый пик - почему потенциометр находится уже за светодиодом, а не между выходным пином и другим резистором? Я схеме не поверил и собрал, как на втором пике и это работает.
>>356261 >Чтобы печатающие головки стоили копейки И чем ты дюзы будешь сверлить в домашних условиях? Ардуина со своей медлительностью и тупостью только сможет морзянку успевать рисовать на ленте маркером.
>>356267 Если ты таким образом пытаешься регулировать ток светодиода, то не принципиально где будет находиться потенциометр, ток на всех участках одинаков.
Спосоны, что может сгореть в нане при замыкании 5V на землю? Вроде бы очевидный регулятор напряжения, но я его заменил и ничего не изменилось. Может, есть вменяемые схемы наны, по которым можно проследить цепь питания? Уж слишком досадно сгорела и недолго проработала, хочется восстановить.
>>356641 >вменяемые схемы наны А где ты нашел невменяемые? Там цепь питания невооруженным глазом прослеживается, чай не Cortex А53 с многофазным питанием на 45 ног.
>>356642 Нуок, они вменяемые. Меня вот этот кусок смущает: вот от разъёма USB идёт на F1 которого нет, потом эта линия получает название "USBVCC" и больше нигде на схеме не встречается. Куда дальше смотреть, где искать?
Ардуинач, я решил зделоть пиликалку. Амплитуда влияет на громкость, частота - на высоту звука, при этом выше скольки-то там килогерц подняться я не могу из-за ограниченности платформы. Короче, к нано я подсоединил динамик, а именно к земле и к аналоговому пину 19, на пин я подаю синусоиду. Немного покрутив параметры, я смог даже сделать паттерн какой-то, но результат все еще нестабильный. Как мне правильно пищать динамиком в разной тональности?
>>356818 Ты видео досмотрел? Программатор стоит 100$+ и эти миркхи не перезаписываются. У тебя одна попытка залить прошивку, если какой-то баг или что-то поменять, выбрасывай и доставай новую из пакета. Ну и язык учи какой там. Там какой-то модифицированный C
Думаю хуй там плавал, сейчас у провайдеров массовый NAT и внешние айпишники на тысячи пользователей. Сам с таким сталкивался, спасло только MQTT самописное.
>>356117 >использовать ардуино для считывания видео.
Сразу фиал. Нужно обрабатывать большой поток инфы и очень быстро, ардуинка соснет. Не занимайся пердолингом, используй готовые решения - IP-камеры, камеры для FPV.
Ну а если сильно любишь делать свои велосипеды с квадратными колесами - пили через малинку.
>>356891 Он же все объяснил. Там UART заведенный на D+ и D- USB разъема, это не USB хост. Дальше передача "ключа" из 9 символов и проверка наличия этого пакета в течении времени, как watchdog. Нет "ключа" - гаси махарайку. Все. Фактически, брутфорс на 9 символов она не выдержит, но пока распространения не получит такая система, то никто заморачиваться и не станет. Это почти сигналка с RFiD меткой.
>>356947 #include <Keyboard.h> #define buttonPin 7 // Постоянно делает значение ButtonPin = 7. #define buttonPin2 5 // Постоянно делает значение buttonPin2 = 5.
void setup() {
pinMode(buttonPin,INPUT); // Установка контактов в качестве входов. pinMode(buttonPin2,INPUT); Serial.begin(9600); Keyboard.begin(); // Запустите функции клавиатуры
}
void loop() { int buttonState = digitalRead(buttonPin); //прочитать состояние кнопки ввода int buttonState2 = digitalRead(buttonPin2); //прочитать состояние кнопки ввода if (buttonState == LOW) { //нажатие на кнопку выдаст LOW (НИЗКОЕ) состояние 0В
Serial.println(buttonState); Keyboard.print ("Abu-nyasha"); //Укажите свой пароль здесь delay (1000);
}
if (buttonState2 == LOW) { //нажатие на кнопку выдаст LOW (НИЗКОЕ) состояние 0В Keyboard.print ("Abu-nyasha2"); //Укажите свой второй пароль здесь delay (1000); }
У меня 0 умений ардуино, а мне необходимо повторить вот подобный проект https://youtu.be/KZiqUZGjGc0 (хотя только с heat lamp'ами и вентилятором).
Объясните, пожалуйста, как происходит этот процесс.
К ардуино подключены датчики температуры, значения которых ему кормятся и затем принимаются соответствующие решения. К ардуино так же подключены реле, которые в свою очередь к разетке? При поступлении сигнала - включаются лампы или вентилятор, так?
>>356998 Извините, я глухой. В самом начале парень говорит. "Ардуино отправляет сигналы транзистору, тразистор отправляет их реле." Немогли бы, пожалуйста, описать этот процесс. И что у него выступает в роли источника питания?
>>356962 И какие же? Приемник может без ответа сидеть и ждать на любой из основных частот, от 110 до 115200 бод. Пароль может быть от 1 до 521 и в бесконечность, насколько памяти хватит, у Atmega1284P 16Кбайт памяти оперативной. Подслушать? Приемник молчит. Просто загасить приемник ударом тока? Тогда вообще не откроет реле. Только ключ украсть.
>>357091 SD карта - SPI либо FastSPI NAND или NOR FLASH память. Пишется по странично, читается постранично. Это просто массив ячеек памяти. FAT определяет где и какой файл, с ним сложнее, но реализуемо...
>>357102 Из-за тебя открыл это видео, чтобы посмотреть что там за пароль. Ну не бред ли делать такую хрень, когда можно взять более удобный iButton? Даже если использовать микроконтроллер, можно было взять восьминогий и сделать в габаритах обыкновенного iButton.
>>357091 Зачем тебе для SD карты модуль? Она напрямую подключается, максимум потребуется несколько резисторов для делителей напряжения, если атмега от 5 вольт запитана.
>>357102 Передача пароля в открытом виде - даже по проводу - дебилизм. Можно разобрать разъем и встроить чип-посредник.
RSA пара: приватный, публичный ключ. В замке публичный, в самом носителе приватный. В момент контакта хост шифрует случайные скажем 245 байт данных, а носитель должен расшифровать и ответить хешем от расшифровки + соль.
>>357114 По твоему почти все домофоны делали дебилы? >Можно разобрать разъем и встроить чип-посредник. Не проще ли будет в таком случае открыть дверь монтировкой? Ну или высокое напряжение подать, вдруг когда пердуина будет гореть сработает открытие. Ерунду ты написал.
>>357383 Atmega8a прям то что нужно. А нет ли готовых схем для геймпада с нуля, а не модификации уже существующих? Мне просто надо 12 кнопок к этой атмега8а и все, это с учётом 4 кнопок под кречтовину. Никаких стиков и прочего.
А ног, кстати у атмега8а для 12 кнопок хватит? Сколько вообще максимум можно к ней кнопок присобачить?
Или этот пикселькит все же можно использовать для моих целей?
Для питания шилда надо юзать контакт дополнительный, который держится на клемах(рис.2). Я немного заколхозил, вставив провода(рис.2), придерживая руками контакт от банки(рис.3). Система работает, но это же хуйня какая-то. Как мне можно сделать нормальный контакт, чтобы не ебаться с держаниями? Заранее спасибо, анон.
>>357429 Твоя ссылка такой себе вариант, он именно для джойстиков в своем изначальном смысле, которые для авиасимуляторов.
Погуглил данный вопрос. Нашел вот эту статью http://cxem.net/comp/comp141.php, которая по большей части является переводом статьи с www.raphnet.net. Там именно то что мне нужно - готовая плата с 12 выводами под кнопки.
Насколько сложно сделать эту плату новичку, который ни с микроконтроллерами, ни с пайкой особо дел не имел? Вроде элементов не так то много на плате.
>>357702 Гробгробкладбищеардуино! Возьми два проводка советских, они дольше будут обламываться, чем эти разноцветные "вечные" проводки. И вот их уже и запаяй.
>>357669 Все схемы с программным USB будут иметь примерно одинаковую схему плюс-минус стабилитроны, ибо все программные USB берут корни от проекта Igor Češko. Плата норм, но я бы сделал на SMD, чтобы не сверлить дырки. Количество деталей не так принципиально, ты либо умеешь делать платы, либо заказываешь у китайцев. Лучше научиться первое, чтобыне ждать месяц на каждый чих
Суп, ra, нужна помощь. Как сделать таймер на ардуине? В какой-то момент выполнения программы мне нужно начать отсчет. Просто делеем это не вариант, так как пока идет отсчет нужно производить другие операции. Как это без rtc модуля сделать?
>>357742 Я уже заказал в dip корпусе. Мне кажется что такие ноги удобнее паять, у smd я все ноги нахуй в одну оловом захуячу. Ну и в дип корпусе удобно прошивать микруху, воткнув ее на макетную плату и подвести к нужным ногам провода.
Да я сам все с нуля хочу сделать, в этом то и смысл, так что нахуй китайцев, надо утюг искать.
>>357760 >Мне кажется что такие ноги удобнее паять Наоборот SMD проще, если на нормальную заводскую плату. Припой за счет поверхностного натяжения собирается возле выводов. Такое как раз удобнее паять широким жалом. >оловом Не стоит. Олово плавится при относительно большой температуре, относительно хрупкое, создает "усы" и на морозе рассыпается. >удобно прошивать микруху Припаянную на плате еще удобнее.
>>357763 >Наоборот SMD проще, если на нормальную заводскую плату. Я хочу свою плату сделать. И в чем разница в пайке между домашней платой и заводской?
>Не стоит А чем еще паять кроме как оловом?
>Припаянную на плате еще удобнее Ну хз, еще дорожки под это дело разводить отдельно и GPIO корячить, который в готовой поделке нафиг не нужен.
>>357769 >И в чем разница в пайке между домашней платой и заводской? Кривее и нет паяльной маски. Паяльная маска для того и нужна, чтобы припой не попал куда не нужно. >А чем еще паять кроме как оловом? Припоем. 60% олова и 40% свинца или что-то около того. >в готовой поделке нафиг не нужен. Если только не собираешься обновлять прошивку, хотя бы просто прошивать другие параметры, коды клавиш и прочее.
>>335724 (OP) Анончики, нужна ваша помощь. Хочу зафигачить беспроводные колонки из говна и палок. Есть ардуино, где-то 8 старых излучателей от наушников, и, возможно, старый bluetoth модуль для ноутбука. Только вот я не представляю, как эту кучу хлама заставить работать.
>>357771 >как эту кучу хлама заставить работать >mini PCI-E Очень просто. Берешь ноутбук и втыкаешь туда эту штуку. На ноутбуке, само собой, должно быть соответствующее ПО. Ну а пердуину, если так хочется, можно использовать как подставку.
>>357783 Очнись! В ссаной атмеге нет контроллера PCI-E, они даже по логическим уровням не совместимы. Остается только использовать пердуину как подставку.
>>357782 Ога, стм32 тут явно спасет ситуацию. Хоть целиком ими обложись, оно не далеко от пердуины ушло.
>>357889 Делаешь сэмплы 44100 раз в секунду. Детектишь пиковые значения внизу и вверху. Замеряешь время между пиковыми значениями. Делишь один на это время.
>>357892 >>357889 https://ru.wikipedia.org/wiki/Частота >Частота — физическая величина, характеристика периодического процесса, равна количеству повторений или возникновения событий (процессов) в единицу времени. Вот картинка, какая частота у процесса, характеризуемого этим графиком? Что ты собираешься называть частотой звука?
>>357898 >несущая, модулированна амплитудно другой частотой. Ничего подобного, только отдаленно похоже. >Что ты хотел этим показать? Что в данном случае считать частотой по определению из википедии? Функция на графике периодическая, с периодом 1.5, если что.
>>357900 0.5 вообще-то. Значит частоту звука в таком случае нужно считать как 1/0.5? Это при том что спектр сигнала будет состоять из двух палок на частотах 10 и 12? А если возьмем более близкие частоты?
>>357889 Преобразование Фурье. Если звук состоит из многих частот, вроде речи или музыки, можно определить, какие частоты есть и каких больше/меньше. В этом поможет алгоритм БПФ. Если звук - чистый тон (одна частота), и есть варианты, какой именно, - алгоритм Герцеля.
аноны халп. купил Digispark Attiny85. прошил start из комплекта, чтобы светодиодом помигать. прошилось, замигало. пробую другой скетч - плата не определяется, тайм аут. не шьётся. что делать? что с ней?
>>358780 У меня для каждого усб порта надо ставить дрова. Если ты шил через один убс порт через него и шей дальше, не вставляй в другие. Иди переставляй дрова.
>>358788 ну и везде пишут что типа нихуя не работает, используй другую ардуину чтобы прогать её через isp ОХУЕННЫЙ СОВЕТ БЛЯТЬ у меня нет другой ардуины
>>358789 на время появляется пикрелейтед и исчезает. звуки у меня отключены. такой категории libusb вообще нет.
аноны а ещё про тот же Digispark. он чо, без резисторов ломается? заливаю скетч, отпаиваю r3 и r4 потому что мешают. некоторое время всё работает. потом через 10-30 включений перестаёт. и всё. запаиваю обратно резюки, заливаю скеч снова - опять некоторое время работает. чего он?
>>358817 Да должно работать. Хотя конечно может быть, что бутлоадер без подтяжки R3 сходит с ума и бесконечно пытается подключиться к USB. А зачем ты их выпаиваешь то? Чем они тебе мешают? Особенно R4 который вообще никуда не подключен без USB считай.
песец, наконец-то запрогал так что оно заработало, считал программатором, стёр, залил обратно. и не могу заставить чтобы работало опять. не хочет и всё. то ли с фьюзами что-то накосячил то ли где... три часа ебался. как же это сложно песец
Сап аноны. Дипломная работа - запиливание логических игорей под ардуино. Про ардуино знаю почти ничего. Нужны будут 2-3 простеньких игры. 1. Какой именно брать? Нано, уно, еще какая хуйня, не ясно. 2. Что почитать для того чтобы вкатиться? Буду очень рад если у анона есть какой то материал про игры, сам нашел пару каналов на ютубе.
сап ардуины. а китайские дигиспарки вообще надежные? именно китайские, не оригинал. кто-нибудь гоняет поделки из них 24/7/365? от внешних источников интересно. от 9в, 12в. не горели? а то там стабы стоят такие мелкие
>>358967 дигиспарк это ж блеять атмега, она микроамперы потребляет. Не навешивай на нее моторов, осветителей и нагревателей, и на питальник будет решительно похуй.
>>359167 Тут ты прав. Хоть мозги начнут работать. А точна готовом всём тупеешь... Плат думаю тоже прикупить пару десятков разных, и контроллеров без бутлоадера. А то вдруг их под СТС подведут. Из соседнего треда анон с ксилинксом соснул прои попытке купить.
народ может кто подскажет как правильно организовать связку ардуино и Raspberry Pi? у меня есть ардуино и я хочу на нее отправлять какие то команды команды с Raspberry например массив чисел которые ардуино должна принять и использовать в своей программе а потом с нее же обратно на Raspberry что данные пришли и можно отправлять новые. Еще бы хотелось организовать такую связь по вай фай желательно. что именно для этого нужно
>>359169 КРОВАВЫЙ РЕЖЫМ!!!111 Готовься все делать на православных КР580. >Из соседнего треда анон с ксилинксом соснул прои попытке купить. Это был теоретик, ничего он не покупал.
>>359173 Через SPI можно, если на небольшое расстояние. Если побольше то RS-232 или RS-485. >связь по вай фай Почему именно wi-fi? Можно взять другие радиомодули, хоть CC1101.
>>359187 >на православных КР580 Как говорят, что если у тебя в детстве не было велосипеда, то не смотря на твой нынешний Чорный Жып, у тебя в детстве не было велосипеда. Не выделили мне в детстве родители денег на закупку комплектующих для Радио-86РК и хочется пощупать это чудо-юдо. Зреет мысль затариться советским говнецом и спаять его на макетке.
>>359188 Ограничься лучше минимальным комплектом: статическое ОЗУ, ПЗУ и КР580ВВ55. Целиком весь компьютер на макетке паять заебешься. Или хоть плату закажи, в крайнем случае ЛУТ-ом сделай.
>>359188 Да, это реклама. https://vk.com/id18110958 Извращения на любой вкус, включая Радио-86РК на статической памяти. Не все микросхемы есть у него в наличии, для двух стульев zx max 128 и zbc почти половина нашлась. Пофапай. Не осилил сборку Ленинград-2, так как ушел из той помойки, где каждый ебаный день обсирают и втаптывают в дерьмо как на видео с пингвинами.
>>359199 Сиди, собирай. Недостающую ИЕ4 сам найдешь. Память на выбор: 565РУ5Б, 565РУ6 или 8 SRAM по 2Кх8 537РУ10. Может интересен комплект КР1821ВМ85А + ИМ1821РУ55? Некрофилией начинает попахивать.
Сап анончики, приобрел я тут себе датчик хуевости воздуха mq-135 И вот в чем проебался - в даташите требуют подавать 5в на вход датчика - а у меня мк питается от батареи на 5.5в ( алсо напрямую запитывать от батареии не хочу - датчик жрет энергию как не в себя) - чего делать?
Хочу повыёбываться алсо я адский жмот и это основная причина и забацать дронину на ардуине. Отваливать минимум 6к за сраный пульт неохота, поэтому очень интересует, чем можно воспользоваться вместо него. На дальность больше 20 метров и считая препятствия, конечно. Присмотрел HC-12, но хватит ли даже с Яги, которой тыкать в сторону дрона максимальной скорости передачи для нормального контроля?
В общем, жопой чую, что HC-12 не пойдёт, но почему — не понимаю. Объясните, пожалуйста, и альтернативы предложите, если есть. Анально ебаться с ручной подгонкой любой хуйни кучу времени готов, время на данный момент менее ценно, чем деньги.
>>359542 Жопой чую, что при колхозинге не хватит быстродействия, которое критично для управления дроном. Адекватно пояснить, правда, не смогу, подожду более прошаренных анонов.
>>359542 nRF24L01+ либо аналоги, каждые 5мс передача данных на управления вполне реальна. Дальше, 4 моторчика с лопастями, два в одну сторону, два в другую. Управлять 4мя ШИМами + транзисторы L-MOSFET, для большего тока и т.д. После ставишь акселерометр и гироскоп. Пульт делаешь из двухосевых переменных резисторов, как в джойстиках аналоговые стики и той же nRF24L01+. Батареи Li-Ion. Всё.
Ананасы, помогите найти схему на Arduino Pro Micro. В сети хуева туча для других плат, а на промикру не могу найти. Не micro, не pro mini, а именно pro micro.
Все по схеме и скетчу собрано, но почему то Часы отстают сильно, да и диоды вяло мигают.
Как думаете, там на скрине выставлен внутренний кварц на 8мгц, нужно ли ещё какие нибудь Настройки тактирования менять с тех, которые ардуиноИДЭ ставит по умолчанию для тиньки85?
>>359746 Самодельная ардуинка. Не моё. На подобии хочу что то сделать. Идеал-ардуинка размером с флешку, и hdmi штекером св вводом пинов. А шилды соответственно тоже с hdmi.
>>359813 >>359743 >внутренний кварц на 8мгц Внутри микроконтроллера нет кварцевого резонатора. Ты подключил внешний и настроил от него тактирование? Это не удивительно что оно сильно отстает, например в atmega328p точность внутреннего генератора (который на 8 МГц) всего лишь ±10%. Даже если ты подключишь внешний кварц, то точность и стабильность в диапазоне температур все равно будут не слишком высокими. Но поскольку такими часами невозможно пользоваться как часами, то и так сойдет.
>>359822 >Думал что встроенный норм. Читай даташиты, там все это написано. Не знаю, бывают ли микроконтроллеры со встроенными кварцевыми резонаторами, но я таких не видел. А стабильность RC-генераторов явно не достаточна для часов.
радач, родненький, подскажи антону не щарящему, будь ласка: как без проводов передавать данные между 20+ устройствами, не используя при этом расово верный вифи? сеть 1-2 км диаметром гуглил lora, nrf и прочие технологии богов, но как я понял, они все не рассчитаны под сеть с 30-40 устройствами в одном месте. что делать? алсо, может проводами эту проблему можно решить? только без ethernet и ебли с маршрутизаторами, больно дорого
Пришел мне сегодня стартерпак с али, и я сотворил это, и оно даже работет и как не странно работает как надо, но чет говнокодом попахивает, как сделать красивее?
>>359849 Зависит от того что ты хочешь от сети. Самый простой вариант когда инициатором передачи может быть только одно единственное устройство (ведущее), а остальные были бы ведомыми. >может проводами эту проблему можно решить? Самый простой вариант - I2C с одним ведущим, только нужно чтобы адреса не совпадали. Посложнее CAN, только ардуину в этом случае лучше выкинуть. >но как я понял, они все не рассчитаны под сеть с 30-40 устройствами в одном месте. Например можно сделать передачу по принципу запрос-ответ с одним ведущим, тогда можно делать почти на чем угодно.
>>359853 Если хочешь сократить код, то можно по такому принципу: PORTD = ((0x03 << val) >> 1) & 0x3F; Только светодиоды нужно будет подключать к порту по порядку.
>говнокодом попахивает >ардуина Действительно неожиданно. Попахивать начинает с первой строки, где pinMode. Потом все эти analogRead, digitalWrite и прочее.
>>359854 есть ли какой то способ передавать их без централизации? (Что если одно устройство не дотягивает до базы, поэтому передает данные через другое устройство)
Все таки вопрос с лорой, мне гуголь не врал на счет "не более 6 устройств" или я что-то путаю? Просто было бы потрясно, если бы можно было такую децентрализованую сетку организовать за небольшую цену
продолжительное гугление дало понять, что есть некий чудо-модуль nRF24L01 с огромной дистанцией и аж 125 каналами, и при этом в каждом канале может находиться по 6 передатчиков 750 передатчиков в одной точки, нихуясе. окей, допустим, я, как говномаз 100 левела займу все 125 каналов в одно рыло: nrf позволяет принимать пакеты с разных каналов сразу? если нет, то как быстро модуль прыгает по каналам? с примерно такой же скоростью, как вайфай свистки, или побыстрее?
Сап. Есть несколько ардуин, хочу их вместе соединить, думаю использовать какой-нибудь wi-fi модуль или радио модуль. Что будет лучше? Или есть какой-нибудь другой способ получше?
>>359906 Ебать ты читаешь, не могу не удивиться. Передатчиков может быть столько же, сколько приемников, но единовременно. Передал и ушел в прием, повторить, не смешивать. Ставишь им адреса разные, а их аж до 256x256x256x256x256 вариаций, на любом из 127 каналов, правда не рекомендую использовать от 0 до 80, там вайфай обычно и мешают друг другу. Ну и решаешь задачу MESH сети любым способом. Либо общий адрес приема и передачи, а внутри пакета реальный адрес. Либо еще как.
>>359947 Подожди, но если на одном канале будет 10 передатчиков и 10 приемников, передатчики постоянно передают данные, там же коллизии фреймов будут, шо песда, этот трабл самому ведь надо решать? нихуя не понятно, но чень интересно
>>359956 Там есть такая фича как подтверджение получения с авто-переотправкой с определенным интьервалом до 15 раз. (Auto Ack)
Но я сделал так: все модули сидят но вызывной частоте и слушают. Если модуль А хочет связаться с модулем Б, он передает по вызывной частоте пакет мол "хочу связаться с Б, го на канал X", после чего оба переключаеются на этот канал и спокойно, без коллизий, общаются. После сеанса, оба возвращаются на базовую частоту.
>>359956 АВТОКОЛЛИЗИИ, бро. Они их сами решают, причем суть в том, что пока на канале есть общающиеся, он не перешлет и дождется свободной частоты своего канала. Причем у тебя есть 1МБод, в течение которого ты можешь свои 32 байта переслать более 3000 раз. Куда тебе больше, если все рассчитано на сбор данных с сенсоров. А я вот радиоуправление сделал, каждый 5мсек данные пересылал, при нужных 20мсек. Такие дела.
>>360005 1000000 бит в секунду, разделить на 32 умножить 8 бит. А нет, не 3000, а только... Постой, 1000000 на 8 равно 125000 байт в секунду, 125000 байт в секунду и есть более 3000 раз по 32. Но на самом деле придется еще по протоколу немного затормозиться, так как дуина максимум на 16МГц работает.
>>335724 (OP) решил притащить сюда свое говно. Это прибор измеряет высоту над точкой включения и вертикальную скорость, нужен для полетов на планере\параплане\дельтаплане. Так-то у меня есть заводской прибор, но самодельный все не дает мне покоя. Никак не получается реализовать одну штуку, памагити! Вот код:
#include <Tone.h>
#include <BMP180.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> BMP180 sensor; LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
int disp_alt; int samples = 40; int maxsamples=50; boolean thermalling = false; short speaker_pin1 = 3; short speaker_pin2 = 4; float updduration = 1000; long lastupd = 1000;
что не работает: если раскомментить здесь, то программа начинает прерыватьса раз в секунду, вместе с обновлением дисплея, как сообразить нормально? а если оставить как есть, то показания на дисплее меняются очень часто, что вкупе с разбросом показаний с датчика делает их почти нечитаемыми.
>>360255 Первое: усреднять есть смысл по количеству кратному степени двойки. У тебя 8-бит процессор, он тупо тяжелее делит на 50, чем на 64. Второе, нахуя столько усреднений на BMP180, замедли сам датчик. Экран обновляется слишком часто? Обновляй его по таймеру.
>>360257 да дело в том, что программист из меня неочень, я в детстве на паскале обьектном в делфи учился, но навык растерял уже, а СИ совсем нов для меня и поэтому код этот я не совсем сам написал, что касается усреднителя, он спизжен целиком. А вот смотри, в конце у меня таймер и реализован, разницу считает между временем работы программы и временем последнего обновления дисплея "if (timee-lastupd > 1000)", тогда он обновляется раз в секунду, но и звук начинает раз в секунду подавать, будто между обновлениями и не работает вовсе!
О, великий антон-знаток ардуин, смилуйся, покажи грешному путь верный:
как правильно собирать скетч, и прошивать его через терминал линупса? makefile взять готовый, это понятно, но я не могу осознать что конкретно там происходит. куда гуглить и что?
и что делать, если блядский arduino ide говорит, что прав на чтение ком порта нет? chmod 666 /dev/ttyUSB0, addgroup, sudo arduino и всетакое не помогает даже близко. может avrdude под каким-то другим пользователем прошивает?
>>360280 >makefile взять готовый Ардуино ИДЕ под линуксом перестала работать? >скетч Слово то какое мерзкое. Самому не противно? >прав на чтение ком порта udev
>>360284 >Слово то какое мерзкое. Нормально слово. >udev А то, что sudo даже не помог? Там что-то другое у него. Видимо не /dev/ttyUSB0 надо, а что-то другое.
Еще есть отладчик с интерфейсом SWD. Я контролеры ни разу не прошивал и паяльник в руках ни разу не держал, подскажите, что нужно делать чтобы из первой платы сделать ардуину и программировать её из арудино иде. Или как её программировать на имеющемся оборудовании. С программированием разберусь - в школе бейсик и паскаль проходили. Если интересно буду выкладывать результаты.
>>360431 >из первой платы сделать ардуину Плохая идея. Собственно ардуина уже давно стала синонимом квадратно-гнездового мышления и всего такого.
>Или как её программировать на имеющемся оборудовании. Тут уже есть тред по STM32, не логичней ли спрашивать там? А так уроков по STM32 полно, бери любой и делай все по нему.
>>360433 >>360433 >>из первой платы сделать ардуину >Плохая идея. Почему? Я хочу с контроллером поиграться, не всё ли равно что это будет? >Тут уже есть тред по STM32 Простите, не нашел, пойду туда. Спасибо, товарищ!
>>360434 >не всё ли равно что это будет? Вообще-то нет. Как ты собрался использовать отладчик из пердуино-ИДЕ? Впрочем, если ты самостоятельно никакие уроки по STM32 нагуглить не можешь, то наверное для тебя все равно.
>>360438 Я не могу самостоятельно нагуглить как подключить J-Link к плате. Как ардуино подключается к атмеге? Пишут что ардуино идет может работать с стммами, она может только заливать, но не может отлаживать? Не беда, буду писать качественный код, хуяк-хуяк и в продакшен.
Запрашиваю помощи с аврками. Как понял - код пишется на Си или на ассемблере. Но если шить через ардуинку - возможно ардуиновские же скетчи и заливать. Нигде не проебался?
>код пишется на Си или на ассемблере. Или на множестве других языков программирования. Только на ассемблере точно не стоит, кроме как для расширения кругозора. >Но если шить через ардуинку В пердуинке стоит прошит загрузчик ближе к концу памяти и выставлены фьюзы так, чтобы микроконтроллер начинал выполнять код с этого загрузчика (который блише к концу ПЗУ), а не с начала ПЗУ как обычно. Потом этот загрузчик перепрыгивает в начало памяти и программа выполняется как обычно. То есть загрузчик никак не влияет на дальнейшее выполнение программы. Поэтому "скетчи" можно прошивать без всяких загрузчиков, так же как можно через дуриновский загрузчик прошивать программы скомпилированные без участия ардуины. >ардуиновские же скетчи Только пердуино-язык это обыкновенный С++ с дополнительным препроцессором.
нужна некоторая помощь: для начала обоссыте меня по пунктам: что можно оптимизировать и чем плох мой вариант написания. Нужен был таймер для света и подачи газа в аквариум, я долго читал и смотрел гайды и в итоге родил это, оно работает, но часы зп месяц отстают на 5-10 секунд. плюс, мне нужно подключить в устройство кнопку, так чтобы при нажатии, все нагрузки включались, независимо от времени суток в ином же случае( если кнопка выключена - выполнять обычную программу по таймеру)
>>360561 >отстают на 5-10 секунд Это почти нормально. В документации указана точность ±2ppm (две миллионные доли). В месяце два с половиной миллиона секунд, так что 5 секунд попадают в этот допуск. >что можно оптимизировать Для начала использовать прерывания вместо непрерывного тыканья по I2C. Потом выкинуть ардуину.
>>360561 >этот код На это физически больно смотреть. > что можно оптимизировать и чем плох мой вариант написания Тебе дышать важнее, чем есть или пить? Реши сначала проблему серьезней и исправь эти блоядские отступы.
>>360685 К чему ты это написал? По твоему Maxim Integrated в документации на свои микросхемы нагло врут? Или это китайцы под видом DS3231 пихают клоны или отбраковку? Или ты к тому, что DS3231 тут ни к чему и можно просто подключить к атмеге обыкновенный часовой кварц на 32768 Гц с точностью ±10ppm?
>>360560 >Поэтому "скетчи" можно прошивать без всяких загрузчиков, так же как можно через дуриновский загрузчик прошивать программы скомпилированные без участия ардуины. Насколько это проверенная информация?
>>335724 (OP) Вкатываюсь, как дела с питоном на всяких arduino-support мк ? Сижу с esp8266 и esp32 и чет си заебал. Пробовал на них js но там на обоих платах нету поддержки хардварного шима, а на 32 блютуз не имплементирован. Хотелось бы узнать на сколько питон хорошо там живет и какие узкие места.
Ковыряюсь с CJMCU Badusb USB, возникла идея сделать из нее mass storage. Нашел Lufa USB Framework, скомпилил под amtega32u4 Bootloader, начал шить с avrdude, как в последствии я понял зря, загорелся красный светодиод, думал все ппц плате, но нет залил пустой скетч из arduino ide все опять заработало. Собственно вопрос как шить Bootloader? нужен ли USBasp программатор или есть программное решение?
Сап, тредчане. Пытаюсь заставить свой SIM800L пересылать пару чисел на URL, а эта адское отродье все шлет ошибку 302. Симка моя с телефона, интернет работает прекрасно. В чем может быть проблема? Может ему надо симку для модема, или оператора поменять?
>>361075 Как-то шутили - "Arduino - квадратно гнездовое мышление", оно заметно. 302 - это не ошибка, это значит что тебя шлют нахуй на другой адрес с текущей странички. Тем же wget-ом с компа скачай страничку и увидишь 302 - redirecting(или following) to new address или как-то так.
>>361111 Тебе просто нужно последовать по Location заголовку, который тебе дал сервер. Скорее всего, если ты первоначальный запрос хардкодишь, то тебе просто надо поправить первоначальный запрос на тот который получаешься в редиректе.
>>361122 >или тебе жалко показать все 235 байт ответа? Мне и самому бы поглядеть хотелось. Прочитай еще раз: >По запросу HTTPREAD высирает обрубленную строку.
>>335724 (OP) Товарищи! Реквестирую книги по микроэлектронике! В частности - интересует тема функционально-полных логических базисов, с подробным описанием пикрил. Насколько мне известно, продукционная модель представления знаний - имеет тенденцию к формированию противоречий, вследствие необратимости дизъюнкций: https://ru.wikipedia.org/wiki/Продукционная_модель_представления_знаний Дизъюнкцией - является логическая операция ИЛИ, и на пикрелейтед её выражают на элементах И-НЕ / ИЛИ-НЕ. То есть без неё и противоречий этих ебучих - не обойтись, верно? Ну охуеть теперь...
>>361144 >В частности - интересует тема функционально-полных логических базисов, с подробным описанием пикрил. Как будто у тебя в ВУЗе не было математики. Или уже все забыл?
>>361144 В чем вопрос то? Любая логическая функция может быть представлена в виде комбинации минтермов или макстермов. Так что, если с помощью набора элементов получится сделать все девять возможных логических функций от двух аргументов, то такой набор будет функционально полным. Каким тут вообще боком модель знаний?
Я понимаю что это не в тему этого итт треда, не всё же поинтересуюсь. Приходилось ли анону видеть attiny13/85 или atmega 325 в керамике? Абу содомит! Чому с Палестины и Израиля постинг запрещён ?!
>>361190 >не в тему В тему. AVR это ардуино, без вариантов. >attiny13/85 или atmega 325 в керамике? Разве такие бывают? У них вроде как только атмеги 128 и 64 для космоса в керамике есть.
>>361194 Так ты про клоны? Я то написал про микрочиповские. Если на российских деталях, и хочешь полную программную совместимость, то можно попытаться сделать на FPGA. >на КМках КМки числятся как не подлежащие к применению во вновь разрабатыаемой аппаратуре.
Купил на али китайскую Arduino Uno r3 и оказалось, что она не определяется видной, и Arduino IDE не видит эту плату. Маркировка с USB-UART микросхемы стерта, но в диспетчере устройств она определяется как ch240. С драйверов для ch240 у меня уже были проблемы под линуксом и виндой. Где можно купить ардуинку, с которой такие проблему не возникнут?
>>361224 Такие как ты это и есть довны, надрачивающие на стандартную библиотеку и конфигурацию и тактирование портов в отрыве от задачи, под которую берется контроллер. Соси хуй, быдло.
>>335724 (OP) 1300 постов с превью от картинок грузятся здесь долго, в этом треде! Процессор свестит и пердит. Сделайте перекат! Можете залить ег на архивач. Ну, или, прикрепите тред как бесконечный, с лимитом в 500 постов и бампом.
Господа, попытался я тут с помощью аналогового осциллографа и небольшого говнокода https://pastebin.com/4zxti3Zz измерить реальное время передачи данных по серийному порту.
В arduino nano всё работает как ожидается: в Serial.begin() можно поменять скорость; если скорость чтения и отправки не совпадают, то в serial monitor (юзаю VSCode) или putty выводится нечитаемая хуета. Это ОК.
В arduino Pro Micro нихуя непонятно: указываемая скорость в Serial.begin() игнорируется; при чтении данных из порта через serial monitor или через putty вывод всегда читабельный, какую бы скорость чтения я не указал - хоть при 300, хоть при 25000 бод я всегда вижу читаемые буквы (см. код). Причем если смотреть через putty, то ардуина еще и периодически подвисает где-то на 100мс (с вышеуказанным кодом не могу это измерить). Почему так? На сайте arduino про это ничего не сказано. Какой baud rate в Pro Micro (и остальных платах с atmega32u4, видимо?), всегда ли он такой и как его изменить?
>>361394 Самый беспроигрышный вариант - заглянуть в код. Или можно посмотреть ассемблерный результат. Но зачем пользоваться ардуиновской ерундой, когда можно взять gcc и CMake?
>>361398 > Самый беспроигрышный вариант - заглянуть в код. Еще бы понять, что там для какого чипа используется.
> Но зачем пользоваться ардуиновской ерундой, когда можно взять gcc и CMake? В этом случае я лучше stm32 начну изучать. Ардуино засчет библиотек и своего фреймворка пока выигрывает.
Делаю включение светодиодов с ик-пульта. С одним светодиодом (LED) все работает норм. Добавляю код для второго (LED2) - хуй. Идет срабатывание всегда только на первый светодиод в коде. Пробовал перекинуть переменную на второй светодиод - все работает, т.е. электрическая цепь исправна. По какой-то причине игнорируется код для второго светодиода.
void loop() { if (irReciver.decode(&results)) { // если данные пришли
Serial.println( results.value, HEX ); // выводим данные в окно монитора порта irReciver.resume(); // принимаем следующую команду
if (results.value == 0xFF629D){ //если сработал код 0x digitalWrite (LED, HIGH); //включаем светодиод } if (results.value == 0xFFE21D){ //если сработал код 0х digitalWrite (LED, LOW); //выключаем светодиод
if (results.value == 0xFFA25D){ //если сработал код 0x digitalWrite (LED2, HIGH); //включаем светодиод } if (results.value == 0xFFE21D){ //если сработал код 0х digitalWrite (LED2, LOW); //выключаем светодиод
irReciver.resume(); // принимаем следующую команду } } } }
>>335724 (OP) Ананы, а что если синус сформировать простым прибавлением и вычитанием скажем 1, а не вычислением формулы синуса? Т.е. я имею ввиду что форма будет не идеальный синус, но очень на него похожа, по крайней мере в протеусе пропускал с выхода контроллера на LC, осциллограф показал вполне достойный вариант. Я чего вообще спрашиваю то, мне для асинхронника надо формировать, там же обмотки=индуктивность, по идеи же должно быть все чикипуки, индуктивность, как в сказке двое из ларца, сама все за меня сделает? И еще вопрос по логике, как мне формировать три синуса на трех полумостах? Сначала открываем нужный(ые) нижние ключи, формируем шимом на верхнем часть волны, закрываем и верхние и нижние, смещаемся на 120 градусов... ска пздц каша в голове, нихуя не понимаю.
>>361394 Короче, покопался еще раз в исходниках платформы, выяснил следующее:
> и остальных платах с atmega32u4, видимо? Да, ардуины на этом чипе представляются компьютеру как USB CDC устройство.
> указываемая скорость в Serial.begin() игнорируется; В USB реализации класса Serial передаваемая скорость и настройки действительно полностью игнорятся.
> Какой baud rate в Pro Micro, всегда ли он такой и как его изменить? В USB реализации Serial есть метод baud(), возвращающий текущий baudrate. baudrate определяется автоматом динамически - ставишь в serial monitor скорость чтения 9600 и в ардуине становится 9600, ставишь скорость чтения 115200 - в ардуине становится че-то около 50 тыщ. Изменить из ардуины его нельзя, да и смысла нет - скорость записи (время выполнения Serial.write()) никак не зависит от этого значения, только от количества передаваемых данных. serial monitor в VSCode, кстати, в таком режиме почему-то дропает часть данных из порта.
По моим замерам, описанным в посте по ссылке, nano на скорости 2000000 baud передает данные быстрее, чем pro micro - один килобайт за 6 и 8,6 мс соответственно. Хотя еще надо будет целостность данных потестить в обоих случаях.
Кто нибудь сталкивался с тем что серво машинка не управляется с ардуино? просто дергается куда хочет. Соединял сигнальный провод и землей через 40 омный резистор, работало но иногда подрагивалось, но хочу решить нормально эту проблему шо делать?
>>361651 Вообще все началось с того, что я начал делать самолет на ардуино, у меня был ESC регулятор с мотором, он мог выдавать нужный ток для питания ардуино, но он сгорел вместе с мотором, я купил новый мотор и регуль, но вот он не может потянуть даже две сервы одновременно, я поэтому я решил запитать от батареи через DC DC понижатель, захотел узнать сколько потребляет одна серва , но не могу управлять ей. Если взять сигнальный провод в руки то она вертится и показывает 0.3 А на холостом ходу, но что бы от ардуины не хочет сигнал получать. Как и сказал выше, что бы корректно работало я припаивал 40 омный резистор между землей и сигналом, но хочу узнать в чем причина. Запитывал я все от Компьютерного блока питания, к 5 вольтам подсоединял, серву, ардуино от компьютера, землю сервы и ардуино соединял.
>>361747 есть такая косточка. Ебался лет 10 назад. ТRC 101(102). ВЧ цепи лепил к ней из деталей выковыряных из сотовых телефонов )). Диапазон от 300 Мгц до 1Ггц. На лету можешь выбрать диапазон и вещать передавать (правда с ВЧ цепями сам ебаться будешь).
>>336682 Ардуино - топ. А тв мамкин ебучий программист блядь, ебаный выблядок, ищущий пути возвышения самооценки через оскорбление других, блядь. Соси хуй и пиздуй в школу.
Программирование на Си, хотя на самом деле это просто переводная выжимка из даташитов. Полезно почитать перед тем как уже читать даташиты на конкретные камни. Шпак Ю.А. - Программирование на языке С для AVR и PIC микроконтроллеров - 2011.djvu
Погромирование на асме: Ревич Ю.В. - Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера (Электроника) - 2014
>>361842 ардуина далеко не топ. Ардуина чтобы школяр или левый человек никогда не имевший дело с МК сделал совю хуйню и охуел "Ибать ОНО работатет!!!" Но дальше с ней одни сплошные проблемы. Например функция digitalWrite() по сути она должна дергать МК за ногу и ничего более, НО! - https://arduinonsk.ru/blog/83-how-digital-write-works в ней ОЧЕНЬ много лишнего дерьма. На родном си это виглядит вот так DDRB |= _BV(DDB5); PORTB ^= _BV(PB5); Это займёт 2 такта работы МК. _BV() это макрос который выполнаяется на этапе компиляции и не отнимает ресурсов во время работы МК. Ардуина плоха что удерживает человека на уровне хобби и не даёт подняться. Ардуинщик это вечный хоббист который клепает из лего свои домики.
>>361421 на этапе компиляции формируешь массив со значениями синуса, чтобы во время работ не считать синусы, а просто брать готовое значение из таблицы с определённым шагом, не? С тремя фазами так же, делаешь таблицу и бегаешь по ней с переменной скоростью по таймеру.
>>335724 (OP) Встал вопрос об отладочной плате. На моём мк нет ардуино, да и в принципе на PICaх или для других микроконтроллеров вообще нет дешевых отладочных плат по цене ардуино. А для каждого отедельного проекта на стадии тестирования глупо разводить плату. Тогда понял, что лучшее решение - взять макетную плату с гнездами, ставить туда МК, кварц, программатор. Вот как на этом видео. Очень удобно, можно вставить любой МК, кварц и разъём программирования и готово. https://www.youtube.com/watch?v=npc3uzEVvc0 Но это годится только для DIP- как быть с макетной платой, если это SOIC или QFP? Пока что предстаёт в голове идея делать под нужный чип миниплаты, на конце которых будут ножки для монтажа.
>>361882 > Пока что предстаёт в голове идея делать под нужный чип миниплаты, на конце которых будут ножки для монтажа Такие платы уже готовые продаются.
Сегодня пару часов были недоступны для скачивания библиотеки из менеджера библиотек ide 1.8.9. Кочайте всё! Думаю Чебурашка оставит нас даже без таких безобидных хобби..
>>335913 В СТМах включаешь тактирование записью в регистр, включаешь периферию записью в регистр, пользуешься. Я правда нихуя не понимаю, зачем ты, слабо представляя работу микроконтроллера, хочешь сразу ебашить на низком уровне? Я наоборот, разбираюсь с HALом и только потом вникаю в низкоуровневую часть того, что намутил.
>>362554 Он правильно делает. Хотя бы что-то запомнит, что умеет периферия да и рефман почитает как нормальные пацанчики, режимы работы и не будет охуевать как макаки от какого-то непонятного набора магических заклинаний в халах-хуялах.
>>335913 Тащемта так и устроены все "quickstart". Вот тебе готовый код, скомпилил, работает? Отлично, раскуривай что где и как и допиливай по вкусу. Про тактирование портов мельком написано в разделе RCC, и нужно быть внимательным - ответ в том, что после (пере)запуска в битах тактирования портов устанавливается 0(reset value), те отключен и нужно включать. Да и вообще надо очень внимательно смотреть на reset value.
>>362556 > Хотя бы что-то запомнит, что умеет периферия да и рефман почитает как нормальные пацанчики, режимы работы и не будет охуевать как макаки от какого-то непонятного набора магических заклинаний в халах-хуялах Вот этого двачую. Сколько уже раз натыкался на баги в халах-хуялах, и если бы я не знал, как работает микроконтроллер на низком уровне и не умел читать референс мануалы, я бы просто охуел, а потом и вовсе бы забил. Халы-хуялы - это хорошо, экономит кучу времени, позволяет быстро писать легко поддерживаемый и портируемый код, но без знания, как оно работает под капотом, лучше туда не лезть
>>335724 (OP) Кто-то пользуется программатором USBasp? В какой программе заливаете прошивку? Пока что пользуюсь им на дефолтной прошивке с программой AVRDUDEPROG 3.3. Пытался сделать, что бы подвязать его к Avr Studio 4.19 и можно было бы прошивать его напрямую из студии. Делал по этой инструкции: http://new-tech.in.ua/tips/142-usbasp-change-firmware-and-software Прошил вторым программатором первый(установив перемычку) прошивкой AVR Doper, установил драйвер, он стал виден, как COM2, но студия не хочет его видеть, как STK500.
>>362652 Я не настоящий ардуинщик, только пару раз прошивал атмеги когда повторял готовые конструкции. Мне непонятно зачем ты пользуешься какой-то непонятной графической оболочкой для avrdude. Неужели не можешь ввести необходимые команды с клавиатуры? >Пытался сделать, что бы подвязать его к Avr Studio 4.19 и можно было бы прошивать его напрямую из студии. Не знаю как в этой студии, но во многих IDE, наверное даже в большинстве, можно задать команды которые будут выполняться после завершения компиляции или каких-то еще действий. Не проще ли туда вставить команду avrdude -p и т.д.?
>>362684 Квадратно-гнездовое мышление? GTFO! Это же обычная светодиодная матрица со строками и столбцами. Гугли про динамическую индикацию. HCMS индикаторы с псевдоSPI поинтересней - залил и забыл. На твоем АЛС если повиснет пердуина - только одна строка(столбец) будет светится.
Хай анонче. Микроконтроллер Атмега 8535. Понадобилось сделать эмулятор памяти, работающей по I2C. С AVR'ом, к сожалению никак не знаком и кроме как в Ардуино-скетчах не сталкивался. Посоветуйте, с чего начать? Какую IDE использовать? Есть онлайн гайды прямо для моего микроконтроллера? Спасибо.
>>362709 Илья, он же школотрон, залогинься! > Посоветуйте, с чего начать? Перечитать тред и съебать в STM32, где был дрыщекод эмуляции памяти, который надо слегка перепилить и заведется под AVR. > Атмега 8535 Это что за хуйня по части импортозамещения? Назови название спизженного "аналога". Ебать антиквариат, у него даже JTAG нет. Удачи в ебле с отладкой через printf. > Какую IDE использовать? AVR Studio.
>>362714 Ок, спасибо >>362715 >AVR Studio Ну, в принципе логично. Братан, ну вот почему именно школотрон? Если хочешь меня тут деанонить - пиши сразу в ЛС, хули ты? >был дрыщекод эмуляции памяти Не, к логике работы именно кода - никаких вопросов. Вопрос только в настройке TWI в нужный режим. >Это что за хуйня по части импортозамещения? 1887ВЕ4 >Удачи в ебле с отладкой через printf Ну я думаю, что при наличии либы, реализующей I2C Slave на TWI, можно было бы обойтись и отладкой по пинам. >Перечитать тред Не ну какбы 1.5к постов, из который 50% мусора... То же время потраченное на чтение даташита принесёт куда больше пользы... Но если уж его я не прочитал, то сам какбы понимаешь
>>362762 Школотрон! Вернись с небес на Землю.. Тебе крылья не идут. Поделись крыльями. Говнокод этих времен >>346723уже не на чем запускать и тестить. Сам потестишь и расскажешь. Быдлокодилось под мега328.. Отсылку спама по UART выкинул (там буквально пара строк). > либы, реализующей I2C Slave на TWI Это насколько тупым надо быть? IIC по шагам отлаживается и пишется, спецификация позволяет из-за бесконечных таймаутов. Смотришь в даташит, смотришь в статусный регистр. PROFIT! А теперь съебал гуглить как вырастить огромные птичьи крылья с перьями и сюда отчет. Если совсем упарываться пометом -тебе нужно съебать в ПЛИС-о тред. С ходу решением может быть 4 регистра 595 для данных, мультиплексор 32:1 для выдачи конкретного бита, счетчик который показывает какой бит выдавать и какой-то регистр или конченный автомат сравнения адреса + логика склейки этой поеботины, в которую вливаешь дерьмо по SPI, а отвечать она будет настолько быстро, что будет просить добавки даже на тактовой (SCL) в десяток-другой МГц...
Искал как выводить инфу о компе на ардуину. Всегда нужно ставить либо самому делать прогу, которая будет в ком порт отправлять данные с сенсоров. Можно как-то сделать чтобы я втыкал ардуину в usb и она сразу начинала получать данные о компе без ручной установки софта?
>>362763 Ну вот че ты доебался с ПЛИСами этими? Посмотри сколько стоит самая дешевая импортозамещенческая плисина и успокойся. Ты странный И я совершенно нихуя не понял, из того, что ты написал в >>346723 А за код - спасибо.
>>362766 > Ну вот че ты доебался с ПЛИСами этими? Посмотри сколько стоит самая дешевая импортозамещенческая плисина и успокойся. Совсем поехавший? Тебе не нужны ПЛИС типа FPGA на десятки-сотни LE. На первый взгляд достаточно простой CPLD на 64 макроячейки. Поищи их. В виду простоты схемы ее и на рассыпухе можно собрать. > И я совершенно нихуя не понял, из того, что ты написал в >346723 Омич-полуебок, скажи - ты наркоман? Школотрон...
>>362652 Наконец-то у меня получилось заставить работать USBasp прямиком из AVR Studio 4.19 как STK500! Это намного удобней: написал программу и сразу же из студии прошил, к тому же у STK500 куда больше возможностей, чем у avrdude. У меня стоит Windows 7. Для этого мне пришлось облазить половину рунета, но оно того стоило. Итак, описываю ПОДРОБНЫЙ порядок действий, как USBasp превратить в STK500, уверен, это кому-то пригодится:
1) Сначала нам надо поменять прошивку USBasp из дефолтной на прошивку AVRDoper(прошивку атмеги8, которая в нем стоит). Для того, чтобы прошить программатор, потребуется другой программатор. Для прошивки программатора замыкаем перемычку J1, подключаем шлейф и прошиваем файлом usbasp-mega8-12mhz.hex из папки Firmw. Сделать это можно прогами AVRPOG3.3 или SINAPROG, выставляем нужный чим(мега8), резервируем дефолтную прошивку(считываем ее куда-нибудь), стираем старую прошивку и прошиваем флеш новой прошивкой.
2) Возвращаем перемычку прошитого программатора на место J2, втыкаем его в USB. Windows начнет поиск драйверов и не найдет. Указываем путь к драйверу к папке xpvista7. Это последняя версия драйвера для AVR910 с сайта protoss. Заходим в диспетчер устройтв, и смотрим. Прогрмматор будет виден как Communication Port (номер). Этот номер должен быть от 1 до 9. У меня он изначально обозначился, как COM17. Поэтому нажимаем по устройству правой кнопкой, Свойства-Параметры порта-Дополнительно и меняем номер(я поменял на COM2).
3) Заходим в AvrStudio и жмем значёк Con. Выбираем STK500 и номер COMпорта, который указан. Он начнет ругаться, что нужно обновить драйвер, просто нажимаем отмена. И вуаля! Теперь мы можем работать с STK500. Файлы: http://rgho.st/6gc6fryzN
>>362818 >куда больше возможностей, чем у avrdude. С чего бы это? Там из возможностей должно быть только чтение/запись памяти программ и фьюзов. Вот у отладчика действительно больше возможностей.
>сколько стоит самая дешевая импортозамещенческая плисина Если 5576ХС1Т с 5-ой приемкой, то в 2,5 раза дороже чем 1986ВЕ1Т.
>>362839 >>362840 Ебанулся? Нахуя FPGA? На эту FPGA (Flex) конфигурационное ПЗУ типа AT17 стоит как крыло от самолета. Щколоте нужно CPLD типа MAX-3000, MAX-II, MAX-7000 или подобный треш.
>>362841 > Щколоте нужно CPLD типа MAX-3000, MAX-II, MAX-7000 или подобный треш. Ему нужно то, что можно потом заменить на отечественный аналоговнет (если я правильно понял и это тот чувак, который спрашивал за отечественный i2c флэш в треде отечественной электроники).
>>362841 Ты идиот. А ну съебал со своим школотроном отсюда! И некроговно свое забери. >конфигурационное ПЗУ типа AT17 стоит как крыло от самолета. 5576РС1У стоит в три раза дешевле 5576ХС1Т, если что.
>>362845 Других импортозамещенных ПЛИС практически нет. Есть интеграловские однократно программируемые CPLD, но они вроде как радиационно стойкие и вряд ли будут существенно дешевле.
>>362843 Просто признай - замены CPLD НЕТ, а FPGA тут на хуй не вперлось. Этого достаточно. Остается вариант на рассыпухе собирать. Осторожно бздану что используя планарные мс - впишется в спичечный коробок по размерам с платками в 2(3) этажа.
>>362864 >atof Не надо давать вредных советов по использованию плавающей запятой на микроконтроллерах. А если начал использовать плавающую запятую, то тогда sscanf уже не так жирно на этом фоне будет.
Хелпаните, не знаю, как заставить программу работать. Есть 3 светодиода, которые должны мигать с разной частотой, в момент, когда светятся все три, должен засветиться 4-ый (соответственно, если хотя бы один из 3 потухнет, то и 4-ый перестанет светится, реализуя логическую операцию 3-И). Проблема в том, что не знаю, как заставить диоды одновременно мигать (т.к. команды по их включению и выключению выполняются последовательно) и как постоянно проверять условие для включения четвертого диода. Говнокод и схема в Протеусе прикреплены.
>>362893 >Проблема в том, что не знаю, как заставить диоды одновременно мигать 1) Небольшая задержка, допустим 1 мс. 2) Инкрементировать счетчик (простую переменную) для первого светодиода. Если счетчик достиг заданного значения, то обнулить его и инвертировать сигнал на светодиоде. 3) Повторить пункт 2 для второго светодиода. 4) Остальная логика для третьего и четвертого светодиода. 5) Перейти к пункту 1.
>>362893 Подключи все светодиоды к одному порту и пиши в порт число, а не биты дергай. Как только ты запишешь число в порт, все пины на этом порту изменят свое состояние одновременно.
>>362896 А мне показалось что у него основная проблема не в небольшой задержке при переключении светодиодов, а в том чтобы два светодиода мигали с разными периодами.
>>362898 О чем ты, в чем у тебя проблема? Ты не можешь застаить светодиоды мигать с разным периодом? Или проблема в том, что команды записи в порт создают задержку в доли микросекунд?
>>362898 Это не имеет отношения к изначальной проблеме, но тоже лучше сделать. Я говорю о том, что нужно изменить код вывода результата на пины. Как уже говорил, подсоедини свой чертвертый диод к порту B, например к пину PB3. Вместо того, чтобы сразу включать/выключать диоды, запиши результат своих вычислений в какую-нибудь int или byte переменную (пусть будет int leds;), каждый бит в этой переменной будет отвечать за состояние пина, т.е. первый бит - PB0, второй - PB1 и т.д. (точное соответствие в даташите смотри), далее пиши это число в порт, как ты это делал перед циклом - PORTB = leds; таким образом у тебя все четыре пина и светодиода будут менять свое состояние одновременно. Должно быть примерно так: int leds = 0; while { leds = // поменял какие-то биты PORTB = leds; leds = // поменял еще какие-то биты PORTB = leds; } Возможно еще придется сделать так, чтобы менялись только первые четыре бита, но это уже даташит свой смотри.
>>362899 > в доли микросекунд Замерял как-то на atmega32u4 (arduino pro micro), разница между включением пинов на PORTB и PORTD около 0.8 микросекунд.
>>362902 >Замерял как-то на atmega32u4 (arduino pro micro), разница между включением пинов на PORTB и PORTD около 0.8 микросекунд. Пиздец ты ардуинщик, замерял он. Команда SBI выполняется два такта, задержка будет соответствующей.
>>362905 Что не так? > Команда SBI выполняется два такта, задержка будет соответствующей. Отлично, я почитаю позже что это за команда, но сциллограф показал, что при выполнении кода PORTB = b; PORTD = d; пин, висящий на порту D включается позже, чем пин па порту B, приблизительно на 0.8 микросекунд. Такой задержки между включениями пинов на одном порту я не увидел.
>>362906 Светодиоды должны включаться одновременно, но с разным периодом + постоянно должно проверяться условие (включены ли диоды одновременно или нет). Но вместо этого диоды просто включаются по очереди, не говоря уже о проверке условия
>>362909 Все равно не понимаю. Тебя напрягает задержка в несколько микросекунд? Или ты не можешь сделать так, чтобы два светодиода мигали одновременно, но с разными периодами?
>>362912 жесткий real-time не нужен, да и в железе исполнять не собираюсь. Сначала вообще реализовал это все на 3-х ключах, что при их замыкании будет диод светиться и все замечательно,но препод говорит, что нужно сделать тоже самое, но на диодах (с разной частотой), чтобы самому свичи не щелкать. >>362910 не могу сделать, чтобы три ( ну или хотя бы два) мигали с разным периодом
>>362915 Давай проще - нарисуй картинкой в масштабе что нужно. Все 4 сигнала. Судя по тому что не пердуинщик, на прерывании таймера конченный автомат сделаешь и будет заебись.
>>362915 >чтобы три ( ну или хотя бы два) мигали с разным периодом Заводишь три таймера с разными делителями и на выходах получаешь разнопериодное мигание.
>>362915 Почему тогда написал "спасибо", анону, посоветовавшему уменьшить микросекундную задержку при переключении?
Я тебе уже писал как делать. >>362894 Ну что там может быть непонятного? Если нужно точнее выдержать период, то следует использовать таймер, как советует анон выше >>362919
>>362908 Это ничего не доказывает, нужно смотреть ассемблерный код. Неизвестно что там компилятор выдал, может там в промежутке вычисляется это твое d или еще что-то.
>>362923 >Ну что там может быть непонятного? Как минимум то, что я чертов распиздяй и языки программирования изучал очень поверхностно, а в программирование мк до этого не пытался вовсе, а теперь пытаюсь во всем этом разобраться, учитывая то, что от препода задание есть, а на вопросы о том, как это реализовать ответ один - "в интернете все есть"
>>362928 Это какая-то ерунда, а не задание. Я нихуя не понял. >используя диоды Какие диоды? >чтобы было видно Это совсем непонятно. Нужно только перебрать все комбинации (8 штук) на входе? Тогда зачем генераторы с вроде как независимыми периодами, если для этого нужен счетчик?
>>362919 >>362920 >>362923 Сейчас постараюсь разобраться с таймерами, может что-нибудь и получится. Спасибо всем за помощь, не ожидал, что получу какие-либо советы
>>362928 Попробуй эту хуйню запустить. С настойками задержек сам ебись. Адовый говностиль кодинга, забивая огроменный хуй на некоторые формальности работы с портами и их изменением. #include <avr/io.h> #include <util/delay.h> //#define F_CPU 8000000
int main(void) { unsigned char cnt=0; DDRB =0x07; DDRC =0x01;
>>362928 Что-то мне подсказывает, что биты у тебя извне должны приходить, а три светодиода просто должны отображать, что за биты пришли. Но если надо генерировать биты самому, то я вижу это так (предполагая, что все четыре светодиода на порту B): while (true) { // генерируем биты for (int i = 0; i < 8; i++) { // делаем побитовый AND с тремя битами int res = (i & 1) & ((i >> 1) & 1) & ((i >> 2) & 1);
// выводим три входных бита (PB0-PB3 ?) и выходной бит (PB4 ?) PORTB = ((res << 4) & 0b1000) | (i & 0b0111);
// секундная задержка, чтобы можно было че-то увидеть delay_ms(1000); } }
>>362934 >Какие диоды? Светодиоды, офк У генераторов разная частота, чтобы в разный момент времени на входах были разные сигналы (перебираются 0 и 1), потом на графиках смотришь, в какой момент на выходе получаешь 0 или 1. А нужно эту логическую схему перенести на мк, задав разные частоты диодов (чтобы также перебирать 0 и 1 на входах) и также смотря, что получается на выходе. Задание придумывал не я
>>362937 Тебе не нужны таймеры, если не требуется высокая точность периода мигания светодиодов. Ну зачем!? Какой-то сплошной поток бреда, не удивлюсь если препод такой же бред несет.
>>362928 Пиздец бля задания. Понятно, почему в рашке нихуя нормального нет. В чём тут вообще образовательная суть? В ознакомлении с работой логических элементов, что ли? Нет, нихуя, это задание на байтоёбство на си. Я понимаю ещё если бы это на каком-нибудь HDL было, это гораздо ближе к теме. Но здесь какая-то полная хуйня. Беги из своей шаражки быстрее, пока тебе мозги не засрали. Есть ещё шанс нормально выучиться. А то так и будешь мигать светодиодами, выполняя дурацкие задания старых пердунов, не зная действительно полезных вещей по специальности
>>362940 > Что-то мне подсказывает, что биты у тебя извне должны приходить, а три светодиода просто должны отображать, что за биты пришли. Ты слишком высоко ценишь рашкинское аброзаванее. Тут цель тупо в демонстрации работы элемента 3-и светодиодами. Есть 3 входа, один выход. Нужно перебрать все комбинации и зажечь соответствующие светодиоды. Всё. Вот так у нас учат цифровой схемотехнике. Путём мигания светодиодами на ардуине, мля
>>362951 С чего ты взял что это курс цифровой схемотехники, а не байтоебства? Но все равно пиздец, потому что с такой формулировкой задания можно только догадыватся что имелось в виду.
>>362956 Дядя, ну ты чего? Я пытаюсь тут разобраться, что и к чему, вкатываясь впервые в мк, а тут сразу проклинать собрались. Рили, спасибо, не думаю, что сам разобрался бы
>>362953 >Вот так у нас учат цифровой схемотехнике Бывает и такое. Нексттайм вроде придется реализовывать на мк работу триггеров, счетчиков, регистров и пр., ибо лабы в Multisim'е по ним есть. Что с ними буду делать - не знаю, наверное, опять дадут задание, толком не объяснив, что делать и как реализовывать, хехмда
>>362955 > С чего ты взял что это курс цифровой схемотехники, а не байтоебства? Потому что задания на логические элементы даются в курсе цифровой схемотехники. Задания же на программирование мк даются в курсе микропроцессоры, и там дрючат в основном ассемблер, алу, память, конвейер, регистры и тому подобное, но никак не логические элементы. По сути, здесь анону задали написать эмулятор логической схемы на микроконтроллере. Это же пиздец как тупо, даже тупее, чем писать его просто под обычную персоналку
>>362958 > придется реализовывать на мк работу триггеров, счетчиков, регистров Пиздец, неужели нельзя это делать на плис, что намного более подходит теме курса? Да даже тупо симуляция верилога на ПК вообще без железки имела бы намного больше смысла
>>362959 >там дрючат в основном ассемблер, алу, память, конвейер, регистры и тому подобное, но никак не логические элементы. Правильно, а на практических занятиях пишут на ассемблере что-то простенькое. Начинают например с простого мигания одним светодиодом. >По сути Код a & b & c - это уже эмуляция логической схемы? По сути, нет.
>>362962 Триппера и счетчики? На меге8? Надо отдать должное что быдлокодится не в пердуино иде, а как нормальные люди сразу на Си под bare metal. Вполне возможно реализовать, используя входы внешних прерываний и счетный режим таймера (если что-то быстро считать) или те же прерывания (если просто макет для медленного счета). Засада будет с RS триппером и его запрещенным состоянием - как его реализовывать? Там как ни как есть доля вероятностей, метастабильность и непредсказуемость при одновременном снятии единиц со входов R и S. Хотя наверное проще забить болт на это(вероятности). За ПЛИС голосую. Они поинтересней для такой тупой работы.
>>362965 >>362962 >>362959 >>362958 >>362951 Задание можно переформулировать так: напишите такую программу, чтобы четыре светодиода мигали следующим образом... Тогда это вполне подходит под курс байтоебства. Так что нечего тут выдвигать бредовые предположения. Наверняка в реальности все окажется еще ужаснее чем можно было бы предположить. Например это совмещенный курс по цифровой схемотехнике и урокам кройки и шитья.
>>362964 > Код a & b & c - это уже эмуляция логической схемы? По сути, нет. Почему это? Если в задании сказано эмулировать логическую схему, и в результате этого появляется код a & b & c на языке программирования Си, то да, этот код эмулирует логическую схему. А программная эмуляция цифровых схем - это совсем другая область, которую не стоит сходу давать неподготовленным студентам
>>362965 > Вполне возможно реализовать, используя входы внешних прерываний и счетный режим таймера Да возможно конечно, кто ж спорит. Но это может сломать детскую психику, и с самого начала привить ложное понимание предмета
>>362967 Ты домысливаешь всякую ерунду, потому что это задание сильно неоднозначное. Эту хрень можно истолковать множеством способов. Даже не факт что этот анон переписал задание правильно, не выкинув из него что-нибудь.
>>362969 > Ты домысливаешь всякую ерунду Возможно. Но я слишком хорошо знаком с уровнем образования по тематике в нашей стране, поэтому мои домыслы, к сожалению, часто оказываются верны. > потому что это задание сильно неоднозначное. То, что препод не может четко и поняно сформулировать задание, тоже показатель качества образования
>>362970 >То, что препод не может четко и поняно сформулировать задание А где ты видел само задание? Ладно бы тут была фотография билета с заданием, но тут лишь то что написал тот анон.
>>362972 Он также написал >>362958 > Нексттайм вроде придется реализовывать на мк работу триггеров, счетчиков, регистров и пр Что опять же свидетельствует о том, что это курс именно цифровой схемотехники
>>362972 Задание было сугубо в устной форме >>362979 Цифровая схемотехника Лекции, как по мне, довольно неплохие, в них вся теоретическая база в общем, которая довольно доходчиво объясняется (но ни слова о программировании), а вот с лабами вообще не понятно, делай то, но не понятно как (при том, что лекций именно по программированию мк вообще никто не проводит)
Есть attiny13A + usbasp + avrdude + желение выставить RSTDSBL fuse, чтобы использовать все 6 пинов как и/о, но почему-то avrdude не справляется с задачей: >$ avrdude -c usbasp -P usb -p attiny13 -u -U hfuse:w:0xfe:m >avrdude: reading input file "0xfe" >Writing | | 0% 0.00s failed; >Writing | ################################################## | 100% 0.03s >avrdude: 1 bytes of hfuse written >avrdude: verifying hfuse memory against 0xfe: >avrdude: verification error, first mismatch at byte 0x0000 > 0xff != 0xfe
При этом с high-voltage программером всё нормально меняется, чип уходит в невидимость для usbasp (работу пина ещё не проверял).
В доках ни о каких защитах ничего не нашёл, только >When programming the RSTDISBL fuse, High-voltage Serial programming has to be used to change fuses to perform further programming. Но это говорит лишь о том, что после* выставления необходим высковольтный.
Собственно, в интернете многие "случайно" этот бит меняют и "ломают" свои мк, но как и чем? Проблема во мне, avrdude'е или китайском usbasp? lfuse меняется нормально external clock уже случайно выставлял, лол.
>>364239 Ты даун? Естественно он потеряется для usbasp, так как он не в состоянии сбросить тиньку и по время ресета войти в режим программирования. То что "ломают" - это включают тактирование от внешнего кварца или еще хуже - генератора. У меня пригорало - при установке делителя частоты на 8 как-то не хотел запускаться debugwire. Через дракона восстанавливал назад.
>>364244 >Ты даун? Нет же, ты. Вопрос был в другом. Возможно, слишком много текста, поэтому вот: avrdude с usbasp не может выставить RSTDSBL фьюз*. Высоковольтный может. Делаю ли я что-то не так с avrdude'ом или так и задумано?
Просто не хочется лишний раз чип переставлять во время отладки.
>>364250 Может еще раз прочитаешь вывод avrdude? С другого бока вопрос - после передергивания ануса тиньки по питанию после подачи команды на изменение фьюза RSTDSBL пробовал читать-писать тиньку? Более чем уверен что соснешь сочного хуйца с пикрила после применения бита отключения ресета, о чем недвусмысленно намекает команда ошибка верификации фьюза(ов).
>>364254 >пробовал читать-писать тиньку? Пробовал, конечно, всё продолжало работать, программа зафлешилась. Он не выставлял его в 0xfe, на что как раз verification error и указывал ("должно было быть 0xfe, а прочитано 0xff"), а не хуйцах твоих.
Однако, сейчас обнаружил, что еслить сделать >avrdude -U flash ... >avrdude -U hfuse... То всё нормально меняется. Это как так? — https://pastebin.com/k8RgWAQ5
>>362818 Тот же анон. Поначалу думал, что программатор не работает, так как сигнатуру не читал(вернее читал, но нулями), а память можно было только стереть. Оказалось, что в этой прошивке он задействует только 4 основных провода, питание нужно подавать на прошиваемую микросхему отдельно. Развел на бредборде тини2313 со светодиодом и подал отдельно питание, стало прошиваться всё нормально, включая фьюзы, память и читать сигнатуру.
>>364269 Если что, то библиотеку delay.h, я использовал только для теста, я в курсе, что профессионалы для задержки используют или while, for, или таймер, так как она косячная и не даёт точное время. Пикрил - едва заметное глазу тление светодиода.
Взываю к помощи! Есть 4 значный 7-сегментный дисплей, используется библиотека SevenSeg.h. Нужно выводить на дисплей в перерыве выполнения программы, для чего используется функция ISR(TIMER2_COMPA_vect). Всё как бэ работает кроме одного но, если в программе объявлено Serial.begin(9600); то один из сегментов ("E" - нижняя левая палка) не прорисовывается. т.е. вместо "8888" показывается "9999". Другие скорости не помогают, но если ставлю 300, то при запуске дисплей моргает 8888 и дальше снова 9999.
ну вот, к примеру: #include <SevenSeg.h> SevenSeg disp(11,7,4,2,1,10,5); const int numOfDigits=4; int digitPins[numOfDigits]={12,9,8,6}; String inputString = "8888"; boolean stringComplete = true; void setup() { disp.setDigitPins(numOfDigits,digitPins); disp.setDPPin(3); // set the pin for the Decimal Point, if you have one disp.setCommonAnode(); disp.setTimer(2); disp.startTimer(); disp.setDutyCycle(50); Serial.begin(1200); } void loop() { if (stringComplete) { Serial.println(inputString); disp.write(inputString); inputString = ""; // clear the string: stringComplete = false; } } void serialEvent() { while (Serial.available()) { char inChar = (char)Serial.read(); // add it to the inputString: if(inChar != '\n') { inputString += inChar; } // if the incoming character is a newline, set a flag // so the main loop can do something about it: else { stringComplete = true; } } }
ISR(TIMER2_COMPA_vect) { disp.interruptAction(); //attaches the timer to the interrupt }
>>364332 О! Сотни нефти тебе! Жаль, беда, 13 пин у меня занят температурным датчиком ds18b20 который необходим в этом проекте. Есть какое-то решение в данной ситуации?
>>362839 >С чего бы это? Там из возможностей должно быть только чтение/запись памяти программ и фьюзов. Это да, но из несомненных плюсов: 1)Не надо никуда выходить из студии. Написал код, нажимаешь build, нажимаешь кнопку залить флеш(обвёл красным) - прошивка заливается. 2)Автоматическое удаление флеша/еепрома, запись и верификация. 3)Максимально удобно ставить фьюзы, простой и понятный интерфейс, что нажал - то и получил. Не надо ебаться с даташитами и калькуляторами фьюзов, чтобы их выставить. И всё это прям в IDE, напомню.
>>364352 >1)Не надо никуда выходить из студии. Не знаю как в студии, но в эклипсе, qt creator и других средах тоже не нужно. В настройках проекта в команде "run" прописываешь avrdude со всеми необходимыми аргументами. >2)Автоматическое удаление флеша/еепрома, запись и верификация. Достаточно для avrdude задать соответствующие аргументы. >3)Максимально удобно ставить фьюзы, простой и понятный интерфейс, что нажал - то и получил. Не надо ебаться с даташитами и калькуляторами фьюзов, чтобы их выставить. Вот это верно, только это требуется делать довольно редко. А тебе для твоего STK500 придется выбирать порт.
>>364362 Алсо, можно ли взять два испа и одним перепрошить на асп? Просто все пугают что эт опиздец кирпич и им ничего не сделать — нужно срочно перепрошивать.
>>364357 >>1)Не надо никуда выходить из студии. >Не знаю как в студии, но в эклипсе, qt creator и других средах тоже не нужно. В настройках проекта в команде "run" прописываешь avrdude со всеми необходимыми аргументами. Я не хочу разбираться с avr-dude. >>2)Автоматическое удаление флеша/еепрома, запись и верификация. >Достаточно для avrdude задать соответствующие аргументы. См.выше, зачем учить какие-то команды avr dude? >>3)Максимально удобно ставить фьюзы, простой и понятный интерфейс, что нажал - то и получил. Не надо ебаться с даташитами и калькуляторами фьюзов, чтобы их выставить. >Вот это верно, >только это требуется делать довольно редко. С чего ты это взял? Джаст фо фан за полчаса испытал все виды тактирования от 128 кГц до кварца 20 мгц, и виды питающего напряжения от 2,7 в до 5 в, также вотчдог простым нажатием мышки. Если бы я это делал с даташитами, то на это ушло бы полдня. >А тебе для твоего STK500 придется выбирать порт. Ноуп, в программе он определяется автоматически. Так что всем советую перепрошивать USBasp в STK500.
>>364362 Это два абсолютно одинаковых USBasp. Подумай сам, у них одинаковая схема, одинаковый микроконтроллер, да даже выглядят они один в один. Только зачем то один из них назвали USBisp, но это не важно. >>364364 >Алсо, можно ли взять два испа и одним перепрошить на асп? Да, соединяешь оба программатора шлейфом, на прошиваемом замыкаешь перемычку J1 и заливаешь любую прошивку.
>>364386 Нигде в треде 168 не упоминалась (кромея перечня всего семейства мк). Не знаю, где ты там 328 дешевле находишь, мне китайцы предлгают 168 за $1, а 328 — за $2. В dip28. qfp ещё дешевле, там целую ардуино мини можно за 1$ купить.
>>364398 Хм, посмотрел на других сайтах (microchip.com, octopart.com), и действительно, 168 стоит дороже (по всех корпусах). Подводных не должно быть, у них разница-то только в объёме памяти.
>>364401 Если в лоб - нет. Ставишь дегенератор и его выход подаешь например на 6 инверторов как повторители (74HC04) c последовательными резисторами - и можешь спокойно тактировать 6 МК через выводы OSCin. Вместо дегенератора можешь на свой страх и риск раскачивать кварц через инверторы и с выходом делаешь действия из п.1.
Если я создам плату по минималке с развязкой пикрилейтед 1, то мк заведется? Пытаюсь идти от простого к сложному. Пока сделал отдельный источник питания для работы мк, который будет отключаться во время пошивки по usbasp.
Или лучше как пикрилейтед 2, когда источник питания не отключается, а на сокете оборвать питание?
>>364620 Ну на второй картинке в посте выше, земля прошивальщика не свзана с мк. Вот на текущем пикрилейтед сейчас у меня так. Связал несколько мк по i2c (желтые линии) и у каждого сокет под прошивальщик, а землю с внешнего питания привязал к земле usbasp.
>>364632 Это первый вопрос, который тебя интересует? А какой там код, ты узнал? Кодом можно одну и ту же задачу написать по-разному, соответственно разный объем памяти будет занимать и с разной скоростью будет работать, соответственно разные ардуинки могут подойти.
Какая ардуина — это дело десятое, тем более здесь нет каких-то особенностей, типа работы с usb. Вот когда мне пришлось делать средство ввода для компа, тогда нужен был определенный чип. А тут хули, ничего особенного на вид.
>>364711 Логические уровни это что такое? Это два диапазона напряжений, один диапазон соответствует лог. 1, а другой диапазон лог. 0. А что такое напряжение? Напряжение это разность потенциалов, т.е. напряжение может быть только между двумя проводами, а не само по себе. Поэтому общий провод (GND) микроконтроллера нужно соединять с общим проводом программатора. Мимопроходил.
>>364722 Большое спасибо за объяснение. Часто видел рекомендацию делать землю общей, например на драйверах шаговых двигателей, где еще нужен внешний источник питания.
>>364711 Ну ты Vcc от программатора можешь не подключать, если боишься. Но только они же будут параллельно, в любом случае, напряжение выше не станет, ток тоже.
>>364743 То есть по твоему, при параллельном включении двух разных источников питания ничего плохого не произойдет? А если их напряжение будет отличаться на несколько десятков милливольт?
>>364747 При первом приближении - ничего не будет. Установится напряжение наибольшего источника питания, а "слабый" источник или отключится, или будет немного потреблять тока от более мощного (с большим напряжением). Если тупо - можно соединить через диоды (диодная развязка). Менее тупо - через идеальные диоды на P-канальных MOSFET (один диод может быть и из 2 MOSFET-ов - для случая когда в обе стороны надо блокировать утечку)
>>364750 Трудно сказать. Очень зависит от схемоты БП. Может пойдет лишний ток, может нет. Пикрил - адовая смесь для питания стратегической железки. Затея была понизить 24В до 8.5 через DC-DC, который если повиснет и сдохнет с отключением выхода - питание пойдет через 7808 (не прокатило - 7808 адово грелись, выкинули), далее пониженные 8.5 вольт идут каждые на свой LDO (U7 и U8) которые "суммируют"выходы и дают 5В, и с этих "резервированных" 5В питается другой LDO на питание мозгов. Работает и далеко не один год.
>>364751 Это не аргумент. Ты сам писал: >или отключится Допустим суммарное внутреннее сопротивление источников питания 100 мОм, разница напряжений 50 мВ, какой там будет ток, если источник не отключится?
>>364753 Не еби мозги. Питай схему от "основного" источника, а дополнительный (программатор) подключай через обычный диод. Ну просрешь 0.7вольта (0.4) вольта на диоде и что с этого? Будет схема питаться от "основного" источника, а при его пропадании перейдет на "запасной" через диод и все.
>>364751 Что вы там курили когда такое придумали? Поставили бы 6-7в дц-дц на полную мощность нагрузки, ldo и наконец crowbar. Таких две штуки параллельно к паре идеальных диодов на фетах.
>>364770 >на одноразовый проект А других проектов не будет? Всегда можно снять арудину, написать новую программу и использовать по новому, в отличии от. Рассыпуху тебе никто за 10 рублей не продаст — у многих магазинов есть ограничение на минимальную покупку.
Можешь генератор частот купить, лол — он на порядок выше 150 рублей. Ардуина — самое дешевое, что есть. А если купить отдельно чип без платы, то можно и в 50 рублей уложиться (правда 100 рублей программатор еще)
>>364770 > Меня жаба душит тратить почти 150 рублей на одноразовый проект Это троллинг крохоборством? Просто вдумайся: даже какая-нибудь шаверма или бигмак стоят дороже, чем ардуино плата, с которой можно делать кучу интересных и полезных вещей
>>364785 Поддвачиваю. 150 рублей вообще ни о чем. Это может одна-две пачки сигарет. Смысл жаться на рассыпуху, когда можно взять пердуину? Следующим шагом будет выдерание из АОН или еще чего говна мамонта 8051 и вопросы чем его шить или внешнее ПЗУ или (OTP) PIC контроллера из мусора под ногами?
>>364799 >Ну че школотрон, задрочил за неделю говнокод эмуляции i2c памяти на 256 байт? Нет, слишком сложно в этом разбираться. Вот бы мне кто-то скинул готовую библиотеку под ардуино...
>>364807 Тупо скомпилить и залить код это уже что-то из области научной фантастики? Вот скажи, нахуя тебе всралась эта пердуина? Вангую насяльника нихуя не выдает, кроме пиздюлей, даже копеечный usbasp зажимает, все из своего кармана? Собираешь из подножного мусора на диодах программатор Громова, а потом ебешся выискивая на помойке комп с настоящим COM портом и не меньший вынос мозга как это дерьмо через КПП протащить? На Си больше шансов прострелить ногу при прямой работе с регистрами, но оно и работает намного быстрее. Намного быстрее. Вообще в ахуе - сколько там дрочишь? Уже с полгода? За дошираки работаешь, а в остальное время работаешь секретуткой? Или уроки учишь, а на DIY времени не хватает, как и на чтение до просветления даташита в сортире? Школота такая школота... Хоть пробовал быдлокод компилить и запускать(хоть на своей пердуинке, а не аналоговнет) как есть или как всегда хуев соснул?
>>364809 > Вангую насяльника нихуя не выдает, кроме пиздюлей, даже копеечный usbasp зажимает, все из своего кармана? Собираешь из подножного мусора на диодах программатор Громова, а потом ебешся выискивая на помойке комп с настоящим COM портом и не меньший вынос мозга как это дерьмо через КПП протащить?
> Вообще в ахуе - сколько там дрочишь? Уже с полгода? За дошираки работаешь, а в остальное время работаешь секретуткой? Или уроки учишь, а на DIY времени не хватает, как и на чтение до просветления даташита в сортире? Ууух, вот это проекции. Аж жар от монитора пошёл
Господа, не кидайтесь в меня ссаными тряпками, хоть я и заслуживаю этого. Есть тупой вопрос, но лень осваивать азы Ардуино-программирования, так как до сих пор хватало навыков делать программы-франкенштейны из чужих кодов и понимания принципов. Просто хочу доделать проект и пользоваться. Имею Uno. Скажите, как можно сообщить ардуине, что в данный момент нужно записать значение переменной, допустим имея кнопку, замыкающую контакты. Или киньте ссылкой.
Парни, у меня вопрос к тем, кто шарит в Ардуино и подобных платах
Я сам занимался как-то давно микроконтроллерами, даже название помню pic16f828a. Прошивал это дело на ассемблере, потом заебало
Короче, мне необходимо сделать следующую преблуду:
подключить гироскоп+ блютуз модуль к одной плате и затем по блютузу передать значения гироскопа на другой блютуз модуль, для другой платы соотественно, а с нее уже вывести результаты по usb на компуктер. И самое главное, чтобы все это было маленьких размеров.
Подскажите какие платы ардуино (мб STM32) мне подойдут? Потянет ли такое arduino nano, micro?
>>364822 [надменный тип мод вкл]Заходишь на любой сайт по продаже ардуинок и забиваешь bluetooth в поиске — тебе выдаст все модули. Потом забиваешь их название в гугле или ютубе и смотришь как авторы с ним мудохаются — выбираешь самый подходящий для себя. [надменный тип мод выкл]
Скорее всего есть модули со встроенным микроконтроллером, как это есть у вайфай модулей типа ESP8266. Кстати, почему не вайфай? Почему бы тебе не передавать по вайфай данные в интырнет, а уже с интырнета брать данные с помощью комплюктера. Всего одна плата вместо двух ардуинок и двух передатчиков. Даже есть туторы как управлять такими модулями через интернет.
Блютузы, говорят, не очень стабильные. Вроде как есть даже платы с блютузом и вайфаем вместе, это если у тебя копеечка имеется — они стоят в районе 700р.
>Подскажите какие платы ардуино (мб STM32) мне подойдут? Если ты не будешь брать готовый модуль вайфай, то для передачи одного значения все что угодно. Можно попробовать Digispark (там есть юсб коннектор и она на атини) — самая мелкая из всех модулей, но я ее никогда не юзал и у него всего шесть контактов. Есть еще ардуино nano или micro, но они в 2 раза больше, у них больше контактов. Есть еще средняя между этими размерами — mini, но это по сути урезанная micro без загрузчика с юсб.
>Потянет ли такое arduino nano, micro? С головой. Будешь юзать 1% ресурсов мк.
Задача: нужно связать тройку ардуин для обмена данными. Я склонился к решению применить I2C формат как самый минимальный по количеству проводов. Но вот отправлять свои данные, эти ардуины будут в разнобой. Что будет, если, допустим, две ардуины одновременно начнут передавать информацию третьей? Не будут ли они мешать друг другу? Не смешаются ли данные?
Я хочу сделать что-то типо собственного контроллера. Он будет помещаться в док, на зарядку, а затем из него вытаскиваться и по блютузу работать недалеко от самого дока.
>>364824 > Скорее всего есть модули со встроенным микроконтроллером Да, типа техасовского cc2541, который стоит в куче ардуиновских блюпуп модулей. Единственное, к нему нужно отладчик спаять, чтобы заюзать как полноценный микроконтроллер. Есть у них ещё cc2640, внутри которого арм, и подходит армовский тулчейн, но они дороже и не распространённые
>>364817 Ну ты подключаешь кнопку как на пике Идешь в примеры>02digital>button И вот в этом месте if (buttonState == HIGH) { Это место } Записываешь переменную свою.
>>364826 Все три на одной шине что ли? Тебе делать нечего, кроме как самому себе гемор создавать? Соединяй каждую пару ардуин отдельным serial портом, всего на пару ног больше занято будет.
>>364843 > Соединяй каждую пару ардуин отдельным serial портом, всего на пару ног больше занято будет. Не понял. Ты имеешь ввиду USART? Я смотрел и там такая же проблема, типа когда один мастер, а остальные слейвы, то норм, а чтобы все и принимали и передавали, то получается мусор.
>>364843 > Соединяй каждую пару ардуин отдельным serial портом, всего на пару ног больше занято будет. Не понял. Ты имеешь ввиду USART? Я смотрел и там такая же проблема, типа когда один мастер, а остальные слейвы, то норм, а чтобы все и принимали и передавали, то получается мусор.
>>364854 >>364855 Все проще. Если ОДНОВРЕМЕННО не срать с ESP и HC - то твоя пердуинка нормально прийдет спам и конфликтов не будет. Цена вопроса - 2 диода и резистор. Если хуево работает - диоды поменяй на шоттки. Не помогло - ставь 2 инвертова с триппером Шмитта для выравнивания фронтов.
>>364858 Ну и пиздец опечаток в прошлом посте. Если не нищеброд - 74LVC1G08 (Single 2-input AND gate) в помощь. 2 входа - это выходы ТХ esp+hc, выход - на вход пердуинки. Если не найдешь 74LVC1G08 - подойдет и 74HC08, у которой всего 1 элемент 2И будет использовать. Если объединять 3-4-5.. выходов ТХ - ищи или собирай на нужное число входов логический элемент И. Вся эта хуйня поломается если отключишь питание ИЛИ esp ИЛИ HC из-за неопределенно-рандомного состояния на входе (выходе ТХ) отключенного устройста. Лечится дополнительным резистором к плюсу питания.
>>364842 Спасибо! Я уже таки начинался, сделал через INPUT_PULLUP. Потом думал получится всякие двойные нажатия обрабатывать, подключил библиотеку AceButton. Но обломался, так как у меня цикл должен прерыватья на полсекунды и максимум что получилось, это обработать сигнал [кнопка была нажата]. Ну и ладно.
>>364858 >>364859 А чем это отличается от I2C, где я так же могу мастером опрашивать слейв и только тогда слейв отвечает, не засирая канал? Надо только продумать, чтобы слейв своевременно отвечал т.к. использует дэлэй в работе.
>>364863 >Но обломался, так как у меня цикл должен прерыватья на полсекунды Вангую это ты delay(500) юзаешь, а ты посмотри как пример блинк_визаут_делей работает. Синк эбаут ит.
>>364864 > А чем это отличается от I2C. Много чем. Для начала - как школотрон нашнешь ебать мозги - а, бля, как этого ебаного слейва на iic запустить? IIC изначально ориентирована на работу одного(или нескольких) мастеров с ведомыми, а RS232 - точка-точка без посторонних. У IIC скорости до 400 КГц (делим на 9 - 44 килобайта/с), у RS232 - 115200 (любое говно держит) (делим на 10 - 11.5килобайт), но можно разогнать и больше(мегабит - это под 100 килобайт в секунду) на коротких расстояниях. У IIC явно есть "транзакции" когда обратился в самом начале к слейву и он знает что именно с ним общаются, в RS232 такого нет, там каждый байт независим от других (и непонятно кому он адресован для случая когда много слейвов, чего не может быть). Если хочешь баловаться именно с RS232 - погугли про MODBUS. Переходник из RS232 в RS485 делается одной микросхемкой, из ебли - управление микросхемкой, точнее направлением - вещаешь в шину или слушаешь. Уже на шине устройства имеют каждое свой адрес и по этому адресу идет общение и при запросе, и при ответе, а вот окончание посылки (байты то никак не связаны, просто поток) определяется хитро - если в течении, необходимого для передачи 3.5 байт тишина - то это конец посылки и можно ее разгребать. А там глядишь на CAN подсядешь. Гарантия доставки, но каждая посылка всего 8 байт.
>>364867 Да, типа того. У меня опрос датчика и вывод данных раз в полсекунды. >блинк_визаут_делей кроме упоминания 2 раза "посмотри пример блинк визуат делей" на ардуино.ру я сам этот пример не нашел. Понимаю, что там счетчик времени и вызываешь код по времени без задержек. Можешь скинуть ссылку?>>364867
>>364871 >необходимого для передачи 3.5 байт тишина - то это конец посылки и можно ее разгребать. Только в RTU версии, в ASCII протоколе - по символу конца строки. >А там глядишь на CAN подсядешь. Гарантия доставки, но каждая посылка всего 8 байт. Не посылка, а пакет. Пакет состоит из посылок. Посылка может быть и байтом(8 бит), а может быть и 5, 6, 7 или 9 бит(хотя такие посылки никто не использует).
>>364887 Вряд-ли он будет использовать ASCII, поэтому и не писал. > Не посылка, а пакет. Пакет состоит из посылок. Сегмент, пакет, фрейм и прочие радости модели OSI?
> А там глядишь на CAN подсядешь. Гарантия доставки, но каждая посылка всего 8 байт. > Посылка может быть и байтом(8 бит), а может быть и 5, 6, 7 или 9 бит Случаем с UART не путаешь? Там да, от 5 до 9 бит. В CAN (2.0B в STM32 и MCP2515)- как-то не припоминаю. Там же есть явное поле, указывающее длину в байтах. Может старая версия протокола? Как-то похуй, может пруфы подгонишь? Возможно в прекрасном далеком пригодится.
>>364888 >Вряд-ли он будет использовать ASCII, поэтому и не писал. Почему? Ведь ASCII проще, чем RTU. >> Не посылка, а пакет. Пакет состоит из посылок. >Сегмент, пакет, фрейм и прочие радости модели OSI? Почему, пакет и посылки(кадры) это общепринятое название. https://ru.wikipedia.org/wiki/Modbus#Модель_данных Спецификация Modbus описывает структуру запросов и ответов. Их основа — элементарный пакет протокола, так называемый PDU (Protocol Data Unit). Структура PDU не зависит от типа линии связи и включает в себя код функции и поле данных. Код функции кодируется однобайтовым полем и может принимать значения в диапазоне 1…127. Диапазон значений 128…255 зарезервирован для кодов ошибок. Поле данных может быть переменной длины. Размер пакета PDU ограничен 253 байтами. А кадры(frame) пишут и в пдф на микроконтроллеры авр при описании USARTа. >> А там глядишь на CAN подсядешь. Гарантия доставки, но каждая посылка всего 8 байт. >> Посылка может быть и байтом(8 бит), а может быть и 5, 6, 7 или 9 бит >Случаем с UART не путаешь? Там да, от 5 до 9 бит. Да, верно, я всё напутал. Я думал, что RS-232 и USART это одно и тоже. Просто и там, и там TX и RX.
>>362925 > может там в промежутке вычисляется это твое d или еще что-то. Мда, так и есть, первый пик, еще и чтение из портов почему-то сразу друг за другом идет. Вытащил запись в порты в отдельную функцию и задержка уменьшилась до ~0.03 микросекунд, второй пик.
> SBI Ну тут не SBI, а out, видимо потому что я не отдельные биты устанавливаю, а записываю число.
>>364896 Ты зря использовал для этого дизассемблер. gcc с ключем -S (дополнительно можно -fverbose-asm) выдал бы более читабельный результат. Либо из имеющейся в ELF файле отладочной информации вроде как можно то же самое получить через objdump, это может оказаться проще если используешь пердуино ИДЕ.
>>364913 > это может оказаться проще если используешь пердуино ИДЕ. Не вижу там ничего подобного. gcc в следующий раз может попробую (если он будет вообще), спасибо.
>>364926 > А что это за волшебная программа? Слева IDA, справа Visual Studio Code.
> Синтаксис как у ардуино иде В VSCode есть расширения для программирования на C++ и использования всего, что есть в arduino ide. Мне просто код в arduino ide неудобно писать, в VSCode хоть какой-то автокомплит есть, вертикальное выделение, комментирование по хоткею и прочее, через ардуино ide максимум библиотеки ставлю из ее репозитория. Нет, на avrstudio для настоящих мужчин не перейду.
>>364926 Это у него visual studio code. >Синтаксис как у ардуино иде В пердуино ИДЕ обыкновенный С++. Пердуино всего лишь добавляет свои инклюды в начало файлов и еще немного по мелочи. А на скриншоте у этого анона даже ничего специфичного для С++ не заметно, за исключением префикса 0b, который также есть в виде расширения gcc для Си.
>>364930 >Не вижу там ничего подобного. Ты о чем? Поскольку у тебя в пердуино используется gcc, elf должен получаться в результате компиляции, а потом преобразовываться в hex через objdump. Для того чтобы использовать gcc -S, для начала придется пропустить исходники через пердуиновский препроцессор, потом прописать все пути к заголовочным файлам и прочее. Тебе оно нужно? Вот и смотри код через objdump -S, так проще. Первая ссылка из гугла https://forum.arduino.cc/index.php?topic=46843.0
>avrstudio для настоящих мужчин Не, это для детей. Настоящие мужчины пишут мейкфайлы самостоятельно.
Доставляю кусок говнокода для велокомпа на ардуйне. На данный момент не закончен, потому что FRAMок и экрана, с обоими из которых надо разговаривать по I2C, на руках нет, и подбираться к ним планирую экспериментально. Вопросы и советы приветствуются. pastebin.com/p7iMvXFu
>>364939 Судя по всему, в качестве USB-адаптера серийного порта там копия CH-340. Под неё нужно ставить драйверы. Я не помню, на Шин 10 вроде бы драйверы сразу в комплекте, но нужно проверить.
>>364935 > Ты о чем? Поскольку у тебя в пердуино используется gcc Да, но arduino ide использует от gcc, avrdude и прочего только функции сборки и прошивки, дизассемблировать же она ничего не умеет ни через внешние утилиты, ни самостоятельно. Утилиты умеют, а ide - нет, вот я о чем.
>>335724 (OP) Возможно ли как то программно закирпичить микроконтроллер AVR? У меня пока что на этот счёт две теории на этот счёт: 1) В программе включить lock-биты. 2) Перегрузить стек рекурсивной функцией.
>>364930 >Нет, на avrstudio для настоящих мужчин не перейду. Я вот тоже пытался осилить, но там обычный пин включить — это какой-то пиздец. Тоже самое с стм32, где обычное мигание светодиодом выглядит как путешествие через девять кругов ада.
Все, что для профессионалов выглядит как "приложить в три раза больше усилий просто так"
>>364971 > Я вот тоже пытался осилить Я не пытался, просто если захочется использовать официальный SDK без высокоуровневых абстракций типа digitalWrite(), а не ардуиновский, то лучше сразу stm32 начну изучать, как раз две blue pill без дела лежит.
> "приложить в три раза больше усилий просто так" "Просто так" или нет зависит от задач. Если тебе не надо тонко настраивать оборудование, то да, незачем лезть на уровни ниже.
>>364973 Как с солидворксом. В больших компаниях с кучей персонала и годами работы, это может и удобно, но одному мимокрокодилу с мелкими проектами и небольшим временем — на порядок сложнее возиться. Можно тоже самое сделать в других программах со скоростью в 10 раз выше.
Я смотрю на стм32 и там даже копирование или создание нового проекта можно поставить на автомат. Но почему-то до сих пор никто не сделал ничего подобного.
А есть модули для создания что-то типа дозатора жидкости? Например нужно мне налить несколько миллилитров. Можно использовать насос и весы, конечно, но у меня двухкомпонентная жидкость с разным соотношением по весу и хочется ее наливать одновременно, а не по очереди, чтобы время сократить.
Или может есть какие мини электро-вентили — не для водопроводных труб?
>>364980 > Как с солидворксом. Да как со всем - C# vs C, онлайн конвертеры vs ffmpeg, Ubuntu vs Arch, etc.
> Я смотрю на стм32 и там даже копирование или создание нового проекта можно поставить на автомат. Но почему-то до сих пор никто не сделал ничего подобного. В Keil uVision и True studio вроде проект не так трудно создать, библиотеки для работы с перефирией отмечанием галочек подключаются. В CubeMX можно в гуе сконфигурировать всё железо и получить на выходе проект для кейла с конфигурационным кодом. Ладно, это оффтоп уже.
>>335724 (OP) Можно ли собрать цифровой скремблер на базе ардуино? Здесь кто нибудь пробовал самостоятельно собирать цифровой скремблер который можно подключать к десктопу, лаптопу, планшету, смартфону, рации? Если пробовали то какие результаты и насколько высокий уровень защиты получился?
>>335724 (OP) Можно ли собрать вокодер на базе ардуино? Здесь кто нибудь пробовал самостоятельно собирать вокодер который можно подключать к десктопу, лаптопу, планшету, смартфону, рации? Пробовал ли кто то собирать в едином устройстве цифровой скремблер и вокодер на базе ардуино?
Смотри, что нашлось на AliExpress https://s.click.aliexpress.com/e/e0Sijge перистальтический насос большой поток дозирования насос вакуумный Типа того. А вообще, что за жидкость, какой обьем надо гнать, какая точность дозатора и скок нсть денег? А то тут 150 р людям ДОРОХА.
>>365008 Да я хочу литьевой пластик смешивать, заебался это делать вручную. Там речь идет о миллилитрах и если соотношение двух компонентов будет не соответствовать требуемым, то это здорово повлияет на качество. Обычно я беру шприц и им смешиваю, объемы разные, но больше литра вряд ли будет, а так по 300-500мл.
>А то тут 150 р людям ДОРОХА. Не, я могу на это хоть 5 тыщ кинуть т.к. это долгоиграющая штука.
>>365019 Спасибо, поищу. Мне важен не насос, а дозатор. Так-то жидкость у меня может стекать в смешиваемую емкость под собственным весом. Мне ее отмерить нужно как-то.
>>365022 Вон другой анон скинул ссылку на подобный на Али >>365008.
В зависимости от размеров трубки, длинны петли насоса и количества роликов внутри он может наливать разные объёмы. Тебе нужно только включать мотор и контролировать сколько оборотов тот сделал.
>>364871 Поясни, есть готовые и общепризнанные библиотеки для разных протоколов по типу MODBUS, CAN и т.д.? Или профессионалы пользуются только лично написанными библиотеками?
Чому когда я прошиваю обычный блинк через аврдуд голый мк (кварц 16 и пара кондеев), такое ощущение, что delay работает дольше чем должен. Например я установил delay(100) и диод мигает примерно раз в секунду, хотя такое должно быть при delay(1000)
>>365048 С учетом того что у тебя fuse c инверсией - их не трогал. Поэтому как гласит Даташит - работаешь на 8 МГц от внутреннего RC и похуй на кварц. Осторожней с ними - выберешь внешний дегенератор и соснешь без высоковольтного программатора. Стадия говорит что
>>365050 Поставил галочку на все CKSEL и мк затих. Теперь выдает ошибку. При чтении фьюзов почему-то стоят галочки на всех чекбоксах. Даже в лок байтах, где я ничего не трогал.
>>365048 Обосрался со студией. Первая ссылка в гугле http://homes-smart.ru/fusecalc/?prog=avrstudio&part=ATmega328P Если получишь кирпич - я не при делах, костылями не пользуюсь, а как нормальные люди через менюшку AVR dragon в AVR studio выбираю что надо. По дефолту 0010. 0000 - внешний тактовый сигнал и получишь кирпич. 1111 - кварц более 8МГц и самое большое время его разгона. Те SKEL3 SKEL2 SKEL0 сделать как SKEL1, те сбросить(по картинке).
>>365059 > как снять галку с серого чекбокса? > костылями не пользуюсь
Это хорошие новости. Сможешь старый оживить, если в сейчас работающий зальешь blink без задержек и вместо светодиода подключишь вывод XTAL1(7) кирпича, который после этого начнет отвечать на команды но это не точно.
>>365062 Видимо старый или новый даташит, где все в tqfp, а там xtal1 на 7.
>>365061 Читай мануал выше - установить оставшиеся SKEL в то же состояние, что и SKEL1. Прошить, проверить. Если медленно работает - поменять fuse div8.
>>365063 Убрал галки вроде стало быстрее, но это совершенно не то, что должно быть. Может попробовать прочесть фьюзы с того мк, что стоит у меня в плате ардуино уно? Он у меня как раз вынимается
>>365066 О, заебись! заработало. галку убрал с CKDIV8 и заработало.
А такой вопрос, вот я щас хотел считать фьюзы с мк на уно, вынул контроллер и ради интереса вставил чистый купленный отдельно и ардуино иде его не хочет прошивать. Почему?
В первом бутлоадер зашит внутри? Я просто обратил внимание, что когда я экспортировал в хекс, то у меня создалось два файла: один standard, а другой with_bootloader.standard
>>365065 >Может попробовать прочесть фьюзы с того мк, что стоит у меня в плате ардуино уно? А чего их там читать-то, и по даташиту понятно, какие они должны быть для внешнего кристалла. На моей китайской Uno вот: >Fuses OK (E:FD, H:D6, L:FF)
>>365050 >соснешь без высоковольтного программатора А при чём тут высоковольтный? Он ведь только в случае отключения ресета же, как он генератором-то станет?
>>365073 >Заходишь сюда — http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p , выбираешь нужную тебе конфигурацию, шьёшь. Но ведь это костыли. Зайти на сайт, поставить фьюзы, потом ставить в программаторе их и не дай бог ошибишся одним фьюзом. Почему бы не пользоваться халявным STK-500 за 3$ и по человечески не ставить фьюзы? >>364352 >>362818
>>365078 >Почему бы не пользоваться халявным STK-500 за 3$ и по человечески не ставить фьюзы? Наверное, потому что у него его нет, т.к. он только начал играться с мк?
Бандиты, как мне свою ардуиночку запитывать в уже готовом устройстве? От аккумуляторов литиевых частота поедет, да и перенапряжение получается. Импульсные повышайки тоже нехуйственно влияют на вход.
>>365117 >От аккумуляторов литиевых частота поедет А с чего ей ехать? Подавай напряжение соразмерно частоте своего кварца. В даташите к 328 я видел таблицу где к каждой частоте приписывают требуемое напряжение.
>>365117 Если забить на формальности - мозги powerbank. Тут тебе и зарядка, и стабильно-кетайский выход на 5 вольт и может даже визуальная индикация состояния батарейки. > Импульсные повышайки тоже нехуйственно влияют на вход. Помедленней. У тебя же выход DC-DC будет понижаться нешумящим LDO и срача на выходе практически не будет. Любитель АНАЛьных утех, развлекаясь с 16 и 24 битными АЦП что так ебет тема шума БП?
Всем доброго времени суток. Такой вопрос: как проверить датчик на работтоспособность? Есть в наличии bme280 (температура/давление/влажность), подключение по i2c. Датчик работал нормально, до того, как я случайно гранату. Теперь ардуина (pro mini, 328, 5в, если это имеет значение) ведет себя следующим образом: если датчик не подключен, скетчи грузятся, ардуина работает если же датчик подключить, то такое чувство, что ардуина тупо фризит (мб уходит в бесконечный ребут или что-нибудь такое) , светодиоды не мигают, скетчи не грузятся. датчик подключаю как обычно (a4 -> sda , a5 -> scl). --- Собственно, вопрос ещё раз: как проверить, что именно не фурычит: датчик или прослойка между паяльником и креслом?
>>365235 Использую 1.8" -> 7" сенсорные сборки на ILI9341 либо SSD1963, АЦП сенсора TSC2064 на всех. Сейчас на них цены взлетели, раньше брал по 12$ + доставка, получалось 15$. Теперь же они ОЧЕ дорогие, как найдёшь.
>>365170 I2C гасится когда у тебя любая из его ног лежит в нуле, то есть просажена на землю ака КЗ на минус. Так как тактирующий и информационный по-умолчанию равны VCC, то МК начинает сканирование на предмет датчика и виснет. Бери тестер и звони контакты.
>>365079 >Потому что надо будет переходить на atmel studio Для домашних поделок ты вправе использовать что угодно, хоть ArduinoIDE, хоть WinAVR, но все профессионалы пишут код для avr только в AVR Studio. >и писать в 3 раза больше кода для мигания светодиодом. Huh?
while (1) { PORTB ^= (1 << PB5); for (long int i = 0; i <= 1000000; i++) { asm("nop"); }; };
>>365252 >все профессионалы пишут код для avr только в AVR Studio Если кто-то пишет код для атмег в эклипсе или visual studio, то можно сразу утверждать что это не профессионал?
>>365267 Принципиально ни чем. Коды команд те же, единственное что их меньше у tiny, которые например не умеют в команду mul (умножение). Может больше команд IN/OUT из-за малого количества регистров.
>>365272 Да, мне впадлу гуглить и мараться дерьмом. Как в пердуиноиде делать прямую запись в регистры? Например в UDR, SREG, OCR1A? Как явно сбросить-установить бит I в регистре SREG (читай глобально включить-отключить прерывания)? Как написать обработчик прерывания ISR (имя прерывания)?
>>365272 >Ага, и кубики в солидворксе рисуют. Проходили уже. Не знаю, кого ты там проходил. Никакая серьезная фирма не будет во встраиваемых системах, от которых зависят жизни людей, использовать ардуино-иде, cv-avr и т.д. >>PORTB ^= (1 << PB5); >Вот почему всё изподвыподверта? Это же понятнее: >digitalWrite(5, st=!st); Где там изподвыверта? Там проще некуда. Только на си выйдет в три раза меньше машинных команд, чем в твоей функции.
>>365272 >digitalWrite(5, st=!st); Именно digitalWrite это одна из наиболее дурацких вещей, которые есть в ардуине. Эта функция делает множество лишних действий только лишь из-за того, что указывается не номер порта и номер разряда в этом порту, а номер вывода на плате.
GPIO это в любом случае просто, а ты попробуй использовать таймеры в режиме захвата. Да хоть просто частоту ШИМ попробуй настроить. А что будет если поставить кварцевый резонатор с другой частотой, допустим для снижения потребления? Нет, ардуиновская хрень слегка упрощает только простейшие действия с периферией, чуть что посложнее и оно будет только мешать.
>>365275 >Никакая серьезная фирма А ты мамкин максималист — тебе сразу боинг подавай? Фирмы бывают разной серьезности и для мелких компаний достаточно CAD проще, потому что процесс идет быстрее и ориентирован на сотрудничество более мелких групп — меньше гемора с базами данных и настройками.
Скорее наоборот, если ты в сжатые сроки начнешь ворочать солид, который съедает время на побочные телодвижения, то ошибок ты нагородишь столько, что пизда всем жизням людей.
>Там проще некуда Какие-то сдвиги и путанная логика, когда в ардуино ты указываешь номер пина и его состояние — всё.
>>365303 > Можно ли через ардуино иде сделать атмеговский хекс? Да, она его и делает, только кладет хуй знает куда. Думаю, можно спалить в логе куда именно, или через process monitor в винде.
> А если можно, то зачем тогда ардуина сама? Это готовый к удобному использованию development board. Хочешь - бери голый чип, ставь кварц, трави плату, етц самостоятельно.
>>365303 >А если можно, то зачем тогда ардуина сама? 1) "Простой" язык программирования для новичков. Позиционируется якобы как язык для вкатывальщиков, которые со временем начнут заниматься серьезно, но на самом деле тот, кто решил вкатываться через Ардуино, так и остается Ардуинщиком. 2) Хекс файл заливается в загрузчик через UART, а не посредством программатора. Нажал одну кнопку в иде - залил прошивку скетч. Пользователь не может накосячить с фьюзами при прошивке. 3) Макетная плата.
>>365322 1) так я о нём и говорю. Если ты пишешь на идешном языке, и оно компилится и под атмегу, то смысл? 2) ну разве что. Хотя идиот найдёт и как кирпич сломать на ровном месте. 3) так с атмегой диповой проще же, не?
Анон, нужна твоя помощь. Краткий экскур. На 11 порте висит ардуина, которой очень хочется управлять из терминала. Так как я лютый быдлокодер, с последовательными портами не работал, скопировал пример отсюда blablacode.ru/programmirovanie/392, изменив лишь названия переменных. Так вот, что я делаю не так, что у меня ничего не получается? Качал пример исходник, но все равно ничего не получилось. Значит это, что я безнадежен и мне навсегда закрыт путь в IoT?
>>365303 >Можно ли через ардуино иде сделать атмеговский хекс? Да, через экспорт в бинарный файл из меню "скетч". Хекс сохраняется в раздел проекта (поэтому тебе не дадут экспортировать, если ты не сохранил проект)
>А если можно, то зачем тогда ардуина сама? 1. если ты связываешься с какими-то другими прогами. Например в протеусе можно загрузить хекс и просимулировать работу ардуины.
2. загрузить в голый мк. Как раз щас появилась такая задача — хочу построить свою плату из шести контроллеров в связке, и не хочу городить огороды из готовых плат с загрузчиками. А так у меня стоит плата с резонатором и разъемом под UART всего лишь — компактно.
Минус в том, что приходится делать лишние телодвижения с сохранением в хекс, потом загрузкой через прошивальщик, но так делают уже для готовых продуктов, когда прошивка уже готова. Я например на стадии разработки прошиваю напрямую через ардуино иде в ардуино уно, а когда код готов, то записываю через UART в голый мк.
Кроме того, ардуина подразумевает сохранение бутлоадера, что занимает память. А в голый контроллер можно записать без него.
>>365322 >но на самом деле тот, кто решил вкатываться через Ардуино, так и остается Ардуинщиком. Истина. Самому сложно переходить на стм32 или авр студио — слишком уж все легко и интуитивно сейчас. Так же подсел на VB.NET (вроде как тоже есть поговорка, что начинающий с бейсика никогда не станет настоящим программистом, потому что другие языки будут ему чужды). Но мне похуй — я не программист по специальности и для моих скромных запросов хватает.
>>365328 Для настройки тактирования использование фьюзов это действительно как-то не очень. Но где еще ты будешь хранить бит защиты прошивки от чтения? В STM32 фьюзы тоже есть, только называются они там как "option bytes".
>>365340 >необходимости бутлодера Ну если ты впихнешь в плату ардуино уно купленный где нибудь в чипе и дипе микроконтроллер, то у тебя ничего не прошьется. Для прошивки ttl конвертером тоже понадобится бутлоадер.
>Вот, теперь понял >проблема А я не понял что ты считаешь проблемой. Хекс это скомпилированный бинарник, который шьется в любом случае.
>>365340 >То есть по большей части проблема в необходимости бутлодера либо в необходимости дополнительного места, либо в необходимости использовать хекс где-то еще, кроме как непосредственно в ардуине.
... либо я не знаю как зашить бутлоадер в чистый мк, а потом прошивать как обычно ttl конвертером, поэтому хуй с ним — куплю usbasp и буду ебаться с транспортировкой хекса и теребить фьюзы.
>>365347 USB-TTL конвертер, которыми прошивают ардуины мини — те, у которых отсутствует собственный прошивальщик на плате. Я не знаю как устроен встроенынй прошивальщик в уно и нано.
Халп. Не могу войти raspberry pi. Монитора с hdmi нет, VGA конвертер оказался наебом. Через LAN пробовал - устройство не видно в сети. Есть в продаже LCD экранчики с тач, но опять же для его установки сперва нужно войти с другого монитора. Что делать?
>>365351 Входить по сети. Гугли для своего дистрибутива как включить SSH, что там и где надо на флешке отредактировать. А ещё чтоб настройки по DHCP подцепились. Но это в 2019 году везде включено. Только если у тебя не какой-то специфический дистрибутив там.
Обдристайте меня нежно. Как из этого собрать роутер? Где взять скетч? Пердуина на Wiznet W7500 с одним сетевым интерфейсом и внешний шилд на Wiznet W5100 под второй сетевой интерфейс.
>>365366 >Это ты так троллишь? Вот так сразу раскусили... С зажженным светодиодом >>347974 и то больше тупили. >Ты представляешь скорости? Да. Очень медленно, даже с учетом наличия аппаратного tcp/ip, который в режиме роутера полностью бесполезен, только macraw режим.
>>365394 >>365363 Алсо, я не просто так называю это ttl — меня так приучили уже. До тебя так и вбивал в поиске ttl и думал, что на некоторых сайтах он просто отсутствует в продаже, а оказывается он назывался uart.
>>365383 Я не знаю как тебе проще, но если есть лишняя флешка, качай убунту с ubuntu.com и грузись с неё. Там без установки запускается обычная убунта, в которой сидеть можно. В ней всё откроется. Ну или гугли как на винде открыть.
>>365409 Тред не читай? >>365362 На сд карте 2 раздела, в том, что поменьше создай файл с именем ssh и вставляй в распберри. После загрузки я бы снова воткнул в пеку и проверил, что файл исчез. Если исчез, значит всё сработало. Подключайся по SSH.
Аноны, требуется помощь в реализации четырехразрядного счетчика импульсов (импульсы берутся с генератора в протеусе). В качестве МК - атмега8, вывод количества импульсов любым удобным способом (LCD, семисегментники, да хоть на диодах в двоичной системе - не суть), собственно, нужно смоделировать это в протеусе. (Есть мысли, использовать 2 ноги, как вход, считать импульсы по фронту, записывая в переменную, увеличивая ее значение, а после того, как количество импульсов достигнет 16, обнулять переменную и производить подсчет импульсов заново)
>>365534 > считать импульсы по фронту, записывая в переменную Пердуинщики набежали? Есть же режим внешнего тактирования таймера, который сам будет считать независимо от выполняющегося говнокода.
> да хоть на диодах в двоичной системе Просто в основном цикле выводишь значение счетчика в порт. С учетом того что 4 разряда, а это максимум 9999, ближайшее 16К - нужно 14 ног под светодиоды для отображения в двоичном виде. Кнопку для сброса можешь не делать, а перезагружать сам МК. Вопрос что делать когда счетчик досчитает до 9999 и переполнится - на твоей совести.
>>365534 Бля, в шары долблюсь. 4 разряда это оказывается 4 бита, а не десятичных разряда. Пердуину в помойку, бери счетчик 74HC161, на выводы Q3-Q0 через резисторы вешаешь светодиоды и будет тебе счастье. Импульсы подавать на вход CP. https://assets.nexperia.com/documents/data-sheet/74HC161.pdf
>>365544 Задание состоит в том, чтобы реализовать счетчик именно на мк, не важно каким программным способом Образно говоря, задание получил в форме «Есть импульсы, есть мк и устройство вывода (lcd дисплей, например) - ебись как хочешь»
>>365546 На 4 бита. Читай комменты в самом начале main и проверяй. Внезапно. Студия умеет и понимает передергивание PIN и при этом срабатывает счетчик.
>>365553 Проверил, все идеально. Без твоей помощи не вывез бы, спасибо. Сейчас про таймеры почитаю, чтобы разобраться полностью в коде и представлять, как это все работает
>>365550 обычно я жду пока кто-то что-то сделает, а потом беру эти наработки и спокойно все сдаю. Но тут никто не понимает, что вообще происходит и как это делать, приходится самому что-то выяснять
>>365569 Дядя, это опять ты? Если честно не обучен адекватно выражать благодарность, но, правда, спасибо Кстати, TCNT0 вроде задает начальное значение таймера, TCCR0=0x07 задает его срабатывание на внешние импульсы по фронту. Но как он обнуляется, понять не могу. Подскажи, пожалуйста
Сап двач. Есть один маленький проект. Проект прост до невозможности. Планирую передавать информацию бинарным кодом путем изменения интенсивности лазера, считывать фотодиодом. Логика простая. 1 - горит, 0 - не горит. Из инструментов: ардуино уно, ноутбук. План был изначально такой. Считываю ардуиной показания фотодиода с частотой намного большей частоты передачей (шим портом, чтобы получить более добротные дискретные значения). Потом полученный массив данных передаю в программу на ноутбуке через ком-порт, обрабатываю и показываю на экране. Стал рыться в этой теме, нагуглил что мне нужен асинхронный протокол передачи данных (очевидно). Теперь вопрос: Как мне декодировать полученный сигнал? Я думал, что из-за того, что сигнал может быть очень зашумленный, то лучше это делать на компе, но я так и не смог найти никаких алгоритмов связанных с этим. Вероятно плохо искал, писать самому конечно можно, но думаю, что такой вещи должно быть посвящено очень много исследований. Если же сигнал +- не сильно засранный то может попробовать просто сделать схемку с компоратором, если я правильно назвал эту схему.
>>365793 Бля, есть же передача данных по ИК — в старых телефонах такая техника была. Долгая шо пиздец. Потому и использовали ИК, чтобы отсечь стандартное освещение.
>>365793 >нагуглил что мне нужен асинхронный протокол передачи данных Например UART. Такое используется в некоторых измерительных приборах для гальванически изолированной связи с компьютером. Даже пердуина не нужна, только два переходника USB-UART. Или есть вариант чуть сложнее - IrDA, тот же UART, но с дополнительной модуляцией.
>сигнал может быть очень зашумленный Тогда используй корреляционный прием, согласованная фильтрация там и все такое. И соответствующие сигналы, коды Баркера и прочие.
>>365822 Проблема в том, что я не уверен, что при большой частоте лазер будет так быстро включаться и выключаться. К тому же я хотел бы попробовать сам реализовать это софтом. В общем я посмотрел проекты для чтения азбуки морзе на ардуине. Вроде что-то навоял. У меня в общем программа читает, что выдает фоторезистор. Ждёт начальный бит "1", если встречает его - ожидает следующие 8 бит, потом ждёт последний и отправляет по сериал порту в программу на С#. Какие есть подводные?
>>365838 >Проблема в том, что я не уверен, что при большой частоте лазер будет так быстро включаться и выключаться. UART можно запустить на низкой частоте. И тоже можно сделать программно, если так хочется. >Какие есть подводные? Будет не эффективно по сравнению с UART, скорость будет ниже чем могла бы быть при той же помехоустойчивости. По сравнению с вариантами в которых используется модуляция, (IrDA и прочие) будет низкая помехоустойчивость.
>>365851 Просто эта фигня к понедельнику, а контроллер для UART ещё найти надо, разобраться с ним. К тому же если я исходящий сигнал просто настукивать пальцем буду, например с кнопкой или реле, то там частота прямо совсем маленькая будет. Типа 1 Гц или даже меньше. Хочется хоть как-то контролировать процесс.
>>365857 Какой нафиг контроллер? Он в микроконтроллер встроен, ты через него в свою пердуину прошивку грузишь! Да вообще пердуина не нужна, достаточно переходника USB-UART.
Ньюфаг итт. Приведите простой пример кода, как можно с одной ардуины передсть строку на другую через rx-tx. Через Serial.print очевидно передаёт ерунду, через Serial.write выдает ошибку при компиляции. Полез гуглить, там какие-то страшные штуки с указателями, malloc, буферами и так далее, хотя задача казалась тривиальной.
>>365877 >Через Serial.print очевидно передаёт ерунду Не может этого быть. Либо ты передаешь не ту строку, либо вообще не строку, либо выставил неправильную скорость.
>>365891 Пробовал с Serial.read, он даже переменную int не принимает, всё выводит как последовательность 4 цифр от 0 до 9. Заработало с Serial.readString.
>>365904 >Serial.print >Serial.read Путать вход с выходом это как-то по-пидарски. >он даже переменную int не принимает Ну ты и ардуинщик. Описание этих методов читать не пробовал?
Cейчас будет продолжаться весёлое приключение с сишными строками, потому что из полученного стринга надо вылавливать определенные числа и записывать в пины. >>365905 Я не путаю, просто на передающей стороне оказалось всё в порядке, а на приемной - нет.
>>365915 >из полученного стринга надо вылавливать определенные числа Можно использовать сишную функцию sscanf. Это будет работать не слишком быстро, но для пердуины сойдет.
Есть двигатель, есть переменный резистор, который регулирует направление вращения двигателя (больше/меньше). Мне нужно, чтобы если резистор крутить туда-сюда, двигатель выбирал только первое направление и работал какое-то время, игнорируя изменения на резисторе. Пока в голову приходит только дилей, но тогда другие функции не будут работать. Какие функции можно для этого использовать?
>>366087 Только инфу из поста >>354453 >то вообще пиши планировщик задач и квантуй время выполнения задач Охуенный совет. Вчера весело помигал светодиодом, а сегодня какой-то блядь планировщик, какой-то квантовщик блядь. В адруино всегда метровый страпон в жопу вводят после легкой прелюдии?
Готовь разрабатывать свое очко, пытаясь запустить псевдопланировщик и задержку на аппаратном таймере.
>>366087 Я чтобы не ебаться с мультизадачностью, просто добавляю еще один мк. Тоже управляю двигателями — четыре штуки и каждый крутится с разной скоростью с разным временем. Соответственно, есть один управляющий мк и четыре мк на каждый двигатель.
А еще смотри тутор мигания светодиодом без делея. А еще я видел на хабре кто-то уже сделал библиотеку для этого — нашел когда гуглил про обход делея.
>>366195 Зря сарказм. Чем сложнее система, тем это оправданней. Просто погугли как полыхают пердаки когда в операционной системе не реального времени (обычный линукс, форточки) нужно выдавать сигналы с жесткими таймингами. Нормальные люди не ебутся, а ставят отдельный мк, где по тактам время выполнения рассчитано и уже через него делают обмен.
Может ли сгореть ножка VCC? Причем, при подключении AVCC, все работает в штатном режиме. И контакты уже проверял, ничего не помогает, напряжение на контактах есть. МК atmega328p, ничего не делал, мигал светодиодом.
>>366213 Скорее ты пердуинщик с квадратно-гнездовым мышлением, не осиливший даташит за ненадобностью и вешающий светодиоды на АНАЛоговые порты, которые питаются не от VCC, а от AVCC о чем написано в даташите, но кто-то клал хуй и начал сваливать свою тупость на производителя.
>>366198 В любой прошивке для 3д-принтера пердуина крутит четырьмя шаговиками, регулирует два нагревателя, при этом еще читает из последовательного порта g-код и парсит его. Ах да, ещё на экранчик выводит информацию и реагирует на нажатия кнопок Здесь вообще сделана многозадачность с планированием событий по таймерам https://github.com/KevinOConnor/klipper
Чем больше у тебя корпусов и точек пайки, тем меньше надёжность твоей системы, тем больше она жрёт питания и больше её цена. Хуй знает, с чего ты решил, что установка нового МК оправдана
>>366214 >вешающий светодиоды на АНАЛоговые порты, которые питаются не от VCC, а от AVCC о чем написано в даташите PB5 (SCK/PCINT5) это цифровой порт? В даташите написано, что да.
Привет, аноны, опять я со своим "интереснейшим заданием". Есть входы, на которых либо логический 0, либо 1; тактирующий сигнал, и выход. На выход в каждый такт должно поочередно передаваться состояние со входа (1 состояние = 1 такт), как показал на графике. Попробовал сделать сам - вышла хуйня, которая офк, не работает, она вроде проверяет все 4 ноги за один такт, а не поочередно. Помогите, аноны
>>366215 >В любой прошивке для 3д-принтера пердуина крутит четырьмя шаговиками Так он управляет ими последовательно, а не одновременно с разной скоростью. У меня-то у двигателей скорость разная и работают они порой параллельно.
>>366242 >>366243 Ну все гнида, готовься. В самое ближайшее время ночью, когда ты будешь в сонном параличе мы прилетим и высосем всю твою энергию через страх и секс, после чего ты умрешь. Если реально - задание не совсем верно выполнено согласно картинки, где 1 на выходе только между восходящим и нисходящим фронтом, а в говнокоде - между 2 восходящими фронтами. Не вижу особо проблемы, в реальных сдвиговых регистрах так же.
>>366290 >Теперь осталось разобраться в коде самому Заметь - в этот раз не накалякал "спасибо". Отличный результат, кажется получилось отучить. Есть к чему стремиться. Я люблю смотреть на страдания. Как же? По даташиту? По шпротеусу? По божественной AVR студии, напоминающей засохшее говно мамонта? Да у меня от тебя прерывание. Ушел за газировкой и попкорном перед началом спектакля - "программная реализация сдвигового регистра на avr". Ты же расскажешь как оно работает и почему были выбраны именно такие решения, а не другие?
Внезапно обнаружил что на уно у меня с пина 5в идет 5в только при подключении по ЮСБ, а если запитываешь допустим 8в через вин или штекер, то на этом пине резко становится 6в, что все портит. Причем совсем недавно таких проблем не было? Что это? Фиксится, или брать новую ардуину?
>>366323 Например ты печатаешь цилиндрическую вазу, тогда в этом случае скорость xy шаговиков изменяется по синусу/косинусу, скорость z постоянна и очень мала, скорость экструдера тоже постоянна, но зависит от толщины сопла
>>366390 > по 70р Это четвертая часть цены этой платы, не говоря уже о том, что минимальный заказ в чипе и дипе — 300р. Есть смысл покупать регуляторы напряжения где нибудь на алике пачкой или искать аналоги. Я пикрилейтед в тиксере за 14 рублей взял, только не знаю подойдет ли он твоей плате (кроме того, что у него исполнение другое), по характеристикам входное до 35в, а выходное 5в.
>>366434 >если деньги есть >70 рублей Не о тысячных партиях речь, вроде идёт. И 50 рублей разницы, когда в в чипе можно купить сегодня, а с алика в июле придёт — наверное, можно и переплатить.
>>366454 >в чипе можно купить сегодня Нельзя. Доставка один рабочий день — минимум, с ограничением по минимальной цене разница такая, что можно купить новую ардуину.
Если у него нет регулятора в запасах, а ждать не хочется с алиэкспресса (где доставка будет стоить больше чем сам товар), то выгоднее купить новую плату.
Да зайдите в ремонтные мастерские - за десятку продадут. 1117 даже на платах сиди-ромов или хдд можно найти; на материалах на худой конец. А уж если обмазаться аналогами...
>>366478 Сказать проще чем сделать. Ремонтные мастерские нахуй пошлют, по крайней мере в ДС меня посылали — либо говорят, что нет (кому они пиздят?), либо говорят, что не разрешено. Разве что самому ковырять другую электронику, но тут не каждый готов разобрать работающее устройство ради починки платы за 200 рублей, а неисправные железяки мало кто хранит.
Если ты только вкатываешься в электронику, то починка всегда будет дороже чем новое устройство, если оно стоит пару долларов.
На партсдирект продают дешево запчасти для смартфонов и ноутов, причем могут и одну штуку продать, но я нашел только один регулятор (на все магазины) и он 3.3в https://www.partsdirect.ru/goods/79795
>>366457 >Доставка один рабочий день Внезапно, магазин находится 24 городах, и можно и самому заглянуть +100 рублей на транспорт, да., если в одном из них живёшь. Не говоря о том, что наверняка могут существовать и какие-то ещё местные магазины в его городе.
>то выгоднее купить новую плату. И опять либо ждать три ода с али за 200 рублей, либо уже за 500+ покупать, что уже явно гораздо больше, чем доплата по сравнению с али в 50-100 рублей за срочность в местном магазине.
Да и покупка новой платы лишает наслаждения от починки, что как бы тоже приятно и полезно.
Есть три массива разной длины. int a[]={1, 1}; int b[]={2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}; int c[]={3, 3, 3};
Можно ли (?) как-то сделать еще один массив с указателями на эти массивы, типа: int abc[]={a, b, c};
Просто если я буду делать многомерный массив, то пиздец сколько памяти сжирается только потому, что для одного из измерений нужно выделять дохуя ячеек, хотя остальные совсем небольшие.
>>366492 В робошоп ещё надо пиздовать на Восстания, а это 72 рубля туда-обратно. И то, если у тебя есть подоржник. А за наличку вообще 90. Это притом, что с Алика доставка бесплатная обычно
>>366516 Братан, иди в /pr/ с такими вопросами, научись нормально байтоебить на плюсах, разберись с указателями, напиши и отладь свой алгоритм на компе с тестовыми данными, потом уже пытайся запустить это на ардуине или че там у тебя.
Ананасики, что это за ХУЙНЯ? Как фиксить? В протошилде под мега256 выводы хоть и смешены, но расстояние между ними сохраняется. В протошилде под уно р3 - сосу хуй, выводы смещены ВНУТРЬ и поэтому не могу вставить шилд с LCD. Как так то? Все бы ничего и можно LCD шилд перепаять (СУКА. Это паяльник надо греть!) на крайние положения, но как быть с 8 и 9 выводом? Под них нет мест. Да, я ленивое хуйло которому впадлу даже схему на шилд искать.
Как я понял сейчас большинство китайский ардуин делаются на мк CH340G. Это прямо прямой клон ATmega328 или у него есть свои особенности? Просто у меня есть очень критичный участок кода который отрубает подтягивающие резисторы на i2c шине (иначе по идее подпалю 3.3в малину), и вопрос будет ли он работать на CH340G? Там идут строки в духе #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__) тоесть при другой модели мк оно может просто не вырубиться. Стремновато. Делал вот по этому мануалу: http://www.varesano.net/blog/fabio/how-disable-internal-arduino-atmega-pullups-sda-and-scl-i2c-bus
>>366550 >делаются на мк CH340 >будет ли он работать на CH340G? Дяденька, ты упоролся? Это преобразователь USB-UART, который никак не программируется и к используемой меге в пердуине никакого отношения не имеет и используется только для прошивки и мониторинга порта
>>366555 Трипл точно не врет.Изначально вопрос был CH340==Atmega328? Поэтому так и писалось без особых подробностей. Так что нет, никак не клон, не замена, не аналог.
>>366563 Так я и не спорю, что это не аналог атмеги и вообще не микроконтроллер. Всего лишь указал на небольшую неточность — кое-что в CH340G программируется.
Поясните за ситуацию. Прошивальщик USBisp использует MISO, MOSI и SCK. К мк я хочу подключить sd-карту и этот модуль тоже использует MISO и MOSI, но в туторе задействуются другие пины (12 и 11), чем это указано в даташите (18 и 17 пины).
Правильно я понимаю, что это все можно подключить к любым диджитал пинам? Но зачем тогда в даташите подписывают на некоторых пинах MISO и MOSI? Типа только через эти пины прошивка запишется в контроллере?
>>366570 >Можно взять макетные провода со штырьками, да повтыкать их. Ну нахуй. Думал собрать монолитную этажерку где 1(2) этажа - протошилды под всякую херню и сверху LCD. Можно впихнуть от меги, но как-то порнографично смотрится не эстет, но чуть коробит даже если поснимать лишние разъемы (самая правая сборка). Видимо снова - здравствуй Али, покажи протошилды и длинные pls или как они там зовутся. Такой вот нежданчик прилетел.
>>366573 В микроконтроллерах есть GPIO, а есть аппаратные интерфейсы. GPIO - это когда пишешь что-то в регистр (в пердуине обычно через всякие digitalWrite и прочие) и на соответствующих выводах устанавливаются логические уровни, 1 в 1 соответствующие тому что записали в регистр. А есть аппаратные UART, SPI, I2C, таймеры и прочее. Они работают иначе - записываешь что-то в соответствующий регистр, а оно автоматом на выход выдает сразу целую последовательность. А пока аппаратный интерфейс выдает все это, программа в микроконтроллере может делать что-то еще. Иначе, чтобы выдать на выход последовательность, придется несколько раз записывать данные в регистры GPIO, а в промежутках ждать и т.д., т.е. программа должна будет совершать больше действий.
>Правильно я понимаю, что это все можно подключить к любым диджитал пинам? Из того что я написал выше, следует что можно, но это приведет к тому что работать все будет несколько медленнее чем могло. Однако в ссаной атмеге 328 есть два аппаратных SPI, можешь подключить к тому, который не используется для программирования.
>>366599 Одновременно работать точно не будет. Если ИЛИ карта ИЛИ программатор - будет. Карту если что можно вытащить на время прошивки, но вряд ли понадобится - обычно подтягивающими резисторами подтягивают управляющие сигналы(как минимум CS) так, чтобы устройство было неактивно при отсутствии сигналов. Если чуть правильней - где-то была AN, где писалось что выводы программатора подключаются как есть (напрямую) к выводам контроллера, а мусор на SPI шине - через условно низкоомные резисторы (может пара сотен Ом, не помню).
Привет двач, снова. Я тут спрашивал про передачу данных. Вот теперь проблема. Вроде всё наладил, но переодически из трех байтов один битый. Пишу логи на отправителе и на приёмнике. Приёмник (очевидно) считывает неправильно периодически. Осцилограф у меня ток в универе есть, сейчас не могу посмореть корректность отдачи пакетов. Есть ли у метода delay() какие-нибудь подводные а-ля погрешность в +-100мс? Есть ли у millis() приемущества? delay() вроде блокирующий, может время сбиваетя пока плата просыпается (я иначе хуй знает). Где могут быть короче проблемы?
>>366624 Может быть все же посмотришь как делают программный UART?
И еще раз повторю. >>сигнал может быть очень зашумленный >Тогда используй корреляционный прием, согласованная фильтрация там и все такое. И соответствующие сигналы, коды Баркера и прочие. Это совсем несложно, на самом деле.
>>366632 Окей, тогда начну с самого тупого. UART - протокол (пик 1). Есть уже готовые интегральные схемы для его чтения (пик 2). Вы предлагаете прямо в распиновку USB разъема ардуины воткнуть данные с фотодиода? Простите за тупнёж.
Что-то типа такого, только между ними не провода, а некоторый мой условный лазер и фотодиод, сигнал которых я ещё дополнительно хардаврно смогу почистить и усилить.
>>366635 Ебать я даун, это те самые TX RX выходы в нижнем правом углу? У меня получается в одну сторону будет информация передаваться. Тогда из TX передатчика у меня идёт на лазер, а с фотодиода на RX приёмника, верно?
>>366636 >программный UART >TX RX выходы в нижнем правом углу Не угадал, это аппаратный UART, через который еще прошивка в твою пердуину грузится. Хотя можешь и через аппаратный UART сделать. Ты хоть осознаешь, что пердуина грузится через переходник USB-UART?
>>366647 Пробовал вчера поставить минимальную скорость для аппаратного, минимум получается все равно слишком быстрым. Так что придётся через софтовый. Да, осознаю конечно. Вчера ещё погуглил, библиотека Wire это не +- то что мне нужно?
>>366656 Все, простите за тупые вопросы - разобрался. В какой нибудь такой плате такая же атмега поставлена только поменьше и впаяная в плату типа https://iarduino.ru/shop/boards/xduino-uno-r3-na-ch340g.html. Причем это тут большими буквами написано, но я с первого раза от чего то не смог прочитать.
>>366659 Хотя я в ардуинах не разбираюсь, но возможно ты ошибаешься. http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf Страница 182 и 204, написано как считать скорость. BAUD=Fosc/(16хUBRR + 1), при этом UBRR составлен из двух регистров, в сумме получается 12 разрядов, т.е. максимум 4095. Итого можно снизить скорость до 25 бод/с при кварце на 16 МГц. Если и этого много, то поделив тактовую частоту (регистр CLKPR), можно снизить еще в 256 раз, если я правильно понял. Неужели у тебя лазер настолько медленный? Не может быть такого, если только в параллель к лазерному диоду не стоит конденсатор на несколько микрофарад.
Или можно использовать просто CH340G из пердуины, без микроконтроллера, там минимальная скорость 50 бод/с.
>>366665 У меня не через лазер, а через поляризацию его. А там будет "инертность" катушки, то есть что она не мгновенно изменяет свое магнитное поле, инертность фотодиода итд. Мне бы в идеале несколько бит (2-8) в секунду для тестов.
>>366666 >А там будет "инертность" катушки, то есть что она не мгновенно изменяет свое магнитное поле Если так, то возможно схема не очень. Нужно подключать катушку к стабилизатору тока, если хочешь уменьшить переходной процесс, или хотя бы через резистор. >инертность фотодиода Фиг знает что у тебя там за фотодиод, но в ИК пультах на несколько порядков быстрее.
>Мне бы в идеале несколько бит (2-8) в секунду для тестов. >поделив тактовую частоту (регистр CLKPR), можно снизить еще в 256 раз Получается в пердуине минимальная скорость около 0.1 бод/с. Хотя там один UART, а тебе наверное еще нужно соединять с компом.
>>366669 Я вчера пытался что-то с теми портами сделать, у меня на скорости 1200 получилось передавать от компа одной ардуине, от нее другой, а со второй читать с компа снова. По идее можно пойти в этом направлении и попытаться замедлить ещё сильнее. Я вот не знаю правда какую минимальную я могу поставить в компе.
Кто нибудь пробовал записывать данные в sd-карту? В стандартной библиотеке есть функция записи, но ее нельзя использовать для записи данных в определенную строку. И как это сделать? Памяти в мк не столько много, чтобы загружать текст целиком, править, а потом снова сохранять.
Собственно потому я и хочу использовать сд-карту, потому что памяти мало, а тут получается нет смысла.
>>366749 Объемы неизвестны, но может попробуешь старую 45 серию памяти от atmel? У них есть небольшие SRAM буферы внутри, куда прочитал страницу, пофиксил, (стер), дал команду записи, или же просто прочитал, правишь, правишь, правишь, и при пропадании питания даешь команду на запись буфера. Альтернативно поищи память 23lc1024 - это SRAM с SPI интерфейсом или что-то типа 24F (fram) серии - может хватит на твои нужды.
>>366752 Опять дополнительные железяки. Попробую создать копию файла, потом удалить первый, а второй переименовать. Надеюсь можно открывать одновременно два файла.
>>366755 Да, проверил — работает. Параллельно можно открыть несколько файлов: из одного побайтово читаю, а в другой эти же байты записываю. На моменте, где нужно вписать другою инфу, я это делаю, а потом оба закрываю. Один удаляю, а второй переименовываю.
Так даже безопаснее получилось — я не ломаю оригинал на время своих манипуляций.
>>366765 ... а еще оказывается, что команда print из библиотеки SD дописывает информацию в уже существующую. Я-то думал что будет переписывать байты с самого начала. Не знаю каким образом определяется место начала записи, может все же его можно как-то менять.
>>366880 Гори, гори, жопка ярко, чтобы не погасла! У меня тоже подгорает и дважды - конструктор даже напильником не лечится >>366535 и не получается мигать светодиодом, только зажигается и не гаснет >>347974 . А тут так вообще шизоидом обозвали >>365364
Тут есть насквозь прожженные пердуинщики? Есть ли что-то типа такого шилда https://www.aliexpress.com/item/CPLD-Shield-V1-0-Altera-CPLD-core-board-Adapted-for-Arduino-extension/32912520088.html с CPLD на большее число ног и под mega2560? CPLD/FPGA полностью подключена ко всем выводам пердуины и куча свободных выводов с двух сторон. Если нужно например двух-трех-... процессорную пердуину собрать в одну кучу, а не рассыпухой на столе - как это можно сделать? Банальная перепайка разъемов тут не поможет. Вопросы нахуя идут нахуй.
>>346563 >Выкидываешь пердуиноIDE и пишешь сразу на чистом Си А в пердуине не чистый си++? Прям на ССИ УХ БЛЯ, без плюсов? Или в чем разница тогда, дядь? Если он не успевает хуярить через digitalWrite, ему твоих портов напрямую разве что путем жутких ассемблерных извращений хватит.
Есть в бытовой сети выключатель, который замыкает высоковольтную цепь. Какой на эту цепь проще всего повесить девайс или схему, чтобы информация о кратковременном замыкании этой цепи передавалась в ардуину на gpio?
Пример - постоянно включенная ардуина подсчитывает, сколько раз в комнате включили свет.
Интересует самое быстродействующее, неубиваемое и гальванически развязанное решение.
>>366963 >быстродействующее, неубиваемое и гальванически развязанное Выберете что-то одно. Для полных имбецилов - реле на 220 вольт параллельно лампочке. Мне похуй что у них есть параметр - непрерывное время нахождения катушки под током. Посмотри на пускатели, реле на лифтах - все они 24часа в сутки под питанием. Еще тупее - зарядка на 5В от фаллоимитатора параллельно лампочке - вот тебе готовый сигнал 0-5В. Можешь заебашить 2 оптопары - по одной на каждую полуволну и поставив RC фильтр ловить сигнал о наличии сети. Можешь поставить любой транс на 50Гц и с его обмотки смотреть напряжение.
>>366884 Не понял задачи. Ты хочешь объединить несколько ардуин в одну? Нахуя Зачем перепаивать разъемы ты собрался?
Чем тебе шилд по твоей ссылке не угодил? Ты хочешь сказать, что на том шилде меньше разъемов чем лапок у чипа? Вроде там на картинке, массив разъемов виднеется и можно разглядеть пин 44, например.
>>366963 >постоянно включенная ардуина подсчитывает, сколько раз в комнате включили свет.
Ардуина обязательно должна работать постоянно? Просто если ты адаптер питающий твою ардуину подключишь к своему выключателю, то по сути включение ардуины и будет служить индикатором включения твоей лампы — просто в функцию SETUP добавляешь код счетчика и EEPROM или SD карту, чтобы данные не терлись после отключения пердуины.
Правда не думаю, что это быстродействующий способ.
>>366964 >Можешь заебашить 2 оптопары - по одной на каждую полуволну и поставив RC фильтр ловить сигнал о наличии сети. Нагуглил оптимизированный вариант этой хуйни, спасибо за подсказку.
>>367017 >Не понял задачи. Ты хочешь объединить несколько ардуин в одну? Зачем перепаивать разъемы ты собрался? Каждую верхнюю пердуинку сделать шилдом. На первый взгляд их можно соединять. IIC и SPI можно соединять как есть, а вот с любимым UART - сосу без перестановки rt-tx.
>Чем тебе шилд по твоей ссылке не угодил? Всего одной мелочью - поставив шилд сверху хуй подключишься к обведенным выводам, максимум 7 выводов если угловую гребенку запаять и светодиоды просру. Да и не уверен что оставшиеся подключены к пердуиновским выводам. Под сферическую хуйню в вакууме. Снизу пердуинка опроса чего-то, выше шилд с clpd ввода-вывода и коммутатор, выше шилд эмулятора, еще выше - lcd шилд от эмулятора. Такой вот монолитный кирпич. А уж если взять DUE...
Уважаемый суккуб, помоги с заданием. "На два шифратора подаются два различных числа (0-15) шифраторы кодируют из и передают на порты МК. МК должен выполнить мультиплексирование и передать сигнал на демультиплексор и дешифраторы. у дешифраторов на выходе должны появиться те же сигналы что и на входе". С меня как обычно нихуя и традиционное "спасибо"
>>367159 Че бля? Нихуя не понял. Картинкой для имбецилов нацарапай пару вариантов что требуется. и картинку того, как тебя в котле будут ебать в сральник суккубы. Кто сказал что инкуб не может прикинуться суккубой?
Привет, дваче. Задался вопросом, как подключить ик порт с пультом. Да вот китайская жопа говорит, что хуй мне и запутал выводы на порте. Где на этом порте 5v, grn, out, анон? Заранее спасибо за ответ.
>>367163 Я процитировал задание, лел. Дешифраторы, шифраторы и демультиплексор как отдельные элементы, МК выполняет функцию мультиплексора. С числом выводов, скорее всего, объебался, ибо только прикинул схему подключения. Числа, как я понял, задаются вручную, с помощью подачи на входы шифраторов логической 1 или 0. На картинке взял числа рандомно. Странное задание в общем-то
>>367166 И что тут сложного? Тупо читаем входы и передаем их на запись библиотеке работы со сдвиговым регистром. Shifty myreg; void setup() { myreg.setBitCount(8); myreg.setPins(11, 12, 8); } void loop() { myreg.batchWriteBegin(); myreg.writeBit(0, digitalRead(12)); myreg.writeBit(1, digitalRead(11)); myreg.writeBit(2, digitalRead(10)); myreg.writeBit(3, digitalRead(9)); myreg.batchWriteEnd(); }
>>367166 Полнейшую хуйню нарисовал. Слева - уже соснул,шифраторы справа в оригинале выдадут - ХУЙ, ошибка кодирования, так как они принимают на входе сигнал "1 из..", а у тебя аж 2 единицы и больше на входена входе. Допустим подал 0100 (свернется пусть в 10) и 0001 (свернется в 00). Нахуй тут мега всралась? У тебя 2 бита данных и 2 бита адреса, а двумя битами адреса можно адресовать 4 адреса. 2 адреса в пустоту? Хуй с ним, 4 адреса - 2 из них рабочие, 2 пустых (зададим произвольное значение, а это уже противоречит заданию). КАК ТЫ СУКА СОБРАЛСЯ ДЕШИФРИРОВАТЬ 2 (ДВА) ебаных бита в минимум 8 значений? Это НЕВОЗМОЖНО. Пусть объебался и у тебя 3 вывода на выходе - да, получишь на выходе код 1 из 8. ОДИН ИЗ.., а не 1010 и 1110 - дешифраторы так не умеют, будет ОШИБКА. Будет нормальное задание, а не хуйня - тогда и приходи.
>>367269 >Плата c мк в дип корпусе, у наших барыг стоит около 700р. Всего ничего. У наших барых - сраная однослойная макетка где-то 10х10см около 250 стоит, а пердуинки.. Мега2560 стоит дешевле чем уно. Такое вот ебеняево. Кажется даже чипучупс очень нервно покуривает в сторонке.
>>367271 Кстати, а где на алике есть макетки типа 150х200? Пытаюсь вбить "медные платы" или "печатные платы" или "PCB" мне выдает полторы продавца и у всех толщина 1.5мм. А у меня заклепки 2.5мм, а 2.0мм нигде нет.
Короче херь какая-то. Самые распространенные заклепки 2.5, а самая распространенная плата 1.5.
>>335724 (OP) Сап Глупый вопрос, но недавно заинтересовался темой ардуино, до этого на атмеге собирал часы, ну и поигрывал в shenzhen i/o Суть вопроса. Можно ли на данной плтформе собрать например мемулятор спектрума? Покупать малинку и ставить на нее мемулятор слишком попсово, я слышал что собирали эмуль на атмеге. Погуглил, но чет нихуя толком не нашел Спасибо
>>367490 Да, обязательны, только они должны быть с другой стороны мк близко к выводам питания. Но это не удивительно, ведь только конченые говноеды ставят дип-корпуса под 45 градусов, или любые другие, если только это не смд для пайки волной и не обосновано технически (для выравнивания длин высокоскоротных линий)
>>367497 Ноуп. Слишком много места занимают. Максимум в некоторых шмегах есть встроенные единицы-десяток пикофарад для раскачки и стабильности часовых кварцев и не более того. Какие емкости у УВХ АЦП - не вникал, точно не доли микрофарад.
Кто может подсказать схему регулировки температуры жидкости в радиаторе, не могу понять как соединить ручку регулировки, терморезистор и базу транзистора.
>>367513 Я, конечно, не знаю. Но можешь сделать делитель напряжения, где один из резисторов это твоя ручка регулировки. Но это будет нестабильно, ящитаю. Я так яркостью светодиодной ленты управляю, она вся мигает почему-то. Видимо из-за мельчайших наводок каких-то.
>>367514 Двачую этого. Во-первых, ты сможешь использовать эффективный ШИМ для двигателя, а не транзистор в линейном режиме, который будет греться как печка. Во-первых, можно написать полноценный ПИД-регулятор. Схема, которую предлагаешь ты - это тупой и медленный пропорциональный регулятор. Ну и в третьих, можно использовать всякие дисплейчики, кнопочки, светодиодики по желанию. Вот, зачем нужна Ардуина
>>367492 >>367491 А я без них запускал 328. Существуют более внятные схемы? Не понимаю зачем параллельно делать два конденсатора к одним и тем же дорожкам.
>>367540 >Не понимаю зачем параллельно делать два конденсатора к одним и тем же дорожкам. Здесь не актуально, а в почти ВЧ схемах есть тема - ставить параллельно и рядом друг с другом несколько конденсаторов разного номинала (и иногда размера) типа 0.1m и 0.01m. Ближе к реальности - посмотри схемы eval досок - там можно заметить кучу "мелких" конденсаторов в 0.1m и "большой" групповой на 10m или около того. >>367490 Тут хреново стоят, так как рядом друг с другом а не ногами. Надо отдать должное - хоть землю кварца развели более-менее и без сквозных токов. Когда скучно - почитай "Начальный курс черной магии" >>350317 там все расписано, как и даже влияние размеров конденсаторов и их эффективные рабочие частоты.
>>367540 Каждый конденсатор фильтрует свою полосу частот. Чтобы убрать больше шума нужно больше разных фильтров. Подключаем три конденсатора, получаем три фильтра.
>>367544 Если коротко - КМОП схемы потребляют ток только в момент переключений, и который сосется с ближайших конденсаторов. Если их нет - может нехватить напряжения и какой-то из триггеров защелкнется в 0 вместо 1 и настает пиздец схеме, особенно если нет схем автоматического восстановления. Например счетчик команд может не на 1 увеличиться, а на любое число со всмеми вытекающими последствиями (в лучшем случае попадешь в пустую память и дойдя до конца памяти МК неправильно перезагрузится)
>>367542 Вопрос задал >>367544 не досмотрев видео. Если я правильно понял, конденсатор бОльшей емкости пропускает более высокие частоты перепада напряжения т.к. скорость накопления емкости меньше некоторых частот и они тупо проходят темными нефильтрованными. Поэтому рядом ставится конденсатор меньшей емкости, чтобы отфильтровать более высокие частоты.
И такие фильтры надо ставить ближе к ноге мк? Если, допустим, у меня несколько микроконтроллеров на схеме, достаточно установить только один общий фильтр?
>>367563 По-моему делают с помощью ШИМ, чтобы частотой переключения 0 и 1 имитировать мелодию. Или подключай модуль ЦАП, если хочешь плавно менять вольтаж, хотя все равно будет дискретным аналогом, зависящим от битности преобразователя (типа 5 вольт делятся на 1024 или 2048 ступеней)
Или забей в ютубе "пианино + ардуино" и посмотри как там делают тональность. Например это: https://youtu.be/bHOqsk8TnGY В описании есть готовый скетч. Потом все это адаптируй под свою синусоиду.
>>367552 А зачем нужен стабилизатор напряжения (типа AMS1117), если нужно помимо них стабилизировать конденсаторами? На всяких схемах (пик 1) или модулях преобразователей питания (пик2) эти стабилизаторы обмазывают конденсаторами.
Иногда их называют регуляторами и тут как бы понятно: эти штуки понижают до нужного напряжения, а потом (или до) стабилизируются конденсаторами. А вот название "стабилизатор" путает.
Nano Every при цене $9,9 стала самой бюджетной моделью новой линейки. Она построена на базе микроконтроллера ATMega4809, работающем на частоте 20 МГц, оснащена 48 КБ флеш-памяти и 6 КБ оперативной памяти.
Второй новинкой стала модель Nano 33 IOT с ценником $18. Она работает на микроконтроллере SAMD21G18A с частотой до 48 МГц, имеет 256 КБ флеш-памяти и 32 КБ оперативки. Плата оснащена модулями Wi-Fi и Bluetooth, совместима с платформой Arduino IoT Cloud и включает микросхему, способную хранить криптографические ключи на аппаратном уровне, что обеспечивает защищёное соединение Transport Layer Security (TLS).
Следующей в линейке идёт Nano 33 BLE стоимостью $19. Она имеет поддержку Bluetooth и построена на базе микроконтроллера nRF52480 с частотой 64 МГц, 1 МБ внутренней памяти и 256 КБ ОЗУ.
Самой дорогой новинкой стала Nano 33 BLE Sense с ценником $29,5. Она поставляется с набором дополнительных датчиков (девятиосевой инерционный измерительный блок, датчики температуры, давления, влажности, света, цвета и жестов) для поддержки носимых устройств и управления жестами. В остальном она полностью идентична модели Nano 33 BLE.
Arduino также анонсировала модуль Arduino SIM для добавления поддержки сотовой связи на плату MKR GSM 1400, которая стоит $69,9. Такая SIM-карта может использоваться в более чем 100 странах мира с единым тарифным планом, который предлагает 10 МБ бесплатных данных на срок до 90 дней, после чего 5 МБ в месяц стоят $1,5.
Новые Nano-платы уже доступны для предзаказа, а поставки начнутся в конце июля.
>>367264 Да, китайский драйвер для китайского CH340 не подошел. Алсо, я зажиточный господин, потому что получаю деньги за свое хобби. Как вы можете заниматься этим годами и не получать ни копейки? Вы что, ебанутые? Или вы несколько лет диодами мигаете? Kaimi вон под ардуинку свою операционную систему пишет.
>>367622 Опять обдристаю, и постараюсь поточнее, а не бредом в 3 утра. Слева где шифраторы - похоже верно нарисовал, 4 вывода, а не 3. 3 Вывода под само число и 1 под ошибку кодирования. Вопросов нет. Если брать задание - то там же в 2 раза больше будут шифраторы - пока забьем. Дешифраторы справа - наебался в числе линий - из по 3 штуки должно быть. По входам-выходам вопросов нет.
А теперь расскажи про мультиплексор и демультиплексор... Так понимаю он четырехразрядный на 2 адресных входа (типа верхний и нижний дешифратор)? Ты понимаешь что в таком случае не добавив регистры на выход дешифраторов или на участок между мультиплексором и дешифратором выход "неактивного" канала демультиплексора будет выдавать 0 и на выходе дешифратора будет активен не тот выход? Платиновый вопрос - нахуя тут мега? Если из нее делать мультиплексор, то где или откуда берутся адресный вход (какой канал транслировать) на выход? Ну добавил 1 вывод который будет коммутировать на выход выходы верхнего или нижнего шифратора. Кто, как и по какой логике будет управлять внешним демультиплексором (dms)?
Короче снова какую-то бесполезную хуйню нарисовал, которая неработоспособна от слова вообще.
>>367623 >Да, китайский драйвер для китайского CH340 не подошел. Это просто криворукость. Нахрена тебе вообще грузить прошивку через UART? Давно бы уже взял дебаггер JTAGICE.
>свою операционную систему пишет. Чем операционная система для AVR (каких достаточно много), будет отличаться от операционной системы для пердуинки?
>>367626 Дядя, а идей как подключить и реализовать это хотя бы как-нибудь кривовато нет? Это ласт задание просто, думаю, сделать хоть что-нибудь и зачтут. Так понял основная цель - заставить мегу в качестве мультиплексора заставить работать - остальное вторично
Есть охуенный кулер на ПК, из минусов он аж 2010 года и (в силу своей охуенности и низких оборотов) не имеет регулировки оборотов по шим, да и по питанию вроде тоже (и по питанию в любом случае мамка не умеет регулировать, только шим для процессорного кулера). В комплекте идут (проебаны) переходники (я так понимаю, тупо сопротивления) с 1300 до 900 оборотов. Задача очевидна - считать ардуиной шим с материнки и преобразовать в нужное напряжение, тем самым получив пониженные обороты в простое. Как организовать выходное напряжение? Цифровой потенциометр? Там 12в, 0.19А в сумме, на алике самые массовые с 10в максимум работают. Или транзистор какой-то там хуячить? Я тупой, да. И вообще взлетит?
>>367640 >Так понял основная цель Начинать разрабатывать очко, сосать хуйцы и делать бочку.
Когда говнокод подгоню пока не знаю, и так дохуя времени просрал пока нашел из чего можно собрать. Это условно-вольно-бредовая реализация. Триггеры 173 лишние, не заметил что они есть в декодерах 4514. Есть псевдолиния задержки, за которую народ из ПЛИС треда проклянет и обложит хуями в несколько слоев. Демультиплексор не явный, сделан на буферах 125 и 126. Здесь ПРИОРИТЕТНЫЕ шифраторы, которые не боятся более чем 1 единицы на входе, выход EN=1 говорит что что-то есть на входе(хотя бы одна 1), а не все входы в 0. Как с ним быть? В оригинале бы его подавать на сигнал Е дешифратора и гасить все выходы, но думаю можно будет отмазаться что "забил хуй выдаю старое состояние входов шифратора".
Этот апофеоз(?) хуиты попеременно с частотой тактового генератора опрашивает выходы первого шифратора, выдает их в линию, через демультиплектор (адрес канала привязан к тактовому сигналу) направляет на нужный дешифратор. Если где налажал - поменять местами входы LE. Тупой закос под display link или что-то подобное.
>>367656 Ебаный ты гений, я-то думал, что там все намного проще будет. На словах препода подключил шифраторы-> мк -> демультиплексор -> дешифраторы, залил код - готово. На такое задание я вообще не рассчитывал если честно, особенно учитывая тот факт, что предыдущие (с которыми ты помог и пару самому получилось сделать) были не сложными
>>367662 Хуй его знает. Заработает или нет. PB0 - выбор анальных ласк, PB1 или PB2 - 1 значит есть что-то новое на входе, 0 - ничего нет, выдаем старое. Если налажал с номерами аналов - похуй. Никакой разницы. Написано на ассемблере. Тут ТЕБЕ надо танцевать под чью-то дудку (тактового генератора снаружи) и особо нет времени думать и просраться и ловить попаболь как тут >>364896. Самый стремный момент возможного рассинхрона и нарушение логики работы на один "цикл" - это изменение значений на выводах снаружи за период 1(2) периодов тактового генератора МК между командами (in r16,pinD) (in r17,pinB) Как минимум логика мультиплексора должна работать, с остальным сам ебись. Быдлокод не по фронтам работает, можешь спокойно кнопками задавать управляющие сигналы (pb0-pb2) и смотреть как что меняется.
>>367663 Мое уважение, суккуб. Собрал схемку в протеусе - странно работает, меняю состояния на входах - верхнему дешифратору сугубо похуй, нижний что-то пытается показывать, меняя состояния иногда (не ебу, по какому принципу). Что-нибудь со всем этим постараюсь сделать, думаю, зачтут И еще вопрос Это твое хобби или способ заработка (красная ручка может означать, что препод, но маловероятно)?
>>367674 Начни с малого - отдельно сама мега правильно работает или не тестил? Схемку покажи и странности в работе. Возможно тут гонки сигналов, тк мега сильно медленнее отрабатывает, чем 2 последовательных инвертора и будут задеты только выходные дешифраторы. Утверждать не могу и без скринов с багами гадать бесполезно.
По спойлеру там же сгорело пару микросхем с ключами, а кто-то жлобится повторить: "Я тщетно стараюсь не думать о боли, сжигая свой старый портрет. И луч предрассветный гризaйлью рисует чей-то чужой силуэт."
Есть один эмбилайт и ему требуется 460800 бод по юсб-рс232. Оригинальный леонардо работает норм (но нахуя?), две китайских нано (168 и 328) не смогли, 115200 максимум работает. Правильно ли я понимаю, что если взять китайскую нано на 32u4, то там должно взлететь, т.к. за юсб в леонардах отвечает тоже 32u4 в отличии от левого преобразователя 340g на обычных нано? Или это не так?
Анон, смотри. I2C. Вот такую штуку перед началом работы генерирует мастер. Судя по-всему, это какой-то способ очистить шину? Как это называется, как гуглить? Ардуино обрабатывает этот кондишон нормально, если что.
>>367737 Школотрон проснулся? Как там аналоговнет? Самому интересно. Очень странно выглядит и очень похоже на >способ очистить шину Тут что-то есть, но немного не то, говорят про 8 тактов шины, а не про кучу стартов на шине.. https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=45291 "В таком случае надо отключить TWI модуль от ножек и вручнуню манипулируя SCL и SDA на мастере выдать 8 битов и выдать stop condition. Чтоб слейв отключился." В свое время ловил зависания шины на nuc972 (очень нештатные воздействия снаружи) и лечились они буквально мануальной терапией в виде принудительной поочередной подачи земли и питания через довольно низкоомные резисторы на выводы scl sda.
>>367765 До чего же ты ебанутый пердуинщик однако. Выебываешься на абсолютно любого анона с I2C и ардуиной или STM32, да еще с таким ЧСВ все это пишешь. Ты сам то кроме пердуины и STM32 хоть что-то по радиотехнике знаешь? Вон, в ТОЭ треде тупые студенты выпрашивают решение простейших задачек. Что, не можешь решить такую элементарщину?
>>367775 Школотрон порвался? Выносите и заносите следующего.
>ты ебанутый пердуинщик однако И не только. В STM32 тредах бываю, иногда в ПЛИС подглядываю как на пикрил.
>с I2C и ардуиной или STM32 Triggered, да. И что с того? Вот не понимаю, как можно с полгода дрючить и дрочить на шину IIC а на выходе иметь чуть меньше, чем нихуя?
>да еще с таким ЧСВ все это пишешь. Кому-то показалось.
>Ты сам то кроме пердуины и STM32 хоть что-то по радиотехнике знаешь? Вон, в ТОЭ треде тупые студенты выпрашивают решение простейших задачек. Что, не можешь решить такую элементарщину? Вот здесь прав. Анальный анал не ебу, да и нахуй нужен. Отмасштабировать напряжение на ОУ смогу, на остальное лично мне похуй, всякие импульсные преобразователи не собираю. Больше был, отхожу потихоньку по цифровой смехоте и МК, где из анала - RC цепочка на ресете или RC фильтр на ШИМ и ОУ как повторитель. Очень медленно пробую делать клон одной железки, прямо в лоб не копируется, железо очень разное,совершенно разные ядра, шелла нет, консоли нет, а чтобы получить - надо хуй знает как перехватить управление загрузчиком который нихуя не умеет и неуправляем или же на основе eval платки по быстрому свою нарисовать (4-6 слоя)и на ней издеваться.
>>367780 >Школотрон порвался? Ты заебал называть рандомных анонов школотронами.
>иногда в ПЛИС подглядываю как на пикрил Это ты наверное постил фотографии с некроговном типа FLEX10K и MAX7000? Это отвратительно, ты больной мудак в этом случае.
По моему у тебя имеются некоторые проблемы с головой, если ты в каждом аноне с I2C-проблемами видишь "того самого школотрона". >Вот здесь прав. Значит ты простой пердуинщик.
>>367782 >>Вот здесь прав. >Значит ты простой пердуинщик. Встречный вопрос - а че сам не помогаешь студентам решать простые задачки? Не барское дело? С самого утра висит одна задачка без ответа. Поэтому пердуинщик скорее ты. Не ебу какая у тебя там специализация или направление, но до уровня ебучих эффективных менеджеров с их "у нас все универсалы" не скатываюсь, а точно знаю что по таким вопросам обращаться к тем кто в них досконально разбирается, а не ко всяким тетям сракам которые дохуя слышали, а как применять или тонкости применения или работы не знают. Расскажи про аналог - как часто его используешь? Ебашишь полосовые фильтры? Расчитываешь импеданс линий в зависимости от материала и его толщины? Постоянно каждый шаг проверяешь в LTSpice? Вот объясни, почему в нормальных компаниях, а не шаражкиных конторах есть четкое разделение - схемотехники, трассировщики, программисты, монтажники, а не одна баба срака за всех?
>Это ты наверное постил фотографии с некроговном типа FLEX10K и MAX7000? Это отвратительно, ты больной мудак в этом случае. Ну да, и че? Если начнешь бздеть что это говно - зайти за http://zx-pk.com и увидишь таких же некрофилов, которые сидят на ACEX и MAX7000 только из-за 5В уровней. Можешь взять что-то посвежее и ебашить кучу буферов-трансляторов напряжений. Сколько оно займет лишнего места не говоря о том, что буферы потребляют энергию, которая зависит от частоты передаваемого сигнала? Более медленная логика прощает некоторые ошибки проектирования, которые не появляются при использовании более скоростной логики - те же race condition проявляются немного по разному проебал пасту про тонкие различия разных серий 74 логики..
>некроговном типа FLEX10K Зайти в импортозамещение и там покукарекай - Кукареку... Страница 6, нижняя половина http://www.vzpp-s.ru/production/catalog.pdf Ебать колотить, да мы же видим.. "некроговном типа FLEX10K", да еще и полную копию K30.. А вот CLPD че-то не хватило мозгов скопировать, а они местами интересней, чем FPGA для замены небольшого количества рассыпухи.
>>367780 >Анальный анал не ебу, да и нахуй нужен Вы заебали, это же фундамент, как ассемблер машинные коды и С++, как атмега и ардуина, как железобетонный ангар и каркасный сарай на покрышках.
>>367785 >а че сам не помогаешь студентам решать простые задачки? Им такое не пойдет на пользу. Ты вообще задумывался о том, что такие студенты будет делать после того как получат диплом?
>Расскажи про аналог ТОЭ на то и называется основами. Это в основном повторение школьной физики и тренировка в использовании некоторых методов для решения задач. Также это основа для изучения последующих курсов, в том числе цифровой обработки сигналов. Ты бы еще написал что законы Кирхгофа нахуй знать не нужно. >Страница 6, нижняя половина Ты заебал, я только пришел домой от этой херни, а тут ты этим говном тычешь. >А вот CLPD че-то не хватило мозгов скопировать У тебя неправильные сведения. Есть интеграловская серия 5577, только корпус довольно крупный.
>>367775 Ну сегодня он угадал, эт и правда "я" - тот кого он вечно называет школотроном. Он и правда поднадоел с этой хуйнёй, но я уже смотрю на него как на деда, которому больше не с кем поговорить. >>367765 О каких аналогах ты вообще? >выдать 8 битов и выдать stop condition. Призрачно похоже, но мне нужно обработать эту хуйню со стороны слейва, что я пока не разбирался как делается. Думал может есть этой хуйне название, тогда можно было бы и не разбираться, а просто загуглить готовое решение. >>367780 >как можно с полгода дрючить и дрочить на шину IIC а на выходе иметь чуть меньше, чем нихуя? Оч просто, на самом деле. Надо к ней для этого притронуться 4 раза за полгода: Первый раз - полгода назад, в попытке написать "повторитель", второй раз через 3 месяца попытавшись разобраться с тем как эта хуйня работает в HAL'е, 3-й раз попытавшись реализовать софтварно I2C-слейва, что довольно таки интересно, потому что я ни одной реализации не нагуглил, а то что есть - мусор, который даже не даёт на шину ACK/NAK и 4-й просто пробуя запилить эмуль i2c-eeprom ьуквально сейчас. За всё это время ты миллион раз назвал меня школотроном, во всех абсолютно задачах "переходил на CLPD", и один раз был полезен, скинув эмуль eeprom'а для stm32
>>367820 Школота призналась что школота.. Замечательно.
>но я уже смотрю на него как на деда, которому больше не с кем поговорить. Очень похоже на правду.
>О каких аналогах ты вообще? Лень искать по треду - последний раз было упоминание кого-то из серии 1887 как функциональный аналог мега8515.
>Призрачно похоже, но мне нужно обработать эту хуйню со стороны слейва, что я пока не разбирался как делается. А мне кажется забить хуй если у тебя внутренний конченный автомат iic сам сбрасывается по СТОП, а на СТАРТ не реагирует, пока адрес не появится.
> пробуя запилить эмуль i2c-eeprom буквально сейчас. На чем или из чего?
>миллион раз назвал меня школотроном Ой врешь.. не писал тут миллион постов.
>один раз был полезен, скинув эмуль eeprom'а для stm32 У тебя мозгов не хватило понять этот говнокод >>362763
>>367788 >>а че сам не помогаешь студентам решать простые задачки? >Им такое не пойдет на пользу. Ты вообще задумывался о том, что такие студенты будет делать после того как получат диплом? Как тонко съехал. Что-то в этом есть.
>Также это основа для изучения последующих курсов, в том числе цифровой обработки сигналов. Отвечу вопросом из прошлого поста > Вот объясни, почему в нормальных компаниях, а не шаражкиных конторах есть четкое разделение - схемотехники, трассировщики, программисты, монтажники, а не одна баба срака за всех?
> Ты бы еще написал что законы Кирхгофа нахуй знать не нужно. Закон Ома забыл приписать. Ссылаясь на вопрос выше - нахуя например программисту это знать? Его задача писать программу, а не вникать - будет превышение тока по выводам, про толщину и ширину дорожек, IRdrops и тонкости трассировки - это головная боль других людей. Или же трассировщику какая разница что как или почему накрутил схемотехник или например как программер будет работать - в режиме baremetal или какую ос ставить.
>Есть интеграловская серия 5577 А вот это интересно. Мельком глянул даташит - это FPGA, а не CPLD. "A security fuse may be programmed to disable all further programming and to protect the design from being copied orreverse engineered." и "Nonvolatile, User Programmable" - есть подозрения что есть память конфигурации внутри и сойдет за CPLD.
>>367822 >Школота призналась что школота.. Как скажешь. >Очень похоже на правду. Ну так не веди себя как душная сумасшедшая бабка, чо ти. >1887 как функциональный аналог мега8515. Только 8535. Но я никак не могу привязать это к тому что ты говоришь, соре. >На чем или из чего? Просто на атмеге, не более. Собсна код и есть, но не обрабатывает вышеобозначенный кондишн. >А мне кажется забить хуй если у тебя внутренний конченный автомат iic сам сбрасывается по СТОП, а на СТАРТ не реагирует, пока адрес не появится. Ага, хули, не реагирует он. Если бы это так работало - я бы не спрашивал. Вешается он после этой хуйни. При том что ведруина - не вешается, а прекрасно работает на той же архитектуре, просто с другим кодом. >У тебя мозгов не хватило понять этот говнокод >>362763 Ну на самом деле, я про него просто забыл. Эх, если бы я только помнил, что в Ардуино-треде осталось что-то полезное, а не только бабка-Срака, которая почему-то всё время называет меня школьником...
>>367822 >Отвечу вопросом из прошлого поста В конторе, в которой я работаю, это не совсем так. Максимум совмещают программирование микроконтроллеров или ПЛИС со схемотехникой в части подключения всей цифровой фигни. Не спорю, такое не слишком хорошо, но до таких крайностей, про которые ты писал, даже близко не доходит. >Ссылаясь на вопрос выше - нахуя например программисту это знать? Я выше уже писал. Не знаешь ТОЭ - значит не знаешь основ цифровой обработки сигналов. Кстати, ты выше писал >RC цепочка на ресете или RC фильтр Последняя задачка из ТОЭ-треда требует только знания переходной характеристики RC-цепочки (из одного резистора и одного конденсатора) и расчета делителя напряжения на резисторах. Выходит ты и простую RC-цепочку толком посчитать не можешь.
>это FPGA, а не CPLD. Тут четкой границы нет. MAX 3000/7000 сделаны на основе программируемых матриц соединений, их можно назвать классическими CPLD. А MAX II уже на основе LUT-ов и LE в них почти такие же как в циклонах, все почти как в FPGA, только помельче и грузится быстрее.
>>367827 >Не спорю, такое не слишком хорошо, но до таких крайностей, про которые ты писал, даже близко не доходит. :)
>Выходит ты и простую RC-цепочку толком посчитать не можешь. Это и не скрывалось. Открываю страничку http://tel-spb.ru/rc.html и прикидываю.
На пикрилах - где знание анала нужно? Коротенький участок от ethernet phy до разъема с трансом? Разводка памяти SDRAM? Ей почти поебать на все, главное остальные линии сделать короче чем линия clk. Импульсный преобразователь? Картинка из даташита. Верхняя моделька давно не обновляется, на нижнюю недавно вышла новая прошивка, которую еще не потрошил. На нижней ступор - сделана на LCP3250. Тест памяти через S1L показывает что все хорошо, а при загрузке в ОЗУ образа uboot - последние строки что NAND не найден(его нет) и зависает, даже не выдавая своей командной строки, а на линии TX - постоянный сигнал break (логический 0).
Вообще думаю стоит перевести общение на обсуждение разводки >>367490. Где тут аналоговая блажь может пригодиться? Это все-таки пердуино тред, а не всяких СВЧ хуевин на керамике или чего-то с памятью ddr2, где надо особо следить за длинами линий тактовых сигналов и непрерывностью полигонов земли или fpga с 10G(или PCI-ex) трансиверами, где реально надо следить за импедансом линий.
Так тонко в CPLD/FPGA не разбираюсь. Пока что использую как замену рассыпухи в режиме коммутаторов и сумматоров сигналов (например сложить 2 поочередно работающих уарта) и не более того.
>>367826 >>А мне кажется забить хуй если у тебя внутренний конченный автомат iic сам сбрасывается по СТОП, а на СТАРТ не реагирует, пока адрес не появится. >Ага, хули, не реагирует он. Если бы это так работало - я бы не спрашивал. >Вешается он после этой хуйни. При том что ведруина - не вешается, а прекрасно работает на той же архитектуре, просто с другим кодом. Опиши еще раз в чем прикол. У пердуины нет прерывания на старт, только старт+адрес. Зависание мастера? Как-то не верю, что за система где такое возможно и сам мастер не пытается оживить шину? Сделай дамп стартовой фигни когда у тебя только мастер. Очень интересно кто 0 на шине выдает - сам мастер или кто-то из слейвов? Может твоя сверхчувствительная пердуинка ложит мастера? Тебя не смущает огромная разница в частоте scl? В теории можешь узнать делая разрыв линии и вставляя туда довольно высокоомные резисторы. Ну поломается обмен, зато есть шанс по падению напряжения на резисторе определить куда ток тек.
>>367845 Нене няша, ты всё не так понял. Я делаю слейва, сейчас на 16й атмеге. Юзаю какой-то пример слейва из интернета https://www.electronicwings.com/avr-atmega/atmega1632-i2c , компилирую AVR-studio. Мастер не вешается, но вешается слейв (на самом деле он не вешается, а кажется просто почему-то пытается прочесть, что за адрес я шлю) при подаче подобного сигнала. Когда я юзал ардуинку для того чтобы взаимодействовать с мастером простая уно на 328 атмеге, она не вешается, шина не вешается, всё збс. Ну логично предположить, что если две железки на одной архитектуре и с одинаковым TWI-блоком работают по-разному, то проблема в том коде, который я использовал. Просто если у этого передергивания стартов было бы название, может и разбираться не пришлось бы, а достаточно было б загуглить готовый код.
File : TWI_Slave.c Compiler : IAR EWAAVR 2.28a/3.10c Revision : $Revision: 2475 $ Date : $Date: 2007-09-20 12:00:43 +0200 (to, 20 sep 2007) $ Updated by : $Author: mlarsson $
Support mail : avr@atmel.com
Supported devices : All devices with a TWI module can be used. The example is written for the ATmega16
AppNote : AVR311 - TWI Slave Implementation
Description : This is sample driver to AVRs TWI module. It is interupt driveren. All functionality is controlled through passing information to and from functions. Se main.c for samples of how to use the driver.
>>367885 Ну да, я проверил, после "вступительной последовательности" - работает. Без неё, правда, отваливается - хз почему, анализатора под рукой нет. Спасибо, няша.
>>367971 Шта? Нет, просто или в примере который идёт с либой, или в самой либе, неправильно обрабатывается повторный старт. Собственно, на пикрил видно Ну или я еблан и неправильно отправляю сигнал с ардуины на него, но я хз как можно "неправильно" использовать Wire.requestFrom(ADDRESS, 1, REG, 1, true)
>>367986 Школьник заинтегрировал.. Через неделю вернусь и надеюсь прогоню говнокод под отладчиком если найду и то и другое, ближайшая железка - это пердуина с мега2560 посмотреть на забавные эффекты - косяк в модуле TWI или прокладке между стулом и клавиатурой. Для воссознания ошибки ебануть 10 стартов подряд и стоп в конце? Что-то мне кажется ошибка будет в обработке повторного старта, но где или в чем? Практика покажет.
>>368022 >Поменялось Oh shi~ >через какое-то время А если точнее? Пару ПОЛНЫХ дампов в состоянии снять options - save capture (ctrl+s) с момента перезапуска мк и до падения? Как вручную воссоздать условия когда падает? Он падает только при записи, или при чтении тоже? Похуй что адрес(в памяти) не задан, выдаст любую хуйню(скорее всего 0) при чтении На чем тестишь? 328 мега? Сейчас на руках нет ничего кроме даташита.
>>368023 Атмега16, на внутреннем кварце. Я только читаю, но как видно по пику - валится в момент, Setup to Write. Вручную сгенерировать эту ошибку не могу, но могу сказать, что когда пытаюсь сделать то же самое с подключенным внешним кварцем - получаю снова пикрил.
Посоны, помогите чайнику. В общем, захотел сделать лазерный гравер из dvd приводов, в качестве мануала взял вот это видео https://www.youtube.com/watch?v=3El2sW1eJ-g&t=1s Спаял всё по схеме, но не знаю, как подключить лазер. Лазер брал такой же, как у него в видосе, только транзистор купил сразу модулем, вот такой:https://ru.aliexpress.com/item/32869991624.html Нагуглил какую-то схему с ним (пик 1), но она отличается от того, что в видосе (пик 2). Во-первых, правильно ли на первой схеме идёт подключение от GND на ардуине к SIG на модуле? Разве на сиг не с упраляющего пина должно приходить (D11 на первой схеме и A2 на второй). Во-вторых, надо ли на модуль с транзистором подавать 5V от ардуины, как на первой пикче? И, в-третьих, если на первой схеме всё верно, то можно ли подключить так же, только вместо контакта D12 использовать А2? т.к. я всё делал по схеме из видео и скетч планирую брать оттуда же. Или что-то ещё надо поменять, подскажите, плиз.
>>368024 КЭП, да тут прям дохуища полезной информации... О кварце, который нахуй не всрался. Может налажал в говнокоде(должен срать при каждом изменении TWSR и молчать при его неизменном значении), сам подправишь - добавь в UART(скорость не принципиальна, но лучше под 400килобод) вывод TWSR и пики со стульями и хуями в студию - в какие моменты какие состояния. void main (void) { ... unsigned char st1; ... st1 = 0; while (1) { if ( st1 != TWSR) { st1 = TWSR; UDR = st1; }; ... };
>>368023 Кварц 16мгц, кондеры на 22пФ. Фьюзы ставлю пикрил. Если запускаю без множественного старта вначале - всё ок. Если запускаю на внутреннем кварце - всё ок. Если комбинирую эти два фактора - микрик подтягивает SCL к нулю, там и остаётся.
Насчет данных с анализатора: встроенный кварц, стандартные фьюзы, произвожу только операцию чтения. https://yadi.sk/d/yOdgYSZgj_7kGA
>>368032 >О кварце, который нахуй не всрался. Ну хзхз. Если он похожим образом валится в двух случаях, при том второй случай провоцирует это состояние гораздо быстрее. >добавь в UART(скорость не принципиальна, но лучше под 400килобод) вывод TWSR Ну эт скорее всего в понедельник уже. А пока у меня UART полностью выпилен.
>>368033 >>368034 Это тестовая система? Смущает 50кгц тактовая, а кто-то пиздел за все 400кгц.. Косяк только в начале, далее же все хорошо. Как минимум это уже дает понять в каком стиле идут обращения, их частота и размер. Жду понедельника с пиками и хуями на стульях лучше дампами Если скорости юарта не будет хватать - есть SPI и его выводы SCK и MOSI. Ставишь самый маленький делитель и получаешь охуенную скорость. При захвате на 16МГц максимум увидишь 8МГц тактовую SCK, гоняя на SPI на 4(2) МГц - точно все увидишь без артефактов и глюков.
PS Правда что TL866 не умеет в NAND память, только параллельную NOR, и всякий последовательный NOR 45, 25, 24, 93...?
Аноны, нужна хелпа (опять). Можно ли как-то получить значения счетчика у МК SCT89C516 (он же Atmega AT89C52 или если я не ошибаюсь intel 8052). Порт P0 использую для вывода значения счетчика на светодиоды, импульсы получаю извне. Счетчик должен считать входные импульсы до 16 и сбрасываться. Проблема в том, что не знаю как получить его значение, поэтому, пробую в состоянии когда он срабатывает, увеличивать значение переменной, но что-то нихуя не работает (да и сам процесс его конфигурирования не очень понятен). За сверхговнокод не пиздить
>>368044 >Проблема в том, что не знаю как получить его значение Что же ты такой немощный? Четвертая ссылка из гугла http://digteh.ru/MCS51/timers.php Все написано довольно внятно. А можно и интеловскую или атмеловскую документацию открыть. Написано что это регистры TL0 и TH0. >считать входные импульсы до 16 Может быть до 15? Иначе, если таймер должен считать от 0 до 16 включительно, нужно TMOD=0x6, TH0=16. И просто выводи в бесконечном цикле значение TL0. Хотя может я и ошибаюсь. >if (TL0=1) Во первых это не сравнение, а присваивание. Сравнение это ==. Во вторых, даже если бы там было сравнение, это какой-то бред.
Давай сам делай, нечего у пердуинщиков готовое решение выпрашивать. Ты в свою шарагу для чего вообще пошел учиться?
>>368046 До 15, верно Я, кстати, смотрел инфу по этой ссылк, видел эти регистры, но как с ними работать - не понял. Т.е. в просто них записывается информация, которую с них же можно считать? Меня просто смутило что этих регистра два; в моем случает надо считывать вроде с TL0?
>>368047 Я вообще 8051 в руки ни разу не брал. Так что могу в чем-то ошибиться. То есть сами микросхемы в руках держал, но ничего для них не писал. >Т.е. в просто них записывается информация, которую с них же можно считать? Ну да, по той ссылке это даже в примерах есть. >Меня просто смутило что этих регистра два Естественно. Микроконтроллер восьмибитный и не может прочитать 16 бит за раз, а таймер при этом 16-разрядный. У пердуины аналогично - два физических регистра TCNTxH и TCNTxL. >в моем случает надо считывать вроде с TL0? По идее да, только из считанного значения бери младшие 4 бита. Обнулять таймер не нужно, если что, он сам когда досчитает до 0xFFFF переполнится и обнулится.
>>368048 Ты похоже забыл выдать единицу на выход, соответствующий входу таймера (P3.4, если не ошибаюсь), единицу. У 8051 все выводы с открытым стоком, поэтому для того чтобы переключить на вход - нужно выдать единицу.
>>368052 Да при чем тут вообще значения TH0? Они никак не должны влиять при TMOD=5, это ясно написано по той ссылке. Делать такое рандомным перебором - это пиздец.
>>368055 Я понял кто это постит.. 8051 это не меги, хотя есть повыводный "аналог" - мега(90)8515 или 8535 (кто-то из них). Может на этом говне мамонта сделаешь? Тебя еще суккубы в Аду не выебли? Боинг 747-400 в анус не влетел?
>>368060 И как же? Мне кажется попался на старую уловку - порты не умеют выдавать 1, она выдается очень слабыми токовыми драйверами и светодиод еле-еле будет светиться, зато имеют мощные транзисторы на землю для выдачи 0. Светодиод включать не вывод-земля, а вывод-питание и зажигать подачей 0. Но это не точно, давно читал и могу ошибаться
>>368060 Ну вот. Зря я наверное это сделал, но все работает. Собирался было уже в машинных кодах писать, но в протеусе оказался встроенный ассемблер. Вот как-то так, у меня в симуляторе все работает. Может быть ты вход перепутал?
Даже если таймеры не работают, ты мог сделать просто на прерываниях или вообще тупо в цикле значения из порта сравнивать с предыдущими. >>368055 Пиздец ты упорный. Я бы наверное максимум через час уже отправился читать документацию.
>>368062 Ну да, я выше писал. Там открытый сток. При этом, как я только что загуглил, у порта 0 даже подтягивающих резисторов нет, в отличие от остальных портов.
>>368063 Вот так все работает, оказывается я еблан, тактового импульса-то нет, вот я пробовал с VCC кидать, а он не считал это за импульс. Чтобы он засчитал 1 импульс надо было с VCC на GND перекинуть и так постоянно.
>>368069 Естественно, там открытый сток. Я два раза об этом писал. Даже если бы там был не открытый сток, то подтягивающие резисторы могли быть или к земле или к питанию или их вообще могло не быть. Ты мог простым мультиметром проверить это, даже без чтения документации.
И еще, сейчас у тебя TCON=0x10 - это совершенно зря, туда вообще ничего можно не писать, в данном случае это ни на что не влияет. А вот P3=0xFF не помешало бы на всякий случай, хотя там и так после сброса наверное должно быть 0xFF (это тебе следует уточнить в документации). Надеюсь ты осознаешь, что если P3=0x00, то работать оно перестанет, или не перестанет, но выходной транзистор перегрузишь?
>>368072 Если честно, то не осознаю; проверил программку, начал по внешним прерываниям инфу смотреть. После сброса работать не перестает Но на всякий случай прописать P3=0xFF и все будет хорошо?
БЛЯТЬ, ну теперь-то что не так? За 1 такт передаем число, со входа на выход. Прерывания по INT0, входные сигналы на P1, вывод на P2. Но теперь просто все диоды включились и все, ничего не происходит. P1 как вход работает - проверил. Суккуб, земля тебе пухом,такими темпами скоро откинешься от моих вопросов
>>368075 >Суккуб, земля тебе пухом,такими темпами скоро откинешься от моих вопросов Не стебись так. Через несколько дней лететь из ДС назад в свое ебеняево. От меня живого толку мало в 8051. Не кодил, не знаю. Могу только посоветовать написать типа счетчика в прерывании и убедиться что у тебя вообще работает заход в прерывание и отдельно вывод в порт.
>>368073 >Если честно, то не осознаю; И это завершающий пиздец. Особенно учитывая, что курс у тебя называется: >Цифровая схемотехника Получается что тебе не объясняли как устроены логические элементы на уровне отдельных транзисторов. Даже не объяснили что такое выход с открытым коллектором или стоком. Не знаю даже что тебе посоветовать. По идее тебе следует бросить все эти пердуины и хоть немного изучить основы. >все будет хорошо? Все будет хорошо, если будешь внимательно читать документацию.
Вот этот >>368089 тебе правильно пишет. Ну как же ты так? Все это элементарно, нужно только внимательно прочитать учебник по сишечке и документацию на микроконтроллер (как облегченный вариант - методичку для студентов или какую-нибудь статью). И пиши лучше на ассемблере - для такого он проще. Вызывает некоторые сомнения твоя временная диаграмма. Ты точно уверен, что срабатывать оно должно и по переднему и по заднему фронту, а не только по переднему? Но даже если твоя временная диаграмма правильная, то такой код не заработает, потому что прерывания в 8051 бывают либо по фронту либо по уровню, в зависимости от того что в регистре TCON. Причем, если я правильно понял, то только либо по переднему фронту, либо по низкому уровню. По уровню - значит прерывание будет вызываться непрерывно, пока уровень низкий. Ты хоть немного о причинно-следственной связи задумывайся. Вот как можно было читать хоть что-то про прерывания в 8051 и не осознать этого?
>Суккуб, земля тебе пухом,такими темпами скоро откинешься от моих вопросов Ты меня ни с кем не путаешь? По 8051, тебе главардуинщик (который постоянно называет школьником анона с I2C-проблемами) вроде как почти ничем не помогал. Впрочем я тоже, поскольку проблема у тебя была вообще не в коде.
>>368079 Потому что у тебя вместо схемы какие-то невменяемые картинки, ты бы еще сфотографировал переплетение проводов у себя на столе - нате вам, разбирайтесь что к чему подключено.
>>368075 Как-то так, если я правильно тебя понял. Только срабатывает по заднему фронту, а не по обоим, как у тебя нарисовано. И период может быть не совсем тот.
>>368101 Я вчера описал это все как деградант хотя и сейчас не лучше, есть входы для числа, тактового импульса и выход. С входов на выход в каждый такт, передаем состояние каждого входа поочередно, когда входы заканчиваются передаем заново. Срабатывать может и по заднему фронту, на период поебать.
>>368101 У меня получилось так, но работает странно. Если на P0.2 подать единицу, а на все остальные 0. То при первом тактие имеем 0 на выходе, а на всех остальных после этого 1
>>368039 Думаю уарта должно хватить. Тестирую ардуинкой, вроле говонил уже. 50 кГц потому что со встроенным генератором TWI атмеги работает до 100 кбод. Твой код на 400 вроде не проверял. То что оно в начале ложится это понятно. Почему начало на встроенном кварце работает, а на внешнем - вешается? Есть мысли? Может фьюзы неправильно выбираю?
>>368107 Естественно. Ты хоть немного пытаешься голову напрягать? Или сразу методом тыка начинаешь делать, совершенно не задумываясь? Не, тут такое не пройдет, слишком много вариантов потребуется перепробовать. Как минимум ты должен задуматься о том, что регистр P2 (и другие) работает и на вход и на выход. При этом у 8051 есть битовая адресация, позволяющая писать биты в эти регистры напрямую, без считывания предыдущего значения.
И, самое главное, тебе вот посоветовали туда скобки поставить, а собственно нахрена ты их вообще поставил и поставил именно таким образом?
>>368111 >50 кГц потому что со встроенным генератором TWI атмеги работает до 100 кбод. Трипл же не может врать. Может еще скажешь что мега в пердуине и мега вне пердуины совершенно разные сущности, и та что вне пердуины, времени и пространства спокойно умеет в uart 400 с хуем килобод особо упоротые под мегабод могут выжать при 16мгц, а пердуиновская максимум 115200бод? Так же и twi - его нереально запустить даже на 400 килогерц? Че за откровенную ересь несешь? Со своим пердуиновским мусором в подобии головы добро пожаловать в манямирок пердуиновских ограничений из нихуя с костылями в придачу и скоростью еле ползущей улитки.
>>368117 Очевидно что не вылетает, если я смог снять видео. На рутрекере пишут что нужно почистить реестр от следов предыдущей установки. Вообще протеус не особо полезная в практическом плане программа, сойдет только немного потыкать что-то вроде пика или 8051. Точно так же я мог сделать все это например в кейле, только там несколько менее наглядное отображение.
>>368142 >Очевидно что не вылетает, если я смог снять видео. На рутрекере пишут что нужно почистить реестр от следов предыдущей установки. Только вот предыдущей у меня не было. Начал вылетать с самой первой, потому установил еще одну версию.
Я его использовал для понимания электроники, жаль не отображает всех процессов, типа кз.
>>368117 Удаляй и ставь заново, во время установки выбери не дефолтную установку, а кастомную, и посмотри, чтобы пути были такие, должно помочь: Installation Path - C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\ Program Data Path - C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\ >>368142 что-то не то, работает также как и моя программа(хуево). Но с этим, думаю, что-нибудь придумаю
>>368141 Вот тебе цитатка из AVR311. >Может еще скажешь что мега в пердуине и мега вне пердуины совершенно разные сущности Скажу то что на плате у ардуино стоит внешнй кварц на 16мгц, а у 16 атмеги встроенный генаратор на 1МГц. Да, она кое-как работает со скоростями до 150к в таком режиме, но пробовал я это на отличном от AVR311 коде.
>>368149 >Удаляй и ставь заново, во время установки выбери не дефолтную установку, а кастомную, и посмотри, чтобы пути были такие, должно помочь: Спасибо, попробую.
>>368152 >а у 16 атмеги встроенный генаратор на 1МГц. Этот генератор нужен на черный день и все равно к нему пихают внешний. Непонятно при чем здесь ардуина.
И вообще когда оскорбляют пердуинщиков, то имеют ввиду всё восьмибитное семейство avr. Посему непонятно какого хуя тут катят бочку в треде, посвященном avr в целом. Похоже на выстрел себе в пустую голову.
Либо джентльмен не разобрался в сути срача, либо не разобрался в сути срача. Ардуина это просто стартер кит с готовой платой и готовым софтом. Если уж надо считать каждый байт и тебе жалко памяти, который сжирает бутлоадер и готовые библиотеки пердуины иде, то хули ты блять жопу рвешь — переходи на STM32 или добавляй еще один мк в связку. Даже бутылки под газированную воду заполняют на 90%. И если не хватает 90% от бутылки 0,5л, то берут тару бОльшей емкости, а не заполняют на 100% эту. Надеюсь аналогия ясна.
>>368152 >а у 16 атмеги встроенный генаратор на 1МГц. Чет ты распизделся.. Точно ардуино головного мозга и нежелание даже по диагонали прочитать нахуй не всравшийся пердуинщикам даташит. Можно до 8ми МГц раскочегарить внутренний. Ебать колотить, мне же пердуина не дает этого сделать. Как же так.. Мой манямирок рухнул.
>>368157 Что за хуйню ты блядь несёшь? При чем тут блядь вообще ардуина? Я конкретно вставляю 16 атмегу в макетку и с ней играюсь, а ты несёшь какую-то хуйню про ардуино. >>368158 Ну тут допустим, я действительно прошёл мимо. Почему-то не думал что у них встроенный кварц настраивается.
>>368157 >Ардуина это просто стартер кит с готовой платой и готовым софтом. По идеи да, но у нас и пластиковые полтарашки изготовлялись для хранения и транспортировки жидкостей, и посмотри к чему это все привело.
>>368162 >но у нас и пластиковые полтарашки изготовлялись для хранения и транспортировки жидкостей, и посмотри к чему это все привело. Аналогия предельно ясна
>>368161 Ну так а хули ты написал тогда подумой. Никто не говорил что с AVR-ом хоть что-то не так, но ты срёшь в тред доказывая, что кто-то обижает ардуино. Охуеть просто.
>>368173 Тогда это означает что ты неправильно выдаешь на вход логические уровни или еще что-то в том же роде. Не забыл, что там открытый сток? Также есть такое явление как дребезг контактов, не оно ли у тебя? Еще я забыл на всякий случай на P3.2 выдать лог. 1, но поскольку у тебя как-то работает, значит причина не в этом.
>>368178 Между RC генератором и генератором на кварце разница того же порядка, как между простым кварцевым генератором и атомным стандартом частоты. Еще бы тут не доебаться до такого ардуинского высказывания.
>>368183 А этот доёб имел какое-то отношение к делу? Мы тут говорили за точность работы от встроенного источника vs работы от внешнего? Да вроде нет. Так нахуя разводить мусор в треде? Чтоб ЧСВ потешить? Ну в таком случае, у меня плохие новости. Если тебе не хватает самоутверждения ИРЛ и ты приходишь искать его на двач - тебя можно только пожалеть.
>>368252 Так ты действительно считал, что внутри этих микроконтроллеров кварцевый генератор? Потому что путать RC генераторы и кварцевые это примерно так же, как путать полевые транзисторы с биполярными. Ты всех людей, указывающих на твои ошибки, которые ты совершил просто по незнанию, называешь мудаками с повышенным ЧСВ, которых остается только жалеть?
>>368263 Я мимокрок. Просто твоя манера общения и реакция на вопросы новичков такая, словно ты магистр mit со своей лабораторией и штатом подчинённых. Зачем ты тут всех отчитываешь и поучаешь, душный мудак?
>>368265 По моему ты явно что-то путаешь. Я всего лишь указал на ошибку, а в ответ стали называть мудаком. Нет, как мудак ведешь себя тут ты, а не я. Мне что, не нужно было указывать на ошибку вообще?
>>368263 > Так ты действительно считал, что внутри этих микроконтроллеров кварцевый генератор? Я так считал. И искренне не понимал, нахуя все ставят внешний кварц, когда в МК уже есть внутренний. Ну думал, может, частота там не так точно на заводе настраивается. Хотя в таком случае, почему бы просто один раз не откалибровать, это же дешевле. А тут оказывается вообще тупо на rc цепочке сделано мимо
>>368160 >Почему-то не думал что у них встроенный кварц настраивается. >них встроенный кварц настраивается. >кварц настраивается. >настраивается >настраивается Ебать колотить. Для тебя наверное будет новостью дня, если не года - сама мега программируемая. Я даже не думал что ее можно программировать (задавать ее реакцию на внешние раздражители), думал она как тупой мини нагреватель на 5х0.010 = 0.05 ватта с отводом тепла через ножки и не мог уловить разницу от других нагревателей в черных кусках пластмассы с непонятными буквами и цифрами, у которых торчит 40 непонятных штырьков не штырьков с двух широких сторон. Где и зачем могут применяться такие слабенькие нагреватели в такой странной форме и практически никакой мощности? Как истинный пердуинщик веруешь в религию Пердуино, которая не признает скорости юарта более 115200 - это все ересь, не признает и сжигает таких еретиков? Так же как и скорость twi - только 100 килогерц. Остальное - происки Сатаны и его сподвижников, за 400 кгц изгнание из секты пердуинщиков (в лучшем случае) или отправят на 7 круг Ада Данте? А уж за выдачу сразу нескольких бит в порт за раз наверняка будешь проклят до 7-го колена на веки вечные?
>>368286 >А, что плохого в rc генераторах? Большой разброс частоты и нестабильность(зависимость) от внешних условий. У обычных говнокварцев около 50ppm (миллионная доля). У кварца на 1Мгц расхождение частоты будет в 50Гц - от 999 950 до 1 000 050 Гц. Если брать RC цепочку на 1 МГц с разбросом 1% - это 10 000Гц, или же от 990 000 до 1 010 000 Гц. Надеюсь не налажал в расчетах. Для мигалок светодиодом похуй, а если есть задача точного замера интервалов, высокоскоростной обмен по UART, создание часов и прочее, очень критичное по времени - без кварца может и добьешься точности более-менее, но она уплывет при малейшем нагреве RC цепочки из-за изменения параметров R и C.
>>368286 Ничего, просто стабильность и точность на несколько порядков ниже. Это ни хорошо, ни плохо. Но называть встроенные в атмеги генераторы кварцами - это явная ошибка.
>>368293 И как же? Уважаемый Антон, а не опечатался ли ты случайно? А в ответ - пошел нахуй, это отношения к делу не имеет. Так что ли? Я и раньше замечал, что в этом треде наиболее нетерпимо реагируют, когда им указывают на ошибки.
>>368294 Ну давай, сейчас я покажу тебе, как происходит нормальное социальное взаимодействие между взрослыми людьми. Возможно, ты достаточно не туп, чтобы впитать модель поведения из примера но, честно говоря, тут на успех у меня надежды нет.
Пример: >встроенный кварц Только ты оговорился или не отличаешь - там не кварц, а встроенный генератор на RC-цепочке. И да, он настраиваемый.
Вот такой ответ, никого бы не возмутил. Хочешь поправить кого-то - сделай это нормально, с уважением к собеседнику. Он тебе ничего не должен, равно как и ты ему.
>>368295 Вот сейчас ты явно искажаешь события. Да, в начале я может что-то обидное написал. Но тот анон обозлился уже после моих совсем нейтральных высказываний.
>>368298 Я не то чтобы виню, но как-то ненормально обзываться обзываться мудаком в ответ на объяснения, почему путать типы генераторов - это грубейшая ошибка. Ладно бы еще мудаком обозвал в ответ на первое замечание, это можно было бы понять.
>Ну а сам как думаешь, можно ли было вас различить? Да, довольно несложно. У него весьма характерный стиль речи. Это тот же анон, который недавно помогал делать дурацкие задания студенту (на AVR, на 8051 уже нет). И он же обзывал школьником анона с вопросами по I2C.
>>368302 >Да, довольно несложно. Да не сказал бы, в данной ситуации довольно легко вас перепутать. >в ответ на объяснения, почему путать типы генераторов - это грубейшая ошибка. Да их объясниений вроде как и не было.
Всё, заебало, давайте не срать в тематическом треде, окда?
>>368302 >>Ну а сам как думаешь, можно ли было вас различить? >Да, довольно несложно. У него весьма характерный стиль речи. Это тот же анон, который недавно помогал делать дурацкие задания студенту (на AVR, на 8051 уже нет). И он же обзывал школьником анона с вопросами по I2C. Таки верно меня спалили. А то тут тонко обосрали, но сверху пруф что написавший текст ниже - сам оказался бесполезным хуйлом. >>368096 >По 8051, тебе главардуинщик (который постоянно называет школьником анона с I2C-проблемами) вроде как почти ничем не помогал.
У меня не очень выходит в сарказм над неумеющими читать даташиты, которым место в туалете по мнению пердуинщиков? Бамплимит. Кто перекат будет пилить? Второй пик >>368141 будет в шапке треда?
>>368304 Перечитал пару раз - ну да, по 8051 толку не было, была пара наводящих вопросов. Один раз как-то программный SPI делал и забил проектик на w7100 скончался от долбоебизма руководства. Почему сразу? > главардуинщик Ну есть пара мелких пердуин >>366576 (одна из них тут >>365364), на мега2560 по центру которую отличает шнурок с jtag на avr dragon и обиженная due левая. Due не тыкал палочкой, с 2560 пришлось повозиться чтобы jtag включить и через него начать дебажить тестовый говнокод. ПердуиноИДЕ не запускал, это >>366535 ручками писалось. Может есть вариант запустить пердуиноиде и не зашквариться этим говном? Есть же православная AVR Studio 4 и древний как говно мамонта gcc под нее.
>>368306 >Почему сразу? >> главардуинщик Не обижайся, но ты возможно действительно лучше всех из присутствующих тут анонов разбираешься в атмегах. Я то для AVR вообще ничего ни разу не писал, только прошивал пару раз при повторении готовых конструкций.
>ну да, по 8051 толку не было Так и от меня тоже. В первый раз он не понимал что там открытый сток, притянутый резистором к плюсу питания. А во второй раз у него похоже проявился дребезг контактов. Да и не факт что он смог бы сдать преподу исходники на ассемблере.
>>368296 Мудаком назвал тебя не анон которого ты поучал и отчитывал, а я, полностью мимокрок. Тебе же, деревянному, уже несколько антонов объяснили, что проблема не в том, что ты кого-то поправил или указал в неточности, а КАК именно ты это делал. Если ты такой взбалмошный и истеричный спец, зачем сидишь в конфе вкатывальщиков? Уверен, тебя во всех коллективах, где ты существовал, недолюбливали. душный ты мудак
Посоны, помогите! Навскидку схему гетеродинного измерителя резонанса на этой шайтан-машине можете набросать? Чтобы, например, одна ардуинка работала как генератор, а вторая - снимала частоту, ток и всякие плюхи типа расчета индуктивности/емкости по известной емкости/индуктивности из снятых с исследуемого образца данных о частоте резонанса? Мудрый Анон, выручай!
посоны, чому я соснул? Уно номрально взлетает, приехала нано - stk500_recv(): programmer is not responding Провода и гнезда менял, если чтоу, макопидор.
>>368111 Итак, настройки фьюзов пикрил. Результат получаю такой же, как и на предыдущем сэтапе - зависон при подаче "начального мультистарта" (подтяжка атмегой SCL к нулю). Добавил вывод инфы в УАРТ по твоему образу и подобию, за исключением того что в случае TW_BUS_ERROR вывожу TWSR. Как можешь видеть на диаграмме https://yadi.sk/d/VIND9Z3qAT5d_Q, получилось малоинформативно. Мне показалось странным, что у тебя никак не обрабатываются остальные состояния в свитч-кейсе (коих, надо сказать, может возникать не мало, судя по тому что я прочел в мануале). Поэтому я добавил дефолт:брейк, и в результате код перестал валиться. https://yadi.sk/d/RzlLJB6Kb5Neyw Так и не понял, от чего он валится при поднятии частоты.
>>368430 Даже не знаю что и сказать. Для начала мелочь - у меня анализатор ничего не показывал из-за русских букв в имени файла.
> (подтяжка атмегой SCL к нулю). ???? Давай-ка по подробнее про эту фигню. Где, когда, почему только сейчас узнаю?
>получилось малоинформативно. Не спеши с выводами. Есть очень тонкая разница между дампами: Когда валится - состояние 00 ПОСЛЕ сигнала стоп и их 4, Когда нормально работает - состояние 00 ДО сигнала стоп и их 5. Надо понять почему так и это будет ответом.. Почему он проебал один старт и только после трех начал выдавать ошибку автобуса.
>никак не обрабатываются остальные состояния в свитч-кейсе Местами дельное замечание, для этого и добавлен вывод состояний для наглядности - про происходит, что проебано и на что надо реагировать.
>добавил дефолт:брейк, и в результате код перестал валиться. Смутные сомнения что в нем дело. Надо проверять. Неужели десяток-другой тактов дает такой эффект? Слабо верю. докинь еще говнокода снизу для полного воссоздания ситуации - как что инициализируешь.
>>368430 Давай еще более полную трассировку. Может проеб прерываний? Левое состояние? Ставь предделитель юарта в 1 0 совсем наглость (максимальная скорость), из обработчика прерывания выкидываешь все строчки, связанные с юартом и дописываешь только одну под tmp = TWSR; UDR = tmp; // именно tmp, а не явно TWSR. и скидываешь что происходит при изначальном коде без defaut и что с default.
>>368447 >???? Давай-ка по подробнее про эту фигню. Где, когда, почему только сейчас узнаю? Я тебе об этом сразу написал, лол. Атмега в которой твой код, роняет SCL в 0 и на этом зависает. >Давай еще более полную трассировку. >Ставь предделитель юарта в 1 Чот как-то поставил я, да видимо неправильно. Потому что частота UARTа всё равно маленькая. https://godbolt.org/z/weY9cV https://yadi.sk/d/YmhjT7LHSAQFAQ >Смутные сомнения что в нем дело. А вот я потыкался, и скажу что в нём. Когда я отключаю чтение внутри дефолта, получаю этот самый эффект. Добавил туда пустой for{} на десять итераций - код ожил.
>>368454 Запись когда все хорошо - это замечательно, но где запись когда ничего не работает? Желательно не один запуск.
>>Смутные сомнения что в нем дело. >А вот я потыкался, и скажу что в нём. Ты же понимаешь что это очень стремный, мутный и нестабильный костыль? Запись без дефаут давай на анализ. + почитай стандарт - он нахуй не всрался так-то. В прошлом дампе увидел повторение состояний что уже само по себе интересно. Вангую это в оптимизации кода и можно попереставлять case местами.
>>368455 Переставляние кейсов местами - точно такой же костыль. >но где запись когда ничего не работает? Ну ок, сделаю я тебе такую запись. И даже не один запуск. Хз когда правда. Перенесу на 8535 сначала.
>>368030 На втором пике драйверы моторов, а не шаговых двигателей. Я с такого начал, типа там клеммы и не надо с пайкой ебаться, но это пиздец — придется выполнять работу драйвера с помощью самого микроконтроллера т.е. попеременно подавать импульс на разные обмотки.
На первом пике чуть лучше, но тоже ебля есть.
>Во-первых нихуя не понятно. Что за шакальство? надписей не видно.
>Во-вторых Я вообще не понимаю нахуя ты этот модуль туда всунул. Что это за модуль и какова его функция?
>в-третьих Можно, но если ты хочешь таким образом избежать сложностей, то это не самый лучший выход. Лучше поменять на любой свободный D, если в скетче используется D.
>>368474 >т.е. попеременно подавать импульс на разные обмотки. И еще там были проблемы с контролем малых оборотов. Так и не удалось вращать шаговиком медленно. Не знаю с чем это связано.
>>368489 Вкладка в браузере просто открыта постоянно, нахуя выходить откуда-то и заходить потом через основной раздел? Может вы еще браузер закрываете и комп выключаете?
>>368491 Когда открыто много вкладок сложно по ним бегать туда-сюда, а за день вкладка вообще может убежать в ебеня — ищи-свищи. Легче из одной переходить куда нужно.