Это копия, сохраненная 8 августа 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
>Курс предназначен для новичков и многие конечно сочтут приведенные в нем описания базовых вещей слишком элементарными и излишними
....
....
>Теперь разберемся, что же мы добавили из репозитория. Словом каждый пункт из списка «PERIPHERAL.ST» является частью очень удобной библиотеки StdPeriph_Lib от ST. Саму библиотеку мы скачивали в предыдущем уроке. Тогда я попросил вас оставить из скачанного архива лишь файл «stm32f4xx_dsp_stdperiph_lib_um.chm» с документацией на библиотеку и сказал, что остальные файлы из архива нам не нужны поскольку библиотеку будем подключать из репозитория кокоса. Как видим, это намного удобнее, чем переносить файлы библиотеки в директорию вручную.
...
>RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
...
профит. Нет.
Нихуя не понимаю. Пиздец.
все очень просто:
качаешь кубмх, качаешь кейл. В кубмх качаешь библиотеку на свой камень (в Help) и создаешь проект. В проекте выбираешь нужную переферию и настраиваешь ее. Дальше экспортируешь в MDK-ARM V5. Открываешь кейл, обновляешь компилятор (по желанию), открываешь проект - компилируешь для проверки работоспособности. Дальше уже пишешь функционал по желанию.
Для стм32 SPL и libopencm3 нахуй забудь, это устарело и заброшено. На ютубе есть narod stream с сотней уроков для совсем тупарей, тебе подойдёт.
Люто двачую, не столько того кода писать, сколько раздупляться в этих всех файликах-хуяйликах-библиотеках, что-где подключать, что-где не подключать, что расскоментрировать, что нет. Пробиваюсь через все это как через джунгли.
Never take advice on /ra/
Нужно подарить увлекающемуся мигальщику, бюджет 3-6 тыр.
Любой за 3-6 тыр.
Будто он что-то кроме светодиода и кнопочек когда-нибудь заюзает. А они во всех наборах есть.
че
с каким продуктом TI поднялся?
Странноватые у них чипы, если честно.
Сам вкатился в мир МК на MSP430Launchpad
Я не знаю о чём ты, но наверное о ещё одном девборде, но ни одно поделие не взлетит пока:
-Они не начнут покупать рекламу, как ардуина
-Они не начнут устраивать фесты, как ардуина
-Они не начнут печататься в популярных журналах, как ардуина
-У них не появится огромное комьюнити, как у ардуины, что бы ты в гугле мог нагуглить ответ на свой любой вопрос и найти помощь
И на всё это нужна огромная наценка, чтоб были деньги
https://store.arduino.cc/product/A000066
20 евро за UNO + налог + доставка. Ты охуеешь сколько это стоит.
Работает, сука, чому я раньше не видел эту хуйню.
Поясните мне труМКпогромисты, что я теряю, оставаясь ардуиноблядком и используя платки stm32f104, за 100р вместо нано?
осцилл есть? запили цикл digitalwrite(pin,HIGH), затем LOW, скажи какая получается частота ногодрыга?
У меня на ESP'шке 1.1 мгц с копейками. При отключенных вифи функциях, ессно. Если писать прямо в регистр, без дуриновских функций, то где-то 1.7-1.9мгц. На атмегах максимум - десятки кГц.
Лол, это шильд с делителем напруги?
Хотя похер - Амперка вон и шильд с одним светодиодом не стесняется толкать. Рубасов за 150, вроде.
>второй пик
Это у него LCD Smartie же выводится? Как он умудрился выровнять по правому краю проценты?
И вообще: я знаю, тут есть знатоки Смарти. К нему есть плагин, который строкой отправляет данные на COM-порт. Можете напомнить название? Просто пилю аналоговую индикацию загрузки ЦП/ГП - и кроме Смарти инфу по загрузке видяхи мне никто вот так просто на порт не отправит.
200кГц - не серьезно. Кроме пульсаций большинства БП на нем ничего не посмотришь. Купи себе совковый осцилл у деда за 1-2к, вещь незаменимая.
Я живу в путинке 6 на 6, с женой и ребенком да да, боль. Мое рабочее пространство стол из икеи 50 на 70, без ящиков, на нем еще и монитор стоит и половинка ноута. У меня весь шмурдяк в коробке. А доноры в гараже за 7 км.
Советский осциллограф- то что мне не хватает, кек.
Тот я брал дет 8 назад, нужен был на улице, а карманных алиэкспресных тогда не было.
Также arduinoIDE работает с ST link v2 за 120р с али.
В таком случае купи пачку гандонов, а то второго спиногрыза нагуляешь, придется отдать ардуину и все причиндалы к ней бомжам за бутылку.
>да да, боль
Вынимать надо было вовремя, кек.
Боль не в личинке от нее фана не меньше чем от махараек, тот еще контроллер, а в площади квартиры, тащемто.
Алсо, смотрите какую сумеречную вещь сделал.
Есть пека с превосходным монитором. Есть пара консолей. Нет - денег на нормальную карту захвата. Надо - подключить консоли в пеке или хотя бы в HDMI монитора.
И есть нахуй не упавший, но нужный для диплома Raspberry Pi 3. И Arduino Uno.
Можно на этом запилить конвертер или карту захвата?
> На атмегах максимум - десятки кГц.
Ты упорот, при чем к хуям. У меня сейчас нет под рукой дурины, к сожалению, чтобы показать насколько ты неправ.
Я думаю он про digitalWrite() говорит. Которая в 72 такта выполняется. Еще, субъективно, когда цикл loop() переходит из конца в начало, тоже задержка в пару микросекунд.
А вот такая хуйня даст больше частоты на порядок
While(1)
{
DDRD = B01000000;
DDRD = B00000000;
}
Вот ваши мигалки на осемблереда-да, нинужын:
Loop:
ldi DDRB, 0b01000000
clr DDRB
rjmp Loop
Итого один период — 4 такта. лд получения меандра:
Loop:
ldi DDRB, 0b01000000
nop
nop
clr DDRB
rjmp Loop
Период — 6 тактов, максимальная частота на выходе F/6. Подводные камни этих мигалок: порт перезаписывается целиком.
А теперь помогите мне, перекатываю с ньюфаг-треда:
>Посоны сильно не обсыкайте, лучше помогите. Написал простейшую мигалку, среда keil uvision 5, проц stm32F103C8. В симуляторе не устанавливаются биты BSRR(установка отдельных пинов порта), хотя в ODR пишется нормально, в чем может быть проблема? Еще никак не могу раздуплиться с логическим анализатором, как к нему подключить пин? В гугле какая-то мутная инфа с какими-то командами, которые нифига не работают у меня.
Бля, совсем голова распухла с этими стм-ми, вот правильный вариант:
Loop:
sbi PORTB, 6
cbi PORTB, 6
rjmp Loop
Итого один период — 6 тактов. Для получения меандра:
Loop:
sbi PORTB, 6
nop
nop
cbi PORTB, 6
rjmp Loop
Период — 8 тактов, максимальная частота на выходе F/8. Вот тут уже устанавливается отдельный пин.
>Написал простейшую мигалку, среда keil uvision 5, проц stm32F103C8.
Тут даже атмега не при чем, не то что ардуино, может тебе стоило с этим вопросом в арм-тред?
В BSRR можно только писать. Соответственно "BSRR |= что-то" будет работать неизвестно как, т.к. эта операция сначала читает содержимое регистра.
>Соответственно "BSRR |= что-то" будет работать неизвестно как, т.к. эта операция сначала читает содержимое регистра.
Да-да, можно прикладывать прямо сразу маску к регистру, так как при записывании нулей никакой реакции не происходит. Но и так тоже не работает.
>Тут даже атмега не при чем, не то что ардуино, может тебе стоило с этим вопросом в арм-тред?
Ну тут вроде как тоже стм упоминается, а там меня обоссут, да и тред мертв.
>Да-да, можно прикладывать прямо сразу маску к регистру, так как при записывании нулей никакой реакции не происходит.
Не можно, а по другому нельзя. Потому что никто не гарантирует что считается из этого регистра.
Так ты в симуляторе это делаешь? В симуляторах периферия симулируется лишь частично. Обычно симулируется только ядро - всякие SysTick и NVIC.
>Не можно, а по другому нельзя.
Да, немного не так написал.
>Так ты в симуляторе это делаешь? В симуляторах периферия симулируется лишь частично.
В 4 keil есть окошко с битами порта, в котором можно смотреть какой пин устанавливается или сбрасывается, еще вроде самому можно имитировать внешнее изменение уровня на ножке. В 5 кэйле я такого не вижу, есть окошко с регистрами и их битами, но прикол в том, что биты не записываются в BSRR, а в ODR все нормально пишется.
Я так и не понял, ты делаешь это в симуляторе кейла, а не на реальном микроконтроллере?
Ты не должен видеть изменения содержимого BSRR, т.к. он только для записи. В симуляторе и в отладчике его содержимое обязано либо не показываться вообще, либо показываться неправильно.
То что ты пишешь в BSRR должно попадать в ODR, но если ты не видишь этого в симуляторе - то это нормально. Для симулятора это вполне нормальное поведение, в нем (обычно) не симулируется периферия.
>Я так и не понял, ты делаешь это в симуляторе кейла, а не на реальном микроконтроллере?
Ага. Но ведь при записи в ODR я вижу изменение, а BSRR по сути пишет в ODR и изменение в ODR в таком случае тоже должно отображаться или я не прав? И как мне посмотреть что же реально происходит на выводе контроллера?
>И как мне посмотреть что же реально происходит на выводе контроллера?
Перестать пытаться разобраться с периферией в симуляторе. Взять J-Link или ST-Link и смотреть на реальном микроконтроллере.
>Взять J-Link или ST-Link и смотреть на реальном микроконтроллере.
Ага, если бы это все было у меня.
Это мне такая плата попалась или они все такие? Были у кого проблемы с контактами в такой хрени?
Херово блин... Не хочется по любому поводу за паяльник хвататься.
добро пожаловать
с аналоговыми сигналами лучше минимально в бредборду залазить
по этому поводу подумываю покупать андуину надо, макетку, соединять их штырями, элементы запаивать на макетку.
Как раз nano и использую. Ставлю ее на эту плату ебучую... Но ничего, щас наколхозю контакты чтобы и в плату ставить и припаивать одновременно.
Кун>>268878
спасибо братишка, ты об успехах и неудачах своих в тред отписывайся, а то хочется ведь тоже с МЕДЛЕННОЙ ардуины на стм32 попробывать перекатиться
удачи тебе
Спасибо, постараюсь.
Можно втулку сделать генерирующей электричество, и кот станет халявным генератором энергии. Приделать литий и юсб порт, чтобы заряжаться, когда он спит
Есть кусок от одного девайса стерилизатор, хочу его превратить в девборд. Он работает от 220, имеет 7 светодиодов, термопару, реле и кнопку.
МК ST62T15C6.
Вопросы:
Смогу ли я его ST link.
Смогу ли я слить прошивку.
Смогу ли я заливать свои скетчи.
?
Да.
А может быть дело в настойках соединения самой платы? Нужно ли в программе задавать скорость и пр?
Через красную платку - да, пишет USB Serial Port, изготовитель FTDI, драйвер есть. На уно медленно мигает светодиод на L/
uno шиндоусом воспринимается как то?
и
>драйвер ch390 ставил?
ну а так смотри:
G:FTD1232 atmega
По первой ссылке:http://electronics.stackexchange.com/questions/106870/programming-an-atmega328-with-arduino-bootloader-via-a-ftdi-usb-serial-adapter
>I followed exactly this setup:
>Connect the DTR pin to pin 1 on the ATmega through the 0.1uF capacitor.
Это хуйня, не надо, просто жми ресет на уно перед самой загрузкой
>Connect the RX pin to pin 3 on the ATmega (TX)
>Connect the TX pin to pin 2 on the ATmega (RX)
В твоем случае в дырки 0 и 1 в плате, обрати внимание, что там наоборот.
>Connect the 5V pin to the 5V rail of the board to supply the board with power from the USB interface.
>Connect the GND pin to the GND rail of the board
питание на питание.
> просто жми ресет на уно перед самой загрузкой
Это решило проблему, спасибо за подробный ответ!
Бамп вопросу. Неужели никто с LCD Smartie на просторах /ra/ дела не имел?
Зато у TI теплый ламповый си, а не эта хуйня непонятная, впрочем это все слезы разочарования -- купил себе леонардо и сразу сделал то, что на ti ланчпаде дрочил с месяц без результата
Можно даже на ассемблере.
Что выяснено:
1)После заливки загрузчика шьется как через усб, так и через stm link.
2)Библиотека 5110 от adafruit не работает
F:\Users\Бэн Ганн\Documents\Arduino\libraries\Adafruit-PCD8544-Nokia-5110-LCD-library-master\Adafruit_PCD8544.cpp: In member function 'void Adafruit_PCD8544::begin(uint8_t, uint8_t)':
F:\Users\Бэн Ганн\Documents\Arduino\libraries\Adafruit-PCD8544-Nokia-5110-LCD-library-master\Adafruit_PCD8544.cpp:187:17: error: cannot convert 'volatile uint32 {aka volatile long unsigned int}' to 'PortReg {aka volatile unsigned char}' in assignment
clkport = portOutputRegister(digitalPinToPort(_sclk));
F:\Users\Бэн Ганн\Documents\Arduino\libraries\Adafruit-PCD8544-Nokia-5110-LCD-library-master\Adafruit_PCD8544.cpp:189:17: error: cannot convert 'volatile uint32 {aka volatile long unsigned int}' to 'PortReg {aka volatile unsigned char}' in assignment
mosiport = portOutputRegister(digitalPinToPort(_din));
exit status 1
Ошибка компиляции для платы Generic STM32F103C series.
2б)Библиотека 5110 иранского усача Hossein Baghayi компилируется
3)Странные маневры с памятью. Видимо это связано с оптимизацией компилятора. Например стандартный скетч с ванВаер и дс18х20 с отправкой в компорт
а)stm32f10c
Скетч использует 20 668 байт (31%) памяти устройства. Всего доступно 65 536 байт.
Глобальные переменные используют 2 832 байт динамической памяти.
б)nano
Скетч использует 5 252 байт (17%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 400 байт (19%) динамической памяти.
Чет хз.
Чет не догнал, ты будешь шаговиком с ардуины крутить через uln2004 или l293 и тебе 4 ноги надо заюзать на этой частоте.
Или у тебя собственный драйвер с STEP и DIR и на них степ хочешь 1000?
эти подделия или для ардуинодетей, либо уже для более прогаренных. на дискавери же все будет заведомо работать, тебе нужно только писать код. а пользы ты нихуя не получишь. купив дискавери ты получаешь программатор в подарок. никакой выгоды ты особо не получил.
бери дискавери f4 какую нить и вперед.
и еще совет, не юзай кейл. обрати внимание на эклипс, а точнее на open stm
>все будет заведомо работать
Что именно? Прошиваться будет? У меня прошивается.
>для ардуинодетей
да, это я. только мне 30.
>а пользы ты нихуя не получишь
не понял это к чему к заведомо работать или к купив дискавери.
>никакой выгоды ты особо не получил
ну особо да, рублей 250, пара пачек сиг.
>обрати внимание на эклипс
я в ардуиноиде все захуярил же, лел, быдло.
> Что именно? Прошиваться будет? У меня прошивается.
прошиваться может по разному.
подключился по юсб, и работаешь на прямую без йоба загрузчиков. отладка у тебя есть? работает?
> да, это я. только мне 30.
пох на возраст.
> не понял это к чему к заведомо работать или к купив дискавери.
ну на дискавери не только сам контроллер но и есть дополнительные приблуды. например акселерометр, звуковой чип, датчик температуры итд. купив ее ты покупаешь малый набор датчиков с которыми можно поиграться. причем это уже все встроенно в печатную плату и правильно подключенно! нужно только писать правильный код и тестить.
> ну особо да, рублей 250, пара пачек сиг.
ну ту хз. сэкономишь в одном сильно проиграешь в другом. в будущем эта плата тебе оче хорошо пригодится и много раз окупит себя если не забросишь хобби.
> я в ардуиноиде все захуярил же, лел, быдло.
забудь нахуй про этот блокнот. юзай норм иде. качай опен стм и пробуй его. это уже инструмент профессионалов!
эклипс накатывай последний. потом открываешь что то типа плей маркета, и он сам все ставит вне зависимости от платформы но эт не точно
а можно без эклипса как нить? А если нет, то в эклипсе можно заниматься извращениями вроде asm под avr?
Ну с загрузчиком работает и прямо по юсб (определяется как сом порт) и через ст линк тоже работает.
через стлинк шей и юзай отладку
я конечно не знаю, но в основном все под винду.
У gcc-avr в зависимостях должен быть binutils-avr, или сразу все в одном пакете будет.
Для симуляции simulavr. Все, можно писать на ассемблере и пошагово выполнять код в симуляторе через avr-gdb. Можешь пользоваться любой IDE, поддерживающей GNU GDB, например eclipse, qt creator, CLion.
поясни за симулавр, переферия там рабочая?
у меня драйвер l298n,шаговик nema 17 и нужно ШД разогнать на 1000Гц и 1200Гц,и еще надо впилить туда кнопку чтобы переключать частоты
Ты хоть какой то пример взял за основу - покажи, а я тебе покажу где установить.
Герц в минуту, все правильно. Алсо, с чего подаются управляющие импульсы?, какой режим шага, еще какие прибамбасы? Или по слову нужно вытягивать?
Да я мимо крокодил и сам все это хотел бы узнать. Просто очевидно, что ему 1000шагов надо в секунду.
Алсо отвечу за него: управляющие импульсы идут с ардуины, внезапно. Режим пошаговый. Прибамбас - тумблер на 1000 и 1200 ш/с.
>Прибамбас - тумблер на 1000 и 1200 ш/с.
Тактовая кнопка скорее? Могу за 5 баксов запилить код.
За три дам ссылку в дефолт на библиотеку Stepper.h, в которой задается скорость setSpeed() sets the delay between steps для 1000 шагов в секунду туда надо написать 1.
А вот для 1200 я скажу за 3 бакса
Будто что то плохое
я взял библиотеку Stepper.h
А чем больше цифра тем быстрее крутиться?
А на 60к гудит и не крутиться?
Тогда ты соснул, он не может так быстро.
Хотя может это и драйвер\пердуина не успевает.
Попробую. Неохота разбирать его на составляющие. Почистил, смазал, нашел новый картридж с лентой. Он еще мой некролог напечатает. Во делали, не то шо нонче.
Чаю кстати. Помню там все на листе 1,5мм стальном смонтировано. Жестко пиздец. Его с балкона кинь, только пластик поцарапаешь. Провода как у чайников современных. Платы однослойные, дорожки 1мм, микрухи в дип. Мм.
Охуенно, повесил бы себе на стену такие часы.
>обрати внимание на эклипс, а точнее на open stm
АХАХАХАХАХАХХАХАХАХАХААХАХАХА
Keil изначально разработана для программирования ARM и имеет кучу инструментов для отладки на кристале и тому подобного, работает из коробки почти с любым контроллером ARM архитектуры. Eclipse же параша для кросплатформенной разработки - написана на джаве для джавапетухов, которая не умеет ничего кроме компиляции и заливания в мк твоего говнокода.
https://ru.aliexpress.com/item/-/32577775678.html
https://ru.aliexpress.com/item/-/32329418477.html
Вопросы:
1. Хватит ли мне этого для начала?
2. Обосрите выбор.
3. Задачей стоит отказаться от 2560-й меги с USB-шилдом в который воткнут ресивер от 710-го логитеха. Смогу ли я через переходник (например, OTG с того же али) засадить приемник в распаянный на плате порт и наслаждаться жизнью? Есть ли готовые библиотеки? Или достаточно подкинуть правильный дескриптор и все заведется?
4. Что с питаловом? Текущая махарайка работает от двух последовательных 18650-х. Нужен ли преобразователь на 3,3?
5. Девайс должен управлять ШИМу движками через L298N, а также парочкой серв. Вроде как все они на 5В, не сосну ли я с 3,3 от эстээмки?
Алсо, создайте уже STM32 тред с гайдами в шапке для долбоебов типа меня.
1. Хватит. Светодиодом точно сможешь помигать.
2. В нормальном st-link на выходе есть буфер с питанием от отлаживаемого микроконтроллера. С этим клоном st-link наверное возникнут проблемы при пониженном напряжении питания микроконтроллера. Я бы поискал более приличный клон st-link.
И еще необходимо раздобыть схему платы с микроконтроллером, а то не понятно куда подключается мелкая память U4 и прочее.
3. Подключить можно. На счет готовых библиотек подсказать не могу. Вполне возможно найдется почти готовый код.
4. Там на плате стоит стабилизатор U1, поэтому требуется питание приблизительно от 4,5 В до 12 В.
5. Уровни 5 В вполне можно выдавать и с 3,3 В микроконтроллера при использовании 5V tolerant выводов в режиме с открытым стоком и подтяжкой внешним резистором к 5 В.
Чтоб ты завтра в лотерею выиграл. Спасибо. Только поясни пожалуйста следующее:
>5. Уровни 5 В вполне можно выдавать и с 3,3 В микроконтроллера при использовании 5V tolerant выводов в режиме с открытым стоком и подтяжкой внешним резистором к 5 В.
Поясните, что за хуйня. Последний месяц начали форсить этот STM32. Это кто-то проплатил рекламу что ли, или как это произошло?
Везде этот стм, куда не глянь.
Причём искали бы замену ардуине, покупали бы ESP8266, но покупают что-то сложное и непонятное.
Не знаю, зачем-то тоже купил, снес встроенную программу мигания светодиодом, а что дальше — хуй знает.
Может, когда-нибудь полноценно прикрутят к Пердуине и буду пользоваться.
Прекручно нормально.
>полноценно прикрутят к Пердуине
Ну во первых там и так прикручено, а во вторых это как к велосипеду привязывать танк.
У ESP8266 скорость 160 мгц против 20 мгц.
Памяти в ESP-12E например аж 4 мегабайта, против 12 килобайт.
Плюс вайфай.
Что тебе может ардуина атмега с обвязкой, что не может ESP8266? А вот наоборот много всего.
А ESP32 вообще пиздец. До 64 мегабайт памяти прям внутри чипа и ДВА ЯДРА, 12-bit SAR ADC до 18 каналов, 2 × 8-bit DAC, 10 × touch сенсоров, Temperature сенсор, 4 × SPI, 2 × I²S, 2 × I²C, 3 × UART, 1 host (SD/eMMC/SDIO), 1 slave (SDIO/SPI), Ethernet MAC с поддержкой DMA и IEEE 1588, CAN 2.0, IR (TX/RX), Motor PWM, LED PWM до 16 каналов, Hall sensor, Ultra low power analog pre-amplifier
Светодиодный куб загугли. Вот все также, только на плоскости.
https://www.youtube.com/watch?v=VBI_c75zAJQ&app=desktop
Видео как должно быть. Та часть, где рандомно включаются.
На этот ваш ESP8266 документация закрыта, нахуй он нужен после этого?
>>270016
Как будто в махарайках самое дорогое это микроконтроллер. Что вы делаете с микроконтроллерами, что вам лишняя сотня рублей критична?
Один только корпус обычно существенно дороже микроконтроллера получается.
>>269959
http://easyelectronics.ru/osnovy-na-palcax-chast-4.html
http://literaturki.net/elektronika/cifrovaya-shemotehnika1/132-142-logicheskie-elementy-ttl-s-otkrytymi-kollektorami
5V tolerant - устойчивые к 5 В выводы, обычно это все выводы кроме тех, на которые выводятся АЦП/ЦАП.
ESP-12F - 1.75$
ESP32 - тут сложнее. 3.50$ за чип, но минимум 5 штук и без обвязки.
http://www.ebay.co.uk/itm/5x-ESP32-SMT-Chip-Only-from-Espressif/172504795432
Продаёт сам, его величество, CNLohr
Если кто не видел что он вытворяет, вот, наслаждайтесь
https://www.youtube.com/user/CNLohr/videos
Тут он разогнал ESP8266 до 346мгц
https://www.youtube.com/watch?v=AWT2w7v9szs
Тут он делает плату на стекле, вместо стеклотекстолита
https://www.youtube.com/watch?v=vlrccFVsQXA
Тут он тестирует расстояние, на котором могут общаться две ESP8266
ПОЛУЧИЛОСЬ 1.13km!
https://www.youtube.com/watch?v=ekSsi83-x8M
А вот тут просто за гранью реальности.
Он подпаял провод к пину и дёргает его, формируя видео сигнал для телевизора, при этом генерируя 3д модели
https://www.youtube.com/watch?v=bcez5pcp55w
Дядь, я не знаю с тобой ли я говорю, но вроде как диалог начался с стм32 и его прекручиванию к ардуине. Потом как то плавно перешло на есп и тут я решил уточнить про цены. Есп конечно поебее, но и подороже.
Тут как бы ргб, хочешь ргб? Деньги есть - бери Ws2812
http://www.aliexpress.com/item/32225562192/32225562192.html
Их можно на одном проводе к ардуине последовательно подключить много.
Не обязательно ргб, там просто принцип показан. Мне б хотя бы скетч или гайд какой полезный. Хотя бы совет куда копать. Там разберусь. Я давно уже с атмегой работал, только подзабыл чутка.
Тогда светодиодный куб смотри. Динамическая индикация, вся хуйня.
>Что тебе может ардуина атмега с обвязкой, что не может ESP8266?
- Обрабатывать длинные циклы программы и не вываливаться в wdt reset.
- Жрать в 10-100 раз меньше миллиампер питания.
- Читать несколько аналоговых показаний встроенным АЦП (в esp8266 аналоговый пин один и работает паршиво).
- Питаться от 5В и управлять 5-вольтной периферией.
- Отдавать через цифровые пины вдвое большую силу тока.
- Ну и наконец, пользоваться всеми накопленными в комьюнити библиотеками, а не только теми что адаптировали под Esp.
Цена и размеры как у нанки. Но в 10 раз больше оперативки, 32 бита против 8, в несколько раз большая частота камня, аппаратный юэсби и куча других ништяков. А вот EEPROM не завезли. Чому б и не попробовать?
>>269992
Как раз сейчас балуюсь с еэспэшкой. После нее ардуины и в хуй не впились.
Но задачей стоит избавиться от относительно дорогого и двухэтажного бутерброда из меги и юэсби-шилда. 8266 мало в чем может мне помочь.
>>270019
Благодарствую.
>>270065
Для разных целей - разные решения. Не вижу в этом ничего плохого.
>После нее ардуины и в хуй не впились.
>Для разных целей - разные решения.
Ты случайно не тот самый шизофреник-кун?
>пользоваться всеми накопленными в комьюнити библиотеками
Ты использовал мой любимый аргумент. Ты победил.
>- Обрабатывать длинные циклы программы и не вываливаться в wdt reset.
Когда у меня на еспшке стала происходить такая хуйня, дело оказалось в неправильных настройках ардуино иде (указан неверный размер флеш, но при этом шьется нормально). Больше такого не случалось. Так что тут дело в руках.
>- Жрать в 10-100 раз меньше миллиампер питания.
В среднем еспшка жрет 70мА, с отключенным вифи вообще 10-30мА, есть глубокий сон. 200-300мА она жрет только в режиме станции и точки доступа одновременно.
>- Читать несколько аналоговых показаний встроенным АЦП (в esp8266 аналоговый пин один и работает паршиво).
Согласен, но в 168 и 328 мегах АЦП - тоже унылое говно, нормальный ацп - в любом случае внешний. Кроме того, цели-задачи еспшки изначально совсем не на то заточены, наличие ацп - лишь дополнение к основному функционалу.
>- Питаться от 5В и управлять 5-вольтной периферией.
Это вообще не аргумент. А мне нужна 12в периферия, и что?
>- Отдавать через цифровые пины вдвое большую силу тока.
Ты из тех мудаков, которые от ордуины напрямую пытаются крутить движки, да?
>- Ну и наконец, пользоваться всеми накопленными в комьюнити библиотеками, а не только теми что адаптировали под Esp.
Пока не встречал ни одной библиотеки, которая не запустилась бы на еспшке. Скачивал библиотеки к различным дисплеям, драйверам двигателей, периферии типа датчиков температуры, внешней памяти, проблем не было вообще. Так что не знаю, о чем ты.
>Когда у меня на еспшке пок пок пок
Это проблема не только у тебя, погугли ради интереса, в каких еще разнообразных случаях она у народа вылезает.
>В среднем еспшка жрет 70мА,
Если это у тебя такие замеры, то не факт что в других случаях все так же. Жор зависит от качества приема и динамически подстраивающейся мощности передатчика tx power. Например на большой удаленности от базовой станции у меня стабилизатор питания, выдающий 250мА, не справляется и уходит в защиту.
>Согласен, но в 168 и 328 мегах АЦП - тоже унылое говно
Не согласен, покрутить потенциометрами и почитать показания простейших датчиков более чем хватает, в Есп даже с этим жопа.
>Это вообще не аргумент.
Вполне себе аргумент, пятивольтной периферии овердохуя, и это практическое преимущество. Про 12-вольтную и выше я ничего и не говорю.
>Ты из тех мудаков, которые от ордуины напрямую пытаются крутить движки, да?
При чем тут вообще движки и 40мА, наркоман?
>Пока не встречал ни одной библиотеки, ко ко ко
Ну так встретишь, когда попытаешься сделать что-нибудь посложнее чем светодиодом мигать и движки крутить.
Понятно, что все эти недостатки или второстепенные или не являются недостатками. Но ты ответь >>270019
>На этот ваш ESP8266 документация закрыта, нахуй он нужен после этого?
При том что хватает других микроконтроллеров с открытой документацией.
>>270130
>Вполне себе аргумент, пятивольтной периферии овердохуя, и это практическое преимущество. Про 12-вольтную и выше я ничего и не говорю.
Микросхем с уровнями 3,3 намного больше, так что это аргумент только для пользователей ардуиновских шилдов.
>На этот ваш ESP8266 документация закрыта
https://espressif.com/en/support/download/overview
У производителя тебе мало документации и родного SDK?
Да, мало. Там описана только часть. Да, я на esp8266 ничего не делал, только присматривался, поэтому могу в чем-то ошибиться.
Какая-то часть периферии действительно описана в Technical Reference. Но отсутствие описания регистров DMA и радиомодуля заметно сразу.
Ладно еще радиомодуль может быть какой-то секретный, но DMA?!
>с USB-шилдом в который воткнут ресивер от 710-го логитеха
А ты хорош! Ардуина у тебя таким образом и шьётся по воздуху? И как вообще запилил? Лохитек врядли же даташиты вываливал.
Интерес не праздный - хочу запилить к пеке беспроводной монитор железа, и единственный пока что вариант - это две ардуины с 433МГц- трансресиверами.
Прихуячь ESPшку, запили веб-интерфейс, мониторь со смартфона или ноута или купи на али дешевый usb вифи свисток для пеки и мониторь прямо на пеке.
Лол, я вообще говоря хотел именно загрузку ресурсов пеки выводить: ЦП, ГПУ там. Вот это всё.
Там основная проблема в парсинге данных с Оупэнхардвэрмонитора/ЭлСиди Смарти. Лично мне чот сомнительно, что в них можно будет указать адрес порта, в который воткнут свисток - и оно дальше передастся по блютусу/вайфаю.
Не понял, выводить куда? Ты хочешь сидеть на толчке тужиться и наблюдать загрузку пеки на экране на стене? Зачем тебе это?
Тебе нужно ПО, непрерывно пишущее лог ограниченной длины (несколько КБ последних данных) на диск. Далее вижу два варианта: либо ты пишешь скрипт, отсылающий содержимое лога на еспшку (тупо адрес в локальной сети), либо расшариваешь папку с логом и еспшка сама периодически тащит его себе (теоретически, это сложнее, надо гуглить реализацию на есп SMB или иного, поддерживаемого виндой, протокола передачи файлов).
>Не понял, выводить куда?
В первой версии - на LCD 2004. Но там циферки менялись с лагами, поэтому я решил запилить аналоговую индикацию дизельпанк, азаза% из двух амперметров(один для ЦП, торой для ГПУ). Даже подсвет_очку тёплого желтого цвета вкорячил и корпус ща пилить под их установку буду, ну да не суть. Потом могу результат запилить, если кому не похер.
>Ты хочешь сидеть на толчке тужиться и наблюдать загрузку пеки на экране на стене? Зачем тебе это?
Я ебанутый, у меня шиза на незахламлённость рабочей поверхности. Даже кронштейн для монитора купил крепящийся к столешнице, на газовом упоре, чтоб даже ножка от монитора место на столе не занимала. Что устройства ввода без провода - это само собой.
>Тебе нужно ПО, непрерывно пишущее лог ограниченной длины...
Тут соль в том, что я не настолько продвинутый програмизд мы же в ардуино-трэде, ну Изучал в школе паскаль, на основе этих знаний и освоил Processing. Больше языков не знаю. Даже скомпилировать код в .exe не смогу. Так что самый ходовой вариант для меня - подкастылить готовые решения: LCD Smartie или Openhardwaremonitor. Первый по умолчанию умеет посылать значения загрузки железа на COM-порт, у второго для этой функции есть ебанутый форк. При этом, для обоих есть прошивка на ардуину, я её запускал - но заточена она под LCD.
Писал-писал эту простыню - и понял, что я про сраный СОМ, а ты про локалочку. Погуглю, может это действительно окажется проще, чем натягивать сову на глобус со всякими Смарти.
>Но там циферки менялись с лагам
Расскажи подробнее. Раз сталкивался вообще с какой-то хуйней, так и не понял. Типа некоторые цифры вообще не отображались.
Вот эти норм. Один делает 2,5 вольта из 5, второй пищит в это время. Ни одного проекта без них не обошлось.
Второе. Ну а так - шилды упрощают прототипирование и нужны исходя из задачи. Sdcard полезный например.
Да нечего особо рассказывать. Банально у LCD маленькая частота обновления - соответственно, цифры не успевают за изменениями параметров нагрузки системы - и смазываются. Могу вебм запилить, лол.
Хотя, наверное имеет смысл поднять частоту передачи по СОМ. Может проблема в тормозном обновлении данных.
>Могу вебм запилить, лол.
Просто скажи, при каком максимальном количестве кадров в секунду изображение еще комфортно читаемо. Многим будет полезно на заметку.
Так что вот вам на заметку, где можно брать халявные дисплеи.
>Это проблема не только у тебя, погугли ради интереса, в каких еще разнообразных случаях она у народа вылезает.
>пок пок пок
То, что ты - дебил, как и 95%, не могущих почитать мануал и плачущих об этом на говнофорумах-загончиках для стада, вовсе не значит что все такие. Специально для тебя и тебе-подобных даунов:
>Yielding
>This is one of the most critical differences between the ESP8266 and a more classical Arduino microcontroller. The ESP8266 runs a lot of utility functions in the background – keeping WiFi connected, managing the TCP/IP stack, and performing other duties. Blocking these functions from running can cause the ESP8266 to crash and reset itself. To avoid these mysterious resets, avoid long, blocking loops in your sketch.
>The amazing creators of the ESP8266 Arduino libraries also implemented a yield() function, which calls on the background functions to allow them to do their things.
То что ты не забудешь воткнуть yield в каждый цикл программы, не значит что это обязательно сделали в каждой внешней библиотеке, диванный
Работал в древней версии ардуино, столкнулся со скетчем, который не компилится в ней. Поставил 1.8.1, начало компилиться нормально.
Но перестал компилироваться важный скетч, жалуется на отсутствие файла с библиотекой.
Сам файл есть в папке с проектом, и в папке документы\ардуино\библиотеки
Когда я библиотеку кладу в папку с ардуино иде он выписывает ошибку что обнаружены 2 библиотеки, та что в ардуино иде не используется
Удаляю библиотеку из ардуино иде - библиотека не найдена
Что на упоротая хуета?
В какой каждый, ебанат? Ты на есп много писал? Сделал для себя несколько проектов по 1-3к строк, yield понадобился лишь единожды, и то в тестовом почти вечном цикле для дисплея, для которого библиотека от васяна. Вот тебе хинт: еспшка при любом delay'е так же делает свои дела, а дилэев, ввиду высокой скорости еспшки, в библиотеках жопой жуй, пример - банальный serial.print, интерфейсы, вифи/udp и т.д.
Если народ такой тупой, что не пишут ничего кроме вечного цикла для blink'а, это их проблемы. yield при этом достаточно вызывать каждые несколько секунд.
Так что диванный тут только ты. Иди дальше моргай своим диодом.
Тут никто не знает. Вон выше чувак с LCD Smartie ебётся и все молчат.
Ты какой то странный. Какой led помаргивал? Не тх случайно? Покажи скетч свой, ебем мы чтоль че ты там намутил. Нет ли у тебя с питанием проблем? Кто с компа отправляет байт твой. Опционально - поясни задачу, что у тебя будет в итоге.
А так написал хрень какую то. Какие, бля, особенности юсб? На классической ардуине атмеге328 и юсб то нет. Особенности переходника юсб/сериал?
>>270494
У меня по сириалу приходят данные в формате:
100A95B88A4B и так далее.
Соответственно, число что слева от А - это один параметр, который надо записывать в одну переменную-1. А слева от B - второй параметр, которую надо записывать в другую переменную-2. Сами А и В никуда записывать не надо - это тупо разделители.
Собственно, вопрос: как организовать парсинг этих данных?
Заранее спаисибо!
>Но тем не менее ESP8266 в качестве просто микроконтроллера не нужен
Основная цель/задача есп - "умный дом". Т.е. вывести простенький веб-интерфейс, по нажатию кнопочек дергать пинами, управляя простейшими исполнительными механизмами типа реле. Взять в руки смартфон и включить лампочку, дернуть соленоид в примитивном электронном замке, спустить бачок унитаза и все в таком духе. Скажи, для таких целей, кого ебет открытость SDK? Всем похуй ж. А ультра-дешевизна и приличная производительность, которая позволяет писать говнокод без оптимизации, делает девайс популярным под свои цели-задачи.
Под высшие материи есть STM8 и STM32 или дедовской AVR, сам знаешь.
>Под высшие материи есть STM8 и STM32 или дедовской AVR, сам знаешь.
Ещё бы под ESP источник ~220/+3.3В с малым размером.
А какие альтернативы ЕСПшке среди других микроконтроллеров с вайфаем за 100р?
Да хоспаде. Дело нехитрое. Но у меня такой правда на 5В уже полгода в столе лежит - ссу, что пожар эта хуитка мне устроит
Такая же хуйня, только не лежит, а не покупаю из-за пирофобии.
Самое годное таки считаю брать зарядки от телефонов и пидарасить. Плата обычно 2х3. Беру на барахолке от 10 до 20 рублей.
>До 50
Фикс.
Алсо выбираю ориджиналы, нокии годные. Выглядят и корпуса, и платы качественно, надежно. Не то что али/неоригинал.
Просто в распаечной коробке для электрики девайс собирай, и пусть себе там внутри горит на здоровье.
Value1 = (buffer[strpos(buffer, 'A') + 1] - 48) * 10 + (buffer[strpos(buffer, 'A') + 2] - 48);
И так далее.
Хех, спасибо, но я уже проще сделал, путём дербана кода из примера отсюдова:>>270761
ещё правда, вывод с компа настроил иначе: теперь он выглядит как [параметр1] [параметр2]А
Вот что вышло: если кому вдруг интересно. копирую только луп. сетап неинтересный. комменты не тру%%
void loop() {
// if there's any serial available, read it:
while (Serial.available() > 0) {
// look for the next valid integer in the incoming serial stream:
int CPU = Serial.parseInt();
// do it again:
int GPU = Serial.parseInt();
// look for the newline. That's the end of your
// sentence:
if (Serial.read() == 'A') {
CPU = 2,5;
analogWrite(CPUpin, CPU);
GPU = 2,5;
analogWrite(GPUpin, GPU);
}
}
}
Хех, спасибо, но я уже проще сделал, путём дербана кода из примера отсюдова:>>270761
ещё правда, вывод с компа настроил иначе: теперь он выглядит как [параметр1] [параметр2]А
Вот что вышло: если кому вдруг интересно. копирую только луп. сетап неинтересный. комменты не тру%%
void loop() {
// if there's any serial available, read it:
while (Serial.available() > 0) {
// look for the next valid integer in the incoming serial stream:
int CPU = Serial.parseInt();
// do it again:
int GPU = Serial.parseInt();
// look for the newline. That's the end of your
// sentence:
if (Serial.read() == 'A') {
CPU = 2,5;
analogWrite(CPUpin, CPU);
GPU = 2,5;
analogWrite(GPUpin, GPU);
}
}
}
long getValue1(char Symb, char A1, char A2, char A3, char A4, char A5)
{
long res = 0;
char Ctrl_Symb;
if (A1 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A1];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58)) res += (Ctrl_Symb - 48);
else return res;
}
if (A2 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A2];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A3 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A3];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A4 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A4];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A5 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A5];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
return res;
}
long getValue1(char Symb, char A1, char A2, char A3, char A4, char A5)
{
long res = 0;
char Ctrl_Symb;
if (A1 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A1];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58)) res += (Ctrl_Symb - 48);
else return res;
}
if (A2 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A2];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A3 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A3];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A4 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A4];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
if (A5 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A5];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58))
{
res = 10;
res += (Ctrl_Symb - 48);
}
else return res;
}
return res;
}
if (A1 > 0)
{
Ctrl_Symb = rx_buffer1[strpos(rx_buffer1, Symb) + A1];
if ((Ctrl_Symb > 47) || (Ctrl_Symb < 58)) res += (Ctrl_Symb - 48);
else return res;
Этот лютый говнокод состоит из нескольких повторяющихся секций. Каждая из который проверяет, дал ли ты ей символ, правильный ли символ в последовательности от "0" до "9" и передаёт следующей секции.
Это парсер с проверкой, который опирается на символ для поиска значения.
Да ну, сложно слишком.
Чтобы разобрать такую конструкцию ( 100A95B88A4B ) проще сделать так:
char str[9]; //размер строки - strlen("100A100B") + 1
str[sizeof(str)-1] = 0; //ноль в конце строки, как и положено
unsigned char sym;
for(int i = 0; i < data_in_rx_buffer; i++){
sym = readByte();//читаем из буфера байт за байтом
str[sizeof(str)-2] = sym; //записываем вновь прибывший символ в конец строки
memcpy(str, str+1, sizeof(str)-2); //смещаем строку влево
unsigned char A, B;
if(sscanf(str, "%dA%dB", &A, &B) == 2){
//Нашли А и Б!! Ура товарищи!
}
}
Ну а если нужно ЛЮТО БЫСТРО всё это разгребать - юзай бинарный протокол с байтстаффингом.
Он вообще в 2 раза проще и быстрее, чем все что было здесь предложено.
я отправляю данные из формы на сервер, оттуда по ком порту на ардуино, и итоге лампочка мигнула один раз и все, как будто прошилась
когда снова открываю страничку с формой и шлю сигнал, то все ок, лампочка загорается
нужно ведь, что с первого раза
как видно на фотке, сигнал идет 72 и в первый раз и во второй
Опять наркошизики какие то пришли. Или я тупой и ничего не понимаю.
Безконтактно? Конкретизируй, что там у тебя.
Пытаюсь прошить 16 атмегу, подоткнувшись к выводам, ничего не выходит.
># avrdude -b 1200 -c usbasp -p m16 -U flash:w:main.hex:i -U lfuse:w:0xcf:m -U hfuse:w:0x59:m
>avrdude: warning: cannot set sck period. please check for usbasp firmware update.
>avrdude: error: programm enable: target doesn't answer. 1
>avrdude: initialization failed, rc=-1
>Double check connections and try again, or use -F to override
>this check.
>avrdude done. Thank you.
Где обосрамс?
Подключил всё по второму пикрелейтеду.
Лолблять. Втыкнул контроллер в устройство и всё прошилось. Кварца не хватало.
>5. Уровни 5 В вполне можно выдавать и с 3,3 В микроконтроллера при использовании 5V tolerant выводов в режиме с открытым стоком и подтяжкой внешним резистором к 5 В.
Это так не работает. 5V tolerant означает, что он может принять на вход 5 вольт, но выдать не получится, даже с подтяжкой резистора, так как стоят защитные диоды.
Вы ебанутые тут? Где шапка, где фак ньюфагам, где литература и ссылки на каналы, где это всё, нахуй? А? АА?? Всё желание отбиваете, суки. Ещё и два треда, пиздец.
Даже если бы это было так, то к таким входам нельзя было бы подключать пятивольтовые выходы, т.к. они бы перегрузились.
Ты привел схему не устойчивого к 5В вывода, в устойчивых выводах верхний диод идет не к VDD.
Хочу сделать девайс, который будет поднимать и опускать ободок унитаза автоматически. Как детектить мой позыв? Сру я один раз в день, а бывает и не сру. Ссу до 5 раз в день. Еще есть жена у которой дефолт опущенный ободок и ходит она по 15 раз на дню.
Собственно можно ободку всегда лежать, а вот когда я пришел ссать - подниматься. Что то типа двух дальномеров, один над бачком, что кто то подошел, второй на уровне ебла - не садиться - значит ссать будет? Тогда как убрать ложные срабатывания, например, если я просто подошел постоять или встал жопу вытирать?
Вот есть адафруитовская библиотека нокиа лсд. Когда я сделал скетч, где только текст отображается, весь остальной говнокод из библиотеки типа рисования кружков и прочих шрифтов и драупикселей (которые не используются) тоже будет прошиваться или компилятор заберет только нужные участки из библиотеки?
В Arduino IDE есть скетч Dimmer который отправляет непрерывно 1 байт из Processing'а, работает отлично, как надо, но лишь один канал. Как сделать отправку 4 разных байт на 4 выхода PWM ?
Я себе это представляю так что последовательно посылаются байты один за другим: отправляется первый байт, он идет на первый PWM, затем отправляется второй байт, он идет на второй PWM и т.д. по кругу. Не получится ли рассинхронизации в какой нибудь момент и не перепутаются ли в итоге байты? И как это реализовать в скетчах?
Попробовал только что в лоб изменить скетчи.
В Processing'е
port.write(mouseX); //original
port.write(mouseY); //добавил отправку второго байта
В Arduino
brightness = Serial.read(); //original
analogWrite(ledPin1, brightness);
brightness = Serial.read(); //добавил получение второго байта
analogWrite(ledPin1, brightness);
Байты перемешиваются. Поясните по какой причине? Скорость serial везде 9600.
Выяснил что надо отправлять bytes Array и на Ардуино использовать Serial.readBytes().
В Processing'e
byte[] bytesArray = new byte[2]; //обьявление массива из 2 элементов
bytesArray[0] = byte(mouseX); //присвоить значение первому элементу
bytesArray[0] = byte(mouseY); //присвоить значение второму элементу
port.write(bytesArray);
В Ардуино
byte bytes[2]; //обьявление массива из 2 элементов
Serial.readBytes(bytes, 2); //запись в массив 2 байтов
analogWrite(ledPin1, bytes[0]); //PWM со значением первого байта
analogWrite(ledPin1, bytes[1]); //PWM со значением второго байта
Вроде работает. Какие подводные камни?
>зачем
Чтоб не обыссывать его, брызги же летят, нихуя не классно, когда все ссаное.
>библиотека
Памяти хватает, но как то по говнокодски получается или я неправ?
byte dix;
void setup() {
Serial.begin(9600);
pinMode(4, OUTPUT);
}
void loop() {
if(Serial.available()>0){
dix=Serial.read();
if (dix == '1')
{
digitalWrite(4,1);
}
if (dix == '0')
{
digitalWrite(4,0);
}
}
delay(3);
}
Рисунок
Оказывается я слишком большой резистор к базе подключил, он включается если я ввожу 1,но не выключается если ввожу 0 , что делать?
Теперь он и включается и выключается,но не всегда выключаеться. кто знает в чём проблема, а попробую в другой порт вставить
Я понял в чём проблема,у меня задержка в 3 секунды стоит,а я слишком быстро включаю выключаю
А че за транзистор? Если просто дергать ногой - работает?
ну я хз чё было,но у меня работает всё, но бывает что я ввожу 0 ,а программа виснет и не отключается моточик
Программа виснет при длительном включении моторчика( больше 2 секунд), я ввожу ноль, она виснет и не выключается моторчик
я тут по эксперементировал, решается нормальным резистором
Весна? Обострение?
Чем громоздко то? Берешь пердуину нано и делаешь. Загугли "arduino smartwatch", довольно маленькие и симпатичные проекты.
Пикрелейтеды влазят подряд в сокеты эти? Или слишком толстые?
Они так тесно влазят, что будут держаться друг об друга. Вообще я бы посоветовал нормальные разъемы купить, этот вариант на практике выглядит уебищно
>нормальные разъемы
Есть охуенные разъёмы, ищущиеся по запросу "XH2.54", но убер дорогие, если брать сразу все размеры сразу на будущее.
И да, создайте уже stm32 тред
> Но нахуй
Наверное у автора сильно маленькие горшки или хочет сделать датчик как можно меньше.
Или решает то, что у контроллера цена 20р/шт.
Бинарные, две версии. С экраном ещё проще, если он по I2C и OLED.
как избавиться от этих колебаний?
Получил тиньки, 13A. 10 шт по 16р.
Вот как они выглядят, маркировка сверху и снизу.
Что думаете? Оригинал ли? Очень интересно их происхождение.
По мне так метод нанесения маркировки аляповатый.
Запаял их на SOIC/SOP -> DIP переходники и протестировал. Прошивал USBASP'ом, через Arduino IDE.
К моему удивлению, работают вроде без проблем. По крайней мере светодиодом мигать они все в состоянии.
Только у 1 шт загрузчик с фьюзами прошился лишь с 3й попытки, но в дальнейшем проблем никаких, все четко.
К слову, от того же торгаша получил LM317T 10 шт по 4.5руб.
По маркировке явный китайский самопал, особенно забавно получилось корявое подобие логотипа ST. Маркировка по методу исполнения 1 в 1 как на тиньках, насколько я могу судить. Проверил: на вид рабочие, напряжение регулируется, но тестил только на низком напряжении и без нагрузки. Так что хз как оно будет в деле.
Анон, как в тиню залил скетч?
Ардуино ие\же не видит usbasp, и хекс файл для тиньки13 не формирует
Все почти так же, как в случае с ESP. Ставим доп. библиотеку для 13 тинек: https://github.com/MCUdude/MicroCore
Там же и вся инфа.
Программатор USBASP у меня есть в списке, просто выбираю его и все. Но нужно предварительно поставить свежий драйвер libusbk, иначе ордиуноиде не увидит программатор, инфа в гугле. Советую ставить последнюю версию IDE, в ней avrdude посвежее, в старых версиях может не заработать без танцев с бубном.
>Но нужно предварительно поставить свежий драйвер libusbk, иначе ордиуноиде не увидит программатор, инфа в гугле
Вот это меня и останавливало, посмотрим
>Парни
Я один человек.
>Как быть?
Перестать быть овощем и слегка подумать головой. Ты догадался проверить МК? Он у тебя уже успешно прошитый. Дудка так ругается на все более-менее свежие USBASP'ы, т.к. они сами выставляют клок и шлют дудку нахуй. У меня точно так же. И так должно быть. Так что все работает как должно, и warning'и - это не ошибки.
И, кстати, не забудь: при первой прошивке ардуиной сначала жми записать загрузчик, и только потом грузи скетч.
>Дудка так ругается на все более-менее свежие USBASP'ы, т.к. они сами выставляют клок и шлют дудку нахуй.
Мне то откуда знать было, а
Между прочим нигде об этом не написано, что нужно скипать ошибки вроде этой
Но все равно спасибо
Я тоже с этим столкнулся, но сразу посмотрел на весело мигающий светодиод и понял, что проблемы скорее всего нет. Включил мозг: почитал доки на дудку и зарубежные форумы, и выловил эту инфу. Так что
>Мне то откуда знать было, а
- является лишь самооправданием.
Не будь ленивой жопой!
Не каждый раз тебе будут разжевывать готовое, в работе с МК много подводных камней и иногда надо просто подумать.
>спасибо
Пжлст!
>А что будешь лепить на тиньках?
Светильники на ШИМ с сенсорным управлением я думаю
Ну и так по мелочи где нужен мк, но жаба душит
Мигалки светодиодами же
Делаю декоративные светильники на ШИМе с сенсорным управлением, и всякую мелочевку
2 н моста
и незнаю есть ли сковзные токи
У тебя транзисторы управляющие ни с землёй, ни с плюсом не контачат, и управлять нормально не могут, следовательно все тр открытые и через них течёт ток кз. Попробуй пикрелейтед.
Вот так
я не понял полностью схему нарисуй пожлуйста один н мост по твоему способу.
У меня тоже какието проблемы с 3.3 если я что то подключаю к 3.3 и ардуина не работает
Забыл указать что наприяжение 12 вольт перегорает,а при 5 нормально
Я понял ,я спалил транзисторы потому что я на базу слишком большое напряжение подавал я на блоке питания поставил 12 вольт и через резистор на 100 ом подавал + на базу транзистора КТ972, а там максимально допустимый ток эмитер база 5 вольт всего.Надо было просто увеличить сопротивление.Ведь также?
Если так то как не подобрать сопротивление
Поставил большое сопротивление где то 1200 ом,работает на 12 вольтах но очень сильно греется
Может на версии на 5v там нихуя и нет? Алсо, ардуину я купил чтобы автоматизировать самогонный аппарат. Аппарат у меня типа пленочная колонна, и у этого типа аппаратов высокая чувствительность к изменению нагрева и потока воды. Еще есть значительный момент инерции системы. Может быть есть какая библиотека, которая это все почувствует ну с помощью силы там?
Пока что я планирую использовать посудину и ШИМ микро-помпы. Загвоздка в инерции системы (может быть и 30 сек) и в том, что часто проводить испытания нет возможности.
Спасибо, попробую.
Использую либу для всего этого - Fast fixed-point FFT modules http://elm-chan.org/cc_e.html, думаю, что она это делает.
Вот хоть убей, не могу нарисовать нормальный спектр.
> авр
> 10кхц
>128 сэмплов.
> делаю ффт и рисую спектр.
И чего ты там желаешь увидеть?
> адц
А это вообще, что? ADC
Тогда уже пиши АЦП.
И не нарисуешь. Бери арм 32 битный с дма и ацп пошустрее.
Компоненты спектра желаю увидеть. Объяснишь может в чем моя ошибка?
запоздало благодарен!
Может, есть уже что-то более-менее готовое? А то народ только загрузку ЦП и всякое такое делает.
Можно ли из этого слепить синтезатор голоса и его воспроизведение?
Чтобы, к примеру, подавать по serial порту в ЕСПшку текст, а она этот текст отсылала по вайфаю в гугловский API и получала с него звуковые файлы, а потом эти файлы воспроизводила мп3-модулем.
Если mp3 модуль умеет не просто в "PLAY", "PAUSE", "STOP", "NEXT", "PREV", "VOL+", "VOL-", то можешь сделать воспроизведение через имена файлов. По алфавиту или по слогам.
ESP8266 и сама умеет звук играть без всяких модулей.
Сам нагуглишь.
Правда насчёт записи не уверен. Но да, всё это можно.
Ну все равно нужен цап и усилок. А мне критична компактность и некогда докупать эти части.
>>283653
Да, модуль позволяет выбор файлов через uart, но сами мп3 читает только со своей сд-карты.
Может быть, можно транзисторами отключать карту от модуля, подключать к Есп, закачивать на нее звуковой файл, и подсоединять обратно? Или карточка от таких неожиданных отключений быстро наебнется?
Притащил свое говно на конкурс радиолюбителей, естественно это говно на ардуине было
Один мимокрок мне начал втирать что компилятор ардуино иде говно и вообще, перекатывайся дескать в атмел студию.
Накатил я такой студию, пытаюсь русифицировать - установите майкрософт вижл студио, ну установил. Русифицирую - вижл студио не установлена. Короче нахуй русик, и так все понятно.
Однако оглядев интерфейс я задумался - а нахуя собственно надо? В иде всего две кнопки выведены - компилировать и залить, а тут черте чего, даже кнопки компилировать на передней панели нет
Кто нибудь сталкивался вообще с атмел студио?
>компилятор ардуино иде говно
Там используется avr-gcc. GCC сам по себе явно не плох, хотя о качестве поддержки им AVR ничего написать не могу, т.к. не пробовал.
Говном является ардуино иде, ардуиновские библиотеки и подход многих ардуинщиков к программированию.
Вот где у вас в ардуино иде отладка через debugwire?
>серьёзно рассматривает закачивание на sd карту через wi-fi файлов, на esp
Может проще сразу готовые слоги и буквы закачать на карту?
А в чем проблема? Асинхронный веб сервер на esp вполне справится с такой задачей. Если небольшие файлы лить до 1 метра и подключить spi на максимальной скорости, то будет не так уж и медленно.
Проще, но звучать будет как говно.
>Ананасы, хочу взять ардуинку, но не знаю какую, мне понравился вариант от амперки , потому что белый - это элегантный , что скажите?
Не корми зажравшихся уродов из амперки, алиэкспресс или ебай вышлют тебе точно такую же по функциональности синенькую ардуинку в 5 (пять) раз дешевле. Синий это не так элегантно, конечно, но можешь кисточкой перекрасить.
>Есть ли на ардуинку c#? оч хочу именно на нем писать
Технически есть
http://playground.arduino.cc/Interfacing/Csharp
но лучше не вскрывать эту тему, потому что самое главное в ардуиновской теме это множество полезных библиотек под всякий готовый функционал и любую периферию. Они написаны на родном Wiring, и в C# студии не заработают.
>ничего конкретного нет, по типу -это говно, это заебись.
Ардуинка вообще говно и морально устарело. Самое заебатое за те же копеечные деньги сейчас это STM32 или ESP8266, там гораздо больше есть где разгуляться.
сажа прикрепилась
Ты забыл главный кусочек кала в ардуинопараше - Wiring язык педалирования. Меня исключительно по этой причине ажтрисет, когда программирую ESP8266 в пердуиноиде, но приходится терпеть, потому что для меня ESP только мост между девайсом и интернетом, можно опустить производительность и отказоустойчивость.
Я ардуино руками не трогал, но разве этот Wiring не еще один препроцессор для C++ ?
Это же вовсе не какой-то особый язык, а всего лишь avr-gcc с дополнительным препроцессором.
Он с кучей костылей, например тип String, который присутствует в каждой либе, почему нельзя использовать массив символов, как все белые люди.
А это уже к языку отношения не имеет, если я правильно понял. Это из ардуиновской библиотеки. Можешь пользоваться std::string. Или вообще перегрузить оператор [] как тебе нужно.
У тебя всё равно не получится то, что ты хочешь. Звук это переменный ток, а не постоянный.
вот допустим у меня есть стерео наушнки, в них есть один общий провод минусом. а на остальных два провода плюсы, если бы там был переменный ток то на общем проводе был бы плюс и стереозвучания не получалось бы.Так что получается постоянный
На "минусовом" у тебя 0, а на "плюсовых" от +3 до -3 например.
Усилитель хочешь сделать? Не проще схему поискать, а не трайхардить на одном транзисторе безнихуя?
делаю проект в котором участвует ардуина (нано) и литий - полимерный аккумулятор на 11.1 вольта. так вот , аккумулятор питает нагрузку и саму ардуину. вопрос: как можно замерить на нём напряжение? ставил делитель (100 кОм и 10 кОм резюки) , но он загадочно показывает 7.007 и дальше эта цифра в мониторе порта не меняется. ардуино питается от vin входа с меня нихуя
Оказывается он принимает только высоко частотные колебания ик излучения
А скетч?
Хай, проводок! Если нужно мерить расстояние, то лучче вот такой модуль: https://ru.aliexpress.com/item/Integrated-Ultrasonic-Module-Distance-Measuring-Sensor-Module-Reversing-Radar-Waterproof/32312190912.html?spm=2114.13010608.0.0.0S9QUI&aff_platform=aaf&cpt=1495431207271&sk=eub6yrrBy&aff_trace_key=dc5fe7967a24479db85db8fada8cce64-1495431207271-00712-eub6yrrBy
Вот чувак тут на FLProg дальномер-эхолот на нем пытается: https://www.youtube.com/watch?v=xMo00jrWTnk
как тогда? я тоже бы хотел мутить эхолот
>насколько он быстрый
От длины ключа зависит, чем дольше - тем медленее и безопаснее, очевидно же.
>есть какие-то ограничения или нюансы по размеру передаваемых данных
Никаких. Кроме одного: шифрование (да еще и AES) на i2c - маразм.
Что посоветуешь тогда для I2C (длина незашифрованных данных 80 символов, надо зашифровать - передать - расшифровать хотя бы за 100мс)
> зашифровать - передать - расшифровать хотя бы за 100мс)
Ебать, с такими требованиями ты можешь смело AES-128 использовать, если пердуина хотя бы на Cortex-M3 каком-нить.
Всё никак не могу понять - нахуй оно тебе? Ведь если у кого-то будет доступ к i2c, то контроллер расковырять и выдернуть ключ не составит труда, и никакое шифрование не поможет.
При чем здесь
>если у кого-то будет доступ к i2c
к
>контроллер расковырять и выдернуть ключ не составит труда
У меня просто нет другого варианта, это как минимальная мера защиты.
Поясни плз как без особого труда расковырять контроллер и выдернуть ключ? Защита от чтения не защищает от чтения штоле? Мне прост надо расковырять один контроллер, внутри которого ключ, и все это без особого труда, а на нем защита от чтения.
MSB поменяй на LSB, а всем говори что там MSB.
https://www.cl.cam.ac.uk/~sps32/mcu_lock.html
мимо другой анон
если не можешь в ангельский - говна пожуй и иди на завод гайки крутить, а не мк взламывай
https://my.st.com/content/my_st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries-expansions/stm32-cryp-lib.html
https://my.st.com/content/my_st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-software/x-cube-cryptolib.html
>chip can be successfully attacked given enough time and resources
И вот тут например http://russiansemiresearch.com/en/service/ прайс от $500 за микрочип до $2000 за стм
а мне-то нужно без особого труда, а $500 на заводе только бухгалтера получают.
Есть 4 способа взлома
Microprobing - вскрытие чипа для непосредственной работы с памяти (можно например просто выжечь лазером ячейку памяти, отвечающую за блокировку считывания и считать данные, это пожалуй самый простой способ, но нужно оборудование, как минимум микроскоп и лазер, а также общее знание архитектуры процессоров, чтоб понять где расположена ячейка)
Software attack - взлом посредством дыр в программной архитектуре прошивки или загрузчика (тут нужно исключительно знание експлойта для конкретной прошивки или ядра, которое она использует)
Eavesdropping - считывание электромагнитного излучения чипа специальным дорогостоящим оборудованием + необходимые знания того, как это преобразовать в код.
Fault generation - вызов сбоя микросхемы (недопустимая температура окружающей среды, питание выходящее за рамки допустимого и т.д.), опять же нужно понимать что ты делаешь + дохуя времени и удачи на то, что сбойнет как надо.
Первый вариант самый простой как по мне, остальные требуют либо дорогое оборудование либо овер дохуя знаний в определенной области.
Это у тебя множественный делитель получается. То же самое, что делать ЦАП на резисторах. Работать будет, только не забывай фильтровать.
Всмысле фильтровать?
1 #include <avr/io.h>
2 #include <util/delay.h>
3
4 int main(void)
5 {
6 --DDRB |= 1 << 5;
7 --PORTB &= ~1 << 5;
8
9 --while(1)
10 --{
11 ----PORTB |= 1 << PB5;
12 ----_delay_ms(1000);
13 ----PORTB &= ~1 << PB5;
14 ----_delay_ms(1000);
15 --}
16 --return 0;
17 }
1 RUNTIME = runtime/
2 DEVICE = atmega168
3 LOCK = 16000000
4
5 all:
6 --avr-gcc -Wall -Os -DF_CPU=$(LOCK) -mmcu=$(DEVICE) main.c -o $(RUNTIME)obj.elf
7 --avr-objcopy -j .text -j .data -O ihex $(RUNTIME)obj.elf $(RUNTIME)obj.hex
8 --avr-size --format=avr --mcu=$(DEVICE) $(RUNTIME)obj.elf
9
10 run:
11 --/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -p atmega2560 -cwiring -P/dev/ttyUSB0 -b 115200 -D -U flash:w:$(RUNTIME)obj.hex:i
Пятёрочка это 13-тый порт жеж, верно?
MEGA 2560
1 #include <avr/io.h>
2 #include <util/delay.h>
3
4 int main(void)
5 {
6 --DDRB |= 1 << 5;
7 --PORTB &= ~1 << 5;
8
9 --while(1)
10 --{
11 ----PORTB |= 1 << PB5;
12 ----_delay_ms(1000);
13 ----PORTB &= ~1 << PB5;
14 ----_delay_ms(1000);
15 --}
16 --return 0;
17 }
1 RUNTIME = runtime/
2 DEVICE = atmega168
3 LOCK = 16000000
4
5 all:
6 --avr-gcc -Wall -Os -DF_CPU=$(LOCK) -mmcu=$(DEVICE) main.c -o $(RUNTIME)obj.elf
7 --avr-objcopy -j .text -j .data -O ihex $(RUNTIME)obj.elf $(RUNTIME)obj.hex
8 --avr-size --format=avr --mcu=$(DEVICE) $(RUNTIME)obj.elf
9
10 run:
11 --/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -p atmega2560 -cwiring -P/dev/ttyUSB0 -b 115200 -D -U flash:w:$(RUNTIME)obj.hex:i
Пятёрочка это 13-тый порт жеж, верно?
MEGA 2560
Первым делом попытался это сделать, но не смог его найти где он объявляется. Тащемта я просто "5" всегда писал, просто забыл поменять когда постил исходник. Не мог бы ты объяснить как всё тут организованно? Сам не справляюсь, честно.
Путём перетыкания проводка по всем отверстиям обнаружил, что PB5 == 11 порт. Это замечательно, но где логика? Почему так? В директории с заголовочными файлами мусорка, нихуя не понятно. Помоги же, Анончик.
>PB5 == 11 порт. Это замечательно, но где логика?
Чет вглос, какой нахуй 11 порт? PB5 это 5 бит (из 8) порта B. 11 это обозначение для arduino дегенератов, котрые могут инициализировать пин только через Wire, указав номерок, иначе инсульт случится от перенапряжения. Вот держи даташит для белых людей:
http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf
Какие еще могут быть годные сенсоры, чтобы можно было их пустить в дело с пользой.
И вообще, с какой целью у вас ардуинки преобретены?
> 11 это обозначение для arduino дегенератов
Да, для меня.
> Вот держи даташит для белых людей:
А как быть если я нихуя из этой pdfки не понял? Ньюфаг же. Объясни доступнее, пожалуйста. Как к какому порту обращаться? Вот есть у меня обозначения для ардуино-дегенератов, от 0 до 13, как мне к ним постучать? А с A0-A15 что? Извини за глупость, только-только вкатываюсь а IDE вроде зашквар, пацаны уважать не будут.
Для температуры/влажности использую SI7021. Сравнивал BME280, SI7021, HTU21D, DS18B20 и NTC3950. SI7021 был ближе всего по точности к BME280 и он имеет большой плюс в виде мембраны (Kapton KPPD-1/8), предоставляющей степень защиты IP67 и выступающей в роли сглаживающего фильтра (не будет скачков от малейшего дуновения ветерка при частом измерении). Поэтому если не нужно мерять атмосферное давление (а обычно оно нахуй не нужно), то возьми таких.
Arduino IDE использует зашкварный костыль Wiring в виде надстройки над Си, в нем как раз используются эти номера (0-13). Если пишешь на чистом Си, как в твоем коде выше, тогда забудь о них и почитай манулы по портам и всему остальному, благо их в инете полно даже на русском, ведь AVRу уже дохуя лет. Даташит твой лучший друг, в нем есть абсолютно все до малейших деталей и если получится понять то, что описано в пдф по какой-нибудь периферии, считай ты понял как она работает на любом МК.
Ах да, еще советую взять нормальных модулей часов реального времени DS3231 с температурной компенсацией, поверь они пригодятся. Пробовал на тех же STMках использовать внутрение часы с батарейным питанием и внешним часовым кварцем - отстают, конечно можно купить кварц подороже или компенсировать отставание, для этого во внутреннем RTC есть специальные регистры, но нахуй оно надо. Бери те, что с модулем памяти на плате и нормальным батарейным гнездом, разница в цене маленькая.
Уже нашёл, но все равно не понимаю на кой хер такая дикая разбивка.
Кстати, почему тут чуваки не используют OLED-экраны, после них все остальные - полное говно.
Тащемта вообще не понимаю, как из одного порта, точнее бита A0, можно получить что-то отличаное от нуля и единицы. Это же бит. В различных статьях пишут, что аналоговый выход может принимать значения от 0 до 255, но в моём понимании для этого потребуется подключить 8 проводков, чтобы было 8 битов, и уже в зависимости от их положения получать осмысленное значение, от 0 до 255. А как это с одним проводком сделать? Ну, точнее как это возможно? Вот не понимаю и всё. Объясните, Анончики-байтоебончики.
Я только LCD использую. OLED со временем деградирует, точнее органические компоненты в нем, и становится очень тусклым (даже современные йоба телевизоры с оледом со временем будут показывать хуже самого дешманского ящика). Ну и размер, на той пиндюрке нихуя не видно, а на LCD 128x64 я смогу мелким шрифтом вывести и оно будет читабельно. OLED больше подходит для всякой носимой параши, но я б вместо него eInk брал ибо он нихуя не потребляет.
Аналоговый вход "оцифровует" напряжение на нем относительно опорного, а разрядность входа определяет его шкалу (8 бит АЦП - 0-255, 12 бит - 4095, чем выше разрядность, тем точнее считываемое значение). Например у тебя опорное 3.3 вольта а на АЦП ты подаешь 1.57 (на 8 битном это будет 121, на 12 битном - 1948). Как считывать на Си надо читать в мануале или в даташите на микрухе. Как АЦП устроен внутри и преобразует напряжение в циферки написано там же.
Потому что они милипиздрической диагонали, очевидно. А больших за приемлимые деньги не завозят.
У меня скорее вопрос, зачем мне дисплей размером дюйм, на котором нихуя не видно и единственное предназначение которого быть вмонтированным в анальный зонд.
Проблем со зрением нету, но у меня было 2 плеера с оледами 128x64, чтоб что-то прочитать на них днем (когда они еще в идеальном состоянии, через год эксплуатации почти нихуя не видно даже в пасмурное время), нужно хотя бы на 15-20 см к ебалу поднести и то, если там болдом написано и не по ру$$ки. В итоге взял плеер без дисплея. Для домашнего использования в виде настольной/настенной станции я б такую залупу не брал, проще уже светодиодами индикацию выводить, если не хочешь человечиский LCD использовать (напоминаю, что есть LCD типа пикрила), а еще не поверишь, но есть цветные дисплеи, TFT называются, а OLED это параша которую суют в китайские поделия.
TFT категорически не нравится, вот как ебатека будет выглядеть моя, у меня есть совсем уж маленький экран у пульсоксиметра, читается там всё супер и тут читаться отлично будет.
Подсветкой, у oled же сами пиксели светятся, превосходный контраст.
Вебсервер это унылое дрочево для ботанов, вещь в себе. Правильные посоны пишут приложение для айос/ведроида и обучают его собирать данные со всех ЕСПшек по дому. Это оптимально по скорости доступа и распределению нагрузки на железо.
/b/
Пиздец, уже который день ебусь и не понимаю как прочесть что-то из аналогового порта. Казалось бы -- вот тебе исходники иды ардуины, читай, смотри, но хуй, я всё равно не понимаю как это работает.
Если тут есть сишники, помогите. Как считать/записать в аналоговые порты? В даташите ничего не нашёл. Явных примеров там точно нет.
http://www.embed.com.ua/raznoe/atsp-mikrokontrollerov-avr-na-paltsah/
http://www.texnic.ru/books/mk/008.html
Тут лучше всего описано, нам этом же сайте отличные статьи по таймерам и ШИМ:
http://maxembedded.com/2011/06/the-adc-of-the-avr/
Ананасы, купил себе вот такую хуйню (433мгц ноунейм приемник-передатчик) и теперь не могу понять - а как ею данные передавать? "Официальный" сайт (по крайней мере больше ничего не нашел) ссылается на https://github.com/sui77/rc-switch. Тут какая-то непонятная либа, протоколы какие-то, форматы. В-общем я нихуя не понел - эти приемо-передатчики имеют какой-то определенный формат данных или передачик втупую принимает на входе данных биты, модулирует, отправляет? У самого пердуины нет, чтобы потестить, работает ли оно хотя бы с примерами из этой либы, портировал функции для передатчика на stm32 - нихуя не работает (по крайней мере на 433 мгц в анализаторе спектра нихуя нового нет)
>или передачик втупую принимает на входе данных биты, модулирует, отправляет
Зис. Поэтому и нужна либа с какими-нибудь протоколами, чтоб передавать/принимать комманды и сообщения.
Так у меня, постом выше, десяток таких, только времени чот нет поковырять. Осенью займусь. Хочу замутить десяток датчиков температуры/влажности почвы в корпусах от китайских фонариков с солнечной батарейкой. Буду с огорода телеметрию собирать.
>китайских фонариков с солнечной батарейкой
У самого валяется штук 7, отдал знакомый после того как их залило дождем, так там вроде полтора вольта и ток никакой, а эта штука хавает 115 mA при передаче + ток для датчика и МК с минимальны питанием периферии: I2C, SPI, таймер, пара GPIO и т.д.
> 115 mA при передаче
Аккум поставлю, степ-ап и передавать будет раз в два-три часа, нахуя мне непрерывно мониторить?
>Что делать аноны?
Не ебать себе мозги и купить GPIO експандер типа PCF8574, если у тебя не хватает ног.
Ой не, я пгт живу, с али заказывать долго, я уже кнопочки и резисторы заказал.
Я тут подумал, а что если из старой клавиатуры вытащить микросхему и подключить к ардуино?наверно так и сделаю
тоже вариант
ИДЕ - днище, но мне понравился синтаксический сахар в ней (digitalWrite, pinMode - вот это всё).
Как можно утащить из ардуины дефайны всего этого добра и писать/собирать без ИДЕ?
Я на маке работать хочу. Винда есть конечно, но она для игорей.
А ещё у меня платиновый наверное вопрос. Поставил левые фюзы, починить можно?
В тини85 попали дефолтные фюзы от мега8: -U hfuse:w:0xd9:m -U lfuse:w:0x24:m
Насколько я понимаю, самое страшное что я отключил RESET. Ещё тактовый генератор внешний попросил.
Программатор у меня только USB ASP, avrdude с ним читает нулевую подпись и отваливается.
Мк работает, диодиком мигает раз в несколько минут, лол. Выкидывать?
Т.е. по сути единица на входе = передает что-то в эфир, ноль = не передает? Вообще заебись только вот схуяли я нихуя не вижу при просмотре спектра =(
>>284951
Я вот собирался покупать такое, но подумал, что 2.4Ггц сильно засраны (даже роутер иногда глючит по вечерам) и купил самый простой 433мгц. Оказалось, что 433 мгц уже давно засраны сигнализациями.
В целом этот nrf24 для хоум датчиков - не лучший выбор, ибо поддерживает и прием, и передачу (что не нужно и только мешает), скорость передачи тоже не важна, растояние - меньше, чем 433 Мгц, энергопотребление - далеко не самое маленькое.
>Код, который я пишу в среде Arduino, можно залить в любой микроконтроллер? Или его я смогу залить только во всякие Atmega328 и Atmega8?
Или эти ISP программаторы на основе Arduino, которые я нахожу в интернете, подразумевают, что я заливаю прошивку, написанную на "чистом" Си? Написанную не в среде Arduino?
Надо было мегу брать.
имею вопрос коммерческого характера. сколько может стоить написать (и отладить по удаленке) скетч?
задача несложная: ардуино нано читает строки бмп файла с SD карты и выводит в SPI интерфейс с максимально возможной скоростью
1 цыпляеш все сенсоры и лсдф, запускаиш
2 меряиш потрибляемый от батарейки ток
3 щитаеш
4 прафит!
Через vs1838b читаю код кнопки включения телевизора на пульте - rc6: 1000C
Но когда я передаю его через ик-диод на телевизор - увеличивается громкость.
В чем может быть проблема?
И еще при одновременной работе vs1838b и ик-диода на vs1838b никакие коды с этого самого диода не поступают (диод передают, телевизор ловит), при том что с пульта он кое-как принимает сигнал.
Благодарю.
Я кстати решил проблему:
void loop() {
for( int i=3; i<=40; i++) {
irsend.sendRC6(0xC, i);
Serial.print(i);
delay(1000);
}
Дело было в битах, обычным перебором и выводом в консоль, я увидел, сколько именно мне нужно - 20.
Благодарю. И ещё вопрос. Камеры для дуньки насколько я понимаю, выводят только на RCA?
RCA? Atmega328?
В лучшем случае серийный/TTL/UART/как там его с 1 кадром в 5 секунд и 800*600.
Но может я, конечно, чего-то не знаю.
А, али ещё I2C показывает, что в принципе те же яйца.
Не совсем, где-то видел модуль камеры для дуньки, где дуня только делает вкл/выкл, а видеосигнал идёт отдельно на тюльпаны.
L298 не подходит для шаговиков, для них нужны специальные драйверы. А с этим не еби мозг себе и людям
для начала погодную станцию с дисплеем замути
или вот Nano, она маленькая. ProMini не бери - там нету USB-ТТЛ преобразователя. Они - только для готовых устройств: к примеру отлаживаешь на Nano, щьешь прошивку потом в ProMini и в корпус оформляешь.
Круто, что это вообще работает. Когда столько много проводов в бред борде, обязательно хоть один контакт отойдет и вся махарайка фурычить перестанет.
Так что запаивай теперь все это на макетку или травленую плату как можно компактнее, и закажи у ближайшего 3Д-печатника корпусок четко по размерам. Вот тогда можно и поздравить себя с готовым проектом.
да, видимо что бредборда новая совсем, потом, может расшатается. кстати, у меня этот старый 10x1 LCD от МЭЛТ (по-моему) не захотел работать как 10x1 - выводил всего 5 символов. заработал когда я его инициализировал как 5x2. Ну и печатать буфер надо соотв. в 2 команды по половинкам. такой вот прикол от производителя)
для готового устройства закажу OLED и часы реального времени, маленький 200 mh LiPo и платку зарядки к нему от микро USB чтобы уж совсем хорошо было. спасибо за отзыв.
хочу зделоть что-то похожее на OleDuino по стилистике: часы, температура, влажность, будильник, заряд аккумулятора, сигнал по минимальной температуре - "закройте окно!"
Есть курятник и несколько десятков кур, которые несутся в некотором количестве гнезд (закрытых с 5 сторон домиков). Надо собрать статистику, сколько каждая кура сносит яиц, или хотя бы сколько раз заходит в определенное гнездо и сколько времени там проводит.
Думаю окольцевать всех пластиковыми кольцами с заклеенными внутри RFID-метками, такими как подкожно собакам вживляют, а в гнездах поставить считыватели. Изолировать гнезда фольгой друг от друга, чтобы не считать случайно соседних.
Взлетит ли такой вариант? Не уверен только, что бывают считыватели, уверенно работающие на относительно большой дальности 25-30см от метки. С другой стороны, пищалки в магазинах ведь и большим радиусом обладают. Или это не из той оперы?
пищалки в магазинах самые дальнобойные магнитно-акустические вроде
Можно реле использовать.
Чому?
Начни с даташита на ATmega328p а через 20 страниц обратно забей на пару лет.
Не слушай этих.
Дучше всего начать с копипаст махараек чьих то и их апгрейда и допиливания.
Идешь на instructables.com, пишешь в поиск arduino и ищешь что то интересное, собираешь, модифицируешь. Это и по фану и с мертвой точки сдвигает.
Хочу сделать измеритель емкости как на видео https://www.youtube.com/watch?v=qtws6VSIoYk
но слабо понимаю куда что.
Конкретно не уверен где какая нога у мосфета, что такое D10 на схеме и что значит земля на схеме. Это значит где земля соединить общим проводом?
Все, увидел. Gate мосфета идет на десятый цифровой пин.
>прилично греться.
Интересно, сопротивление этих резисторов зависит от температуры?
Если так,то получается что измеритель емкости будет врать.
https://www.youtube.com/watch?v=QF4zdmhvTu0
Вот тут автор сравнивал с китайской литокалой, результат почти одинаковый.
https://2ch.hk/po/res/23263797.html (М)
Тлен? Безысходность?
Почему нет-то?! Каким-нибудь преподавателем в какой-нибудь кружок - детям мозги засирать любовь к электронству прививать.
Але дядя, в пидорашке нет места хардвейр стартапам, потому что люди нищие и никому нихуя не надо.
Тут даже один успешный ардуинщик свою пасту репостил, как оно большому начальству большие далары на контроллерах сэкономил, заменив фирменную йобу по несколько килодаларов на велосипед из пердуин.
>большому начальству большие далары на контроллерах сэкономил
Нет слаще чувства для холопа, чем угодить барину.
Он тут свой батхёрт описывал в работоэлектронике треде. Теперь никаких баринов, западло.
Смотря какой протокол данных принимает сервер, и через какое оборудование выходить в интернеты
на али покупаешь столько сегментов самих циферок бл сколько тебе нужно, а дальше хоть на километры делай
главное правильно соедини
>А вот тут просто за гранью реальности.
передает видеосигнал по антенне?
Это уже века два обычная вещь
html + js для обновления данных + немного стилей
У тебя в веке сколько лет? Радиосвязь искровыми передатчиками в начале прошлого века началась, и ста лет еще не прошло. А движущееся изображение в радиоканал запихали и вовсе во второй половине сороковых.
Можно ли и как запилить - чтоб ардуина определялась, как клавиатура, желательно юсб?
>определялась, как клавиатура, желательно юсб
это называется HID (Human Interface Device)
>чтоб ардуина определялась
Это нужна Arduino Leonardo/Micro/Pro Micro - в них контроллер atmega32u4, в котором нативная поддержка USB, а в Arduino IDE есть для них примеры, где они прикидываются клавиатурами.
Будто это идея, как подключить клавиатуру к ардуине, а мне надо, чтоб комп дмал, что ардуина это клавиатура.
Ну если ты не хочешь делать по человечески через usb на 32u4, и не хочешь приложить малейших усилий, чтоб написать/переписать/найти эмулятор ps2 устройств ввода, то можешь сразу забить на созданеий своей еботы по распознаванию жестов, ты просто поверхностное ленивое хуйло и у тебя ничего не получится, даже если тебе дадут готовые исходники, которые надо просто скомпилировать.
Там ты прав, но если не можешь нагуглить arduino uno as ps/2 keyboard, то котик выше более прав, чем ты :3
Алсо, посоветуйте ньюфагу каких-нибудь статей-книг чтобы понять азы того что вообще происходит.
Вставь в другой усб.
>>287580
Не, ну хуле кидать мне ссылку на гугол, типа я тупой, а там по факту не то что мне надо, а наоборот. Затем, когда я намекаю вежливо на это меня называют хуйлом и говорят сами гуглите смешное. Какая то левая хуйня, не? Не знаешь ответа - не отвечай в вопросатредах. Ведь так то можно и на кандидата наук нагуглить, даже на аллаха, если осилить.
Я уже вставлял во все юсб, на разных пк и разными кабелями. Попробовал ресетнуть от своей же земли, что-то нихуя. Кароче, если она до сих пор мигает лампочками, но не читается, какая вероятность что пизданулась она из-за меня? Это ж даже блядь не моя плата.
Посмотрел что можно сделать самопальный мокап, типа захват движений. К сожалению в статье где это описывалось отсутствуют подробности. Что-то вроде 8 узлов на теле человека, по 2 на каждой конечности. В каждом узле mpu6050 + esp8266, то есть передаются изменения координат с каждого такого узла. Но я совершенно не понимаю как связать между собой датчик и модуль wifi, как их вместе питать и чем питать? На каждый из узлов по аккумулятору? Как заставить их работать вместе? И как должен выглядеть прием этих координат, сама ардуинка должна принимать их?
Подскажите как в общих чертах все это должно выглядеть с технической стороны. Чтение туториальной книжки по ардуине не особо поспособствовало пониманию.
>В каждом узле mpu6050 + esp8266
Лучше использовать один ESP32 на все датчики, ESP8266 это считай альфа версия ESP32, в котором уже 2 ядра на общей частоте 80/160/240 MHz, в 3 раза больше оперативной памяти, есть блютуз 4.2, в 2 раза больше GPIO, АЦП больше 1 вывода и он 12 бит, а не 10 + еще всякие плюшки в виде тач сенсоров, езернет MAC интерфейса, CAN шини и нормально работающий UART/I2C.
Подключаешь к ESP32 датчики, считываешь с них данные по I2C или SPI и передаешь по WIFI куда тебе надо в любом формате, на самом деле вообще нихуя сложного, все это можно слепить из готовых примеров. Лучше сразу писать код, используя ESP-IDF а не Arduino, в котором старый SDK, причем, скорее всего, без RTOS, который очень удобен для "мультизадачности" в виде считывания данных с кучи даччиков + обработка + отправка. Чтоб оно просто считывало и отправляло данные, например в JSON формате, работы на 1-2 вечера, если умеешь писать на C под контроллеры типа STM32 или того же ESP8266.
>"мультизадачности"
Кстати с 2 ядрами она становится реальной мультизадачностью, потому что ты можешь делать считываение датчиков на одном ядре, а передачу по WIFI на другом.
Чуть не забыл самое главное, на ESP32 можно залочить прошивку от считывания (ключ хранится в памяти самого ESP32 в участке защищенном от чтения, а прошивка зашифрована AES-256 на SPI памяти модуля), чего впринцыпе нельзя сделать на ESP8266, потому что у него нету участков памяти с защитой от чтения.
>сама ардуинка должна принимать их?
тебе не нужна ардуинка, esp сам по себе контроллер с небольшим набором gpio в том числе i2c и spi.
Все это конечно прикольно, но под есп32 нет arduino ide, а значит хрен подключишь датчики, дисплеи и прочую периферию, просто скачав готовую библиотеку.
Именно благодаря интеграции в среду ардуинщиков есп8266 получила такую народную популярность.
Ну и цена - 32битная версия все еще в 3-5 раз дороже. Поэтому, если тебе в проекте нужен нормальный АЦП - покупаешь есп8266 + ads1115, и выходит дешевле чем одна есп32.
>но под есп32 нет arduino ide
Ты че, рофлишь, не можешь вбить в гугол "esp32 arduino ide"?
https://github.com/espressif/arduino-esp32
>в 3-5 раз дороже
Вобщето в 2,5 раза, если судить по ценам на али.
Насчет библиотек, это не является проблемой, если либа написана на чистом Си, ее можно изи использовать с любым контроллером, только надо переписать вызовы I2C/SPI/UART/ADC или чего там используется, а это несколько строк.
В Arduino IDE может и не работает, потому что они раннюю версию SDK используют (кстати для ESP8266 у них тоже SDK годичной давности). Многозадачность для Arduino IDE может никогда и не появится, потому что челик, который портировал ESP8266 SDK в IDE писал, что почти весь код завязан на non-OS SDK и переписывать его для RTOS он не собирается. Поэтому лучше сразу использовать ESP-IDF с RTOS в котором фиксят баги и делают оптимизацию.
>лучше сразу использовать ESP-IDF с RTOS в котором фиксят баги и делают оптимизацию.
Забыл в каком треде ты это пишешь? Ардуино или смерть!!
Тому типу с датчиками точно не вкатит ардуино иде для есп8266 хотя бы из-за отсутствия RTOS, которая нужна для обработки данных с приемлемой скоростью.
>покупаешь есп8266 + ads1115, и выходит дешевле чем одна есп32
Чет кек, на самом деле выходит по цене как раз esp32 +/- 20 руб, только esp32 лучше, быстрее и не сыпет мусор в UART при старте + I2C нормально работает слейвом на 400кГц (про стабильный слейв esp8266 в ардуино иде можно и не мечтать, даже на 100кГц).
Я ничего в этом не понимаю. Есть ардуино, датчики и wifi модуль. Можешь диапазон цен назвать?
>Он сам всё сделает.
Все кроме нормального АЦП, потому что в нем всего один ввод 10 бит 0-1В ОДИН ВОЛЬТ КАРЛ
А какая разница, сколько там вольт? У атмеги тоже 10 бит АЦП. Что толку: референс хоть 1в, хоть 2в, хоть напряжение питания, а значений все-равно 1024. К 1в все адаптируется простым резисторным делителем и меряй что угодно, хоть Аллаха, но в разрезе 1024 значений. Вот было бы в дешевых МК хотя бы 12 бит АЦП - было бы интереснее.
>А какая разница, сколько там вольт?
С помехами при таком низком напряжении ты видимо не имел дела.
>Вот было бы в дешевых МК хотя бы 12 бит АЦП - было бы интереснее.
У STM32 даже в младшой линейке (STM32F030 за 25-30 руб) АЦП 12 бит.
>DHT22
Зачем использовать этот устаревший убогий хлам с огромной погрешностью. К тому что в даташите написано смело прибавляй еще пару градусов, сам сталкивался с тем, что два датчика показывают температуру с разностью почти в 4 градуса, про влажность я вообще молчу. За ту же цену есть человеческий HTU21D, а если докинуть еще 20-30 руб, то можно взять охуенный SI7021 с защитной пленкой из каптона (степень защиты IP67).
>Многозадачность для Arduino IDE может никогда и не появится, потому что челик, который портировал ESP8266 SDK в IDE писал, что почти весь код завязан на non-OS SDK
Что это значит на практике? То что скетч загруженный через arduino ide будет выполняться всегда одним ядром, а вайфайные функции другим ядром? Или опять все через жопу, и эти два потока будут конкурировать за одно ядро?
Скорей всего на одном ядре с частотой 80/160 МГц, потому что для запуска процесса и управления им на втором ядре необходим RTOS.
Ты и сам это можешь сделать, даже школьник младших классов на это способен, это же ссаная Arduino IDE для мартышек с кучей примеров, из которых можно копипастить куски и лепить свой гениальный монструозный проект:
https://learn.sparkfun.com/tutorials/htu21d-humidity-sensor-hookup-guide/htu21d-library-and-functions - скетч с простым чтение датчика
https://home-assistant.io/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/ - отправка данных с датчика по MQTT , там есть примеры для DHT22 и BME280.
Когда что-нибудь не получится, приходи, спрашивай тогда.
Что для этого нужно?
Ардиуна
Днищенсике моторы http://i.imgur.com/76hRTM3.png
Гироскоп L3G4200D или такой MPU6500?
А стенки буду находить ультразвуком или лучше ик? и сколько сенсоров нужно?
Что еще к этой херне нужно? мотор шитлд или парой транзисторов можно обойтись?
Двач, спасай или тыкай носом в готовые гайды
Ох уж этот юношеский максимализм.
Ты представляешь насколько это сложно? Ты забьёшь в первый же день.
Самое сложное - это ориентироваться в пространстве, определять, куда можно ехать, куда нельзя. Ардуины не хватит для этого, даже не пытайся. Распберри пай - это самый днищеминимум.
>Распберри пай - это самый днищеминимум.
(И куча работы, тянущей на кандидатскую диссертацию даже при использовании готовых алгоритмов с гитхаба.)
> определял где слишком низкий уклон, а где слишком высокий пропасть и неподъемная горка
>Гироскоп L3G4200D или такой MPU6500?
Лол, определять пропасть гироскопом это прямо 10/10. Т.е. он будет понимать это только ПОСЛЕ того, как начал в эту пропасть падать. Очень русский робот получится.
Анончик, код, который написан для ESP8266 совместим с ардуиной, можно сделать, чтобы данные отправлялись не напрямую с ESP8266, а через ардуино?
Впринципе совместим (чтение датчиков), но нахуя тебе ардуина между датчиками и есп?
Неужто у ЕСП не остается ни одной лишней ноги, чтобы повесить реле?
На ESP полно ног. Вешай.
Вот я себе делал поиграться.
Забил все доступные ноги.
Получается всего доступно 7 GPIO (если переключить память в режим с двумя ногами - DIO, то прибавится ещё 2, но у меня не получилось)
И 1 ADC (у меня на нём фоторезистор)
И ещё DHT11 я подцепил на GPIO12 и что это за пин я уже не помню. Если тоже GPIO, значит их 8 всего доступно.
Но там есть подводные камни, что некоторые из пинов в момент старта надо подтянуть к земле или питанию.
В общем сразу не паяй всё, сначала тестируй.
А, да, ещё же там реле. Значит там 8-9 GPIO ног.
В общем я запутался. Сам разберёшься. Но и реле и фоторезистор и датчик температуры, всё там работает.
У меня такой ecp https://ru.aliexpress.com/item/ESP-01-ESP8266-serial-WIFI-industry-milestone-agent-Supply/32354228582.html?spm=a2g0v.search0104.3.25.2zjxrH&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10065_10151_10068_10301_10136_10137_5360011_10060_10155_437_10154_10056_10055_10054_10059_303_100031_10099_10103_10102_10169_10052_10053_10142_10107_10050_10051_10084_10083_10119_10080_10082_10081_10110_519_10111_10112_10113_10114_10182_10078_10079_10073_10120_10189_10127_142_10125-10120,searchweb201603_16,ppcSwitch_4&btsid=c8282eca-aee3-4ab9-b86f-5a0e9880b395&algo_expid=b1d4237d-5525-4844-93a7-df3749f0f94e-6&algo_pvid=b1d4237d-5525-4844-93a7-df3749f0f94e
На ESP-01 четыре доступные ноги - 0, 1, 2, 3. Причем нога 1 дергается при перезагрузке модуля (передавая данные для дебага), а ноги 0 и 2 нужно обязательно подтягивать к плюсу питания.
Хуёво быть тобой.
Тогда либо как ты и хотел с ардуиной, либо пикрелейтед.
Ну или разводить себе плату и отпаивать чип. Но вряд ли у тебя всё для этого есть.
Если не городить программатор на той же плате что и прибор, то получается 11 свободных gpio (не трогая флешку)
Я уже готов от всего отказаться, лишь бы температуру удаленно контролировать и светом управлять.
Вот GPIO2 у тебя вообще свободный. С него температуру читай.
А GPIO0 через 10к резистор подтяни к питанию и туда же управление реле.
Я думал у тебя там датчика 3 и пару кнопок ещё надо.
Во-первых GPIO2 тоже надо подтягивать к питанию, иначе скетч не запустится, пик релейтед
Во-вторых если к подтянутому к питанию пину подключить реле, то оно будет кратковременно включаться при перезагрузке контроллера, независимо от того, что написано в скетче. Это может и не быть проблемой, но все равно не полезно для здоровья релюхи и подключенной к ней нагрузки.
В-третьих 10к подтяжки слишком велики для 3.3в логики и при малейших наводках могут не сработать, рекомендуется использовать 1к-3к
Тоже так делал, пока на али не завезли человеческие ESP8266-12F со всеми разведенными ножками, экраном и переразведенной усиленной PCB антеной.
Я не он но чищу их длинногубцами с косой насечкой и классическими бокорезами с твердосплавными напайками. Длинногубцы держут и отмеряют требуемую длину, бокорезы стягивают изоляцию.
Нужно обдвачеваться на тему самопальных робопылесосов, спиздить алгоритмы и слепить их в кучу.
а если две ардуины
Как я понимаю один можно поставить под ~30градд относительно плоскости, если сенсор не видит рядом земли, то пизда пропасть ->повернуться в сторону. (может еще парочку по бокам чтобы определять в какую сторону ворочаться). На это ардуина не способна? Я же не карту местности буду строить
>ты просто еще не понял почему.
Ахуенный ты экстрасенс, можешь определить чего я понял, а чего нет, вот бы мне так в спорах со всяким быдлом. В 12S не выведены контакты SPI памяти, которые не нужны, если не подключаешь свою внешнюю, но я брал 12F 20 штук по 75 руб, так что мне поебать. Они (E, F, S) сейчас по цене всего на несколько рублей отличаются.
И как сказал >>288373 ESP32 действительно самое то для полноценного IoT модуля с дисплеем, сенсорными кнопками и кучей датчиков, да и 240 МГц хватит больше чем на 4-5 активных вкладок в браузере в отличии от ESP8266, если там размещать асинхронный веб сервер. Мне повезло с заказом, приехала отладочная плата и 5 модулей все ревизии 1, а не 0.
>Мне повезло с заказом, приехала отладочная плата и 5 модулей все ревизии 1, а не 0.
Да ты у нас на переднем крае инноваций. Расскажи заодно, что там с этими версиями такого страшного?
Рукожоп репортинг. Попробовал на ноуте и все сразу заработало.
https://espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf
Для всех багов впринципе есть workaround, кроме самого мерзкого, который был в 0 ревизии:
>The Brown-out Reset (BOR) function is not functional. The system fails to boot up after BOR.
Тоесть контроллер не збрасывался при понижении питания и мог зависать во время запуска при плавном нарастании питания, если херовый стабилизатор.
Благодарствую, полезно будет на будущее. Подозреваю что китайцы залежавшимися платами версии 0 буду барыжить до самого выхода ESP64
Все, пока картинку искал нашел схему подключения. Вопрос отпал.
Выкинуть там часть кода к примеру или неиспользуемые железяки? Как понять что ненужно?
Не влазит в скетч.
А, вот оно что. Пойду учиться программировать.
То что не нужно, компилятор тебе в прошивку и не положит. При компиляции это проверяется.
Так что лучше возьми пердуину помощнее, раз у тебя там что-то такое тяжелое. Мегу2560 или тот же есп8266
@Unity
Алсо, от 5 В полностью не откроется, надо как минимум 15 В.
Если ток небольшой - пойдет и от 5.
Ты ебанулся? У этого мосфета gate threshold voltage по даташиту 1.7-3.0V, какие к хуям 15?
Там же шим, сгодится таким насосом поуправлять? Или он не будет регулировать скорость насоса? Вобще нужен ли мосфет к этому насосу, может можно напрямую в пердуину подключить? Или потребление велико у него для портов слишком
>а на выводах rt tx постоянно присутствует напряжение.
https://ru.wikipedia.org/wiki/Универсальный_асинхронный_приёмопередатчик
Почитать про UART хоть что-нибудь было нереально?
Достаточно включать светодиод между входом/выходом UART и питанием, через резистор разумеется.
Сгодится, только защитный диод встречно-параллельно насосу не забудь впихнуть, чтобы мосфеты индуктивностью мотора не распидорасило. Хотя может он на плате и так есть, я не вглядывался.
Напрямую в пердуину нельзя, будет волшебный серый дымок.
Три резистора и лед светодиод стоит. Помимо мосфетов. Больше ничего нет.
Анон, есть задача: сделать хуйню, которая регулярно писала бы себе в память координаты, раз в пару часов, скажем. Хуйня должна быть маленькой, и работать от батарейки разумных размеров пару месяцев. Никаких коммуникаций не нужно, лог снимать буду ручками.
Подойдёт ли для этой задачи Ардуина? Если да, то какую маленькую и экономичную с GPS Анон посоветует?
Такая хуйня называется "специальным средством негласного получения информации", ст 138 п 1 УК РФ.
Подойдет, но в пердуине постоянной памяти 1кб. Помимо жпс-модуля с антенной понадобится еще флешка.
1. Ардуина - мк с обвязкой на плате, всё?
2. На чём под него можно писать, какие есть среды, как зашивать в камень?
3. Что с ним можно сделать? Околориалтаймовая обработка изображений, или только ректальные термометры?
4. Где покупать, чтобы не переплатить и работало охуенно, чому всякие Адафруты стоят как сотня китайских поделий с доставкой, есть ли у них фишечки, за которые столько дерут?
И вот это всё.
>Почему фака нет в триде?
В гугле бисчисленное количество факов и гайдов.
1. Да.
2. Лучше всего на С в Atmel студии (компания производящая AVR контроллеры, запаянные в ардуине). Но если не собираешься в дальнейшем делать что-то серьезное, а хочешь просто поковыряться, то Arduino IDE + тонны скетчей в инете тебе пойдет.
3.
>Околориалтаймовая обработка изображений
8-битная ардуина слабовата для этого, чтоб прям риалтайм обработка, желательно STM32F4 или STM32F7 они как раз для таких задач создавались.
>ректальные термометры
Это запросто, по сути работа с любыми датчиками + обработка + вывод на дисплей + переключение реле и тому подобное для автоматики.
4. На али, там же сразу покупай проводки/датчики/дисплеи/радио модули и прочее для начинания.
1. Еще usb-ttl конвертер для втыкания в комп и прошивки без дополнительных инструментов
2. Пишется на C, есть своя примитивная arduino ide (http://arduino.cc), но можно писать и в крупных средах по С типа Eclipse или Visual Studio, а также в родной для процессора Atmel studio
3. В обработке изображений не хватит памяти для буферов, хотя на старших моделях пердуин изредка делают детектирование движения и следование за объектом, но это редкие единичные объемные проекты уровня студенческих курсовых и т.п.
4. У адафрута есть оригинальная схемотехника некоторых опциональных модулей для ардуины, которую не найти в китае. Но то что китайцы уже спиздили - работает точно так же, и стоит на порядок меньше, особенно если брать пучками по 5-10шт
Главное на камень смотреть при покупке, я так вместо атмеги 328 взял 168.
> Лучше всего на С в Atmel студии (компания производящая AVR контроллеры, запаянные в ардуине). Но если не собираешься в дальнейшем делать что-то серьезное, а хочешь просто поковыряться, то Arduino IDE + тонны скетчей в инете тебе пойдет.
В тойже Arduino IDE можешь на Си писать.
Сравнил хуй с пальцем. Пердуино иде это по сути блокнот с кнопками компилировать и прошить + она подразумевает использование их уебанской тормозной надстройкой над Си под названием Wiring, я б на самом деле постеснялся это поделие называть IDE. Atmel студия другое дело - самое главное есть отладчик, можно останавливать программу и смотреть значения регистров процессора и переменных, есть настройки компилятора, да блять дохуя всего полезного, впадлу даже перечислять, все равно продолжишь жрать ардуино говно.
На восьмибитные МК обычно и не пишут ничего настолько сложного, чтобы надо было так тщательно контролировать и дебагать.
Если у тебя программа средней сложности с несколькими интерфейсами и событийными моделями, написанная с использованием хотя бы конечных автоматов, то ты охуеешь ловить баги без инструментов отладки. И что значит "настолько сложного"? Определение лица на изображении, обработка звука, работа с алгоритмами для обработки аналоговых сигналов, устройство работающее в жестких рамках реального времени? Так все это делают на 8-битках, но только в нормальных IDE, где есть инструменты позволяющие "заглянуть внутрь" твоей программы, если надо ее оптимизировать/расширить/пофиксить.
Спасибо анончик, желаю тебе чтоб твои ардуины никогда не горели.
Orange Pi Prime ok
Хуйню сморозил, анон. Ты же изучаешь для того, чтобы как-то применить потом микроконтроллер? Вот под это применение компоненты и закупай, в процессе научишься. Просто так с пердуиной играться бессмысленно, это проверено множеством анонов с переполненным долгими ящиками.
>пары тысяч
>не жалко
Очень жалко. За 2-3 полезных модуля суммарной ценой рублей в 50 и кучу бесполезного хлама.
Дело говорит. Я сперва проект придумываю, затем смотрю что для него закупить а потом уже заказываю.
Зачем нужна куча ненужных датчиков у которых принцип работы со средой пердуины одинаковый я не понимаю.
Аналог и цифра одинаковые, чего там учить то собираетесь?
Сенсор кит - прост копеечная пачка датчиков, много места не занимает, зато не придется ждать 2+ недель доставки, есликогда понадобится какая-то мелочь типа ir-приемника.
Стартеркит вообще огонь - мне в дело уже и ir-пульт пошел (переключаю им vpn серверы на orange pi лол) , и реле, и с rc522 поигрался.
Этого обычно достаточно чтоб понять, надо тебе этим вообще заниматься или нет. А как вкатишься - можно уже и ПОДБИРАТЬ ПОД ЗАДАЧУ
Я чот хз даже, это серьезная инвестиция, нужно взвесить все за и против, под проект брать.
бери несколько, больших и средних. Провода с терминалами dupont, с ними меньше проблем, чем с кругленькими. Ну и источник питания пару штук
Ну я вот себе дорогой белый купил без всяких маркировок, в него вообще ничего не вставляется. Толи брак толи я не знаю.
Потом купил дешевый с али, где отмечены + и - и всё влезает.
НО! Очень часто пропадает контакт. Я на NE555 собирал схему, она то работала, то нет, причём 10 раз не работает, 1 работает, и остаётся надеяться, что это контакт.
Потом всё спаял, и всё заработало стабильно.
Или транзистор проверяешь, светодиод к нему подключаешь, и он то тусклее то ярче горит в зависимости от положения компонентов.
Ужасная хуета.
Но всё же для проверки всяких транзисторов с светодиодами подойдёт. Не сложнее.
>НО! Очень часто пропадает контакт. Я на NE555 собирал схему, она то работала, то нет, причём 10 раз не работает, 1 работает, и остаётся надеяться, что это контакт. Потом всё спаял, и всё заработало стабильно.
Это фича всех бредбордов. Дело в том, что собирать схемы для пердуины слишко легко, и поэтому сиятельный Джереми Блюм завещал добавить немного геморроя в свою жизнь, дабы соблюсти вселенский баланс хаоса и порядка.
Двач дай мне кусочек кода который демонстрирует как подцепиться с ардуины через ESP выполнить какойнибудь http запрос и получить ответ.
Спасибо. Я промучался порядком дохуя мануалов как прошивать еспшки, а вот чот не могу найти самого протого.
Ты че, рофлишь? Для вас же ардуинодетей сделали говнолибы для работы с ESP прямо в ардуино иде и выложили кучу скетчей там же.
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/HTTPSRequest/HTTPSRequest.ino
Вот тебе самые простые, проще разве что лампочкой мигать:
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClientBasic/WiFiClientBasic.ino
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClient/WiFiClient.ino
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiWebServer/WiFiWebServer.ino
Ого, за две тысячи вот уже сторублевое реле использовал и пульт за полтинник. Так нахуй остальная то куча хлама?
Не надо, для тупых вопросов есть ньюфаго-тред
Макетка, провода, мего2560, lcd, семисегментники, led-матрица, rfid, ultrasonic, шаговик, серво, кнопочки, энкодер и 37 датчиков, которые уже не нужно обпаивать всякой обвязкой. Ну не задавай глупых вопросов, а? Мне в оффлайн магазин за каждой чепухой теперь бегать? Тем более у большинства из этих магазинов идиотский график работы, а от цен в чипдипе тебе и самому наверное припекает.
Добавь к запросу "pdf" или "datasheet".
>Atmel студия другое дело - самое главное есть отладчик, можно останавливать программу и смотреть значения регистров процессора и переменных, есть настройки компилятора, да блять дохуя всего полезного, впадлу даже перечислять,
Чтож ты падла про необходимость hw программатора-отладчика умолчал?
Если ты ничего не писал сложнее моргания светодиодом посредством delay, то это не значит, что на 8-битниках не нужна отладка. А потом вопли в сети "ниработает дисплей", "хули датчик не отвечает" и т.п. а ему в ответ "ну попробуй вот этот скетч, может поможет".
Мало того, я умолчал, что необходим оригинальный программатор от Atmel, потому что китайские работают с древней студией 5 версии. Что поделать, микроконтроллеры это боль.
хотя я придумал уже сам всё беру ставлю щюп мультиметра на место где матрица присоединяеться к клавиатуре и и где она кончается с другой стороны и по визуальной памяти вспоминаю где какие кнопки, воощем всё уже ненадо
>Определение лица на изображении, обработка звука, работа с алгоритмами для обработки аналоговых сигналов, устройство работающее в жестких рамках реального времени?
Для всего этого есть STM32, на атмегах тупо будет не хватать памяти для этих задач. Ардуины это про то чтобы щелкать релешками по таймеру и какому-нибудь датчику. Не рационально их насиловать чем-то большим, когда более производительные МК с нормальным софтом уже не стоят на порядки дороже.
сука ни одна либа не рабочая
/home//Arduino/_11/_11.ino:24: undefined reference to `DHT::DHT(unsigned char, unsigned char, unsigned char)'
/tmp/cc3yxrLt.ltrans0.ltrans.o: In function `setup':
/home//Arduino/_11/_11.ino:30: undefined reference to `DHT::begin()'
/tmp/cc3yxrLt.ltrans0.ltrans.o: In function `loop':
/home//Arduino/_11/_11.ino:39: undefined reference to `DHT::readHumidity()'
/home//Arduino/_11/_11.ino:41: undefined reference to `DHT::readTemperature(bool)'
/home//Arduino/_11/_11.ino:43: undefined reference to `DHT::readTemperature(bool)'
/home//Arduino/_11/_11.ino:52: undefined reference to `DHT::computeHeatIndex(float, float, bool)'
/home//Arduino/_11/_11.ino:54: undefined reference to `DHT::computeHeatIndex(float, float, bool)'
collect2: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Ну чтобы питать не отдельно ардуинку и драйвер,а подключить какой нибудь аккум к бредборду, и джамперами уже питать их.
Хорошо, гляну.
>>292705 (OP)
Господа, все гайды на микроконтроллеры основаны на atmega8, но ныне она не продается. На али торгуют atmega8-16pu, она подойдет мне или же она чем-то принципиально отличается? И Во-вторых, если я приобрел программатор для atmega8/atmega48/atmega88, то будет ли он работать со, скажем, atmega8a (количество и расположение ножек идентично atmega8)
И в-третьих, можно ли в принципе шить на программаторе с 14 отверстиями микросхему со, скажем, 10 ножками?
Извиняюсь, если спрашиваю платину.
Тут все детально описано про распознавание лиц:
http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2011/bjh78_caj65/bjh78_caj65/index.htm
>Будто в STM32 хватит памяти хотя бы под один кадр.
Можно повесить SRAM на FSMC и гонять через нее данные с помощью DMA.
А у AVR есть XMEM, на который тоже можно повесить память, хотя придется городить переключаемые банки. STM32 в этом плане отличается только тем что банки не потребуется переключать, все будет в едином адресном пространстве.
https://github.com/elechouse/VoiceRecognitionV3 - еще одна либа с запоминанием распознанных комманд.
https://github.com/openmv/openmv - либа для STM32 с распознаванием цвета, лица и еще некоторых вещей (использует микропитон для загрузки скриптов, но я успешно переносил основное ядро без этой надстройки в свой проект). Ее можно легко прикрутить и на ардуину, да будет 1-2 фпс, но оно будет работать.
https://www.youtube.com/watch?v=SdQF5JI4kzU
>The library utilizes a special algorithm to enable speech detection. First the complexity of the signal is determined by taking the absolute derivative of the signal multiplying it by a fixed point saclar and then dividing it by the absolute integral of the signal. Consonants (other than R,L,N and M) have a value above 40 and vowels have a value below 40. Consonants, they can be divided into frictaves and plosives. Plosives are like p or b whereas frictaves are like s or z. Generally each band of the complexity coeficient (abs derivative over abs integral) can be matched to a small set of frictaves and plosives. The signal determines if it is a plosive or a frictave by watching the length of the utterance (plosives occur over short periods while frictaves over long). Finally the most appropriate character is chosen.
Чёт проиграл с этого NOVEL ALGARITM FOR SPITCH RICAGNITIAN!!
Надо к такой камере ещё орудие и систему наведения под массу орудия. Это же автопушка будет!
С покупки УНО на али.
Ну и еще требухи немножко: светодиодиков, бредборд с проводками, сервопривод, ds18b20, пару реле, экранчик.
Если есть деньги, то сразу кит требухи бери бачей за 50. На полгода хватит. Ну и нано парочку по сотке закажи, для готовых изделий.
Закажи пердуину и esp8266, и к ним модули электромагнитных реле, твердотельные реле, моторы с редукторами, шаговые двигатели, электроклапаны, gsm модули, дисплеи, семисегментные индикаторы, mp3 модули с динамиками, датчики движения, температуры, влажности и освещенности, 12В и 5В сетевые адаптеры, повышающие и понижающие преобразователи, контроллеры заряда батарей, сами батареи li-po и li-ion.
Также закупи электронных компонентов, чтобы доводить до ума тупорылую схемотехнику китайских модулей - резисторы/транзисторы/конденсаторы/диоды/индуктивности/оптопары/стабилитроны/предохранители. Скорее всего понадобятся органы управления - кнопки, микрики, энкодеры, светодиоды, тумблеры, интерфейсные разъемы.
Ну и не забудь про то, чем собирать все это дело воедино - набор для пайки, набор для травления плат, обычный набор инструментов электрика. Заимей все это, и добро пожаловать в махарайство.
Он же спросил с чего вкатится. Нахуй ему столько хламу сразу (хотя не спорю, все это надо, но не сразу)
Пока всё собрано на соплях и проводках, хочу переделать на нормальную пайку на двухстороннюю макетку, но что если не поможет?
На пике осциллограмма по питанию, вся система запитана от лабораторного блока CPS-3205. Видна просадка с 13 до 10 вольт на каждом включении катушки. Но блять на дуине же стабилизатор AMS1117 стоит, ему же должно быть похуй?
Вообще как понять из-за чего происходит сброс МК?
>Но блять на дуине же стабилизатор AMS1117 стоит, ему же должно быть похуй?
Ну так посмотри 5 вольт с его выхода, хули ты
Вероятно просадка сильно больше, чем показывает твоя игрушка, стилизованная под осциллограф. Въеби конденсатор после AMS1117, например 6.3в/1000мкф
ОК, сделаю.
>>294133
Сомневаюсь, на таких смешных частотах он нормально работает. И я проверял на генераторе сигнала, и в инете народ тестил. Кондёр воткнуть попробую, но он там и так есть.
Вопрос, есть какой-то способ понять, что именно привело к ребуту МК?
На пике осцилограмма с затвора полевика. Может этот обратный пиздос от катушки ребутить атмегу?
Запили опторазвязку управляющего выхода от транзистора. Попробуй разное питание дуины и катушки.
У меня подобная хуйня иногда бывает с таймером, что я запили жене на уф сушилку ногтей. Когда газоразрядная лампа включается, моргая, дуину глючит.
>Запили опторазвязку управляющего выхода от транзистора. Попробуй разное питание дуины и катушки.
Разное питание не хотет, девайс должен работать от аккумулятора машины.
Я не вообще, а для пробы. Чтоб понять откуда ноги растут.
По мне так это может:
1)питание (протесть разным)
2)управляющий контакт (опторазвязка)
3)НЕХ в виде ЭМ излучения вблизи с катушек и прочей хуйни. Ведь даже в тазах в трамблере всякие заморочки и бронепровода. (Тут поможет шапочка из фольги заземленая на анус экранирование пердуины)
Правда я шкальник-гуманитарий и никаких пруфов своим высерам предьявить не могу.
Шта? Какой нахуй интерфейс, наркоман? Это TM1638 - драйвер для светодиодов со сканером нажатия кнопок (можно одновременно подключить несколько семисегментников с точкой (10 с общим анодом илбо 8 с общим катодом) и 24 кнопки), подключается к МК по I2C-подобной шине со своими китайскими таймингами
По сути в TM1638 это смесь SPI и китайского I2C (DIO и CLK - данные и клок соответственно, STB - выбор чипа), а в TM1637 только DIO и CLK.
Получается TM1638 можно поделючить сколько угодно параллельно:
https://www.youtube.com/watch?v=r8r8hdhNItU
Тупой сдвиговый регистр, на видео показаны как раз платы с вход-выход (две слева).
В ардуине для этого есть встроенная либа shift_in shift_out.
В параллель их не подцепишь.
Последовательны там только STB, а DIO и CLK запаралелены на все поделюченные платы. Бегущая строка чисто как пример, а так и можно использовать для кучи индикаторов с выводом разных значений или светодиодной матрицы.
https://www.youtube.com/watch?v=kKBITrBaLTY
я sinaprog юзаю. тот же avrdude только с гуи
а че в атмел студио не пишешь? для тинь я пишу там и через sinaprog лью хекс в тини
гугли fuse doctor.
но так должен завестись, вроде как spi не отключен. походу ты въебал внешний кварц 0,9-3МГц, зависит от того чем шил биты, они инверсные могут быть. Попробуй кварцы поприкручивать и читать чуваком. я вообще sinaprog и пердуиной тини шью.
а я вообще над зажигалкой их держу, он съеживается чутка, как раз хватает
Сегодня забрал свой пакет с СТАРТЕР АРДУИНО ПАК БАЙ ВАСЯН 228. Все, в принципе, мило, логично и понятно. Но есть один нюанс.
Можно ли сервоприводом управлять, не задавая ему необходимый угол поворота, а повернуть его, например, на +10 градусов от текущего положения?
Просто сегодня думал, что здорово было бы для обучения собрать такую хреновину, которая сама себя бы балансировала. Представлял я это так примерно
loop
Считать отклонение от оси
Если отклонение влево то
Сервопривод вправо на 5 градусов
Если отклонение вправо то
Сервопривод влево на 5 градусов
Если отклонение 0 то
Нихуя
Должно сработать?
Или я хуйни напридумывал и всякие стабилизации так не делаются?
Как поступить?
Не, я понимаю, какое значение имеет стягивающий резистор, например.
Но в случае со светодиодом то он зачем?
Сегодня пытался как-то получить аналоговый сигнал используя пикрилейтед. Методом тыка удалось следующей цепочкой:
(+ и нога фоторезистора)—(вторая нога фоторезистора и когда резистора на 10кОм)—(Вторая нога резистора и —)
И только тогда на аналоговый сигнал (при подключении к узлу со второй ногой фоторезистора) приходит адекватное значение в зависимости от освещенности.
Цели я достиг. Но до сих пор не понимаю почему именно так.
Почему при подключении просто
(+ и нога фоторезистора)—(нога фоторезистора и –) я не могу считать аналоговым входом значение напряжения просто ткнув пином в узел с минусом? По идее же фоторезистор напряжение меняет в меньшую сторону. Или нет?
Я понимаю что это пиздец нубские вопросы. Если не на словах, то посоветуйте хотя бы литературы , только чтобы понятно было, прошу!
> посоветуйте хотя бы литературы
Теория
Попов В. П. Основы теории цепей
Гоноровский И. С. Радиотехнические цепи и сигналы
Практика
П. Хоровиц, У. Хилл. Искусство схемотехники
И, естественно, нужны хотя бы базовые знания физики и мат. анализа
блин, ну если это тебе непонятно, то я не знаю тогда как еще объяснить
>По идее же фоторезистор напряжение меняет в меньшую сторону. Или нет?
Нет.
Он ток ограничивает, но не напряжение.
Вот есть у тебя 5 вольт, ты высасываешь из них 10мА и напряжение остаётся 5 вольт.
А если поставишь резистор, без нагрузки так так и будет 5 вольт, а захочешь присосаться, резистор не даст току пройти и напряжение просядет.
Это простой делитель напряжения. К примеру термистор: резистор 10кОм и термистор тоже 10 кОм (при 25 градусах), тогда в точке между ними будет половина поданного напряжения (если 5В, то будет 2.5В). Когда меняется температура - меняется сопротивление термистора и соответственно напряжение в точке между ними. Тоже самое с фоторезистором. Если не будет делителя - напряжение всегда будет 5В, а меняться будет только ток по закону Ома (I=U/R, U - постоянная величина).
Ты еще спроси зачем нужны резисторы подтягивающие вверх/вниз...
>Даже где обычное мигание светодиодом. Он же и без резистора отлично горит.
Есть риск сжечь микроконтроллер. Например атмега328 из ардуины уно по даташиту может выдать до 40мА, выше - может сгореть. Если разрешить нубасу без резистора подключать диоды, он их 3 штуки подключит, получится 60мА и однажды что-то сгорит.
Если что, вот вкратце про 3 самых распространенных способа применения резисторов в создании пердуино поделий:
http://wiki.amperka.ru/схемотехника:резисторы
Дефолтный серво привод не возвращает назад своё положение. Есть функция Servo.read(), но она просто возвращает последнее значение, которые ты передавал в Servo.write(ang). Тебе нужно ставить внешний датчик поворота, энкодер (сложно) или потенциометр (просто)
Понял, спасибо!
Я-таки нахуевертил тут кода, что добился того, чтобе серва крутилась в определенную сторону, пока есть сигнал на одном из контактов.
Аж чувствую себя не полным дауном. Спасибо, аноны.
Код, кому надо:
#include <Servo.h>
Servo serv1;
int b=93;
int I = 2;
int U = 4;
void setup() {
serv1.attach(10);
Serial.begin(9600);
serv1.write(b);
delay(20);
}
void loop() {
int val1 = digitalRead(I);
delay(1);
int val = digitalRead(U);
delay(1);
int b = serv1.read();
Serial.print(val);Serial.println(val1);
Serial.println(b);
delay(50);
if (val1 > 0) {
b = b + 3;
serv1.write (b);
delay(3);
}
if (val > 0) {
b = b - 3;
serv1.write (b);
delay(3);
}
}
Понял, спасибо!
Я-таки нахуевертил тут кода, что добился того, чтобе серва крутилась в определенную сторону, пока есть сигнал на одном из контактов.
Аж чувствую себя не полным дауном. Спасибо, аноны.
Код, кому надо:
#include <Servo.h>
Servo serv1;
int b=93;
int I = 2;
int U = 4;
void setup() {
serv1.attach(10);
Serial.begin(9600);
serv1.write(b);
delay(20);
}
void loop() {
int val1 = digitalRead(I);
delay(1);
int val = digitalRead(U);
delay(1);
int b = serv1.read();
Serial.print(val);Serial.println(val1);
Serial.println(b);
delay(50);
if (val1 > 0) {
b = b + 3;
serv1.write (b);
delay(3);
}
if (val > 0) {
b = b - 3;
serv1.write (b);
delay(3);
}
}
Сходу несколько вопросов:
1) Где инициализация портов. pinMode(I, INPUT)?
2) Ты объявил глобальную переменную b, инициализировал её значением 93, а потом нигде не используешь. Внутри loop у тебя есть ещё одна переменная b, но т.к. ты её объявляешь внутри loop, она к глобальной никакого отношения не имеет. При первом проходе loop в неё будет записано 93, но это не оче хороший стиль.
3) Зачем задержка в 1 мс между считыванием пинов I и U?
4) val1 и val ужаcные имена нигде не нужны, можно переписать в виде if(digitalRead(I))
Ну и вообще схема не очень ясна. У тебя серва замыкает два контакта в крайних положениях что ли?
Не понимать.
1) Так они ж все по дефолту инпут. Разве это не лишняя строчка в коде?
2) Да, b не нужна по сути в первой части. Не спорю.
3) Я слышал, что без задержки проблемы могут быть с зависанием. Это не правда?
4) Тут понял. Можно существенно код сократить.
Да схемы, собственно никакой и нет. Я просто пытался добиться того, чтобы серва двигалась в определенном направлении столько секунд, сколько я держу кнопку "влево" или "вправо"
А не давать команты типа 30 гр, 60 гр, 90 гр.
Толи я дурак, толи ты ничего не понимаешь.
Вот пока держишь кнопку, делаешь в коде градус+=5 и двигаешь.
В чём проблема то?
1) Да, но это плохой стиль. pinMode исполняется за несколько тактов, и только один раз при старте МК. Ты на этом ничего не теряешь. Зато гораздо понятнее код.
3) Не очень понял каким зависанием? Попробуй убери все delay из программы (кроме тех, что внутри блоков if), работать будет так же
>>294375
А ты схему уже собирал? Что-то мне кажется, что delay(3) это слишком быстро...
Измеряю напряжение между пином и землей, давая на пин высокий уровень. Около полутора вольт дает.
Во-первых измеряй без нагрузки, во-вторых на плате кроме отмеги считай нихуя и нет, в третьих если выдает хоть 1,5 вольта, то усиль транзисторами в ключевом режиме.
>Проблема в том, что значение "текущее положение" узнать нельзя.
Ты же его сам и выдаёшь. Храни в памяти значение, которое выдал.
Ты какой-то странный.
Думаю, анон имеет в виду значение, которое серва имеет при старте. Её же можно руками прокрутить.
В памяти ничего не надо хранить, последнее переданное значение возвращается ф-цией Servo.read();
Подскажите нормальную библиотеку LiquidCrystal_I2C
Суть вопроса: не взлетает китайский I2C-контроллер на китайском LCD-дисплее.
Из всего шлака, что нашел в сети, наиболее адекватным оказался вот этот пасквиль:
http://elchupanibrei.livejournal.com/27443.html
но расшифровать там написанное мне оказалось не по зубам. Именно в той части, где надо пины править: где их править-то?
Заранее благодарю!
Что за экран? Напиши библиотеку сам, они все одинаковые по сути. Для монохромных - senddata8 и sendcommand8. Для цветных senddata8, senddata16, sendcommand8.
// Запись команды в SSD1963
inline void SSD1963_WriteCmd(unsigned char cmd)
{
SSD1963_RD = 1;
SSD1963_RS = 0; //запись команды
SSD1963_PORT1 = cmd;
SSD1963_PORT2 = 0x00;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_WriteCmd
// Запись данных в SSD1963
inline void SSD1963_WriteData_b8(unsigned char data)
{
SSD1963_RD = 1;
SSD1963_RS = 1; //запись ДАННЫХ
SSD1963_PORT1 = data;
SSD1963_PORT2 = 0x00;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_Writedata
// Запись данных в SSD1963
inline void SSD1963_WriteData_b16(unsigned int data)
{
char a, b;
a = data;
b = data >> 8;
SSD1963_RD = 1;
SSD1963_RS = 1; //запись ДАННЫХ
SSD1963_PORT1 = a;
SSD1963_PORT2 = b;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_Writedata
Что за экран? Напиши библиотеку сам, они все одинаковые по сути. Для монохромных - senddata8 и sendcommand8. Для цветных senddata8, senddata16, sendcommand8.
// Запись команды в SSD1963
inline void SSD1963_WriteCmd(unsigned char cmd)
{
SSD1963_RD = 1;
SSD1963_RS = 0; //запись команды
SSD1963_PORT1 = cmd;
SSD1963_PORT2 = 0x00;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_WriteCmd
// Запись данных в SSD1963
inline void SSD1963_WriteData_b8(unsigned char data)
{
SSD1963_RD = 1;
SSD1963_RS = 1; //запись ДАННЫХ
SSD1963_PORT1 = data;
SSD1963_PORT2 = 0x00;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_Writedata
// Запись данных в SSD1963
inline void SSD1963_WriteData_b16(unsigned int data)
{
char a, b;
a = data;
b = data >> 8;
SSD1963_RD = 1;
SSD1963_RS = 1; //запись ДАННЫХ
SSD1963_PORT1 = a;
SSD1963_PORT2 = b;
#asm("nop")
//delay_us(5);
SSD1963_CS = 0;
SSD1963_WR = 0;
#asm("nop")
//delay_us(5);
SSD1963_CS = 1;
SSD1963_WR = 1;
#asm("nop")
} // SSD1963_Writedata
Вот для монохромного экрана.
void PCD8544_SendByte(char Data_Command, char Byte)
{
char i;
PCD8544_CHIP_ENABLE = 0;
PCD8544_DATA_COMMAND = Data_Command;
for(i = 0; i < 8; i++)
{
if (Byte & 0b10000000) PCD8544_DATA = 1;
else PCD8544_DATA = 0;
PCD8544_SCK = 0;
Byte = Byte << 1;
PCD8544_SCK = 1;
}
PCD8544_CHIP_ENABLE = 1;
//PCD8544_DATA = 0;
}
Во первых измерил без нихуя, на голой плате, во вторых уже похуй, заменил пердуину, в третьих алло, низкий уровень тоже усилится.
Или просто ограничитель в виде какого-нибудь штыря поставить и при старте крутить серву в одну сторону пару секунд. Встанет в 0 и ограничитель дальше не даст двинуться.
Ну ты и пердуинщик. До концевика дойдёт за 100мс, а ты предлагаешь 2000-3000мс крутить в холостую, что ведёт к нагреву.
я нупп в кодах
Скорость поменять попробуй. Подбирай
Ардуинодебил, низкий уровень имеет околонулевое значение, этого не хватит для открытия биполярного транзистора, которому требуется минимум 0.6 вольт, чтобы переход БЭ открылся.
Страдай от своей безграмотности и сори ардуинами.
все работает пропаяй контакты
библиотек полно в ней есть пример хелоу ворлд
проверь контакты как подключаешь и адрес
или найди готовый скетч поиск адреса айтуси устройств
вот айтуси библиотека и примеры
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей
void setup()
{
lcd.init();
lcd.backlight();// Включаем подсветку дисплея
lcd.print("iarduino.ru");
lcd.setCursor(8, 1);
lcd.print("LCD 1602");
}
void loop()
{
// Устанавливаем курсор на вторую строку и нулевой символ.
lcd.setCursor(0, 1);
// Выводим на экран количество секунд с момента запуска ардуины
lcd.print(millis()/1000);
}
Огромная благодарность анону из Благовещенска за тяжеленную коробку ништяков.
>Огромная благодарность анону из Благовещенска за тяжеленную коробку ништяков.
Чё? Тебе кто-то рассыпухи с двача заслал?
отпиши потом интересно
А всё, не надо, уже сам разобрался
в инете все в "simple" примерах. Хочу полностью понять, разобраться
медленно так: МОРГ-МОРГ
Да там скорее всего не с моторчика читают, а с каких то датчиков положения.
Ты лучше подумай, что дальше, после того, как тебе известна скорость и направление вращения, как ты звук то генерить будешь? Алсо, если ты нашел проект у кого то там, хули просто не повторить?
А звук генерить и не надо. Вращение моторчика будет передаваться в программу миди-сообщением, звук в программе генерируется
75 аналоговых входов (ползунки потенциометры енкодеры и кнопки прочие) потянут питание по юсб???
У меня тут случился локальный фэйл.
Хотел считывать RPM пяти компьютерных кулеров; но оказалось, что считывать датчик Холла может только один порт Ардуины. По крайней мере, во всех примерах уполно юзают именно этот порт, и в даташите только он указан под тахо. Искал модули, которые бы считывали RPM - и передавали на обычные входы ардуины - нихуя не нашлось.
Собственно, вопрос: контроль RPM от пяти датчиков Холла одновременно на Ардуине (Уно/Нано) в принципе реализуем? И если да - то каким образом?
Заранее неимоверно благодарю!
Хм, ну с точным понятно. Но там, как я и говорю, не больше двух штук можно посчитать.
>Тогда таймер + опрос ног.
Как-то совсем неточно выглядит.
Ещё тут полуркал. Вот тут https://www.arduino.cc/en/Reference/AttachInterrupt пишут, что у Микры как раз пять входов могут быть использованы для прерываний. Это действительно так? Т.е. можно будет, пусть даже последовательно, считать обороты с подключённых к этим пяти входам датчиков?
Купи готовый хуйней не страдай.
>пять входов могут быть использованы для прерываний. Это действительно так?
Хер знает, попробуй. Я вот ATtiny13 купил, плату сваял, а прерывания на PB2 не работают, а на PB1 нормально всё. Я так и не понял что происходит.
Пробуй. В теории все 5 должны работать.
Почему не точно выглядит? Заводишь таймер на 1мс, по прерыванию опрашиваешь состояния ног и меняешь флаг булевый. Смена флага - один тик.
ALO YOBA INT0 INT1 на pd2 pd3 и port change interrupt на куче пинов
выпей чаю бро
Спасибо!
На есп есть такая замечательная вещь как blynk. Ее прошьешь в есп, свой айди впишешь в код прошивки и управляй с телефона одной кнопкой. Ну и там свои сценарии запилишь как длительное зажатие кнопки для выключения к примеру.
Там любая нога может быть независимым прерыванием
Это все уже собрано, порты поменять не проблема
Что я сделал не так? Может это быть из-за плохих контактов, или просто не хватило мощности?
Как сделать так, чтобы оно заработало? Есть ещё 4 штуки
Ну зеленый это же аналоговый, а я на пик посмотрел, у сервопривода помимо + и - тоже аналоговый провод.
Ебать я долбоёб братишка
Хорошо, спасибо.
Ещё вопрос, как в скетче обозначается порт? Если я подключаю к D4, то писать attach(D4) или attach(17)?
Похоже, что attach(2)
пиздец нахуй, ненавижу эти блядские схемы, иди и разбирайся что куда блядь, сука гроб кладбище бубарех от этой хуйни. Есть человеческая принципиальная схема?
Да да я
>дымком
Ты уверен? У тебя из под металлической крышки дым пошел?
Оторви её ножом аккуратно, покажи чё там сгорело. Я не верю.
>>295657
Да как ты, мать твою, это сделал?
Если ты закоротил ADC и плюс/минус - ничего не могло произойти. Никак. Этот >>295658 пиздит.
Я смотрю на твою пикчу, и вижу там 5 вольт. Значит там есть стабилизатор с 5 на 3.3.
Значит если замкнуть питание и землю моооожет быть он и бабахнет. Но я тогда не знаю что это за стабилизатор такой.
Вот гуглю
>Wemos D1 mini
>RT9013-33 SOT-23-5 3.3V LDO
>пикрелейтед
Да что ты и как поджарил, волшебник ёбаный?!
1 CF-25 (С1-4) 0.25 Вт, 220 Ом, 5%, Резистор углеродистый
2 MO-200 (С2-23) 2 Вт, 220 Ом, 5%, Резистор металлооксидный
Какой мне подойдет вообще?
ИИ что бы ещё ты посоветовал взять? Кнопки тактовые, RGB светодиоды, одычные светодиоды, фоторезисторы? Сорян за сумбурность, взволнован.
Во-первых, тот пин может работать только в роли АЦП. Во-вторых он меряет в диапазоне 0-1В. Так что подключение сервы с неизвестным сопротивлением чревато пробитием твоего ануса внутренних ключей АЦП.
Вроде бы дым пошёл из-под микросхемы ch340 на другой стороне. Снял крышку, следов гари не обнаружил.
Первый пик - вся система в момент возникновения неисправности.
Тогда твоя серва пропустила слишком много тока, и ch340 не выдержала (учитывай, что сам вайфай дохуя потребляет).
Я просто не понимаю, как по серве мог идти ток, когда она была подключена не туда. Потому что со скетчем я тоже проебался, и там было написано attach(2), что соответствует D4.
Дядя Петя, ты дурак?
ch340 это USB-TTL. Он вообще никак не участвует.
>>295736
У тебя мультиметр есть? Напряжения посмотреть можешь?
И предохранитель с пика проверь.
А левее него стабилизатор (у которого 5 ног) проверь из него что-нибудь выходит или нет?
И что сейчас происходит при подключении кабеля?
> У тебя мультиметр есть?
Нет. Маленькие элементы тем который у меня есть померить крайне сложно.
Сейчас однократно мигает светодиод. При нажатии кнопки ресет опять мигает. К компьютеру не подключается.
>Сейчас однократно мигает светодиод.
С пика? Если да, то ESP8266 живая.
>К компьютеру не подключается.
Расшифруй. Нет звука подключения USB? Другой провод пробовал?
Нет отдельного USB-TTL переходника?
Потестил ещё, мигает только при подключении питания, а на ресет не реагирует.
> Расшифруй
В диспетчере задач нет подключения к COM-порту.
> Другой провод пробовал?
Да.
> Нет отдельного USB-TTL переходника?
Нет.
сначала придумай, как хочешь с ней пердолиться, вибратор там собрать, или электрический ошейник. потом уже докупай рассыпуху и модули под задачи. Резисторы, я полагаю, которые ты написал - для светодиодов и подтяжки кнопок. Насчет резисторов лично я вообще не заморачивался, брал какие есть в местном радмаге. Вообще, посоветую тебе дисплей взять, можно такой _ https://ru.aliexpress.com/item/2pcs-LCD-Keypad-Shield-of-the-LCD1602-character-1602-LCD-input-and-output-expansion-board/1781619053.html?spm=a2g0s.9042311.0.0.bd32v9 он уже с кнопками, нахлобучиваешь его на пердуину и все. Дисплей рано или поздно пригодится, тем более он стоит чуть более, чем нихуя
Не появляется.
Бампаю вопрос
Всё ещё не верю в твою историю с дымом. По крайней мере как ты описал.
Может ты отвёртку металлическую под плату подложил?
А так плату не выкидывай, ESP-12F жива. Я вообще их отдельно покупаю и шью USB-TTL программаторами.
Дым был настоящий, едкий и вонючий, причём довольно много для такой маленькой платы.
Не было ничего металлического. Я всё думаю, могли ли неплотные контакты как-то повлиять на это. Потому что всё на соплях, да и провода я сам паял.
Экран же можно на клей посадить?
ты кокой то злой.
Ищи на али resistor set. До пенсии хватит.
не, пайни ходя бы в нескольких точках, надо чтоб контакт с землей был
>Экран же можно на клей посадить?
Зачем? Я со своих снимаю, мне без экрана больше нравится.
А может у тебя ардуина есть или что нибудь, что определяется как COM порт, чтоб посмотреть в еспшку?
>Есть ещё такая же.
На рабочей замкни CH_PD на землю. Но этот пин никуда не выведен, придумай там как его замкнуть.
Потом соедини с рабочей
GND -> GND
3v3 -> 3v3
RX -> RX
TX -> TX
И посмотри выводится ли что-нибудь в терминал при старте "сломанной"?
В USB должна быть воткнута рабочая.
В принципе CH_PD можно и не замыкать если прошивать не собираешься, они обе будут тебе в терминал срать. Жмакай ресет на "сломанной" и смотри появляется ли что-нибудь
Пиши мыло, за штуку деревянных сделаю.
прикручу ср2102 взлетит? прост есть ненужный дата кабель.
Это говорит о том, что ты не можешь описать нормально проблему и руки у тебя скорее всего торчат из жопы.
Подключил, залил блинк, вместо мигания светодиод горит постоянно, подключил к другому пину, тоже самое. Попытался перезалить. Выдает ошибку espcomm_upload_mem failed. Описал? Описал!
> Подключил, залил блинк, вместо мигания светодиод горит постоянно, подключил к другому пину, тоже самое. Попытался перезалить. Выдает ошибку espcomm_upload_mem failed. Описал? Описал!
https://geektimes.ru/post/271754/
Все сделал как тут?
И вот как его воткнуть в мою али-ардуину?
Помоги, анон!
Зачем вообще спрашивал, если мультиметр есть?
Бля, или еще лучше, если я уже исплользую мультиплексор для ввода аналогового сигнала, то смогу я одновременно его использовать для вывода цифрового сигнала на оптопары? То есть он же может одновременно в цикле и на ввод и на вывод работать?
Эх, не получится, чет я плохо продумал вариант с одновременным вводом-выводом с мультиплексором. Ну тогда сдвиговый регистр остается.
У меня большая версия.
Причем заливал на неё WifiSkan - работала нормально.
Задаюсь вопросом, а не мог я её повредить при подключении светодиода?
Какие вообще варианты?
если позволяет логика работы оптопар типа - первая включилена вторая выключена или первая выключиена вторая включена то можно повесить на 2 наги 4 штуки.
если во времени оптопары друг друга сваим включением выключением перекрывают, то только сдвиговый регистр ну или демультиплексор.
подумой мож добудеш где лишнюю ногу.
например 4 кнопочки можно повесить на одну ногу от строба индикатора если он светодиодный.
Нашел за щекой у твоей мамки хуй ашота с рынка
Мне старший коллега сказал, что ардуина это зашквар для казуалов, подарил горстку атмег8 и сказал мол на, дрочи.
>подарил горстку атмег8 и сказал мол на, дрочи.
Он тебе просто слил устаревший мусор, который самому уже не нужен и вообще никому не нужен. Тоже со знакомыми ньюфагам обычно так делаю, а то шкаф лопнет от хлама.
> подарил горстку новых жал хакко
Я начал беспокоиться о твоей анальной девственности. Неспроста он тебя дарами ублажает.
Алиэкспресс, я гарантирую это.
Аналоговые пины можно использовать как цифровые?
Они не аналоговые, они все цифровые. Только на 8-ми или 16-ти есть входы на АЦП. В остальном, это только цифровые входы-выходы, прочти уже мануал на микроконтроллер.
Компьютер собрать. Велосипед ещё можно. Я даже знаю людей, что на малине турникет собирают.
там стоит 64-битный процессор x86 два гигагерца, четыре ядра, можно выделить операционной системе два ядра и два ядра выделить под реалтаймовые задачи с учётом DMA, на плате можно было развести GPIO и поставить буферы для конвертирования уровней и усиления gpio по току, добавить ацп, получилась бы универсальная йоба, вместо этого они похаранили gpio под чипом и поставили туда ардуину, это не просто долбоибизм, это уже ардуина головного мозга
Ардуина головного мозга -- скорее всего. Но обычные процессоры не используют вместо микроконтроллеров, это даже распберри показала. Т.к. не всё там выполняется такт-в-такт, и периферия отличается. Даже арм сделали специальные ядра для мк.
Нет, принимается напряжение AVCC, внутреннего опорника (1.1В у Atmega328) или AREF в зависимости от настроек, подробней читай в даташите на микруху.
Я слегка долбоёб, да.
Я имел в виду то, почему у пердуины при замере напряжения максимальный уровень далеко не 1.1В, а что-то около напряжения питания.
>Лень лезть в даташит микрухи.
Ну и сасай тогда. Нахуй ты вообще этим занимаешься, если не можешь найти ответы на такие глупые вопросы в даташите в соответствующем разделе?
Тебе что надо-то от меня? Я и без того зашкварился, используя пердуину в своём проекте, хоть я и аналоговый до мозга костей, а теперь какой-то обоссанный пердуинщик пытается пристыдить меня тем, что мне лень даташиты читать. Нахуй путешествуй, гниль.
Обосрался - обтекай, маня. Ты сам виноват, что хаваешь ардуино говно, когда можешь писать нормальный код в Atmel студии, или купить за ту же цены современный 32х битный контроллер.
щаз бы код для драйвера фонарика делать на си и покупать 32бит контроллер для этого
>код для драйвера фонарика делать на си
Как будто что-то сложное. Иди дальше свое аналоговое дерьмо дрочи, ленивый мудак до мозга костей. Надеюсь твоя поделка сгорит к хуям.
заказывай с али, не выебывайся
Я себе 5 штук ESP-12F тут взял
https://www.banggood.com/5Pcs-ESP8266-ESP-12F-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-1046654.html
Там 4мб флешка, можно записать землю, небо и аллаха.
Ну а можно с ардуиной общаться, если прям очень хочется. Но эта штука намного мощнее ардуины, это как трактор к велосипеду цеплять.
Модно. Стильно. Молодежно.
Нет, просто тебе тупенькому не понять разницу между встраиваемыми системами, где нужен микропроцессор и системами автоматизации, где нужен микроконтроллер, так что иди дальше дергать гпио на своих пердуинах и малинках.
охуеть тут умные блять собрались
а вот например не понял какая разница между микропроцессором и микроконтроллером
мимокрокодил
Не так давно заметил на Aliexpress небольшие (меньше дюйма), длинные экраны OLED. По-моему достаточно годно. Стоят недорого - 2-4 доллара за 128х32(64), в отличие от дорогих E-Inc. Обычно одноцветные белые, но есть двухцветные и full на 65k цветов. Последние подороже.
Управляются по I2C или SPI. Кто-нибудь работал с ними? Вам понравились?
> в отличие от дорогих E-Inc.
Для этих нужно городить контроллер и питание охуевшее. Правда недавно стал замечать со встроенным контроллером, правда мелких диагоналей.
Да вроде на Aliexpress за 15-20 баксов обычные маленькие E-Inc, коннектятся через I2C/SPI. Но когда маленький одноцветный экранчик стоит как половина RPI3B - меня жаба душит его брать.
E-Ink идеально подходит для всяких носимых или настольных (с подзарядкой от маленькой солнечной панельки) устройств с не очень частым обновлением дисплея, где важно низкое энергопотребление.
Сижу и думаю, почему решил писать inc,
от include, что ли
Ты прав, спасибо. Действительно, в таком случае это хорошая идея.
Детальная инструкция тут.
https://www.simplicate.info/2016/09/16/ch340-drama-osx-10-12-sierra-16a313a/
Сначала стираем старый драйвер по инструкции.
Перегружаться на надо.
Потом ставим новый https://github.com/jimaobian/CH34x_Install_V1.3
сросит про перезагрузку и все работает
Заходишь на али, вбиваешь arduino kit и находишь их огромное количество. Но честно скажу, датчики и прочее что находится в этих наборах - полное говно, которое потом все равно выкинется в ящик из-за наличия значительно более качественных сенсоров и комплектующих за те же деньги или чуть дороже.
+ всякие кондеры, резюки и кнопочки в них - лютый оверпрайс, на те деньги, что за них накидывают, можно на том же али купить пакет 100шт таких.
Из нормального в этом наборе:
1. Собственно сама ардуина
2. MEGA 2560 Development Expansion board
3. Дисплей (хотя могли еще докинуть к нему микруху, которая позволяет подключать его по I2C)
4. Ик пульт и приемник
5. Матричная клавиатура
6. 7-сегментные индикаторы
7. LED матрица
8. Серво моторчик
Остальное (температура/влажность, акселерометр, шаговик, плата зарядки, вся рассыпуха) лучше покупать другие/отдельно.
>хотя могли еще докинуть к нему микруху, которая позволяет подключать его по I2C
В этом наборе они все такие есть (74НС595), просто могли одну из них сделать на плате с гребенкой и питанием для подсветки, как у нормальных вендоров.
Бери сразу с компасом и гироскопом. Так как это уже возможно в одной микросхеме, то нет нужды переплачивать за свое само обучение. Если тебе дрон делать с размахом крыла 2-5м, то лучше гироскоп отдельно.
Разве он стоит 4-5-кратной разницы в цене?
mpu6050 - топчик, более новые его аналоги немного глючат судя по сравнениям от людей, которые делают себе шлемы виртуальной реальности с ними. Можно взять сразу с компасом и барометром:
https://ru.aliexpress.com/item/GY-86-10DOF-MS5611-HMC5883L-MPU6050-Module-MWC-Flight-Control-Sensor-Module/32695138012.html
Помпаж топчик, орнул с тебя в голосяндру.
Ебучие ардуинщики
Вряд ли, максимум расколется. У маленьких светодиодов маленький кристалл и большая масса пластика вокруг. Переход рассеет превышающую мощность, перегреется, проволочка отгорит и на этом все закончится.
А вот всякие мощные штуки, типа IGBT-транзисторов могут сочно ебануть. Такие вот в корпусе TO247 просто отстреливали, достаточно опасно, когда было ЧОТО не то и они коротили 1000мкф*310В. Но у них кристалл огого.
Всё, пока-пока.
Одноклассникам привет передавай.
Нет, диоды, индукторы и резисторы выгорают постепенно, с дымком но без взрыва. Смачно бабахают помимо транзисторов еще конденсаторы, плавкие и термо- предохранители и некоторые микросхемы.
Думаю затариться драйверами для построения кастомных LED (и не только) 7-сегментных дисплеев, выбор свелся к MAX7219 vs TM1638.
С 7219 немалый опыт, отлаженный компактный код.
С 1638 (и даже TM1637) опыта не имел, даже с готовыми модулями, в руках не держал.
Вижу, что у 1638 больше возможностей, как я понял, в том плане, что оно универсально для всех дисплеев (common anode/cathode), можно подцепить клавиатуру.
Но 1638 нормально не каскадируются, 7219 можно соединять последовательно и управлять десятками разрядов (или большой светодиодной матрицей) с помощью тех же 3 пин (пикр), а у 1638 нужно использовать +1 доп. пин мк на каждую 1638 (STB/CS), что к тому же усложняет и увеличивает код, еще у 1638 нет такой замечательной вещи, экономящей ресурсы, как режим автодекодирования цифр (если не нужны кастомные символы). Все это особенно актуально при использовании какой-нибудь тини13. Далее, 1638 более тормозная, клок всего 1МГц, 7219 позволяет клок до 10МГц.
Короче, 1638 подкупает универсальностью (общий анод/катод + клавиатура), но по остальным параметрам 7219 (только общий катод) во всем лучше.
Вот и не знаю, как тут быть, хочется затариться чем-то одним под свой стандартизованный код и не париться долгое время.
Кто что посоветует? Мб есть подобные другие дешевые драйверы, менее известные, которые стоит рассмотреть?
Ты не учел еще то, что TM1638 - это китайское говно, а MAX7219 разрабатывали белые люди.
>Далее, 1638 более тормозная, клок всего 1МГц, 7219 позволяет клок до 10МГц.
Невозможно физически успеть прочитать цифры, которые меняются чаще нескольких раз в секунду. Какой смысл обновлять индикатор чаще нескольких десятков раз в секунду?
>Мб есть подобные другие дешевые драйверы, менее известные, которые стоит рассмотреть?
Возможно PCF8536.
>Ты не учел еще то, что TM1638 - это китайское говно, а MAX7219 разрабатывали белые люди.
Это так, но конкретно тм1638 хорошо известна и проверена, англ. даташит вполне вменяемый. Другое дело какая-нибудь TM1652, по которой вся инфа на китайском.
>Невозможно физически успеть прочитать цифры, которые меняются чаще нескольких раз в секунду. Какой смысл обновлять индикатор чаще нескольких десятков раз в секунду?
Имею ввиду не только клок, а вообще скорость побитовой загрузки данных. На нескольких разрядах 7 сегментов не увидишь, а если у тебя крупная матрица? Сможешь наблюдать как она последовательно обновляется.
Кроме того тормознутость подразумевает что если у тебя какая-нить стм32, придется вставлять нопы, дилэи в алгоритм вывода, чтобы драйвер успел переварить. А это сильно замедляет выполнение всей программы.
>Возможно PCF8536.
Вот для лед матриц - самое оно, цветную подсветку можно сделать, но на али такого нет. А так, вещь хорошая, с отличным подробным даташитом.
>а если у тебя крупная матрица? Сможешь наблюдать как она последовательно обновляется.
Ты рассчитывал скорость обновления?
>Кроме того тормознутость подразумевает что если у тебя какая-нить стм32, придется вставлять нопы, дилэи в алгоритм вывода, чтобы драйвер успел переварить.
Использовать аппаратный SPI никак нельзя? А ведь там еще и ПДП имеется.
>Ты рассчитывал скорость обновления?
Для дисплея в сотни точек с тормозными драйверами - вполне реально увидеть глазом.
>Использовать аппаратный SPI никак нельзя? А ведь там еще и ПДП имеется.
Ну да, я привел неудачный пример.
В простых мк дма не завезли, спи тоже не всегда имеется, так что почти все софтово.
>>298170
Тоже самое говно, только на красивых платках, особенно эти бесполезные датчики газов с погрешностью 15-20%, данные с которых надо еще перещитывать по графику температуры/влажности, а учитывая точность убогого DHT-11 в этом комплекте, они будут показывать все что угодно, но даже не приблизительную концентрацию нужных газов.
TM1638 - если тебе нужны еще и кнопки, также ты можешь их "запараллелить" сколько угодно (STB - выбор микрухы, остальные 2 пина общие для всех)
MAX7219 - больше подходит даже не для семисегментников (нахуй тебе их столько, особенно если параллелить собрался), а для LED матриц всяких здоровых.
>Невозможно физически успеть прочитать цифры, которые меняются чаще нескольких раз в секунду. Какой смысл обновлять индикатор чаще нескольких десятков раз в секунду?
Такая частота нужна опять же для всяких LED панелей, где надо обновить несколько десятков/сотен тысяч светодиодов за раз.
Ну а хули тут удивляться, учитывая что в пердуиноиде завезли либы для STM32 больше года назад.
Ну просто 407 поддерживает FSMC, I2S, DAC искаропки, а этот под два моргающих диода проект качает. Вот же сука, как у меня горит.
Бери TM1638, если собираешься просто делать разные девайсы с индикацией на семисегментниках и кнопками, сможешь тогда ставить микрухи с малым количеством ног. Тебе надо будет всего 3 ноги, чтоб подключить 10 семисегментников и 24 кнопки, лол.
Ну это как веб-макаки в сфере веб-девелопмента, которые только и могут, что скачать либу и по гайду ее подключить, чтоб кое-как работало. Такие люди есть в любой отрасли разработки, которые просто не способны думать своей головой и в чем-то разбираться, как уебище несколькими постами выше, которое не могло прочести в даташите инфу про опорное питание АЦП.
Не очень понимаю, что значит лучше?
Вот у тя библиотека жпс, там будет что то типа стринг гетКоардинаты.
Вот у тебя библиотека сд карты, там будет что типа:
опен опхуй.цсв
принтлн стринг гетКоординаты
Что именно то лучше?
>если у тебя какая-нить стм32, придется вставлять нопы, дилэи в алгоритм вывода
Подключал TM1638 к STM32 на 48МГц, ниодного дилея не вставлял в функции приема-передачи данных, все прекрасно работает в том числе и кнопки.
>Использовать аппаратный SPI никак нельзя? А ведь там еще и ПДП имеется.
Если речь, про тормознутость TM1638, то там далеко не SPI. В ней как и в TM1637 подобие I2C (только добавили STB пин, чтоб подключать несколько микрух сразу), но со своими последовательностями импульсов на прием и передачу данных, поэтому аппаратный I2C не прокатит.
Ты с чем-то путаешь. От SPI это отличается только тем что линия данных двунаправленная. Если читать данные не нужно, то это будет SPI в чистом виде.
В I2C обе линии SDA и SCL двунаправленные, есть стартовые/стоповые комбинации и ACK/NACK и еще скорость передачи подстраивается по ведомым. А еще для возможности параллельного подключения во многих микросхемах с I2C есть выводы для выбора адреса.
У меня есть несколько проектов с TM1637 и TM1638, поверь я знаю о чем говорю. Тем более в даташите TM1637 написано: Two-wire serial interface (CLK, DIO), в TM1638: Serial connection (CLK, STB, DIO). DIO - это по сути SDA, он двунаправленный, потому что передает данные для сегментов и данные с кнопок. Только у этих микрух нет адреса, поэтому в TM1638 сделали STB пин, чтоб можно было подключить больше одной, использую теже CLK и DIO.
Речь же шла о TM1638, почему ты вдруг заговорил о TM1637?
Хорошо, у TM1637 есть стартовые/стоповые биты и ACK, что делает это очень похожим на I2C. Но можешь ли ты показать в документации TM1638 эти биты? Конечно DIO двунаправленный, но чем это будет отличаться от SPI если не читать данные с кнопок? Даже если и нужно читать, то можно MOSI и MISO у микроконтроллера соединить через резистор, а вывод DIO TM1638 подсоединить к MOSI.
Ну у тебя это уже есть или ты вообще спрашиваешь?
Давай попробуем с того, что ты сможешь выводить координаты в монитор порта, сможешь это сделать или более подробных советов дать?
У меня нихуя нет пока кроме горстки ардуин и фантома. Нахуя мне монитор порта, когда я про дата логгер спрашиваю. Я чет полистал ardupilot и понял, что можно сразу пилить свой коптер без дополнительных ардуин, если он представляет и себя ардуинопрошивку. то я думаю что можно прямо на бортовой компьютер ебнуть датчики, либы и кусок кода который мне будет это все в телеметрию слать и писать на сдшку. Тут кстати был тред про квадрокоптеры, но я его не наблюдаю.
Собирал кто вообще поделия на этом арупилоте из присутствующих?
>Я просто нихуя не понимаю в этом
>сможешь выводить координаты в монитор порта
>Нахуя мне монитор порта?
Так ты сможешь это сделать или нет, лалка? Если ты не сможешь - то ты и логгер не сделаешь.
Суть в том, что тебе для начала надо получать от либы жпс координаты в формате стринг, сначала добейся, можешь без монитора порта.
Затем когда это заработает корректно - будешь это записывать на карту.
Я делал уже, на гитхабе дохуя этого говна. Зачем что-то уметь вообще для ардуины? Это блядь конструктор для детей, бери проект из головы, иди на смотри гитхаб у других и делай.
Из какой серии лучше брать, MF52A или MF58?
По моему они почти всегда и везде 10к.
Да я уже иначе хочу сделать. Не важно в общем, когда руки дойдут, уже более конкретно чего-нибудь спрошу.
Лучше посмотрите какую хуйню заказал, буду на следующих выходных паять ее наверное. Вот по этому проекту: tricorderproject.org/blog/sneak-peek-3d-printable-mini-spectrometer.
Как ты вообще собирался его подключать не имея схемы?
Судя по всему к этому термистору приделан компаратор. Неужели ты даже не догадался загуглить название микросхемы?
>Это значит что он вообще не в состоянии показывать температуру?
Термистор это не индикатор, чтобы показывать что-то. Можешь отпаять его от этой платы и включить по другой схеме.
Отпаяй его, померяй сопротивление и с резистором подключи.
http://arduino-diy.com/arduino-thermistor
Кури короче.
А лучше купи нормальный датчик.
Покупать какую то хуйню, вместо ds18b20.
Твоя хуйня даже не для ардуины, ее можно тупо к реле подключить и будет тебе термостат.
Ну или отпаяй его, как уже сказали, соедини последовательно с резистором на 10к, крайние ноги в gnd и +5, среднюю в а0, затем дрочись с градуировкой, тк эта хуйня не линейная.
Я делал так: логгер на сдкарту + ds18b20 + ацп с термистора какого то. Всю эту хуйню погружал в горячий (70С) спирт и клал в морозилку до -16С.
Получилась КЭПспонента. Это значит, что ты не сможешь линейно посчитать температуру, придется пердолиться табличкой или формулой
Затем я все это выкинул и хуй забил, тк у меня есть ds18b20.
Проблема не в процах, а в системе. Винда и линупс реалтайм на хую вертели.
Данная штучка нужна если у тебя софтовая часть требует винды, а железная - ртос.
Например прибор для автоматизации экспериментов, электромеханический игровой автомат с навороченным интерфейсом, мало-ли чего. Вещь чисто для любительского сектора, профи не нужна.
Микропроцессор это по сути просто числодробилка, в чистом виде не используется, только с материнской платой.
А вот микроконтроллер это уже как бы готовый компьютер в одной микросхеме. У него есть свой CPU, хард, оперативка и ещё куча периферийных устройств. В МК заливаешь программу, подаёшь питание и всё, он работает.
>затем дрочись с градуировкой, тк эта хуйня не линейная.
>Всю эту хуйню погружал в горячий (70С) спирт и клал в морозилку до -16С.
Получилась КЭПспонента.
> Это значит, что ты не сможешь линейно посчитать температуру, придется пердолиться табличкой или формулой
Пиздец ты ебанутый. Видимо не слышал про уравнение Стейнхарта и его упрощенную версию B-уравнение, которое позволяет вычислять температуру термистора по формуле с использованием B значения (например, одно из распространенных B=3950)...
Бля, до сих пор не могу перестать орать с той хуйни, которой ты занимался чтоб перевести значение ацп в температуру
Наверное такие графики тоже градуируешь, потому что нелинейно да и еще и с логарифмической шкалой, о боже!? Хотя для них тоже есть функции, куда подставляется всего 2 коэффициента, которые можно вычислить на сайтах, позволяющих парсить данные с рисунка графика, например:
http://arohatgi.info/WebPlotDigitizer/
Это возможно?
Какую плату брать? Мегу?
Только две ноги на каждый движок, требуется, степ и дир (очевидно, чеез драйвер), всего 12 цифровых пинов. Можешь уно взять, можешь еще что. Мега оверкилл.
я ебанутый и чайник. с этим разобрались, идем дальше.
суть такова – насколько мне придется охуеть, чтобы запилить среднешустрого паукана на ардуиномозге размерами со среднюю кошку?
подзарядка на спецплатформе по беспроводному принципу.
алгоритмы – ну хотя бы раз в час патрулирование квартиры, видео/фотосъемка и отправка на сервер файла.
i/o – голосовое управление.
нынешние технологии уже могут в БУДУЩЕЕ или потолок по прежнему в обмазывании дронами и не очень умными домами?
Спасибо анон!
Бесполезную хуйню просто ты нагородить собирался у которой нет задач, вот и никто такое не собирает. А так без проблем рисуешь линию и по ней ездит твоя йоба.
Люто проиграл с тебя. Ты ведь понимаешь, что такое говорят на каждое новомодное устройство? Пульт ду, цветной тв, игровая консоль.
Ага, и эта хуйня без задач в каждой второй scifi игоре.
Был вопрос в технической возможности домашнего запила, а не просьба оценить задачность, мамкин инженер.
Ну реально это запилить, не вижу проблем в этом, только нихуя не целесообразно, сравнивать с фентези в играх вобще пушка.
Сравнивать эту хуйню с консолью и ящиком тоже пушка, у тех своя цель есть хотяб, а тут просто РРРЯ ХОЧУ И ВСЕ ТУТ
Мне нравится, как ты быстро хуячишь выводы нисхуя.
Ладно, распишу. Допустим, он мог бы приносить мне неходящему пиво. Цель? Цель. Эстетика киберпунк для глаза есть поднималка настроения. Хорошее настроение цель? Цель.
Вместо пива вставь любые другие предметы.
Всякие плюшки типа съемки хаты или там примитивное общение наподобие Алисы или кубика не включаю, это именно побочка.
Понятно, фентези обчитался и в ардуинотред пришел роботов строить. Пока не будет искусственного интеллекта все роботы будут мусорками на колесах.
Я нищеброд, но дьявольски находчивый, лол. К примеру, шаговики из Эпсонов это про меня. Некоторое оборудование уже есть, типа пары ардуинок, паяльных принадлежностей, осциллографа и некоторого количества кучек компонентов и узлов от разной техники.
Верстак, сверлилку и шарнирного уебка. Это по дереву, но в мет. направляющие смогу.
спешите видеть, ардуинобыдло поясняет за полезность роботов на складах амазона все роботы ездят по разметке, тупое ты уебище, иди дальше фантазируй
>i/o – голосовое управление.
Это ардуино вроде не может.
Остальное - всяких пауков много уже сделали. Маленькие на али по 4-5 т. р. уже готовые.
>видео/фотосъемка и отправка на сервер файла.
Это ардуина тоже не может. Или очень плохого качества снимки будут.
Хотя погугли "TTL serial camera" - можно сделать фото и после отправить его.
>i/o – голосовое управление.
>Это ардуино вроде не может.
ардуино рассматривается как начальный этап нвподобии макетки, дальше скорее всего придется обмазываться прошивкой голых чипов с обвязкой для экономии веса и места. хотя смотрю на armы, они многое могут вроде как.
алсо, кубик как-то сделали с голосовым управлением, значит, реализация возможна какая-тода, он пиздец огромный. надо думать, но мне кажется, что реально. inb4 ненужные хотелки ибаные
>видео/фотосъемка и отправка на сервер файла.
>Это ардуина тоже не может. Или очень плохого качества снимки будут.
хм. а как реализована связь fps на тех же дронах? она вроде как на вафле, в данном случае скорее всего забить алгоритмы по коннекту и аплоуду.
Чтоб сделать все на одном контроллере (передвижение, обработка видео и звука + всякие плюшки) тебе нужен как миниму ARM с ядром Cortex-M4/M7 с FPU и нормальным количеством памяти. На квадрокоптерах и самолетах стоит обычная FPV камера в паре с OSD для телеметрии, данные с которой не обрабатываются контроллером, а просто передаются по радиоканалу на дисплей/очки. Если хочешь начинать делать на пердуине, а потом переносить на нормальный контроллер, можешь сразу забить на это - проще будет освоить ARM и делать на нем с нуля.
Спасибо, анон. Гляну в сторону армов пристальнее.
>на складах амазона все роботы ездят по разметке
А что у меня в посте написано? Дебила ты кусок?
Да я ебу чтоль, распиновку смотри своей йобы есть ли у вимоса пять вольт.
Самый правый столбик - это esp-8266 (под железной защитой которая), средний - это сама плата (синяя).
esp только 3,3 вольта использует и поэтому +5 к ней не подключен.
>>299059
>wemos-d1-mini
Подключай туда питание +5 вольт. А 3,3 вольта не подключай, т. к. на плате распаян понижающий стабилизатор напряжения.
Или сразу 3,3 питания подавай (на пин +3,3 конечно), что бы все заработало.
+5 соединен с УСБ - я диванный, но лучше вместе не подключай ни с каким другим внешним питанием.
Не взлетит, потому что задача "взять предмет и принести хозяину" это не решаемая на консьюмерском уровне задача на сегодняшний день.
Даже часть этой задачи - открыть холодильник и взять оттуда пиво - это объемы над которыми должен работать целый НИИ. Куча специалистов с доскональным знанием матана и классической физики.
Все потому, что в реальном мире на робота воздействует куча внешних факторов, он сталкивается с неожиданными препятствиями и должен реагировать на изменение обстановки, а значит обладать мощными инструментами анализа ситуации и вычислительными мощностями, необходимыми для этого. Никто не будет вкладываться в разработку этого, пока не появится дешевый ИИ который сможет всему обучиться сам.
Гм. Мне кажется, можно просто нужно найти костыли под существующие абилки типа нейросетей и согласовать со вводными каналами.
А насчет ИИ я хз, увы.
Такого уровня нейросети при подключении вводными нейронами к анусу, а выводными к 3д принтеру захуярить нужного робота должны.
Только если рычаги за щекой у тебя.
Загорелся я идеей контролировать 4-пиновые вентиляторы ардуиновским ШИМ. Но, как показал даташит - контрольный ШИМ у вентилятора должен быть с частотой 25кГц, что несколько отличается от частоты ШИМ ардуины.
Я знаю, что частоту можно задать на уровне кода - но на мою Уно ни один пример такого кода не скомпилировался. К тому же, как я понял, из 6 ШИМ-пинов ардуины в этом случае с нужной частотой будут работать только 2.
В общем, вопрос: как бы мне получить вожделенный ШИМ частотой 25кГц? Может, можно какой-нибудь аппаратный преобразователь частоты запилить? Или может, есть i2c - модуль какой?
Я даже не подозревал, что в этом подобие среды разработки для AVR могу возникнуть такие ебанутые проблемы.
мимо AtmelStudio-господин
Ололо, бери не ардуино IDE, компилируй код и закачивай через программку, какую найдешь. Потому что есть такая проблема и её уже решили.
Читаешь дотошит на атмегу, которая стоит в твоей дурине. Выбираешь таймер, которым будешь пользоваться для генерации ШИМ, читаешь как его правильно настроить. Пишешь функции настройки таймера прямо через регистры (о нет, прекрати, ты возомнил себя богом, простым смертным нельзя обладать такой властью!)
Найс модуль, дайте два
для всяких сервоприводов и многих цифровых девайсов шим указывают именно в виде частоты, 20 КГц например
Радач образовательный, ёбана.
>разобрался я с этими регистрами и прочим программным говном - и чот не впечатлило.
>разобрался
похоже ты нихуя не разобрался, раз решил какие-то дедовские велосипеды городить
Не гони на 555, борщехлёб.
Просто решил, что 4 ПВМ-выходов мне категорически не хватит. Поэтому и буду брать TLC5940.
Кстати, если мне кто-нибудь растолкует inb4: даташит))), или даст схему: как управлять ne555 при помощи входящего ШИМа - буду неимоверно благодарен. Всё, что удалось нагуглить мне управляется переменным резистором. А в реалиях ардуины на входе ведь будет ШИМ.
>А в реалиях ардуины на входе ведь будет ШИМ.
подбери конденсатор с парой сопротивлений и будет на выходе напряжение пропорциональное твоему шиму, схему с формулой расчета сам нагуглишь
тини была прошита на 128кГц после перестала чем-либо читаться.
> Поясните нубу за esp8266. Есть у мну ардуина которая мониторит датчики включает релюхи короче управляет гроубоксом, можно есп прикрутить к ардуине чтобы мониторить датчики по ви-фи?
https://github.com/itead/ITEADLIB_Arduino_WeeESP8266
Ну и да, ты же в курсе, что нонче за такие дела подшконочный петушиный угол и сгуха в анал без вариантов - халява с условкой за первый раз закончилась, а для postavschikov и вовсе вплоть до вышки в дельфине или лебеде.
Соси хуй, майор. Я томаты выращиваю.
мона. там даже конструктор мобильного приложения есть, чтобы управлять еспхой
ну я лук выращиваю и укроп
https://www.instructables.com/id/noobs-guide-to-ESP8266-with-Arduino-Mega-2560-or-U/
https://geektimes.ru/post/255594/
Учись гуглить чувак, в 21-м веке без этого умения не выжить.
Не сказал бы. Есть разные ESPшки. ESP-12 - там 9 ног под GPIO, + UART и прочие ништяки.
Толкнуть на лохито.
спасиб, гуглить я умею просто лень
Мусор из помойки очевидно.
Насколько много? Как часто переключать? Прицепи сдвиговый регистр и будет тебе счастье. 74hc595, например
пикрил вроде бы она, не могу откопать ее в анналах шкафов и сравнить.
мониторы температур транспортировочные. отправитель вешает и включает, получатель снимает и считывает график температур, если температура уходила за допустимые границы - груз бракуется.
они небось рыбой тухлой провоняли
не выйдет. они регистрируются на сайте и имеют срок годности, после которого блокируется серийный номер устройства. график температур считать можно, а вот проверить его достоверность - нельзя.
Да, есть команда Tools->Burn Bootloader.
Нужен программатор, самый дешевый ISP USBASP подойдет.
https://www.youtube.com/watch?v=TzdfO_OIyiY
Интересует нюанс в месте установки датчика, как я понял, тут датчик стоит на площадке крепления всей конструкции рядом с ардуиной, то бишь измеряется наклон конструкции, и плата дает команду сервам чтобы камеру наклонить в противоположные стороны, тем самым компенсируя наклон.
В гимбалах с БК моторами же датчик положения стоит на камере и там уже контроллер стабилизирует положение самой камеры, если она наклонится относительно горизонта.
С точки зрения геометрии разницы нет, но если ли разница при практическом использовании? Я так думаю у БК моторов нет обратной связи и поэтому датчик стоит на камере, а серву можно установить на заданный угол, поэтому датчик можно ставить где угодно.
Как у серв с точностью и дискретностью установки положения? В примерах используют стандартную библиотеку и используют установку угла в градусах, т.е. дискретность в 1 градус. Но у библиотеки есть функция задания непосредственно длительности управляющего импульса для сервы в микросекундах, что несомненно дает меньший шаг, но как серва отреагирует на столь малое изменение?
>Как у серв с точностью и дискретностью установки положения?
Ты шо, слепой и не видишь как камера дрожит при поворотах? Очевидно что это демка просто очередное говно-без-задач-на-ардуине, на практике больше трясет камеру чем стабилизирует ее.
Хочу сделать фито свет и полив на ардуино честно не конопля. Подскажите, что необходимо и в каком кол-ве?
В моем голове это выглядит как вечный луп на ардуино с 2мя реле на свет, и воду которые замыкают провод прямо из розетки. Можете посоветовать комплектуху на али, и тыкнуть носом, если я чего то не знаю? (кондеры, резисторы, надо ли напругу учитывать - вот это вот все.)
> фито свет и полив на ардуино
Свет я замутил на Пердуино и RTC-модуле, а вот полив по времени не советую, нужно датчик влажности мутить. В этой теме пошарь, там усачи безумствуют http://forum.homecitrus.ru/topic/8535-samodelnyj-datchik-vlazhnosti-pochvy-chast-2/page-19
Эм, наверное лучше с модулем, чем 10к секунд в луп загонять, да. Спасибо.
По сабжу, как уже говорилось не секу в этом от слова совсем, какую ардуину надо взять, чтобы поддерживало это, ну и релешки, вопрос открыт. Сори если вопрос глупый, тип бери любую, но я рили не знаю.
у меня нет цели сгладить вибрации, мне нужно чтобы камера держала более менее горизонт при наклонах коптера, гимбал на БК слишком тяжелый и прожорливый, хоть и дает лучший результат.
Лучше всего SSR реле, они бесшумные.
https://www.aliexpress.com/wholesale?SearchText=SSR+DC-AC+220V
Ну или обычные электромагнитные, будут щелкать. Лучше брать с оптопарой.
https://www.aliexpress.com/wholesale?SearchText=arduino+relay+module+optocoupler
Одно реле, соответственно одно реле на свет, второе на полив.
Всё это надо контролировать по времени суток, а значит нужен модуль часов реального времени с независимым питанием. Вот эти точные.
https://www.aliexpress.com/wholesale?SearchText=DS3231+module
Датчик влажности для полива
https://www.aliexpress.com/wholesale?SearchText=soil+moisture+sensor
Еще понадобиться какой-то экран с кнопками для интерфейса настройки всей этой машинерии, но по началу всё можно жестко переменными в прошивке задавать.
Как всем этим управлять по отдельности ищи в ютубчике, инфы с избытком, как соберешь всю инфу на отдельные устройства, пробуй собрать все это вместе в один скетч.
чот немного разобравшись в теме контроллеров понял что не в тот тред отписал, да и вообще вы гомосексуалисты те еще.
Вот и катись, противный.
Нахуя вам реле на полив? Через ключ транзистор поливалку шестивольтовую подключаешь и готово, можно мощность струи плюсом настроить.
RTC с батарейкой тоже не слетает. Я замутил такую плату, пристегнул к ней Ардуину Уно и нормально усё работает
Да вариаций масса, тут суть в том что без перешивания все регулируется если всего одна лампочка нужна.
У меня проблема с датчиком влажности почвы, я хуй знает как его подключать чтоб не сгнил.
Тоже сгниет, только чуть попозже. У почвы кислотность совсем не нейтральная, а не только влажность как фактор развития коррозии
я сам сейчас бокс собираю, тоже не конопля, просто для зелени. Купил arduino nano, am2320, реле 4шт на одной плате, часы RTC на ds1302, если влажность не нужна можно просто терморезистором измерять температуру. Но я делаю сложный бокс с контролем влажности и температуры. С регулировками всякими.
схему дай. а если полив от 220, да и понятней как то с реле
спасибо, бро
Пикрил схема модуля и схема подключения
Спасибо - спасибо. Хочу сказать спасибо своим родителям, стране и партии!
Объясните нубу ЧЯДНТ?
Используешь двухканальный драйвер DC моторов для управления лентой с 3 каналами. Поэтому правильно запитать их в принципе невозможно. Тебе нужен MOSFET-МОДУЛЬ
а если 2 имножить на 3 и потом поделить на 2?
или нынче мультиплекс не проходят в ваших шарагах?
Захотел научиться работать с ардуино, можно ли заказывать нано с алика?
Например, эта ссылка
https://ru.aliexpress.com/item/Freeshipping-1pcs-lot-Nano-3-0-controller-compatible-for-arduino-nano-CH340-USB-driver-NO-CABLE/32804787481.html
и в каком диапазоне цен искать?
с пайкой дружу, руками работать умею, работаю программистом, проблема возникла только с покупкой
Заранее спасибо
> можно ли заказывать нано с алика?
Да на здоровье, только нахуя нану? Заказывай сразу мегу и не парься, хоть пинов и памяти в достатке.
>только нахуя нану?
Захотел сделать амбилайт для монитора, нано хватает за глаза, как я понял. А заказывать что-то мощнее, чтобы прилепить к светодиодам и забыть - нелогично.
Понравится работать с мк - можно потом будет заказать сразу набор и лепить что-то свое, с кнопками и датчиками.
А засомневался заказывать с алика, потому что везде пишут "Nano 3.0 контроллер совместим для Arduino Nano CH340 usb-драйвер" и хрен пойми, то ли это нормальная вещь, то ли поддельная ёлочная игрушка
Да бери любую, они все рабочие. Сортируй по [Orders] и смотри отзывы.
CH340 это китайский конвертер USB->COM, который дешевле оригинального FT232 с оригинальной ардуины. Работает так же хорошо, просто драйвер с другого места качать.
Бери одну полноценную ардуино уно для обучения на ней и штук 5-10 нано оптом для непосредственного использования в проектах.
Еще возьми сразу USBASP программатор, он копеечный. Пригодиться когда загрузчик случайно потрёшь, или осознаешь что среда ардуино слишком примитивна.
Да не любую нану а на 328 атмеге чтоб была пусть ищет.
План значит был такой: ардуину нано к смартфону через usb, из неё дёргаем данные датчиков и публикуем на локальный MQTT и на удаленный мой сервер. А затем на этом же смарте отображаем красивости каким нибудь MQTT клиентом.
И меня сразу же ждал затык - нету готовых приложений/скриптов, что бы дёргать из COM и публиковать на MQTT сервер. Для esp8266 есть реализация, для ардуины с ethernet - есть, а что бы по USB на андроиде - нету.
Есть какие идеи/варианты? Осваивать програамирование под андроид никакого желания.
Блюпуп модуль воткни, чтобы обойти. Либо поставь ESP8266. Но ты, честно честно, обычный говнодел. Таких устройств уже полно. Мне одно для переделки хотели вручить, им видите ли надо было показания датчика пыли передавать через ethernet.
Ясен красен полно. Вот только совсем из говна делают. DHT11 для температуры и влажности, MQ2/4/7/135/... для CO2 и других газов. Эти говнодатчики меряют что угодно, кроме того, что надо.
Дисплеи монохромные, на которых нихрена не видно. Короче захотелось самому и так, как надо.
ESP воткну на крайняк, но это же изврат передавать данные по вайфаю на расстояние 5см или меньше.
Ну и это, разве тут кто-то ещё кроме говноделов сидит?
Изначально - что бы было. Что я как лох с 2-мя сенсорами буду.
А так это PM2.5 сенсор. Мелкодисперсные частицы. Ну там смог, дым от пожаров и прочие радости современного мира. И да его по хорошему надо на улицу, но пока так побудет, а дальше подумаю.
Куда тебе данные-то передавать? Зачем тебе экран, если ты данные передаёшь? Si7021 вполне работает как датчик влажности и температуры, BME280 как датчик давления, высоты и температуры. Ты задачу нормально перед собой поставил?
Вот лиш бы в тред нагадить.
>Si7021
Зачем он нужен, если BME280 умеет температуру влажность и давление?
Задача - метеостанция.
Б/у смарт стоит дешевле вменяемого экрана для ардуины, при этом его можно сделать сервером для хранения данных (что бы графики рисовать или посмотреть, что там было на приборах неделю назад). MQTT dash вполне симпатично выглядит. Осталось найти как взять данные с ардуины по USB и запушить их на MQTT сервер.
Нашел какое-то perl поделие, буду пробовать.
OVERKILL, ты стреляешь из пушки по воробьям. Тебе нужна флешка, дуина и датчик. Храня всё на флешке, ты в любой момент можешь посмотреть всё, что тебе нужно.
https://ru.aliexpress.com/item/Free-shipping-Microcontroller-learning-kit-starter-and-proficient-24-interactive-lessons-for-arduino/2044891395.html?spm=a2g0s.13010208.99999999.285.DOpkoX
Стоит того, или есть лучше цена\качество\количество?
В чем твоя проблема?
> 2500 за кучу хлама
Ну я даже не знаю. 90% из этого набора выковыривается бесплатно на ближайшей помойке.
Ну я даже не знаю. Зачем на помойке вообще ковырять детали, когда в ней можно просто извозиться и получить 90% того же удовольствия?
Таки все же не получается нормально все это подключить. В чем может быть проблема?
Все верно, продавцы это вывески, а вещи с одной фабрики или даже склада.
Выбирая продавца ты выбираешь не качество, а цену, способ доставки, комплектацию, скорость обработки заказа и подобное.
Прикинул, на вскидку, сколько это по отдельности, дешевле набором, чисто из за доставки мелких модулей.
https://goo.gl/LSVXWP
> Нашел на али некий шилд от Bigtreetech, позиционирующийся как RAMPS v1.5, пикрелейтед. Кто-то сталкивался с ней?
Они типа заменили самопредохранители на кокой-то полевик и сделали ключи оправления обогревом дпаками вместо то? И в чем смысл?
Лол, и правда, лишние детали
подключаю серву к ардуино, в лупе пишу мол servoname.write(0), а эта хуйня тупа крутится и не останавливается! чо за хуйня, как лечить? сначала грешил, мол питания не хватает, но юзая отдельный блок питания, всё равно такая же хуйня происходит! в ардуино вкатился недавно, так что дерьмом особо не кидайтесь!
в общем, мотор хуевый был, сейчас 10ка сервок пришла, парочку из них потестил, они заебись работают!
Он же?
Отложил значит это дело, вечером начинаю опять пробовать - а скетч-пример говорит в консоли "no more addresses"
Я сломал его? Я его как только не перетыкал, в любые порты, перестал работать и все
https://youtu.be/F-iewm_fiIM
Учусь на специальность "Компьютерные системы и комплексы", на днях с науч. договорились, что дипломным проектом может стать что- то связанное с компьютерными системами в примеси с ардуинкой. Как думаете, что можно замутить?
Сделай аппаратный счетчик нофапафона. Чтобы табло стояло на столе и считало время, сбрасывая его на 0 каждый раз когда ты набираешь на клавиатуре что-нибудь вроде "xtube", "pornhub", "фап-тред", "мокрые письки бесплатно без смс" и прочие ключевые слова.
Все таки заказал, с купонами обошлось в 2050
-нойд
Один датчик, ардуино нано и куллер, что может быть проще. Ну и прочекай устройство приточной вентилляции как она выглядит и куда там вентиллятор вставлять.
Можешь выебнуться радиомодулем с выносным датчиком. Дисплей прикрутить или еще чего приколхозить. Пофантазируй, хули ты.
ЧТо это? особенность датчика или косяк конкретного экземпляра? другого для проверки нет.
Сегодня установил свою первую поделку на ардуино. Автономный (с аккумулятором) контроллер освещения птичьей клетки. Через реле запитана лампа 220 В. На электростанцию пизданулся метеорит - реле отключается, включается светодионая панелька. В 23:00 спать нахуй, всё отключается. В 7:00 что-то включается в зависимости от наличия тока в сети. Можно также ИК-пультом что-то включить или отключить вручную. На простом механическом реле раньше всё и было сделано, но так сбивается время, если тока в сети нет. Электронное реле с батарейкой хуй где купишь, да и стоит явно дороже ардуины с часами. Энивей, меня ардуина вштырила больше.
> Электронное реле с батарейкой хуй где купишь, да и стоит явно дороже ардуины с часами.
https://m.leroymerlin.ru/product/taymer-elektronnyy-tge-2-11691644/
Нуу хуй знает :)
Батарейка внутри тоже встроена чтоб часы не сбились.
Я из мухосрани. Если бы тут такие продавались, то купил бы, т.к. изначально искал такое реле (тогда ещё через инет ничего не заказывал). В итоге нашёл электромеханическое за 320р, и это было два года назад. Если сейчас у нас и есть электронные в продаже, то цена будет явно выше 500р. Мне же ардуина обошлась в 300р за всё, и это при возможности расширять каналы включения, управления и прочие свистоперделки, при том, что стоимость расширения крайне низка, т.к. основная плата с часами, конвертерами, БП - уже есть. А делов-то было спаять всё это вместе и написать элементарный скетч... За то теперь мне казуальное электронное реле точно нахуй не нужно будет вообще.
так, я не понял: а процессор никогда не отдыхает? всегда на 16 МГц пыхтит? Это же не нормально
нашел, что есть прерывания, и снова вопрос: как оно работает? сразу вызывает функцию, которую я определил? или завершает текущий loop?
Процессор никогда не отдыхает. Всегда на той частоте, которую ты ему задал. Это нормально. Есть конечно режимы сна, там отключается периферия.
Прерывание работает так, что текущий процесс загружается в память и выполняется прерывание, после выполнения старый процесс загружается из памяти и идёт дальше.
Управляющий сигнал подаётся на голову лоыдря, там он модулируется отправкой на гугл и лодырь просвещается
>Суть мосфета поясните
Управляется напряжением на затворе (соответственно, в отличии от биполярного у него нет тока управления (вернее есть, но обусловлен емкостью затвора)).
Есть мосфеты p-канальные для пропускания тока от источника питания в нагрузку, н-канальные для пропускания тока из нагрузки на землю. p-канальный закрывается при подаче напряжения и открывается при отсутсвии, н-канальный - наоборот, пропускает когда на затворе напруга, закрывается когда напруга пропадает.
> Можно ли им регулировать мощность с ардуины
Можно. С помощью шим-модуляции и таймера. Ток хуярится не сплошной постоянкой, а вот так - включается-выключается с той или иной скоростью. Если в потребителе есть сглаживающие элементы - индуктивность или там емкость - то на выходе мы получаем источник тока.
Ну и да, мощные мосфеты как правило требуют большого напряжения управления или же у них большая емкость и напрямую от ноги - сгорят нахуй ноги.
Поэтому ему нужен или драйвер (специальная микросхема), или самому сделать буфер для мощного мосфета из транзисторов.
Суть понятна, вот по поводу шима примеры бы посмотреть. Ладно, значит это то что мне нужно. Спасибо.
>вот по поводу шима примеры бы посмотреть
http://mypractic.ru/urok-37-shirotno-impulsnaya-modulyaciya-v-arduino.html
Косяк, на моих гироскопах такой хуйни нет. Но если вертикально работает нормально, так и используй его в этом положении. Запаять 90-градусный переходник на плату дело несложное же.
Я тоже думал об этом, но тогда ось Х получается сдвинута на 90 градусов и дальнейший поворот вызывает не ожидаемое увеличение к 180, а возврат к 0, в противоположную сторону тоже самое.
Вспомни школьную арифметику и скомпенсируй это в скетче.
>Сигнальную ногу засовывать в аналоговый пин или как?
Да. Вместо леда твоя нагрузка и analogWrite(9, <число 0-255>);
Ага, я уже разобрался.
В чем трабл?
Китайцы выпускают новую ревизию работающую строго по даташиту, отключив все не документированые функции (статус, некое значение для калибровки)?
Или это просто у меня датчик бракованый?
Не сам планирую воздухом свежим дышать.
Состояние ноги проверь, должен быть ВХОД и БЕЗ ПОДТЯЖКИ.
хз, может и бракованный, у меня MH-Z19 (без B), у него проблема с отключением автокалибровки: сделал ручную калибровку на улице, в коде добавил отключение автокалибровки - через 24 часа оно само калибруется и показывает хуйню, при этом у людей на форумах норм работает это отключение
А он у тебя не повисает иногда? А то у меня может повиснуть: лампочка мигает, но данные не принимает и не выдает пока по питанию не передёрнешь.
Сейчас наколхозил примитивный LC фильтр ему на питание, буду смотреть за стабильностью. За одно и отключение автокалибровки проверю.
А он у тебя не повисает иногда? А то у меня может повиснуть: лампочка мигает, но данные не принимает и не выдает пока по питанию не передёрнешь.
Сейчас наколхозил примитивный LC фильтр ему на питание, буду смотреть за стабильностью. За одно и отключение автокалибровки проверю.
Нет, такого не замечал, но иногда он может некоторое время (несколько часов, а бывает и дней) находиться почти всегда в нестабильном состоянии (S=4), тоесть несколько минут будет нестабильным, затем стабилизируется на несколько секунд и снова нестабильный и так длительное время. Ну и все они абсолютно неоткалиброванные по верхнему пределу, у меня было 3 датчика и все они показывали разное значение при авто калибровке, при этом форма графика изменения CO2 у всех более или менее совпадает, но разность значений между ними составляла 200-400 PPM, потому что нету SPAN калибровки.
А если все 3 откалибровать по уличному воздуху, показывали одинаково?
Ну и у меня всегда возвращаются нули вместо S и U.
Без разницы где калибровать, на улице просто CO2 ниже на 200PPM где-то, по сравнению с моей проветренной комнатой, датчики выполняют одну и ту же комманду для авто/ручной калибровки, просто авто выполняется каждые 24 часа.
>Ну и у меня всегда возвращаются нули вместо S и U.
Я пользовался этой вики https://revspace.nl/MHZ19
Вчера вдоволь намигавшись светодиодом на моей первой ардуине (китайский клон про_мини), я погрузил лэптоп в сон.
Сегодня с самого утра побежал к компьютеру перед утренними процедурами снова помигать, но не тут-то было. Ардуина как и прежде весело подмигивала мне в нужном такте, но по UART я уже не получал заготовленных ободряющих сообщений.
Подумал что фиг с ним, и подключил ардуину уже к другому лэптопу. И вновь молчаливые мигания светодиодом.
Подумав что СЛЕТЕЛА ПРОШИВОЧКА, я попытался залить новый хекс, но и тут меня ожидала неудача.
Шился из под одноплатника по SPI, Arduino IDE, CVAVR
Вощим пацаны, что делать? Новые борды еще только выехали от Ляо, а помигать-то уже сейчас хочется.
Пасиба.
Мне в мой китайский набор положили дисплей 16х2 и к нему отдельно адаптер. В адаптер впаяны штырьки, в дисплей ничего не впаяно. Расчет был на то, что его мне придется впаивать самому или этот адаптер можно еще как-то использовать? Я просто не пойму, китайцы поленились мне их спаять или умышленно прислали дисплей с дырками без штырей.
Без спайки использовать их не получается, ибо питание есть, но информация не выводится. Видимо, не все сигналы от штырей "ловятся".
Бля пздц, слов нет очевидно что им было лень впаять (в дисплеи продавцы вообще никогда не впаивают штырьки), но его можно и для других вещей использовать - это просто расширитель портов ввода/вывода, подключающийся по I2C
Пока что делаю так - есп в режиме сервера, в прошивку записывается код страницы, из браузера эта страница открывается вводом айпи устройства.
Проблема в том, что при добавлении, например, ползунка, можно только сначала выставить значение, а потом нажать на кнопку, а надо менять скорость вращения динамически, т.е. сразу при передвижении ползунка. Как я понял, это делается через плагины жабаскрипта, но их же нельзя загрузить в есп.
А если делать есп в режиме клиента, то это вроде как-то не очень удобно.
Как это вообще по уму делается, может, кто-нибудь делал что-то подобное?
инб4: сделай через blynk
А это вобще взлетит так в любой момент питание у него отключать?
Нужно чтоб по нажатию кнопки экран включался секунд на пять, выключение у него не осуществляется командами.
Думаю вот заказывать этот экран или нет, полтора месяца прождешь а он не будет включаться может
Да.
Перед выключением нужно все линии от МК, что подключенны к дисплею, перевести в 0 или на ввод.
да, все будет ок, сам так делал, главное яркость дисплея поставь побольше
ардумнодаунам на esp завезли AsyncWebServer с веб сокетами и ивент сорсами уже года 3-4 как - все еще жрут говно
>выключение у него не осуществляется командами.
Алло блядь даунич, комманда 0xAE отключает этот дисплей. Как такие долбоебы вообще пишут программы и подключают устройства друг к другу, не прочитав даташит.
В оригинальном адафрутовском ssd1306 может и работает.
ESP8266 хорошо как мост работает. Как TCP/IP - UART мост. Передаёшь байт, принимаешь и в OCR1L его.
Я знаю что я мудак
Припаяй новые. Воткни не смд лол.
Ютуб открой вбей уроки ардуино и смотри.
Не совсем та схема, в этом китайском клоне вместо FT232 используется CH340, но остальные детали такие же.
Как несложно догадаться, эти резисторы стоят для защиты от возможности соединения выхода МК с выходом CH340 (при неправильной настройке МК). Номинал этих резисторов может быть от нескольких сотен Ом до нескольких кОм. Чтобы сжечь резистор 1 кОм, на него нужно подать больше 15 В. Сомнительно что микроконтроллер и CH340 такое выдержат.
Ну и хорошо, зачем юсб городить когда программатор есть. Нет, мне на самом деле для моего проекта поливалки надо, я подумал что удобнее будет сразу атмегу к своей плате прилепить чем под мини или нано место занимать.
Смотря что за страница, и откуда там берется это число
ты че, ебанутый?
> почему не работает второй вариант?
А что канпилятор говорит по поводу этой конструкции !а?
да знаю я
>>304736
В том то и дело, канпелятор канпелирует, сука такая! Я час думал почему примитив ебет мозгу, пока не взглянул какое условие с пьяну написал.
Ток ща допер что он походу сначала сделал !a, я в душе неебу, биты числу штоли обратил? А потом это неведомо гавно высрачное сравнил с b.
Пиздец, так что он сделал то? !a - это ж бред, должен был ругнуться, но что то там себе накомпилил уебок бля. ненависть
>Это абсолютно корректное выражение
!a = false (если а>0) == b (которое true если >0)
чо тут корректного?
Короче посоны у меня самая главная проблема - я не знаю что делать на ардуине. По работе я инженер, но проектировщик-автоматизатор. Плюс я типа главный и потому в основном отвечаю на имейлы и сижу на совещаниях. В своё время работал в смежных областях, т.е. погромировать умею на С для 8051, бэкграунд в цифровой схемотехнике (года четыре после института отработал десять лет назад) - ну на ардуине несколько лет назад помигал светодиодами, написал ХУЙ на сегментнике, накупил целую коробку из-под печенья всяких модулей и...забил, потому что начал делать ремонт и меня лишили кабинета и вообще.
Блядь я ума не приложу что бы такого сделать. А без этого никакого интереса.
Однажды на двачах в другой тематике увидел у чувака на фото, где он чего-то пруфал на столе, esp8266 - ну чо говорю - как он, интернет вещей? Ну так себе, отвечает. На даче есть колодец, я в нём меряю уровень и ардуина постит мне в секретный твиттер-аккаунт. Ну думаю, охуеть.
Есть ребенок, может её игрушку какую-то сделать, робота-гомосека с планеты Истваан-III?
Моможите люди добрые.
Точно ты выразился. Хуйня из тебя, а не инженер именно из-за отсутствия мыслей, что с дуиной сделать.
А у меня вот много идей, но все идеи сложно монетизировать. Потому тоже нихуя лишнего не делаю. Что нужно автоматизировать. по-необходимости, то и делай же. Сомневаюсь, что кто-то поделится схемой/кодом девайса, который он продаёт, например. Да и вряд ли это будет сделано именно на ардуино.
>игрушку какую-то сделать
пожалуй самое простое что в голову приходит, особенно если есть доступ к 3д-принтеру/чпу чтоб корпус напечатать/вырезать, смотри в сторону хексоподов (есть годные опенсорсные проекты) - они поинтереснее колесной параши и попроще всяких квадрокоптеров, в которые нужны дорогие моторы и контроллеры к ним
Для того, чтобы пин при разомкнутой кнопке не ловил шумы, периодически вызывая прерывание, или что там у тебя.
Пин в режиме входа (INPUT) имеет высокое сопротивление, а потому КЗ не выводит МК из строя. Вот в режиме выхода сгореть может, вроде бы (не проверял). Ну, и если не подтянуть резистором, то пин получится "висящим в воздухе" и будет ловить сигнал от любой наводки.
Я думаю, у него код мониторит com-порт на пекарне.
Передаём в ком порт А|B, на стороне пердуинки разбираем данные из ком порта и A присваем в hue, а B в brightness. Как это реализовать?
А конкретнее, просто разделить число не выйдет же, надо делить по какому-то маркеру, как это реализовать, я в программировании не сильно шарю
ребят, кто может с ньюфаней поделиться скетчем для авторобота? желательно чтобы авторобот управлялся на блютуз и поворачивал серво-головой в разные стороны
Проиграл!
http://arduinouser.blogspot.ru/2016/05/number-into-digits.html?m=1
Пихаешь все свои значения в одну строку, затем делишь ее и округляешь
И что это даст? если например в одном случае придёт 156,25, а во втором 255,255
Вот нагуглил то что мне надо на процессинге, как это конвертнуть под ардуину?
float sensors[] = float(split(myString, ','));
H = sensors[0];
T = sensors[1];
Ебаш в трехзначные числа свои показатели или вставляй символы между данными и по символам выдирай. Хуй знает чего ты там делаешь вобще.
Так я же и спрашивал есть ли под ардуину какая-нибудь функция которая разбивает строку по заданному символу
strchr, strrchr, sscanf, strtok
if (rx_counter > 1)
{
huehuehue = getchar();
brightness = getchar();
}
Передавать в байтовом (HEX) режиме.
Либо: передача -> Data=hhh,bbb
index = strpos(rx_buffer, '=') + 1;
huehuehue = ((rx_buffer[index] - 48) умножить 100) + ((rx_buffer[index + 1] - 48) умножить 10) + (rx_buffer[index + 2] - 48);
index = strpos(rx_buffer, ',') + 1;
brightness = ((rx_buffer[index] - 48) умножить 100) + ((rx_buffer[index + 1] - 48) умножить 10) + (rx_buffer[index + 2] - 48);
Это если строкой. Но проще побайтно.
Спасибо, анон, я уже нашел функцию которая делает именно то что мне нужно, всё почти работает, когда когда печатаю в монитор всё ок, теперь проблема с передачей из процессинга, буду дальше пердолиться
Ставь флаги и пиши их в память с большим количеством перезаписи. Либо ставь батарейку к микроконтроллеру и датчик пропадания питания. Если питание пропало - крутишься в цикле и сбрасываешь Watchdog пока питание не появится.
Контроллер должен в слип уходить, иначе батарейка может сесть раньше чем свет дадут.
Ясен пень!
Ушёл в сон на секунду, проснулся, тыкнул датчик входящего напряжения, принял решение или вернулся в начало. Это не цикл?
Зачем, когда можно просто вывесить прерывание на ногу, при появлении нуля на которой контроллер уйдёт в спячку, а при появлении единицы - восстановится?
Хуйню ты какую-то описал, с пробуждениями по вачдогу каждую секунду и внешним датчиком напряжения.
Просто ты дебил ебаный, даже я понял что он хотел.
Нанку не запитать от сети, к тому же надо припаивать ножки, а у меня норм паяльника нет.
Да даже если и на макетках он там что-то собирает даже в этом случае нано прямо в макетку втыкается гораздо удобнее чем кучу проводов лишних тянуть.
Ну и если сгорит то сто рублей не жалко.
> зачем нужна arduino uno? STM32 же такая же, но лучше абсолютно всем, да еще и дешевле.
Пофиксил, не благодари.
Поясните мне за работу с библиотеками. Вот открываю я arduino ide, в менюшке выбираю "добавить библиотеку в виде zip" (Интернета у меня нет), библиотека появляется. Я через эту же менюшку выбираю библиотеку, в коде появляется строчка о подключении её, пишу код, вернее переписываю пример из интернета. Жму коньпеляцию и что же я вижу? Обращение к фичам библиотеки was not declared in this scope. Что я делаю не так, если я делаю всё по примеру?
>was not declared in this scope
енджой ё сиплюсплюс с его неймспейсами и классами видимо не создан какой-то эксземпляр класса или банально не объявлена структура
Вероятность того, что от добавления ручками всё это не взлетит, в разы больше ведь.
> добавить библиотеку в виде zip
Это в какой версии IDE появилось? У мну в 1.8.5 такого нэмае
Ааа, блядь, нашёл
Да делал я так уже, заебал. Так вообще не работало, а через импорт хоть что-то заводилось.
Потому что при дилее останавливается полностью выполнение программы, и если по началу это не критично при мигании светодиодом, то дальше при усложнении кода из-за него могут например пропускаться данные с датчиков, или не срабатывать кнопки когда надо, да куча всего. интернет же есть, погугли
> при диарее останавливается полностью выполнение программы
А Ардуина не может в таймеры и прерывания?
Может. Поэтому дилей для даунов.
Может, но в пердуиновских либах они сделаны через задницу, работа с ними намного проще при непосредственном использовании регистров, впрочем тебе ничего не мешает написать пару своих функций для их полноценного использования, в инете вроде даже были готовые примеры.
Процессорное время жрут. Делай свои задержки по таймерам. Ты тупо сидишь при delay в этой точке и ничего больше не выполняешь с приоритетом ниже, чем delay. Если по таймеру, то ты зайдёшь в условие и пойдёшь дальше, если оно не выполняется.
Стоит задача написать скетч, который при открытии последовательного порта спрашивал бы меня что-то типа "Введите число". При вводе он записывал это число в энергонезависимую память и при последующих включениях ардуины мигал светодиодом указанное мной количество раз.
Держи, накидал по памяти.
#include <EEPROM.h>
void loop()
{
do
{
for (int a=0; a<1024; a++)
{
EEPROM.write(a, 170);
}
for (int a=0; a<1024; a++)
{
EEPROM.write(a, 85);
}
}
while(1);
}
Числа 170 и 85, это твои числа которые запишутся в eeprom
я не о том, просто у меня timer2 используется дли периодического вызова функций. не возникнет ли проблем при использовании delay совместно с библиотекой, использующей тот же таймер?
Ох, паять-прошивать! Держи кусок кода:
void putStr(char string)
{
while (string) putchar(*string++);
}
void ClearRX(void)
{
int i;
for (i = 0; i < RX_BUFFER_SIZE; i++)
{
rx_buffer = 0;
}
rx_wr_index = 0;
rx_rd_index = 0;
rx_counter = 0;
}
if (rx_counter > 5)
{
if (strstr(rx_buffer, "DATA") > 0)
{
// твои действия
putStr('твой текст");
ClearRX();
}
if (strstr(rx_buffer, "COMM") > 0)
{
// твои действия
putStr('твой текст");
ClearRX();
}
}
Ох, паять-прошивать! Держи кусок кода:
void putStr(char string)
{
while (string) putchar(*string++);
}
void ClearRX(void)
{
int i;
for (i = 0; i < RX_BUFFER_SIZE; i++)
{
rx_buffer = 0;
}
rx_wr_index = 0;
rx_rd_index = 0;
rx_counter = 0;
}
if (rx_counter > 5)
{
if (strstr(rx_buffer, "DATA") > 0)
{
// твои действия
putStr('твой текст");
ClearRX();
}
if (strstr(rx_buffer, "COMM") > 0)
{
// твои действия
putStr('твой текст");
ClearRX();
}
}
Включаешь таймер на 1мс
@
Инкрементируешь в его прерывании переменные
@
В основном цикле крутишь опрос, а не превысила ли переменная нужное число мс
@
ПРОФИТ
rx_bufferскобка квардратная i скобка квадратная = 0;
Опять мимо. Я юзаю delayMicroseconds() для своих целей. И мне до пизды тупо это или умно. У меня между делом используется библиотека mstimer2, и она вызывает периодическую функцию, и ещё она (библиотека) использует тот же таймер, что и delay() обе. вопрос в том, не наебнется ли чего при совместном использовании библиотеки и функций задержки?
>не наебнется ли чего при совместном использовании библиотеки и функций задержки?
>И мне до пизды тупо это или умно
тебе ж до пизды...
Что блядь делает этот код? Сперва заполнит 1024 байта еепромки числом 170. А потом перезапишет эти же 1024 байта числом 85? Зачем?
планирую собрать себе миди-контроллер, есть где в ра почитаьь про это? Электротехнику знаю, программирование - нет
Не знаю, как это делается на пердуине, но обычно это делается так. Настраиваешь юарт на приём с разрешением прерывания по приёму. Дальше, нужно определиться, что ты будешь слать. Если просто одно число и ничего больше, при этом твой терминал на ПК может отправить байт, записанный в хекс-коде, то всё элементарно. С пк приходит один байт, который является числом от 0 до 255, срабатывает прерывание по приёму по юарт, бежишь в прерывание, считываешь число и всё чики-брики и в дамках. Если твой терминал может лишь передавать ascii коды ( т.е. 170 будет состоять из трёх байт -- '1', '7', '0'), то на стороне мк делаешь небольшой буфер, в который влезет твоя строка, обозначающая число. В качестве буфера используешь массив[размер_массива], ещё заводишь переменную индекс_массива. Остаётся один момент -- как различать, что ты передал все цифры-буквы своего числа. Можно передавать специальный символ-ограничитель, можно условиться передавать всегда одно и то же количество цифр (например, 007 -- это 7, а 085 -- 85). Затем строку (твой массив из символов) можно преобразовать в число при помощи стандартных функций atoi или её сестёр.
Если же хочешь совсем выебнуться и слать на мк команды вида "Хочу мигаться 5 минут", тогда ищи в гугле парсеры команд (излишне для твоей задачи, имхо).
Электротехника и электроника слабо пересекаются. Китайскими платами все пользуются и не ноют, советы при покупке стандартные - нлрм продавец и читай отзывы. Главное отличие для тебя чайных плат от макаронных -- используется китайский переходник юсб-юарт, на который драйвер нужно установить отдельно. Вся инфа кучу раз разжёвана, пользуйся гуглом
Программу для обычной ардуины я на него смогу загрузить? Меня это волнует.
И что такое "обычная ардиуна"? Их много разных видов, различающихся размерами платы и применяемыми микроконтроллерами
>хуевых чипах
Нормально там всё работает, тыщу раз проверяли. Я вообще пару плат из-за цвета маски купил, и ничо, работают.
https://ru.aliexpress.com/store/product/Nano-V3-ATmega328-CH340G-Micro-USB-Pin-headers-NOT-soldered-Compatible-for-Arduino-Nano-V3-0/1950989_32664577152.html
https://ru.aliexpress.com/item/1pcs-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-arduino/32653883227.html
Добавлю, что СТМ-ки с чёрной маской есть и у RobotDyn.
https://ru.aliexpress.com/store/product/STM32F103C8T6-STM32-ARM-Cortex-M3-Minimum-System-Development-Board/1950989_32802556794.html
У ардуинофобов религия какая-то особая есть, или что? Во всех неплиемлемых для себя вещах мерещится длинная рука ардуины. А цвет платы выбирать - нормальное явление. Цвет одежды выбираешь, цвет мебели и посуды, цвет системника и т.д. Тебе потом с этой платой ебаться. Почему не выбрать ту, что нравится?
Я тебе расписываю как тебе сделать эффективнее, а ты мне "мне до пизды". Иди на хуй.
При том, что не будет работать - выкинешь и купишь другую. Заебал, иди нахуй.
>Дрочить
Вот, кстати, до тебя не думал об этом. Поставил жёлтые гребни и боюсь, как бы это в новый фетиш не вылилось. Сочетание цветов просто агонь.
Цена за атмегу примерно 85р выходит.
Кого чем удивил? Ценами поделился может кто захочет попробоват
Странно, что нет ни одного сгоревшего ануса по поводу "неправильно" припаянных пинхедеров. Частое явление народного кастомайза?
За 328 в дип корпусе?
Там разметка. На плате с СТМ очевидно, что паяется всё сверху, т.к. плата с отверстиями под крепление винтами. Нанка тоже с отверстиями, но у неё потроха на обратной стороне припаяны. У меня припаяно "стандартно" так, как это нужно для прототипирования на бредборде, либо как съёмные. На пикриле видно, о чём речь.
Гребенки припаяны вниз чтобы тестировать в бредборде, на обратной стороне там плоские смд-компоненты, этому не мешают. Чего ты доебался то?
Ты превзошёл все мои ожидания. Я уж думал, что никто не попадётся, а тут такой-то экземпляр, лол. Понял, принял, отъебался.
Припаянные гребни вверх - достаточно спорное решение. На стмке, к примеру, из-за них очень проблематично жать ресет или дергать джампера.
Так то ж bluepill. У неё и крепёжных отверстий нет. А вот у чёрной - есть. И кнопку там удобно нажимать.
На нано, на оппике, ресет тоже не особо удобен будет, сособенно если дюпонтов натыкать.
>А вот у чёрной - есть.
Мб под неё и базу родили? Под LoLin v3 база есть, к примеру.
Когда у тебя полон ворох дюпонтов, пальцем тыкать уже не столь удобно.
>разве есть база?
Ну разве что самопальная. Но на пилле и отверстий нет.
Они проектировались ровно для того, чтоб нищуки тоже имели возможность дрыгать ногами. Не более того.
у сервоприводов есть обратная связь, абсолютная или инкрементальная. выше скорость вращения.
у шаговика нет обратной связи. можно считать шаги, но в случае пропусков шагов под нагрузкой произойдет пизда калибровке
А сам факт пропуска шагов можно как-то задетектить программно? Например, мониторить датчиком тока провода ведущие к мотору.
Разные виды плат. Сравниваю: Уно стоит на ~50р. дороже Нано, имея большую плату, LM358, B-разъём, гнездо питания, тридцатку мамкиных гребней. Вполне укладывается в отличие цен. Плата всё для тех же "нищуков".
https://ru.aliexpress.com/item/UNO-R3-MEGA328P-CH340G-Arduino-UNO-R3/32833268761.html
Дуе вообще на другом камне.
>>306013
Зависит от того, насколько стабильной и безопасной работы ты хочешь. В даташите https://www.vishay.com/docs/82492/tsop312.pdf указывается схема включения (с резистором и конденсатором) такого приёмника. Без обвеса он тоже будет работать, но это из серии "и так сойдёт".
Аноны, подскажите простой способ питать ардуину от 220V? Надо рулить с помощью реле током из розетки, не соображу как оптимально саму ардуинку запитать. Очевидный вариант разобрать обычную USB-голову от зарядки телефона и провод, видится мне уебанством.
>Вполне укладывается в отличие цен. Плата всё для тех же "нищуков".
В этом и суть, для некоторых и 50 рублей критичны.
Так разные платы же. Есть же и Pro Mini та же, которая ещё дешевле нано. Дело не в том, что она для ещё больших нищуков, а в том, что она фактически дешевле. Это как сказать, что красная икра для нищуков. Хуль там, чайная ложечка за 20р., копейки же.
У китайцев есть модули Hi-link. Вроде даже гальванически развязаны, но это не точно.
И как всегда корпус дороже всей начинки. Сасайте.
Че это за кал? Ардуиногоспода не в курсе про встроенные подтягивающие резисторы?
Так и не смог нагуглить внятную фотографию их внутренностей, да и никогда не знаешь что тебе приедет вариант с той же самой начинкой. Нахуй надо деньги платить за этот черный ящик.
В курсе, но везде рекомендуется использовать внешние.
>>306065
Я покупал такие https://ru.aliexpress.com/item/5V-700mA-3-5W-AC-DC-Precision-Buck-Converter-AC-220v-to-5v-DC-step-down/32677330307.html Могу предположить, что это то же самое, только в корпусе. Но это не точно.
Я тоже такие покупал, только на 3.3в. Они охуенны достаточно жирным конденсатором на выходе, но изоляция от высоковольтной сети такая же хуевая как на остальном китаеговне, европейскую сертификацию бы ни за что не прошло. Алсо какой-то ссаненький резистор на нижней стороне платы адово греется.
И что тебя натолкнуло на мысль, что в hi-link залита компаундом такая же схема? Да там даже ноги выведены в других местах.
А в чип-дипе есть аналоги? По сайту лажу, найти не могу. Мне она в течении нескольких дней нужна.
Насчёт китаеговна понятно, ибо цена.
>что тебя натолкнуло
Примерещилось. А вообще, ток, и, соотв-но, мощность совпадают.
Ага, есть.
https://www.chipdip.ru/catalog-show/pcb-power-adapters
Цены кайф, извлекай плату из зарядника и к ней паяй короче.
По-моему проще к своей махарайке юсб-папу припаять, и использовать телефонную зарядку как она есть.
Базара нет, проще. Я всю ардуину с блоком питания и реле запихал в корпус от блока питания принтера старого.
Ищу где пикрелейтед купить сейчас чтоб идеально было.
>собрана на 32u4
И можно сделать из неё джойстик для пеки. Хуй знает зачем, правда. Это так, к слову.
>>306075
https://www.ebay.com/itm/10pcs-AC-DC-3-3V-700mA-Isolated-Switching-Power-Supply-Module-220V-to-3-3V/332476116071
Вот тут разводка мне нравится, правильная сепарация 3В и 220В, прорези в текстолите, нет компонентов на нижней стороне платы. Но за каким-то хером в 3.3В блоке питания выходной электролит 16В 470мкФ. 16 вольт, Карл!!
Тем не менее, очень советую брать именно такие.
>прорези в текстолите
Простите, что? У меня как раз оба этого варианта на 5В. Один в один. Никаких прорезей.
Где искать, не вижу нифига?
Есть одна Arduino Nano 3. Посоветуйте фундаментальную книгу о программирование такого микроконтроллера с описанием архитектуры, ассемблера и прочим, с примерами кода и проектами.
Arduino не привязана к железу. Тебе нужно изучать микроконтроллеры AVR. Двачую наркоманский вопрос про АВРки. Сам такой идеальной книги не нашёл.
Мне она показалась хорошей.
Хочу китайскую ардуину мега программировать на ассемблере.
Если я подключу usbasp isp программатор сдампаю прошивку, eeprom и фьюзы, а потом сотру всё к херам. Смогут ли впоследствии восстановить всё в зад?
Тогда нужен дорогой программатор.
проебал гдето в программах
подробней пиши
чудес не бывает
>ардуина зависает
диод там нужен иначе попалиш выход андурилы
Что это? Мне это ни о чем не говорит. Мне нужно понять как без библиотек работать.
>Gnd плавает в воздухе?
А есть другие предложения? Хмм, а может, перевесить релюху на другую сторону моста? Тогда минус ардуины и минус моста будут физически соединены.
Пиши, поможем
http://s.aliexpress.com/mqQrINZF
Я бы купил.
Если тебе поиграться, то выглядит норм, по ценам не скажу, но вроде не дорого.
С приложения ссылка
У таких наборов нет задач, лучше придумай, что хочешь сделать, а потом уже заказывай по надобности. Лучше купи набор транзисторов, диодов, конденсаторов, резисторов упаковку. Ну и светодиодов можешь горсть заказать.
Тогда заказывай, благословляю тебя.
Или онли винда?
Я занимаюсь разработкой софта под МК (раньше 8051 и АВР, теперь армы) и плат под линуксом, всё чётко
Какое ПО используешь для армов?
Есть собственно Arduino IDE под линукс. Ну или PlatformIO + твой любимый редактор. Все работает четко, блинк компилится и заливается.
Я использую. Если у тебя установлен линукс, то ты и сам должен уметь гуглить. Если у тебя нет линукса, то и вопрос твой ниочём.
Пацаны не поймут.
Мотор 12в
Две щелевых оптопары
Ардуина.
Теперь описание функционала:
1. Жму кнопку. Мотор начинает хуярить в полную мощь;
2. Срабатывает первая оптопара. Мотор уменьшает мощность (пока не знаю на сколько, надо будет на месте уже решать), но продолжает крутиться.
3. Срабатывает вторая оптопара. Мотор останавливается до следующего нажатия кнопки.
Теперь просьба, скажите чего заказывать в китайщине, если конкретно то интересуют:
1. Сама кнопка, что б была с отбоем. То есть могла запускать весь процесс и тут же возвращаться на исходную позицию.
2. С ардуиной вроде все понятно, уно да уно. Здесь интересует контроллер мотора, который должен быть получается с двумя напряжениями - один 5в второй для питания мотора 12 в. Собственно какой покупать да что б ещё оптопары можно было прихуячить, а то видел на ютубе какой-то контроллер, который перекрывал все пины на ардуине.
3. Блок питания. Полагаю, что он нужен на 12в, тогда ещё нужна какая-то понижайка на 5 в.
Прошу тряпками не кидаться, с радиотехникой дел не имел раньше, но вот чего-то захотелось поковыряться.
Я думал и над этим. Ардуино привлекает тем, что собрав один раз её можно программировать как нужно, а со всякими реле придется все перепаивать.
> >второй пик
> Как он умудрился выровнять по правому краю проценты?
printf("ololo: %05d %", ololovar);
> И вообще: я знаю, тут есть знатоки Смарти.
Что это за говно?
Без разницы. У меги больше возможностей на вырост, но больше цена. Еще большинство шилдов сделаны под уно, но это если планируешь использовать шилды.
Бери уно и нано. Вторую буш как arduino-as-isp использовать, когда брикнешь уну.
А нормально разомкнутую кнопку купить еще раз сходить не судьба?
http://alexgyver.ru/gyvermod/
Он живет в деревне, батя приехал забрал меня с города на каникулы. Тут только если хомячка купить и выдрессировать что бы он контакты замыкал.
>Он живет в деревне
>Курит вейп
Мне кажется ты нам пиздишь, петушок.
На самосад пусть переходит, доярки потянуться, мужики начнут здороваться.
Пальцем пусть без кнопки замыкает провода лол.
Идея проста: такт от внешнего генератора с ENABLE пином, для усыпления мк просто отключаем тактирование.
Теоретически, мк "зависнет", полностью сохранив текущее состояние памяти и всего остального, и продолжит выполнение с того места, на котором остановился.
Подразумеваю, что WDT выключен.
Какие подводные камни? Пробовал ли кто? Каким будет потребление мк в таком "зависшем" режиме?
Есть еще такой вариант sleep'а: установить BOD на 4.3в и, соответственно, ронять питание до 4в, когда нужно. Только вот не понял, возобновит ли потом мк работу с того же состояния, в котором был, или же при >4.3в сразу сделает ресет?
>просто отключаем тактирование
>мк "зависнет"
>и продолжит выполнение с того места
Шота мне подсказывает внутренняя чуйка, шо ты лососнешь с таким вариантом.
Чего просто не усыписть МК?
Потому что все стандартные методы усыпления (и BOD тоже, все-таки) предполагают ресет. А мне нужно сохранение текущего состояния.
Так, как ты хочешь, можно делать далеко не со всяким процессором. Нужен fully static design - работа на частотах от 0 герц. Как там в AVR - не знаю. Вполне может быть - проверь.
К тому же, такое решение будет очень хрупким, и в серьёзных приложениях его использовать нельзя.
Чтобы сохранять состояние - нужно использовать прерывание. И по прерыванию сохранять это самое состояние - регистры, например, в пзу или статическое озу. А потом - восстанавливать.
Т.е. при загрузке надо проверять какой-то флаг, есть ли сохранённое состояние, если есть, то восстанавливать.
Скорости AVR вполне хватит на то, чтобы всё сохранить за те несколько миллисекунд, пока кондёр питания ещё держит напряжение, после отключения батарейки.
Как-то так.
А ты пытаешься на халяву всё это получить. Так не бывает.
Думай, как программист, а не как электронщик.
>Нужен fully static design - работа на частотах от 0 герц. Как там в AVR - не знаю. Вполне может быть - проверь.
Тиньки, например, можно запускать даже от часового кварца 32кгц, питать от 1-1.5в батарейки, жрут они при этом микроамперы, <100мкА. С мегами не пробовал. Так что идея слипа путем прекращения такта на авр - не выглядит фантастикой.
>К тому же, такое решение будет очень хрупким, и в серьёзных приложениях его использовать нельзя.
Не испытав, сложно судить о надежности, алсо
>серьезные решения
>ардуино тред в /ra/
ну ты понял.
>Чтобы сохранять состояние - нужно использовать прерывание. И по прерыванию сохранять это самое состояние - регистры, например, в пзу или статическое озу. А потом - восстанавливать.
>Т.е. при загрузке надо проверять какой-то флаг, есть ли сохранённое состояние, если есть, то восстанавливать.
>Скорости AVR вполне хватит на то, чтобы всё сохранить за те несколько миллисекунд, пока кондёр питания ещё держит напряжение, после отключения батарейки.
>Думай, как программист, а не как электронщик.
Удачи тебе впихнуть все эти изъебства в какую-нить тини13 с 1 кб прог флеша. Дохуя места останется на остальной код? Задача программиста - как раз впихнуть невпихуемое и выжать все соки из дешевого мк, а не въебать дорогущий мк с 32кб флеша из-за своей ограниченности и лени.
Привет, радиач! Есть модуль часов на DS1302. Пытался прошить двумя разными библиотеками и через FLProg, но он упорно отказывается работать. Постоянно пишет 01.01.2000 и всё тут. Я ему даже кварц менял, но результат тот же. Получается, что проблема в микросхеме.
В общем скажи мне это брак или ещё не всё потеряно? Очень уж нужны мне сейчас часы, а тут такая подстава.
>дуринотред
>прошить микросхему часов
Ай, на нэй, на нэй, постер ебёт цветных коней!
Читай документацию, если постоянно выводит только одно время - кварц. Если дату, то ты 24 часа не прождал.
Не врубаюсь я, анон, что там с конями, но в доках ничего про 24 часа не видел. Уточню что выводит она мне либо постоянно 000:00:00 00.00.2000 -- 00:00:00, либо 00:00:00 1-1-2000. Если вынимаю контакт I/O, показывает точно не помню, но там какая-то дата 2100+ года.
А второй кварц рабочий, только с неизвестной частотой.
Это не она тебе выводит, а твоя библиотека дуриновская.
1. RTFM
2. проверь VCC, GND, SCL, SDA чтобы были на своих местах
3. проверь батарейку
4. запусти i2c модуль самостоятельно и считай любые данные из часов
Но она же не i2c. Присмотрись, там 5 пинов. Батарейка норм, контакты целы. Подключал и шил по гайдам.
Ладно, походу брак.
Бюджет ограниченный, поэтому наборы покупать не хочу (уверен, что многое оттуда мне не пригодится).
Посоветуйте, какой Ардуино можно купить, чтобы с ним начинать с чего-то элементарного, а потом развиваться.
Arduino Uno
Соверую взять небольшой стартер кит.
Вот из этого почти всё должно пригодиться:
-Уна и нана, esp-шка (умеет в wifi и всякие mqtt).
-Пачка разнокалиберных проводов (видел только круглые, но квадратные лучше). И провода шлейфом. Его можно порвать как тебе удобно.
-Набор термоусадок.
-Пара бредбордов на 400 дырок. Или маленькие по 170. Их можно удобно соединять друг с другом.
-Кнопки-крутилки-лампочки. Набором.
-0.96 128x64 экран
-Гребёнки
Ну и если есть время, бери большой популярный магазин и выбирай то, что понравится. Где-то 2-3к тебе должно хватить на первый закуп.
CLK
DAT
RST
VCC
GND
Мануал прочти уже, большая часть часов - это микросхемы памяти i2c, с функцией часов. А если есть RST, который обычно подтягивается до "1", и который ты может не подключил, то опять таки, прочти документацию.
RST подключил к дуине, а библиотека, думаю, сама что нужно на него подала.
Поки ищу в доках что подавать на RST скажи может можно этот DS проверить? Как я понимаю, нужен осциллограф. Видел их просто из дуины делают и картинку на монитор выводят.
Большое спасибо за столь развернутый ответ, посмотрел цены у себя в магазинах, даже с учетом докупок выходит дороговато все равно. Сказывается наценка похоже.
https://ru.aliexpress.com/item/Arduino-Starter-Kit-for-arduino-Uno-R3-9G-Server-arduino-sensor-1602-LCD-jumper-Wire-UNO/32808269674.html
Вот нашел этот набор, показался годным. Радует, что есть LCD, потому что в магазинах такой стоит 600 рублей. Осталось закупить esp.
Дорого чёт. Поищи ещё. Там деталей рублей на 700-800. Экран тот фуфло если только ты не слепой. Я тебе годный показал. Только ищи с 4-мя выводами. Он просто удобней.
А ещё часы купи чтобы не попасть как я. Аноны советуют эти >>284748
Ну и модуль флешки чтобы какой-нибуль лог дневной освещённости у тебя в сычевальне вести
В даташите написано что при чтении/записи на RST подавать 1. В исходниках библиотеки эта единица подаётся.
Про I2C, кстати, ни слова нету.
Вот эти норм
https://ru.aliexpress.com/item/NEWEST-RFID-Starter-Kit-for-Arduino-UNO-R3-Upgraded-version-Learning-Suite-With-Retail-Box/32620337494.html
https://ru.aliexpress.com/item/Elego-UNO-Project-The-Most-Complete-Starter-Kit-for-Arduino-Mega2560-UNO-Nano-with-Tutorial-Power/32638892215.html
Например, объединить их шины SPI и попеременно подтягивать CS то одним устройством, то другим, передавая данные? Нужно ли перед подключением другого устройства сбрасывать питание флешки?
Можно. Но я бы использовал свитчи типа cd4066, ради синхронизации. Если флешку дёргать без синхронизации, то можно и додёргаться. Сбрасывать питание нет нужды, если ты будешь обеими мастерами на одной скорости общаться с флешкой.
для начала работы напрмер после смены батарейки туда надо записать дату и время, после этого они пойдут, а так они показывают время 0:00:80 и поэтому стоят
Но они должны тикать в любом случае? Ну а если нет, то выходит что проблема с установкой даты/времени. А как я говорил раньше, я прошивал его разными способами и с разных ардуинок.
Твой сенсор - настроенный малошумящий усилитель и присоска к коже. Ставь AD620, в кардиографе он себя хорошо показал, и АЦП любой на любое число бит. В аврках 10-битный АЦП, кстати.
Хуясе там волосатые лапы на фотке в пдфке.
>АЦП любой на любое число бит.
Но там 16битный надо для нормального разрешения (это не я придумал). AD620 у меня штук 5 валяется, как этот сенсор к ним подключать?
10 все равно мало.
дык посмотрел, епт, маркировка все равно не совпадает. Половину названия я расшифровал уже.
братишка, кинь ссыль на этот даташит, чот не нахожу((
а, все отморозился. Сорян, извини за тупизну.. ебать я лох(((
но все равно, блять, точки то нет.. чо за хуйня(((
Подключать как делитель напряжения, где твоя кожа - нижнее или верхнее плечо. Если нижнее плечо, то у тебя будет постоянно максимум напряжения при не подключенном датчике, и наоборот при коже на верхнем плече. Надёжнее ставить на нижнее плечо (R2), так как тогда у тебя ток большей частью не течёт через кожу, что безопаснее.
"Каждый ардуинщик - это личинка, только ленивая и глупая. Когда отрастит зубы-опыт, то сможет стать бабочкой-дизайнером или отрастив панцирь 1Сником. А если продолжит растить зубы-опыт, то сможет стать Железным Червем - железячником, да будет благославенен его путь среди дюн."
>перевести в микросименсы?!
По формуле, формула в интернете.
> По формуле, формула в интернете.
Да да, ясно все, понятно. Так прямо и загуглю, "перевести хуй знает что в душе не ебу из каких единиц в микросименсы формула", спасибо за готовое решение. Учитывать какие-то схемы, разработанные специально под задачу с учётом всех возможных подводных камней нахуй не надо, AD620 воткнуть и все будет заебись. Похуй, что давно обосновано, что там только за счёт свойств такой цепи с инструментальным усилителем будет ошибка в измерении в несколько процентов, для коррекции которой и предложены конкретные решения, похуй что минимум нужно 16 бит АЦП, потому что меньшая дискретизация не даёт требуемой точности. Все понял, услышал.
>В чом сложность?
Сложность в том, что в той записи, на которую я ссылаюсь, омы не фигурируют никак. Килоомы же в микросименсы переводить каждый школьник умеет и без гугла.
Слушай сюда, личинка. Ток задаётся входным резистором делителя и известен. АЦП измеряет напряжение и Uопорное равно 65535 (16бит), либо 1024 (10бит). R = U/I. Из сопротивления находишь микромоторолы.
Есть ардуинка уно, 7 серваков и 2 мотора-редутктора. Как к этому подобрать моторшилды? Их два должно быть, выходит?
>Есть ардуинка уно, 7 серваков и 2 мотора-редутктора
У нас было 200 библиотек с гитхаба, 75000 операторов goto, полтысячи синглтонов и целое множество копипаст со stackoverflow всех сортов и расцветок, а также мегабайты чистого undefined behavior и 2 дюжины файлов с нестандартным кодом. Не то чтобы это был необходимый запас для кодинга, но если начал лабать код, становится трудно остановиться. Единственное, что вызывало у меня опасение — это undefined behavior. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем говнокод с неопределённым поведением. Я знал, что рано или поздно мы перейдем и на эту дрянь.
l298n
Главная проблема будет в синхронизации доступа обоих устройств, нужен по сути протокол общения между ними, чтоб они знали когда флешка свободна для использования другим устройством. Обязательно нужно ждать окончания чтения/записи блока, ведь при записи даже одного символа, перезаписывается весь блок данных, установленный при форматировании, который может быть довольно большим по меркам контроллера и перезапись будет длиться какое-то время. Также нужно переводить выходы неактивного мастера в high-z состояние, чтоб они не мешали передаче данных от другого мастера на этой линии. Вообще доступ двух мастеров к одному слейву это та еще проблема, о которой на форумах неоднократно говорят и все сводится к тому что оно нахуй не надо, потому что даже простой сбой вроде сброса одного из мастеров может привести к потере данных.
Подскажите, как у этой херни организована DDRAM? С какого адреса начинается вторая строка, какая часть не видна на экране без перемещения?
5-5.5v
Ардуиноребенок еще не узнал, что в интернете можно найти даташиты на интересующее железо?
На HD44780 нашел, даже на русском есть, но там рассматривается вариант с максимум 16х2 у него вторая строка с 0х40 начинается.
Вот даташит на 40х4, там тоже вторая строка начинается с 0х40
Боже, какие сисечки, мммм..
Это у нее между ног светофор, типа зеленый - вход разрешен?
Протеус, ёпта
720x404, 0:19
Жыво запилите мне скетч для такого
Ардуино - это такая расхайпованая демоплата. Ну, из тех что во веки веков начиная еще с 8051 выпускались нечетным множеством производителей. Чтобы можно было там с фичами нового контроллера инжинеграм поиграться, и, затем, уже изучив и поигравшись отложить эту хуету в пыльный нижний ящик стола начать наконец разрабатывать уже нормальное устройство.
Но это в нормальные старые времена. В нашей современности - когда хуяк-хуяк и в продакшон не является чем-то плохим, когда любой школьник нахватавшись по верхам на тройбан мнит себя профессионалом и хочет сразу от 3000$ в месяц - тут да, демоплата взорвала мир посредственностей.
Наверняка вся эта байда на компьютере считается, физику частиц на микроконтроллере запилить, думаю, задача непростая. Правда, я не настоящий сварщик.
А если все это считается на компе, то остается только led-матрица и гироскоп, что крайне неинтересно.
> демоплата взорвала мир посредственностей.
Бинарная логика. Либо талантливый инженегр, либо школьник со светодиодами. Ты не думал, что возможно много промежуточных вариантов? Например, нужен девайс на микроконтроллере, при этом нет желания обмазываться пару лет ассемблером, программаторами и спецификациями на контроллер и весь сопутствующий обвес?
Ардуино - это стандартизация аппаратных интерфейсов демоплат. И программного интерфейса тоже.
Повторное использование железа, а не только кода. Быстрое прототипирование и т.д.
И, похоже, что эта "демоплата" взорвала не столько мир посредственностей, сколько твой пердак, лол.
Ну да, а потом пишут код мигания светодиодом через веб-морду на 32-бит микроконтроллере, потому, что код не влезает в память 8-битного.
Это всё не плохо, но как хобби.
>И программного интерфейса тоже.
Ты это серьезно? Судя по тому что я читал, ардуинолибы заточены под AVR. Стандартизация программного интерфейса для микроконтроллеров невозможна в принципе, т.к. у разных микроконтроллеров разные возможности периферии. Где-то есть ПДП, где-то таймеры считают вверх, а где-то вниз, и т.д.
> Ну да, а потом пишут код мигания светодиодом через веб-морду на 32-бит микроконтроллере, потому, что код не влезает в память 8-битного.
Даже если. Это приемлемая плата за то, что не придётся штудировать кучу талмудов, не факт что подъёмных для любого желающего без профильного образования и опыта работы.
Это (удачная) попытка стандартизации.
Есть ардуино на 32 битных армах, работают так же.
Тебя не смущает, что стандартная библиотека C одинаково работает на самых разных процессорах? А тут они сделали ещё один шаг, и стандартизировали понятия "порт", "пин", "аналоговый выход" (pwm) и т.д. Сделали либы под распространённую периферию.
>>308848
Именно так.
Это вообще тенденция - делать технологии доступными.
В этом смысл прогресса.
Когда-то, например, чтобы просто пользоваться радиоприёмником, надо было быть инженером. А теперь?
Или PC например - то же самое, практически. Лицензировали аппаратную платформу и биос - и всё, рынок захвачен.
Это всё вообще напоминает извечный спор между ассемблерщиками и сишниками. Кто победил, мы знаем, лол.
>>308842
>>308871
>пердуино
>шим захват через жопу как впрочем и все связанное с таймерами
>нет полноценной обработка прерываний
>многие либы для датчиков/дисплеев/прочего написаны дегенератами и содержат в себе баги, о которых могут месяцами не подозревать, потому что пользователям похуй как они работают.
>уровень кастомизации существующих говнолиб для периферии чуть менее чем никакой
лучше бы эту парашу для школьников не придумывали никогда
>"аналоговый выход" (pwm)
с этого вообще вголос
>Есть ардуино на 32 битных армах, работают так же.
В том то и дело что так же. Это означает что большая часть периферии микроконтроллера не используется.
>Тебя не смущает, что стандартная библиотека C одинаково работает на самых разных процессорах?
Не одинаково. И в ней нет (или почти нет) взаимодействия с периферией.
>>308848
>не факт что подъёмных для любого желающего без профильного образования и опыта работы.
Так и ардуино не любой желающий осилит. Например сомнительно что осилят слепые или не умеющие читать.
>>308874
>>"аналоговый выход" (pwm)
>с этого вообще вголос
Это действительно смешно, но боюсь ардуинщики этого не осознают.
>>308888
Вообще не бомбит, лол.
Чем тебе pwm не аналоговый выход?
Аналоговый не значит "звуковой" или "прецизионный" или даже "выход ацп". Аналоговый - значит с плавным изменением, на сколько повернул ручку, на столько изменился сигнал.
> большая часть периферии микроконтроллера не используется
Изрядная часть периферии твоего пк (или телефона) тоже не используется при работе js кода в браузере, когда ты читаешь сосачЬ. Тебя это не беспокоит? Почему?
>Аналоговый не значит "звуковой" или "прецизионный" или даже "выход ацп". Аналоговый - значит с плавным изменением
ШИМ - это как раз то, что является тем, что ты написал. это или вкл, или выкл, и ничего более.
Сделай тогда частотомер с использованием стандартной ардуиновской библиотеки, без прямой записи в регистры.
Или пример посложнее. У многих микроконтроллеров, в том числе AVR, время входа в прерывание непостоянно. Допустим требуется оцифровать синусоиду, сможешь посчитать добавляемый этим шум? Во многих микроконтроллерах АЦП можно запускать по таймеру, но универсальные и стандартизированные ардуинолибы этого не могут.
Я не говорю что ардуинолибы это хорошо или плохо, но стандартизация какая-то малополезная получается.
>>308907
ШИМ это преобразователь код - скважность. Все-таки можно назвать это ЦАП-ом. Но легче от этого не становится. Например, как ардуинщик сделает прямой и инверсный выход ШИМ для управления каким-нибудь транзисторным мостом?
А что эти "аналоговые" выходы должны делать на микроконтроллерах с ЦАП? Будут "истинно аналоговые" и "квазианалоговые" выходы?
Я недавно захотел воткнуть 9-ти осевой гирокомпас в робота, код 6-то осевого инкликомпаса у меня уже был, а тут 10 Тесла вместо 1 Тесла чувствительности магнитного поля. Взял библиотеку и охуел от говнокода. Да он работает. Да всё, что надо выполняет. Но я его так обрезал под свои задачи, что там осталось только считывание и вычисление квадрантами. А большего и не надо. В любой библиотеке ардуино масса ненужного именно потому, что
>не придётся штудировать кучу талмудов
хотя i2c у них один и тот же.
>>308910
>>308913
Ардуино - это для хоббистов и приравненных к ним.
Это не замена профессиональной разработке под мк.
Вы напоминаете подростков, которые пришли в детский сад и показывают маленьким детям, какие они сильные, и какие большие у них уже выросли пиписки.
Благодаря Ардуино тысячи людей вкатились в тему микроконтроллеров. Что и было целью. Среди них много дураков? Так количество дураков примерно одинаково в любой профессии.
Я лично видел электронщика, с профильным высшим образованием, успешно работающего по специальности, который не понимал, что пульсирующий ток состоит из постоянной и переменной составляющей, лол. И ещё и спорил до хрипоты, что это просто такая особая разновидность тока.
И говнокода в софте для пк/андроид/... ничуть не меньше.
Короче, вообще не понятно, о чём тут спор.
>ApgyuHo - eTo gJI9 xo66ucToB u IIpupaBHeHHbIx K HuM.
>ETo He 3aMeHa IIpoqpeccuoHaJIbHou pa3pa6oTKe IIog MK.
>
>BbI HaIIoMuHaeTe IIogpocTKoB, KoTopbIe IIpuLLIJIu B geTcKuu cag u IIoKa3bIBaIOT MaJIeHbKuM geT9M, KaKue oHu cuJIbHbIe, u KaKue 6oJIbLLIue y Hux y}I{e BbIpocJIu IIuIIucKu.
>
>6JIarogap9 ApgyuHo TbIc94u JIIOgeu BKaTuJIucb B TeMy MuKpoKoHTpoJIJIepoB. 4To u 6bIJIo L|eJIbIO. Cpegu Hux MHoro gypaKoB? TaK KoJIu4ecTBo gypaKoB IIpuMepHo oguHaKoBo B JIIO6ou IIpoqpeccuu.
>9 JIu4Ho BugeJI eJIeKTpoHLL|uKa, c IIpoqpuJIbHbIM BbIcLLIuM o6pa3oBaHueM, ycIIeLLIHo pa6oTaIOLL|ero IIo cIIeL|uaJIbHocTu, KoTopbIu He IIoHuMaJI, 4To IIyJIbcupyIOLL|uu ToK cocTouT u3 IIocTo9HHou u IIepeMeHHou cocTaBJI9IOLL|eu, JIoJI. u eLL|e u cIIopuJI go xpuIIoTbI, 4To eTo IIpocTo TaKa9 oco6a9 pa3HoBugHocTb ToKa.
>
>u roBHoKoga B coqpTe gJI9 IIK/aHgpoug/... Hu4yTb He MeHbLLIe.
>
>Kopo4e, Boo6LL|e He IIoH9THo, o 4eM TyT cIIop.
3f3f3f3f3f3f3f202d203f3f3f203f3f3f203f3f3f3f3f3f3f3f3f203f203f3f3f3f3f3f3f3f3f3f3f3f203f203f3f3f2e0d0a3f3f3f203f3f203f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f203f3f3f203f3f2e0d0a0d0a3f3f203f3f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f2c203f3f3f3f3f3f3f203f3f3f3f3f3f203f203f3f3f3f3f3f3f203f3f3f203f203f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f203f3f3f3f3f2c203f3f3f3f3f203f3f3f203f3f3f3f3f3f3f2c203f203f3f3f3f3f203f3f3f3f3f3f3f203f203f3f3f203f3f3f203f3f3f3f3f3f3f203f3f3f3f3f3f3f2e0d0a0d0a3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f203f3f3f3f3f3f203f3f3f3f3f203f3f3f3f3f3f3f3f3f203f203f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f2e203f3f3f203f203f3f3f3f203f3f3f3f3f2e203f3f3f3f3f203f3f3f203f3f3f3f3f203f3f3f3f3f3f3f3f203f3f3f203f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f203f3f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f203f203f3f3f3f3f203f3f3f3f3f3f3f3f3f2e0d0a3f203f3f3f3f3f203f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f2c203f203f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f2c203f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f203f3f203f3f3f3f3f3f3f3f3f3f3f3f3f2c203f3f3f3f3f3f3f203f3f203f3f3f3f3f3f3f2c203f3f3f203f3f3f3f3f3f3f3f3f3f3f3f203f3f3f203f3f3f3f3f3f3f203f3f203f3f3f3f3f3f3f3f3f3f203f203f3f3f3f3f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f2c203f3f3f2e203f203f3f3f203f203f3f3f3f3f3f203f3f203f3f3f3f3f3f3f2c203f3f3f203f3f3f203f3f3f3f3f3f203f3f3f3f3f203f3f3f3f3f3f203f3f3f3f3f3f3f3f3f3f3f3f3f203f3f3f3f2e0d0a0d0a3f203f3f3f3f3f3f3f3f3f203f203f3f3f3f3f203f3f3f203f3f2f3f3f3f3f3f3f3f2f2e2e2e203f3f3f3f3f3f203f3f203f3f3f3f3f3f2e0d0a0d0a3f3f3f3f3f3f2c203f3f3f3f3f3f203f3f203f3f3f3f3f3f3f2c203f203f3f3f203f3f3f203f3f3f3f2e
пердуинщик даже не смог конвертнуть utf8 в hex
D090D180D0B4D183D0B8D0BDD0BE202D20D18DD182D0BE20D0B4D0BBD18F20D185D0BED0B1D0B1D0B8D181D182D0BED0B220D0B820D0BFD180D0B8D180D0B0D0B2D0BDD0B5D0BDD0BDD18BD18520D0BA20D0BDD0B8D0BC2E0AD0ADD182D0BE20D0BDD0B520D0B7D0B0D0BCD0B5D0BDD0B020D0BFD180D0BED184D0B5D181D181D0B8D0BED0BDD0B0D0BBD18CD0BDD0BED0B920D180D0B0D0B7D180D0B0D0B1D0BED182D0BAD0B520D0BFD0BED0B420D0BCD0BA2E0A0AD092D18B20D0BDD0B0D0BFD0BED0BCD0B8D0BDD0B0D0B5D182D0B520D0BFD0BED0B4D180D0BED181D182D0BAD0BED0B22C20D0BAD0BED182D0BED180D18BD0B520D0BFD180D0B8D188D0BBD0B820D0B220D0B4D0B5D182D181D0BAD0B8D0B920D181D0B0D0B420D0B820D0BFD0BED0BAD0B0D0B7D18BD0B2D0B0D18ED18220D0BCD0B0D0BBD0B5D0BDD18CD0BAD0B8D0BC20D0B4D0B5D182D18FD0BC2C20D0BAD0B0D0BAD0B8D0B520D0BED0BDD0B820D181D0B8D0BBD18CD0BDD18BD0B52C20D0B820D0BAD0B0D0BAD0B8D0B520D0B1D0BED0BBD18CD188D0B8D0B520D18320D0BDD0B8D18520D183D0B6D0B520D0B2D18BD180D0BED181D0BBD0B820D0BFD0B8D0BFD0B8D181D0BAD0B82E0A0AD091D0BBD0B0D0B3D0BED0B4D0B0D180D18F20D090D180D0B4D183D0B8D0BDD0BE20D182D18BD181D18FD187D0B820D0BBD18ED0B4D0B5D0B920D0B2D0BAD0B0D182D0B8D0BBD0B8D181D18C20D0B220D182D0B5D0BCD18320D0BCD0B8D0BAD180D0BED0BAD0BED0BDD182D180D0BED0BBD0BBD0B5D180D0BED0B22E20D0A7D182D0BE20D0B820D0B1D18BD0BBD0BE20D186D0B5D0BBD18CD18E2E20D0A1D180D0B5D0B4D0B820D0BDD0B8D18520D0BCD0BDD0BED0B3D0BE20D0B4D183D180D0B0D0BAD0BED0B23F20D0A2D0B0D0BA20D0BAD0BED0BBD0B8D187D0B5D181D182D0B2D0BE20D0B4D183D180D0B0D0BAD0BED0B220D0BFD180D0B8D0BCD0B5D180D0BDD0BE20D0BED0B4D0B8D0BDD0B0D0BAD0BED0B2D0BE20D0B220D0BBD18ED0B1D0BED0B920D0BFD180D0BED184D0B5D181D181D0B8D0B82E0AD0AF20D0BBD0B8D187D0BDD0BE20D0B2D0B8D0B4D0B5D0BB20D18DD0BBD0B5D0BAD182D180D0BED0BDD189D0B8D0BAD0B02C20D18120D0BFD180D0BED184D0B8D0BBD18CD0BDD18BD0BC20D0B2D18BD181D188D0B8D0BC20D0BED0B1D180D0B0D0B7D0BED0B2D0B0D0BDD0B8D0B5D0BC2C20D183D181D0BFD0B5D188D0BDD0BE20D180D0B0D0B1D0BED182D0B0D18ED189D0B5D0B3D0BE20D0BFD0BE20D181D0BFD0B5D186D0B8D0B0D0BBD18CD0BDD0BED181D182D0B82C20D0BAD0BED182D0BED180D18BD0B920D0BDD0B520D0BFD0BED0BDD0B8D0BCD0B0D0BB2C20D187D182D0BE20D0BFD183D0BBD18CD181D0B8D180D183D18ED189D0B8D0B920D182D0BED0BA20D181D0BED181D182D0BED0B8D18220D0B8D0B720D0BFD0BED181D182D0BED18FD0BDD0BDD0BED0B920D0B820D0BFD0B5D180D0B5D0BCD0B5D0BDD0BDD0BED0B920D181D0BED181D182D0B0D0B2D0BBD18FD18ED189D0B5D0B92C20D0BBD0BED0BB2E20D09820D0B5D189D19120D0B820D181D0BFD0BED180D0B8D0BB20D0B4D0BE20D185D180D0B8D0BFD0BED182D18B2C20D187D182D0BE20D18DD182D0BE20D0BFD180D0BED181D182D0BE20D182D0B0D0BAD0B0D18F20D0BED181D0BED0B1D0B0D18F20D180D0B0D0B7D0BDD0BED0B2D0B8D0B4D0BDD0BED181D182D18C20D182D0BED0BAD0B02E0A0AD09820D0B3D0BED0B2D0BDD0BED0BAD0BED0B4D0B020D0B220D181D0BED184D182D0B520D0B4D0BBD18F20D0BFD0BA2FD0B0D0BDD0B4D180D0BED0B8D0B42F2E2E2E20D0BDD0B8D187D183D182D18C20D0BDD0B520D0BCD0B5D0BDD18CD188D0B52E0A0AD09AD0BED180D0BED187D0B52C20D0B2D0BED0BED0B1D189D0B520D0BDD0B520D0BFD0BED0BDD18FD182D0BDD0BE2C20D0BE20D187D191D0BC20D182D183D18220D181D0BFD0BED1802E
пердуинщик даже не смог конвертнуть utf8 в hex
D090D180D0B4D183D0B8D0BDD0BE202D20D18DD182D0BE20D0B4D0BBD18F20D185D0BED0B1D0B1D0B8D181D182D0BED0B220D0B820D0BFD180D0B8D180D0B0D0B2D0BDD0B5D0BDD0BDD18BD18520D0BA20D0BDD0B8D0BC2E0AD0ADD182D0BE20D0BDD0B520D0B7D0B0D0BCD0B5D0BDD0B020D0BFD180D0BED184D0B5D181D181D0B8D0BED0BDD0B0D0BBD18CD0BDD0BED0B920D180D0B0D0B7D180D0B0D0B1D0BED182D0BAD0B520D0BFD0BED0B420D0BCD0BA2E0A0AD092D18B20D0BDD0B0D0BFD0BED0BCD0B8D0BDD0B0D0B5D182D0B520D0BFD0BED0B4D180D0BED181D182D0BAD0BED0B22C20D0BAD0BED182D0BED180D18BD0B520D0BFD180D0B8D188D0BBD0B820D0B220D0B4D0B5D182D181D0BAD0B8D0B920D181D0B0D0B420D0B820D0BFD0BED0BAD0B0D0B7D18BD0B2D0B0D18ED18220D0BCD0B0D0BBD0B5D0BDD18CD0BAD0B8D0BC20D0B4D0B5D182D18FD0BC2C20D0BAD0B0D0BAD0B8D0B520D0BED0BDD0B820D181D0B8D0BBD18CD0BDD18BD0B52C20D0B820D0BAD0B0D0BAD0B8D0B520D0B1D0BED0BBD18CD188D0B8D0B520D18320D0BDD0B8D18520D183D0B6D0B520D0B2D18BD180D0BED181D0BBD0B820D0BFD0B8D0BFD0B8D181D0BAD0B82E0A0AD091D0BBD0B0D0B3D0BED0B4D0B0D180D18F20D090D180D0B4D183D0B8D0BDD0BE20D182D18BD181D18FD187D0B820D0BBD18ED0B4D0B5D0B920D0B2D0BAD0B0D182D0B8D0BBD0B8D181D18C20D0B220D182D0B5D0BCD18320D0BCD0B8D0BAD180D0BED0BAD0BED0BDD182D180D0BED0BBD0BBD0B5D180D0BED0B22E20D0A7D182D0BE20D0B820D0B1D18BD0BBD0BE20D186D0B5D0BBD18CD18E2E20D0A1D180D0B5D0B4D0B820D0BDD0B8D18520D0BCD0BDD0BED0B3D0BE20D0B4D183D180D0B0D0BAD0BED0B23F20D0A2D0B0D0BA20D0BAD0BED0BBD0B8D187D0B5D181D182D0B2D0BE20D0B4D183D180D0B0D0BAD0BED0B220D0BFD180D0B8D0BCD0B5D180D0BDD0BE20D0BED0B4D0B8D0BDD0B0D0BAD0BED0B2D0BE20D0B220D0BBD18ED0B1D0BED0B920D0BFD180D0BED184D0B5D181D181D0B8D0B82E0AD0AF20D0BBD0B8D187D0BDD0BE20D0B2D0B8D0B4D0B5D0BB20D18DD0BBD0B5D0BAD182D180D0BED0BDD189D0B8D0BAD0B02C20D18120D0BFD180D0BED184D0B8D0BBD18CD0BDD18BD0BC20D0B2D18BD181D188D0B8D0BC20D0BED0B1D180D0B0D0B7D0BED0B2D0B0D0BDD0B8D0B5D0BC2C20D183D181D0BFD0B5D188D0BDD0BE20D180D0B0D0B1D0BED182D0B0D18ED189D0B5D0B3D0BE20D0BFD0BE20D181D0BFD0B5D186D0B8D0B0D0BBD18CD0BDD0BED181D182D0B82C20D0BAD0BED182D0BED180D18BD0B920D0BDD0B520D0BFD0BED0BDD0B8D0BCD0B0D0BB2C20D187D182D0BE20D0BFD183D0BBD18CD181D0B8D180D183D18ED189D0B8D0B920D182D0BED0BA20D181D0BED181D182D0BED0B8D18220D0B8D0B720D0BFD0BED181D182D0BED18FD0BDD0BDD0BED0B920D0B820D0BFD0B5D180D0B5D0BCD0B5D0BDD0BDD0BED0B920D181D0BED181D182D0B0D0B2D0BBD18FD18ED189D0B5D0B92C20D0BBD0BED0BB2E20D09820D0B5D189D19120D0B820D181D0BFD0BED180D0B8D0BB20D0B4D0BE20D185D180D0B8D0BFD0BED182D18B2C20D187D182D0BE20D18DD182D0BE20D0BFD180D0BED181D182D0BE20D182D0B0D0BAD0B0D18F20D0BED181D0BED0B1D0B0D18F20D180D0B0D0B7D0BDD0BED0B2D0B8D0B4D0BDD0BED181D182D18C20D182D0BED0BAD0B02E0A0AD09820D0B3D0BED0B2D0BDD0BED0BAD0BED0B4D0B020D0B220D181D0BED184D182D0B520D0B4D0BBD18F20D0BFD0BA2FD0B0D0BDD0B4D180D0BED0B8D0B42F2E2E2E20D0BDD0B8D187D183D182D18C20D0BDD0B520D0BCD0B5D0BDD18CD188D0B52E0A0AD09AD0BED180D0BED187D0B52C20D0B2D0BED0BED0B1D189D0B520D0BDD0B520D0BFD0BED0BDD18FD182D0BDD0BE2C20D0BE20D187D191D0BC20D182D183D18220D181D0BFD0BED1802E
Пока пердаки рвет только диванным инженерам.
Лично я и не спорю. Я благодарен дуине и подобным за ассортимент платочек с датчиками, экранчиков на платочках, моторчики в редукторах и с колёсиками тоже хорошо. Но я всё равно буду удивляться, как дуиновый код пишут, хотя и знаю кто его пишет.
Мне преподы объясняли, что аналоговый сигнал - это сигнал значение которого определено в любой момент времени действия сигнала. То есть аналоговый сигнал - это не дискретный сигнал (который лишь математическая абстракция).
В каком месте ШИМ дискретный? В микроконтроллере он формируется дискретно, но в общем случае он не дискретный.
>>308914
Так то оно верно, но:
>Это (удачная) попытка стандартизации.
Тогда такие заявления не стоит делать. Самодельный частотомер это вполне хоббийная задача.
>Мне преподы объясняли, что аналоговый сигнал - это сигнал значение которого определено в любой момент времени действия сигнала. То есть аналоговый сигнал - это не дискретный сигнал (который лишь математическая абстракция).
Нет и нет. Ознакомся для начала со страницей на википедии по "аналоговому сигналу" и "цифровому сигналу". https://ru.wikipedia.org/wiki/Аналоговый_сигнал
> Цифровой сигнал — сигнал, который можно представить в виде последовательности дискретных (цифровых) значений. В наше время наиболее распространены двоичные цифровые сигналы (битовый поток) в связи с простотой кодирования и используемостью в двоичной электронике.
>
А теперь посмотри на английской википедии.
Вот я не поленился и открыл Баскакова:
>Часто физический процесс, порождающий сигнал, развивается во времени таким образом, что значения сигнала можно измерять в любые моменты времени. Сигналы такого класса принято называть аналоговыми (континуальными).
>Особой разновидностью дискретных сигналов являются цифровые сигналы.
И на википедии написано почти правильно. Последовательность значений - это в некотором роде синоним дискретного сигнала. ШИМ можно назвать цифровым только когда он обрабатывается дискретно.
Доверять википедии нет никаких причин. Не доверяешь Баскакову - посмотри у Гоноровского.
>А теперь посмотри на английской википедии.
> For example, in an analog audio signal, the instantaneous voltage of the signal varies continuously with the pressure of the sound waves. It differs from a digital signal, in which the continuous quantity is a representation of a sequence of discrete values which can only take on one of a finite number of values
То же самое, не находишь?
Если ты настаиваешь, что на выходах PWM - аналоговый сигнал, то на GPIO выходах должен быть такой же аналоговый сигнал, ну и значит на GPIO входах так же. Итого - микроконтроллеры работают с аналоговыми сигналами, а не с цифровыми. Великолепно.
>обмазываться пару лет
>ассемблером
Это чем там так долго можно обмазываться, максимум неделя-две, быстрее, чем разбираться в кривых пердуино либах.
500x282, 0:15
Хватит ругаться, тут Ардуино-Дива удивляет новой подсветкой
I never asked for this
И какой набор выбрать для сборки различных регистраторов, анализаторов, детекторов и прочих ништяков на датчиках с автоматизацией работы?
Что значит демократичные?
Программатор, доставка, если в розницу брать столько же сколько и за uno выйдет.
Много ног и совместимость с шилдами
мега 2560 500р
Любишь жоский секас?
Про мини 100р
я хуй знает куда "демократичнее". Можешь чипы купить, и сам ебстись.
100 штук, по 6.41р
Не, жесткий не люблю. Так что наверно мега.
У китайцев действительно ардуинки дешёвые. Я просто как ребёнок в конфетной лавке. А что там самое вкусное в плане наборов?
есть глобальная переменная xуй
есть некий говнокод
x+= encoder->getValue();
function(x);// вызов функции и передача переменной
void function(int y)
{
if(y<=1) //не срабатывает запись значения в глобальную переменную
{
y=1;
}
..................................................................................................
if(x<=1) //но срабатывает при явном указании глобальной переменной
{
x=1;
}
}
как пофиксить чтобы работала первая часть функции?
Почему-то не помогло, как и прежде проверка внутренних переменных в фунции проходит и отображается нормально, но вот в глобальную переменную всё равно не записывается
Аргумент передаётся в функцию по значению, т.е. копируется, в функции изменяется его копия, и при выходе из функции копия выбрасывается. Передавай в функцию указатель, а внутри функции разыменовывай его
Анончик, будь добр, кинь пример кода, а то я с программированием связан только в виде хобби, и не понял что ты написал
У тебя y это локальная переменная внутри функции, изменяя её ты никак не влияешь на другие переменные, только на сам y.
(1) Либо пиши так:
if (y <= 1)
x=1;
(2) Либо изучай работу с указателями и вводи указатель на x:
int px; //указатель ссылающийся на х
px = &x; //получаем ссылку (адрес) на х
void function(int py) //в функцию передаётся ссылка на х (вызов такой function(px);)
{
if (py<=1) //проверяется переменная по ссылке (х)
py=1; //записывается значение в переменную по ссылке (равносильно х=1)
}
Второй способ избыточный и тебе не нужен, используй первый.
Всё пошло по пизде, вакаба съела звёздочки. Короче пользуйся первым способом.
Да там похуй. Уно - нормально.
Много памяти и портов. Цена в три раза выше.
Зависит от проекта, например на 3Д принтер уно не хватает, там используют мегу, а на лазерный гравер хватает.
>>309433
Почему у них такой разброс в цене? Мегу можно взять и за 389р https://www.ebay.com/itm/NEW-MEGA-2560-R3-ATmega2560-16AU-CH340G-Develope-Board-W-Cable-for-Arduino/152852417519?epid=1864221812&hash=item2396b6cbef:g:X50AAOSwUYNaTW12 и за 600-800. Есть разница, что брать?
Ладно, буду ковыряться в своём коде, видимо в нём проблема. В любом случае спасибо за помощь, держи бурятку.
>Есть разница, что брать?
Ни разу не сталкивался с нерабочими ардуино из Китая. Бери где дешевле.
>>309446
Господа, мутировать параметр в void-функции - это просто вершина говнокодерства.
Никогда так не делайте.
Так делают только тогда, когда у вас функция уже возвращает какой-то результат, а вам надо ещё что-то поменять, в виде дополнительного/побочного эффекта.
В вашем же случае функция void - она не возвращает ничего. И нужно просто сделать так, чтобы она возвращала результат.
Т.е. вы передаёте в функцию параметр, она что-то делает с его участием, и возвращает результат.
Например:
int dblNum(int x) {
int res = x + x;
return res;
}
int value = 10;
int dblVal = dblNum(value);
Обратите внимание, что функция стала int, а не void.
Результат может иметь совершенно другой тип, нежели параметры. Например, вы передаёте в функцию строку - имя файла, а она возвращает открытый файл и т.д.
Ну да, само-собой. Просто вопрос изначально странный был, непонятно что конкретно он хочет, потом кто-то запостил про указатели и я тупанул и сразу стал думать про указатели, когда все делается просто так:
int function(int y)
{
if (y<=1)
return 1;
}
и вызов
x = function (x);
Никак.
Почему не хочешь через COM порт? Это единственный нормальный способ.
Проблема в TTL уровнях?
Купи USB to Serial с TTL уровнями (они обычно ещё и с переключателем 5 или 3.3 в). Пригодится для любого МК.
https://ru.aliexpress.com/item/Free-shipping-1pcs-lot-New-FT232RL-FT232-USB-TO-TTL-5V-3-3V-Download-Cable-To/32645814447.html
Указатель - это адрес (переменной в памяти).
Как номер элемента в массиве.
Кстати, в Си указатели и массивы - это одно и то же, просто синтаксис другой.
Они нужны для _косвенной_ адресации.
Когда ты хочешь оперировать самим адресом как данными.
Например, передать куда-то _ссылку_ (указатель) на данные, чтобы там, в другом месте, можно было менять твои данные напрямую.
Как если бы ты дал кому-то ключ от квартиры, и попросил поливать цветы, пока тебя не будет.
По этой же причине указатели считаются небезопасными - кому попало ключ давать не стоит.
См. пример >>309407
Не совсем проблема, просто для отладки компьютер с консолькой незаменим, как по мне. Вот и думаю, как бы это устроить. Отдельного дисплея у меня нет...А сам программатор есть, но спасибо за ссылку.
>просто для отладки компьютер с консолькой незаменим, как по мне
Ну и хуле обычную уну для отладки не купить? Там серийный конвертер встроен, общайся с компом хоть до усрачки. Про минька для вставки в конечный продукт предназначена, потому без "лишних" деталей.
С ключом годное объяснение, очень доступно.
Ссылки и указатели это разные вещи. Ссылок вообще нет в C, они есть в С++. Массивы и указатели отличаются не только синтаксисом.
Не умничай.
Отличия массивов от указателей (помимо синтаксиса) непринципиальны.
Ссылки в плюсах - это урезанный вариант указателей. На понимание принципов не влияет.
>сам программатор есть
Ты такую штуку, как по ссылке, называешь "программатором"?
Тогда ответ "можно".
И тогда вообще не понятно, в чём у тебя проблема?
Подключи его к RxD-TxD на ардуине и всё.
Что ты пробовал делать?
Таки купил эту ардуину pro mini strong, ибо замануха. Взял за 130р, и через пару дней цена взлетела свыше 300. Есть ещё аналог nano с конвертером, но нахуй не надо. Светодиоды красные. С виду напоминает flight controller, но по факту, видимо, сделана под выносные датчики. inb4: долбоёб, держи нас в курсе.
Программатор - это программатор.
Это такая хуёвина, которой можно прошить чистый AVR.
MISO там, MOSI, вот это вот всё.
А последовательный порт - это последовательный порт.
Чтобы через него программировать, нужно, чтобы в контроллер уже был прошит программатором начальный загрузчик и не поверишь программатор (AVR допускает самопрограммирование). Короче, нужна ардуина.
Так вот, через _программатор_ в консоль выводить нельзя.
А через последовательный порт - можно.
Об этом и был изначально вопрос.
У тебя на 3.3 8 Мгц или на 5 вольт 16 Мгц?
Сейчас посмотрел - на 5 в. - по 300+ руб, а на 3.3 - по 160+. Остальное - то же самое.
Кстати, удивился, что есть ATMega 328 на 3.3, не знал.
5/16. Есть такие, да. В ардуино ide в списке pro mini вроде должно быть четыре вариации. Я вот даже думаю, а нахер нужна про мини если есть стронг? Крепёжные отверстия, питание для каждого пина. Мне она больше понравилась.
Вот такие дырки вместо ног или разъёмов как использовать? Паять штоле?
В комплекте был полный набор пинхедеров гребёнки, но я сразу не припаиваю. Если применю для устройства с выносными датчиками, то провода припаяю напрямую. Если захочу сделать микростенд зачем?, то припаяю пинхедеры.
А куда перекатываться с плоскогубцев или ножовки? Мне кажется, что это просто инструмент. Мини-пивоварню собрать, например.
Если вкатываешься в создание ардуин, то вот тебе архитектура, ассемблер, си. imho
<= Ты здесь =>
Если вкатываешься в потребление ардуин, то тебе микропитон/mbed на СТМ32. imho
Тебе в какую сторону?
>А куда перекатываться с плоскогубцев или ножовки?
С плоскогубцев - в пинецты, длинногубцы, медицинские зажимы, струбцины, тиски, пресс-клещи, бокорезы, ножницы, отвесы.
С ножовки - в болгарки, мехпилы, дремели, ножи для хлеба, фрезерные станки.
Спасибо, капитан. С ардуиной, примерно, то же самое.
Хз, мне просто нравится делать всякие девайсы.
Может я даже профессию свою хочу с этим связать. Точнее её выбор. Но ардуина кажется какой-то слишком детской что-ли, хоббийной больше чем чем-то серьезным.
Очевидные АРМы, как микроконтроллеры так и микропроцессоры. За ними ближайшее будущее.
Atmel fuse doctor, паяется из говна и палок за день, но нужна живая атмега для прошивки.
Или собери источник тактовых сигналов, под которые прошил мегу, кварц там или что.
пропаяй все проверь питание, видимо что то с питанием
http://mypractic.ru/urok-24-podklyuchenie-analogovyx-termodatchikov-k-arduino-lm35-tmp35-tmp36-tmp37-rabochij-proekt-termometra.html
там про фильтры и про фильтрацию сигнала почитай
Чавой-та?
Я не против ардуино, когда школьник на них делает робота или другую шагающую хрень.
я профессионально занимаюсь всякими там воротами, рольставнями и прочей херью. Воротами, к примеру, управляет плата с электроникой. там реле, радиомодуль, блок питания вот это все.
раз приехал на заявку по неработающим воротам. а там вместо православного блока стоит ардуина!
Делал, как мне сказали, электрик ЖЭКа! Примчем все датчики безопасности были отключены. Пульта, естестенно, не было. Вся работа сводилать к тому, что по команде с кнопки охранника ворота тупо открывались и чрезе минуту закрывались!! И все. Электрик, видимо, с перепоя этот скетч написал. Самое страшное, что датчики безопасности были устанволены, просто этот чмудель не знал, как их согласовать. Повторбсь, ворота ТУПО закрывались!!!!
вот к чему приводи ардуина
Лол. Ардуино - это прежде всего отлично сделанная плата. Пишу программы для автоматических станков. Головной контроллер - мега2560. Ресурсов предостаточно. всем доволен, пока хватает. Алсо может быть через некоторое время сменю контроллер на STM32, но никаких острых необходимостей опять таки нет.
И при чём тут Ардуино?
Например, куча пидорасов и мудаков дышит с тобой одним воздухом. Тебе же дышать не западло?
Приемник (пик снизу) ебет мозги.
При питании от напрямую от USB, через USBASP, все заебись, все работает, успешно принимаю сообщения от другой махарайки. Отключаю от USBASP, питаю через AMS1117-5.0 от АККУМА 9 или 12в. Нихуя принять не может. За два часа работы принял 1-2 сообщения из тысяч, отпревленных соседней махарайкой. Добавил на вход стаба кондер 470мкФ, на выход 1500мкФ, ему похуй! На выходе 4.999в, пульсаций никаких нет, сам модуль вместе с мк жрет от силы 15 мА. Условия просто идеальные. Пробовал антенну цеплять, разной длины - похуй, хоть 1 см, хоть 100 см (к передатчику припаял кусок провода 17 см, в сдр шарпе видно мощный зашкаливающий сигнал).
Отрубаю аккум, втыкаю USBASP, втыкаю его в комп... И все работает!
Что нужно этого говну? Алсо, есть ли у кого схема этой параши? Микра там - тупо лм358, очевидно как компаратор принимает импульсное дрыганье с примитивного приемника.
Возможно, в usb адаптере линии data притянуты к питанию. Попробуй навесить подтяжки на 1-5-10кОм
У модуля DATA - один пин (два средних запараллелены). С усбаспом и без него между vcc и data показывает чуть более 2 МОм. Так что нет, не притянуты. Да и зачем? Там выход напрямую из LM358, никакого сопротивления не висит.
Правда, один момент: при питании от программатора питание идет через диод (защита от втыкания разъема наоборот), так что вместо 5в получается 4.3в, но дело не в этом, тоже проверял.
Это сверхрегенеративный приемник, для них характерна нестабильная работа.
>Алсо, есть ли у кого схема этой параши?
Попробуй искать по словам "433 китай сверхрегенеративный".
Вот примерная схема этого поделия. Может кто пошагово пояснить, как оно работает?
На частоте 433,920 МГц работают множество других устройств (радио люстры, радио розетки, радио брелки, радио модели и т.д.), которые могут «глушить» передачу данных между радио модулями.
Отсутствие обратной связи. Модули разделены на приёмник и передатчик. Таким образом, в отличии от модуля nRF24L01+, приемник не может отправить передатчику, сигнал подтверждения приёма.
Низкая скорость передачи данных, до 5 кбит/сек.
Приёмник MX-RM-5V критичен даже к небольшим пульсациям на шине питания. Если Arduino управляет устройствами вносящими даже небольшие, но постоянные, пульсации в шину питания (сервоприводы, LED индикаторы, ШИМ и т.д.), то приёмник расценивает эти пульсации как сигнал и не реагирует на радиоволны передатчика. Влияние пульсаций на приёмник можно снизить одним из способов:
Использовать, для питания Arduino, внешний источник, а не шину USB. Так как напряжение на выходе многих внешних источников питания контролируется или сглаживается. В отличии от шины USB, где напряжение может существенно «проседать».
Установить на шине питания приёмника сглаживающий конденсатор.
Использовать отдельное стабилизированное питание для приёмника.
Использовать отдельное питание для устройств вносящих пульсации в шину питания.
Ха! Ну, держи, если не слабонервный. Претензии про не смытый флюс на сраном макете - не принимаются. А так, тут все четко, 10 раз перепроверено, хоть и выглядит стрёмно.
>>310768
Я осциллом смотрел, пульсациий нет, разве что микровольты. Тини13 жрет мизер, помех от нее с 1500мкФ литом быть не может. Почему с программатором приемник отлично пашет, а без него нет - загадка. При чистейшем питании от аккума, повторюсь.
Девайс в плане кода - не ардуино, как вы понимаете. Но дело тут, конечно, не в коде.
может он какие ноги контроллера куда-то подтягивает
я так понимаю это эта байда?
Пробовал два аккума. NiMH крона 9V - почти новая. 12V 9Ah свинец, слегка б/у, но ток до 15А держит практически без просадки. 9В трансформаторный бп тоже пробовал.
Но во всех этих случаях питание идет через стабилизатор, в данном варианте - 78L05 (вход 470мкф, выход 1500 мкф + блокировочные).
>>310774
Выше я уже писал по этому поводу. МК работает отлично, ему вообще похуй на питание. Дело в том что высирает из себя приемник (а он стабильно что-то высирает, синхронно с передачей). Жаль, что у меня нет лог. анализатора, а то гадаю вслепую, чего этому говну от меня надо. Для приема данных используется тот пин, который MOSI для программатора, ни к чему он там не подтянут.
Попробуй, эксперимента ради, при питании от аккумулятора соединить общий провод питания с таковым ПК.
Схема этого сверхрегенеративного приемника не сильно отличается от других подобных. Например вот нагуглилось: http://useruser.narod.ru/superregenerator.htm
А так могу посоветовать убрать конденсатор по питанию. И подавать питание через дроссель или даже резистор. Дело в том, что в этой схеме коллектор Q2 должен быть развязан по ВЧ от питания.
Но вообще нет ничего удивительного в том что такая схема не работает. Я несколько раз собирал подобные схемы и мне ни разу не удавалось добиться нормальной работы.
> удивительного в том что та
а у меня нормально на ардуинке было
приемником принимал от брелка принцентон сигналы расшифровывал а передатчиком открывал найсовские ворота
>подавать питание через дроссель
Неожиданно, помогло. В хламе с трудом отрыл какой-то компактный дроссель, по измерениям - 3 ом 90мкГн. Впаял по питанию модуля, и теперь он высирает корректные пакеты данных как пулемет. Чудеса. Нихера не понял. Осцилл 30 МГц никаких пульсаций не почуял. Да и откуда они там? Тинька жрет несколько мА. Грешу на какой-нить шум от стабилизатора. Ну и на помехи от Андромеды. В общем, вопрос закрыт. Спасибо, Анон!
>Нихера не понял.
Я же писал:
>Дело в том, что в этой схеме коллектор Q2 должен быть развязан по ВЧ от питания.
Ну сам посмотри, можно считать что база транзистора Q2 сидит на земле по ВЧ (до некоторой степени). Тогда, в том случае когда сопротивление источника питания по ВЧ относительно мало, резистор R8 будет шунтировать колебательный контур на L0, C7, C6, C10.
Теперь понял, ты имеешь ввиду, что вч колебания контура, в самом приемнике, как бы глушатся фильтром питания (тем более что я туда еще и керамики не пожалел), а применение дросселя помогает этого избежать, как бы не давая им покинуть модуль.
Вся эта аналоговая магия, да еще в виде всратой китайской схемотехники, с трудом дается к пониманию.
>>310792
Воистину, /ra/дач - образовательный.
нет он тебе говарил что финская фанера однохуйственно отличается от твоего желания
...
пойми одно у когото оказались прецизионные компаненты
а укогото их попросту нет
ктото пытаица запустить 16 киловат постоянной нагрузки на нихроме через серебро на пакетниках
а ктото досих пор ловит устойчивое сробатывание семистора...
ктото видит на деле как работает чугуниевая плита - отливка ...
дури сколь ко там?
16 киловат
8 спиралей по 2 киловата
на площади полтора метра на 80-70 сантиметров
а мож и больше дури я хз включал звездой
термостат только вывел перебрал
оога ога и ктоже ограничивает сие?
т32
через магнитник
погорит заменю ) еще + 11 грам серебра мне на крест
авы лошки и дальше драчите биток
https://youtu.be/-nMwuQa0cBc
Опять таблетки не выпил?
Чо ты косишь? У тебя мозгов хватает на свой стиль, а не жалкую пародию.
Если без тупого цикла, то по аналогии с другими микроконтроллерами могу предположить что с помощью таймеров с модулями сравнения/захвата можно выдавать до половины тактовой частоты.
автоматическим увлажением и подогревом и что-бы чекать что там происходит.думал взять esp и aduino mega или uno,стал вопрос какие датчики заюзать для этого.
посоветуйте пожалуйста.
Господа. Купил дешевую ардуину уно у китайцев. Я заведомо гуглил подводные, и был морально готов к небольшой ебле с драйверами. Но увы моя железка вообще отказывается распознаваться по USB. Ставил дрова CH340, пробовал на разных машинах, разные порты - нихуя. Еще заметил, что в мануалах ардуина уже изначально распознается USB-Serial, как-то так. У меня же просто неизвестное USB-устройство. Еще и у чипа этого во всех мануалах есть маркировка CH340, а у моего, что интересно, вообще нет ничего.
На линуксе пишет unable to enumerate USB device. Нет ни мануфактурера, нихуя. В lsusb не появляется. Но устройство вроде рабочее, светодиодом мигает. Помогите, пожалуйста. или посоветуйте что купить, чтобы работало? только не за 20 баксов
Ты бы хоть фотку сделал. Мы как угадаем что за говно там у тебя? Ссылку на лот где покупал хоть дай.
>только не за 20 баксов
Уно 3 бакса у китайцев. Ты первый в истории этого треда, кто не смог её запустить.
Фотку не прикреплял, т.к. говно у меня самое стандартное, как я понимаю. Хотя отсутствие маркировки на чипе это что-то новенькое.
По USB нихрена не определяется, по ISP avrdude тоже не может ответа от девайса получить.
Диодики горят при подаче питания.
Я немножко силы приложил на торчащий снизу кристалл китайцы – гении инжерной мысли блять, но не вижу никаких повреждений.
Что-нибудь ещё можно подебажить, или сразу в мусор?
Как открыть его в виде ассемблера? Авр студию ставить не хочу, а в HIEW отображается хуйня. Нужно что-то легковесное, пока просто для просмотра. Хочу видеть что скомпилировал компилятор в виде ассемблера, дабы пробовать разобраться и вкатиться в лоу левел кодинг.
Дизассемблером.
gcc -S
>HIEW
Для ардуинщиков объясняю. У вас в ИДЕ имеется gcc, ничего дополнительно ставить не нужно.
Я не вижу серийного конвертера на твоей плате. Там юсб наверно только для питания и проектов с софтовым юсб.
Тебе внешний программатор нужен по любому.
>по ISP avrdude тоже не может ответа от девайса получить
Ты что-то не так подключаешь.
Ну хуй знает. Где покупал-то? Там отзывы есть?
Попробуй внешним программатором прошить. Если МК рабочий, можно купить отдельно микросхему CH340 и перепаять.
Да вы тут совсем охуели блядь попросил датчики посоветовать, нет нихуя некто ничего не ответил.
У mega32U4 свой USB, ей не нужны конвертеры.
>Ты что-то не так подключаешь.
Ну я хуй знает, 6 проводов могу подцепить. У неё есть 6-пиновый ICSP разъём – пробовал на него, пробовал просто на ноги – одна хуйня. Прозванивал всё с пинов программатора до пинов контроллера несколько раз.
Тот же USB-ISP прекрасно работает с парой других атмелов, в т.ч. и от того же продавца.
Там насколько помню нет непосредственно нельзя инвертировать РВВ. Только если взять два регистра и сделать например
ldi R16, 0b10000000
clr R17
out PORTA,R16
out PORTA,R17
получится пол тактовой
А, не там же еще цикл
ldi R16, 0b10000000
clr R17
out PORTA,R16
nop
nop
out PORTA,R17
rjmp PC-3
итого 1/4 частоты
DHT11 - говно фром жопа, а так двочую, совсем охуели лентяи
>>311420
Я тебя, наверное, взбешу, но можно подробнее, пожалуйста, чтобы даже ардуино-дауну было понятно?
Ардуйня порождает hex, elf, eep и еще какие-то файлы, папки с исходниками. Нашел avr-gcc в папке установки ардуйни. Итак, какие мои действия, пошагово? Ведь сама по себе команда avr-gcc -S -fverbose-asm -O ничего не даст, что конкретно ей нужно скормить?
Можно таймером в режиме CTC при OCR0=0.
>итого 1/4 частоты
5 команд, одна из которых выполняется два такта. 1/6 тактовой же.
Точно, проебланил.
Еще ты можешь вывести тактовую частоту на одну из ног, смотри CLKO
1. проверь пропайку порта юсб
2. пропайка сх340
3. проверь драва должно по идее работать я заказывал кучу - ни одного брака не было
Простите за неровный почерк.
Мигнул светодиодом с этой схемы
Ну хуй знает, и под макосью, и под виндой, и под линаксом (арч) каких-либо сторонних драйверов для леонардо не понадобилось.
>Drivers should be automatically installed plugging with an USB cable the board to your PC, but with some version of the Windows it can happen that your board won't be recognized. It is so necessary to manually install them.
>>311408
Драйвера в папке Arduino/drivers, попробуй вручную установить.
/dev/cu.usbmodem1411 (Arduino Leonardo) в макоси.
/dev/ttyACM0 (Arduino Leonardo) в линаксе.
Винды под рукой нет.
У меня совсем не some version of the Windows. На маке в основном и на линуксах пробовал - одна хуйня.
Драйверов никаких вроде и нет нигде да и не надо для них.
Попробовал и в винде (10) – при подключении ничего не всплывает, новых портов в Диспетчере Устройств вроде нет.
>>311850
А какая макось? У меня High Sierra 10.13.2
В какой-то из недавних версий закрутили гайки для драйверов, но я вроде всё уже давно раскрутил обратно (csrutil --without kext)
Макось HighSierra 10.13 без апдейтов
Рисую марахайку на Ардуино в Тинкеркаде (так надо, по-другому не получится) и понадобился мне таймер (нужно каждую секунду инкрементить одну из двух переменных, в зависимости от значения другой). Нашел кучу примеров и библиотек, но блядский тинкеркад не позволяет (насколько я понимаю) подключать сторонние библиотеки, а даёт выбор своих, в которых таймера нет.
Как быть? Можно ли как-то эти библиотеки таки в код затолкать напрямую?
Нашел вот такую штуку:
unsigned long previousT0Millis = 0;
unsigned long previousT1Millis = 0;
const long intervalT0 = 1000;
const long intervalT1 = 750;
void setup() {
Serial.begin(115200);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousT0Millis >= intervalT0)
{
previousT0Millis = currentMillis;
Serial.println("1 sec.");
}
currentMillis = millis();
if(currentMillis - previousT1Millis >= intervalT1)
{
previousT1Millis = currentMillis;
Serial.println("0,75 sec.");
}
}
насколько она будет точно тикать? В остальном коде - обработка переключений таймеров (какому нужно тикать) через кнопку и вывод их на LCD16х2. Нужно, чтобы оно за сутки, хотя-бы минут на пять не убегало, потянет?
Нашел вот такую штуку:
unsigned long previousT0Millis = 0;
unsigned long previousT1Millis = 0;
const long intervalT0 = 1000;
const long intervalT1 = 750;
void setup() {
Serial.begin(115200);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousT0Millis >= intervalT0)
{
previousT0Millis = currentMillis;
Serial.println("1 sec.");
}
currentMillis = millis();
if(currentMillis - previousT1Millis >= intervalT1)
{
previousT1Millis = currentMillis;
Serial.println("0,75 sec.");
}
}
насколько она будет точно тикать? В остальном коде - обработка переключений таймеров (какому нужно тикать) через кнопку и вывод их на LCD16х2. Нужно, чтобы оно за сутки, хотя-бы минут на пять не убегало, потянет?
>поверхностная часть кода каких-то неизвестных либ
>насколько она будет точно тикать?
Вангую, что будет сбиваться как тварь. За сутки урина, даже на низком уровне запрограммированая, будет сбиваться. Надо внешний модуль.
У тебя ардуинство, лечись. В AVR есть аппаратные таймеры, попробуй разобраться с ними. Даже такие таймеры как в AVR позволяют делать многое из того, что невозможно сделать программно. Точность счета определяется только кварцем, у которого точность обычно не хуже 50×10-6.
>>311924
Ардуин вроде как много разных. Посмотри схему твоей дурины.
>Точность счета определяется только кварцем
За счет выполнения операций в контроллере в любом случае будет накапливаться ошибка, тем более если несколько разных прерываний. Конечно не такая, как с ардуино либами, но все же лучше модуль взять. Все-таки ардуинер нормальный код написать не сможет, втирать ему что-то бесполезно.
Ошибаешься, читай даташит.
Таймер тикает независимо от выполнения программы. И при возникновении прерывания его не надо программно перезапускать.
>втирать ему что-то бесполезно.
Наверное. Тогда зря я в этом треде что-то пишу.
>За счет выполнения операций в контроллере в любом случае будет накапливаться ошибка
Лол, таймер - отдельное устройство внутри мк, работает независимо не от чего, на него никакие прерывания не влияют.
Самый беспроблемный, оптимальный и легконастраиваемый компилятор - IAR, качай с rutracker.
Скачай также Standard Peripheral Library ссайта st и подключи её к пустому проекту. Чтобы понять как это всё делается и не копипастить примеры.
Далее из папки examples смотри как настраивается периферия и набирай только тот функционал, что тебе нужен.
Там на удивление просто всё делается. У мегя с первого раза запустилось SPI через DMA и systick, которые мне были нужны.
А вот с Keil наебался знатно и в итоге перешел на IAR - он сильно проще.
Cube MX юзал, но применения ему не вижу - чужой код не нужен.
Просто ваша ардуиноиде всё связывает за вас.
попробуй скачать Кейл, на ютубе есть целый курс чувака который в нем работает. Я с него начинал учиться, потом уже сам перешел на даташиты и обмазываюсь говном. В идеале вообще по началу стараться пользоваться только битами и прочем говном. ИМХО, у меня всегда проблема изучения чужих библиотек
1280x720, 0:05
А какая схема правильная, вот у меня есть нестабильный вибратор на ne555 он подает сигналы 96 раз в секунду. Как мне его подключить к кнопки мыши что бы она тыкала.
Во первых это ардуино тред, тебе в помощи ньюфагу тред. А так, воспользуйся схемой с ключом на транзисторе.
Если срач где и был, то намного выше.
Вызубрить все регистры AVR и то проще (хотя это не нужно и бессмысленно), чем на нормальном уроне изучить С++, используемый в пердуино. Так что не надо говорить про простоту, оно проще только для мигания светодиодом.
Ты прям все ожидания превосходишь, наркоман.
Джвочую. Байтоебство простое и понятное, в отличии от всратых либ, написанных любителями лабиринтов.
Анимация курильщика.
>что-то типа Pocket CHIP
Там полноценный линукс компьютер, а у тебя слабенький микроконтроллер с ебучей гарвардской архитектурой.
Ты бы вначале сформировал цель нормально, что ты на выходе конкретно получить хочешь.
Ок, объясняю, хочу взять Raspberry Pi Zero и превратить в подобие Chip Pocket. Для экрана возьму кетаемонтиор с ТВ входом или SPI дисплей. Аккумулятор и плату заряда тоже готовую возьму на Али.
Клавиатуру же и мышь хочу сделать при помощи матрицы кнопок и одного джойстика на две аналоговых оси. Подключать через GPIO не хочу, боюсь что не смогу написать ничего что сможет это всё читать, да и вангую что моё творение тормозить будет.
>закал
>решил
Зачем? Со скуки? Нужно по работе? Хочешь уникальный ПК? Решил 24/7 пердолить линупс?
Со скуки. Возможно поставлю туда эмулятор старых консолей, заодно потыкаю в Ардуино, Линукс и прочее столь же нужное.
Никаких рабочих / материальных / учебных (кроме самообучения) целей не преследую.
Продолжиться буду частями.
Благодарю. К слову, не понял зачем тогда ардуина. Гребёнка на зеро разве не имеет стандартную распиновку? Если имеет, то там библиотека есть ардуиноподобная WiringPi если я ничего не путаю.
Я просто хз как я буду в Линукс это всё прикручивать. Там же модуль для ядра писать надо, не? Я погуглю как это сделать через GPIO, но вроде как без обвязки всё равно не обойтись. Тот же аналоговый джойстик народ через отдельный АЦП-чип на пины GPIO вешал.
Погугли, расскажи, что нагуглил. У меня иное видение этого.
Так ты не хочешь qwerty прикручивать как у Pocket Chip, а просто кнопки и пад? На самом деле уже полно таких проектов, так что можно нагуглить как они кнопки прикрутили.
Если же тебе именно полная клава через ардуино нужна, то чекни это: http://lucidtronix.com/tutorials/53
Вот я примерно это и хочу запилить. Надо ещё сдвиговых регистров купить, у микры ног маловато.
сажа прилипла
Бтв, скажите кому надо, что к вам сюда из прикреплённой шапки не попасть, там какая-то левая ссылка.
Научи же меня пользоваться ими. Насколько они точны?
Мне, по большому счёту, нужно просто раз в минуту выполнять некий код. Но это должна быть ровно минута, максимально соответсвующая реальной. Delay(6000) - совсем не тот вариант, который меня устроил бы.
>Научи же меня пользоваться ими.
Не могу, т.к. ардуиной пользоваться не умею. Хотя, что-то в этом треде замечал про функцию millis.
>Насколько они точны?
Точность определяется кварцевым резонатором. Также в микроконтроллерах часто встречаются таймеры работающие от отдельного низкочастотного кварца, такие кварцы обычно немного точнее. То есть точность как у обычных кварцевых часов.
>millis
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/wiring.c#L42
Нашел. Таймер просто настраивается на прерывание раз в миллисекунду. Точность определяется только кварцевым генератором и явно не может быть хуже 100ppm (8 секунд за сутки).
Когда я вижу в проекте
>платку часов реального времени
то сразу понимаю, что автор дремучий закостенелый совок, застрявший в прошлом веке.
Современные девайсы по идеологии IoT должны быть подключены к интернетам для мониторинга, централизованного управления и раннего устранения неисправностей. А если у контроллера есть доступ в инет, то ему ничего не стоит запросить реальное время по NTP.
Нахера в 2к18 клепать оффлайновую махарайку, которая может сломаться в любой момент и ты об этом даже не узнаешь? Только если ты совок и не доверяешь интернету, либо ты террорист и собираешь бомбу, которая должна отсчитывать свои часики в уютном месте без связи.
Это худший случай. По большей части у кварцевых резонаторов точность около 20ppm, хотя неизвестно что в твою дурину поставили китайцы. Если нужно точнее, то можешь ввести программную подстройку, как советует >>312890 тогда точность будет определяться температурной стабильностью и старением (около 2ppm/год). Или можно поставить TCXO вместо кварца.
Точность твоих любимых RTC также определяется кварцевым резонатором, причем неизвестно что туда поставили китайцы. RTC имеет смысл применять только для того чтобы часы могли долго тикать от мелкой батарейки, пока основное питание выключено.
>IoT
Судя по всему, весьма уязвимая хрень, примерно как вордпресс, который год не обновляли.
А самое главное, это бесполезно. Нахрена мне дома лампочкой через интернет управлять?
Хотя бы для того чтобы не возвращаться домой, если забыл выключить лампочку. Чтобы узнать о том, что лампочку включил у тебя дома кто-то другой. Если есть обратная связь, то еще и узнать о том что лампочка перегорела и нужно по дороге домой купить новую.
И это только для банального примера с лампочкой. А уязвимость это вопрос реализации - как напишешь, так и защищено будет.
Тише, тише,инторнет может не оплатится, электричество отрубиться, где время тогда возьмёшь?
Закажет бочку запасного времени в соседнем вейп-шопе. Доставят в течение часа курьером на гироскутере.
У меня не настолько плохо с памятью. А даже если забуду, то 5 руб за кВт.ч. при мощности лампочки 20Вт - не стоит того чтобы об этом задумываться. Если у меня наступит маразм, то я скорее датчик движения к лампочке приделаю.
Не убедил. Кстати, то что сейчас называется iot, существовало в промышленности задолго до того как придумали эту дурацкую аббревиатуру.
>А уязвимость это вопрос реализации - как напишешь, так и защищено будет.
Очень глупо. Расскажи это разработчикам практически любой программы, взаимодействующей с сетью. Разумный способ защиты это ssh, vpn.
>инторнет может не оплатится, электричество отрубиться
Совок до сих пор борется за электрификацию всей страны, но даже тут умудряется терпеть неудачи!
>>312919
>то что сейчас называется iot, существовало в промышленности задолго до того как придумали эту дурацкую аббревиатуру
Ясен хуй, что задолго, но только в последнюю пятилетку это стало доступно простому обывателю. Не считая совсем уж нищуков, которым интернет и электричество регулярно отключают за неуплату
>Очень глупо. Расскажи это разработчикам практически любой программы, взаимодействующей с сетью. Разумный способ защиты это ssh, vpn.
А кто говорил что для доступа к своим контроллерам не надо использовать ssh и vpn? Пили шлюз со всеми защитами и ходи через него, в том же openwrt красноглазики тебе уже все на блюдечко положили.
>Совок
Блядь, в Швитых Западах конечно же ничего не отключают, напряжение ласковое и не бьется, интернет Илоний щедрою рукой раздает из каждого утюга, IoT-приблуды наделены правом голоса и участвуют в выборах президента.
Иди нахуй с тематики, зелень.
По поводу интернета в Пахомии кстати напомню, что в прошлом году ОПСОСы выкатили тарифы для IoT по 30-60р в месяц за симку, а GPRS модем для ардуины на Али нынче стоит 116р.
А вы тут часы на батарейке изобретаете.
Это как-то должно повлиять на необходимость RTC? Зачем я буду занимать флеш ненужным кодом связи с сервером, платить за симки, модемы, небо и Аллаха, если мне достаточно копеечной 1307, кварца и CR2302?
>тарифы для IoT по 30-60р в месяц за симку
>720 рублей в год, чтоб скачать время в мигалку светодиодами
Да вы, сударь, тот еще извращенец
Подскажите модуль для такого проекта и примерно принцип его работы. С меня как обычно, анон, не обману.
Выключать свет из нескольких мест. Сидя за пекой, лёжа в кровати с телефоном, и так далее. Модули на 433 МГц поддерживают только один пульт, а хочется несколько.
Вот, почитай, там разные варианты реализации http://zlitos.com/publ/ehlektronika/arduino_i_t_p/nodemcu_upravlenie_4_rele_iz_prilozhenija_android_po_wifi/12-1-0-27
Авотхуй знает, у меня с той же платкой часов и той же ардуиной в другом проекте всё без проблем работало. А тут - работает от полудня до трёх дней и виснет. Я скетч столько раз с нуля переписывал, и хоть бы что. Даже библиотеки разные пробовал. Но теперь попробую вообще без платы, используя только millis, как взрослый дядя.
Как ребенок, чесслово. Пропаяй все ноги, замени кварц, замени DS-ку. Что за бред про кривость IIC? Либы еще поищи, пиши САМ прямо в РЕГИСТРЫ.
Бля а чё дальше с ней делать?)
Ничего, за 150 руб только помигать.
и подскажите, плиз, литературы по этой теме, желательно на руссише. Пикрил не могу найти где скачать, если есть у кого ссылка буду очень признателен.
>16 led лент с изменением яркости
Если вся лента меняет яркость одновременно, то шимом через мосфет, если каждый лед независимо, то ws2812.
У тебя какая-то слишком охуительная задача для малинки, тебе придётся под прыщи на Си писать, скрипты 16 шим каналов точно не потянут.
Для многоканального ШИМ можешь использовать PCA9685 она копеечная.
Расскажи подробнее, в чём суть задачи? Что за весы?
Что именно должны показывать ленты?
Где они должны быть установлены? На весах?
Для подобных задач лучше не Raspberry Pi, а BigleBone Black.
Больше GPIO и интерфейсов, процессор промышленного класса - IO работает быстрее, и т.д. Т.е. заточена под управление.
Есть спец. версии этой платы для роботов, например.
Есть уже и Wireless.
Но, по ней (наверное) меньше инфы на русском. И она несколько дороже.
Купить не очень дорого можно тут (если в дс): http://onpad.ru
Но, если ты действительно полный ноль во всей этой движухе, то лучше начать с задачи попроще. Например - один датчик, одна лента. И задрочить это до состояния понятности.
>>313043
Книжки на английском тут (ищи поиском):
http://www.allitebooks.com/
Скачивание свободное, никаких файлообменников.
На английском и немного на русском (надо искать):
http://scanlibs.com/
Но, тут уже через файлообменники.
>>313045
Я бы в таком случае использовал отдельные контроллеры на каждую точку (весы и индикатор) и центральный "сервер", чтобы ими рулить.
Это же интернет овощей, или что, лол.
На точках - самая мелкая ардуина. Сервер - Pi или BBB или даже Мега 2560.
Связь - по bluetooth, например (BT-UART). Или по RS485.
Стильно, модно, молодёжно.
https://lesson.iarduino.ru/page/urok-26-2-soedinyaem-dve-arduino-po-standartu-rs485/
Вариант - точки на ESP8266 и всё по WiFi.
Сервер - что угодно с WiFi. Та же Pi или ПК.
Плюс такой системы в том, что она охуительно масштабируется.
Кстати, не очень понятна задача, возможно, "сервер" вообще не нужен.
Аноны как вы в этом всём шарите? Я нихуя не понимаю о чём вы говорите, я ток HTML могу немного верстать.
Как стать такими же умными как вы и научиться мигать большим количеством светодиодов?
Ардуино - это хорошо, конечно.
Но немножко устарело уже. И порог вхождения высоковат - если хочешь чего-то большего, чем помигать светодиодом.
Открой для себя BBC micro:bit.
Это охуенно.
Денег стоит несколько больше, но это вообще другой уровень.
Куча инфы и видео - для уровня от детского сада до профи разработчика.
Если не шаришь - собирай программу из блоков в визуальном редакторе, как ребёнок. Если немного шаришь - есть MicroPython. Если ещё больше - есть Mbed и C++ (процессор на ядре ARM Cortex M0). Mbed - это почти как Arduino IDE, только лучше.
Есть Bluetooth (BLE), и просто радио 2.4 ГГц (свой протокол), компас, акселерометр, измерение температуры и уровня освещённости.
И целых 25 светодиодов с PWM.
На которые можно просто выводить буквы и узоры, или юзать по-отдельности.
Многозадачная среда (потоки).
И всё это программируется как два пальца обоссать. Ардуино и рядом не стояло.
Две кнопки и 3 тач-контакта.
Для GPIO - нужен спец. разъём, если хочешь юзать больше 3-x пинов.
Но, 3-x пинов хватает, чтобы управлять светодиодной лентой или какой-то хуиткой по I2C или парой моторов.
Можно коннектиться по BT к смартфону, можно к другим микробитам и мутить многопользовательские приложения.
Потребление энергии очень низкое, от двух батареек AA будет работать несколько дней. Можно делать автономные датчики, сети сенсоров и т.п.
Или iBeacon.
Вообще что угодно.
Короче - если хочешь понять, что такое современные микроконтроллеры и не охуеть при этом - юзай эту штуку.
Ардуино - это хорошо, конечно.
Но немножко устарело уже. И порог вхождения высоковат - если хочешь чего-то большего, чем помигать светодиодом.
Открой для себя BBC micro:bit.
Это охуенно.
Денег стоит несколько больше, но это вообще другой уровень.
Куча инфы и видео - для уровня от детского сада до профи разработчика.
Если не шаришь - собирай программу из блоков в визуальном редакторе, как ребёнок. Если немного шаришь - есть MicroPython. Если ещё больше - есть Mbed и C++ (процессор на ядре ARM Cortex M0). Mbed - это почти как Arduino IDE, только лучше.
Есть Bluetooth (BLE), и просто радио 2.4 ГГц (свой протокол), компас, акселерометр, измерение температуры и уровня освещённости.
И целых 25 светодиодов с PWM.
На которые можно просто выводить буквы и узоры, или юзать по-отдельности.
Многозадачная среда (потоки).
И всё это программируется как два пальца обоссать. Ардуино и рядом не стояло.
Две кнопки и 3 тач-контакта.
Для GPIO - нужен спец. разъём, если хочешь юзать больше 3-x пинов.
Но, 3-x пинов хватает, чтобы управлять светодиодной лентой или какой-то хуиткой по I2C или парой моторов.
Можно коннектиться по BT к смартфону, можно к другим микробитам и мутить многопользовательские приложения.
Потребление энергии очень низкое, от двух батареек AA будет работать несколько дней. Можно делать автономные датчики, сети сенсоров и т.п.
Или iBeacon.
Вообще что угодно.
Короче - если хочешь понять, что такое современные микроконтроллеры и не охуеть при этом - юзай эту штуку.
Как писали коды раньше для микроуотроллеров, до компилятора?
Короче говоря, встроенного компилятора в ардуинах нет (если не рассматривать подобные raspberry), хотя это можно сделать. Короче говоря, ассемблировали вручную. Писали на бумажке на ассемблере, а потом по таблице переводили в машинные коды.
Если такие вопросы возникают, тебе остается только выпилиться.
>>313286
Короче говоря, по таблице опкодов. Об этом пишут даже в книгах для школьников, из серии "энциклопедия школьника".
>>313289
Мне кажется что тут таких несколько, т.к. если это один человек, то он полностью игнорирует ранее данные ему ответы.
>не STM32
В смысле, что "для работы" не годится?
Ну, так оно не для этого.
Это же образовательный проект.
И это охуенный образовательный проект.
Ну и чип там nRF51822.
Это тоже охуенная вещь - погугли.
Просто цели у него несколько иные, нежели у STM32.
Прежде всего - BLE, iBeacon и т.д.
У китайцев можно взять по 300-400 рублей маленькие круглые маячки с кнопкой и светодиодом, на литиевой батарейке.
И наколхозить туда сенсоров, например, или реле.
Короче, это как ESP, только с блютусом и микропотреблением.
Спс, это должны быть автоматизированные ячейки для складской выдачи.
-предмет поступает в ячейку весы засекают его вес и включают подсветку, предмет убрали подсвтека выключились параллельно записываются в БД вес предмета, и время его нахождения в ячейке, и это все на веб сервере конвертируются в графики и статистику, чисто коммерческий проект я не энтузиаст, буду искать человека который шарит, скорей всего. Если есть аноны которым интересно поднять такое и срубить гешефт с меня все оборудования с вас помощь по коду.
отписал другому анону смысл проекта чуть выше, wi-fi не варик, ячейки впритык друг к другу находятся. Плюс нужна какая никакая отказоустойчивость и удешевление общей стоимости.
>отписал другому анону смысл проекта чуть выше
Тому же самому, лол.
Примерно понятно.
Если нужна индикация веса, то стоит применить управляемые (адресуемые) ленты на базе WS2812.
Это гораздо проще для управления, чем PWM, т.к. у каждого светодиода получается свой микроконтроллер.
По деньгам дороже, но непринципиально - от 200 р за метр, если от 5 метров брать на Али, примерно.
И можно сделать реально красиво - и яркостью, и цветом, и градиентом, и контроллер не устанет совершенно.
Теоретически, все 16 можно сделать электрически одноåй лентой - соединить куски проводами (если не очень далеко). И будет достаточно одного пина на всё. Это если всё на одном контроллере делать.
Можно, кстати, ещё мигать отдельными светодиодами в ленте, для индикации чего-то. Т.е. они полностью независимые. Но, мигание будет более затратно для контроллера.
Делать всё сразу на одном толстом контроллере будет весьма непросто - 16 датчиков веса надо непрерывно отслеживать и ещё делать всё остальное.
Я бы предложил сделать каждую ячейку на отдельном контроллере типа Ардуино Нано. Центральный - Мега с Ethernet или Pi.
Соединить - по RS485. И несложный протокол придумать - кто, кому, когда и что сообщает.
С другой стороны - если не нужна масштабируемость, то на одной Меге 2560 можно сделать, наверное. А Мегу по UART - к Pi.
Хотя - по 2 пина на весы, ещё пин на ленту (если отдельные ленты) - 16 * 3 = 48 пинов, это как-то дохуя.
Возможно, все датчики веса можно тактировать одним проводом (будет 17 пинов а не 32), но, это значит - писать свою либу вместо стандартной HC711.
И - самое интересное - х.з. насколько длинным может быть провод от датчика веса (c выхода АЦП) до контроллера. Это может оказаться решающим обстоятельством для выбора варианта с отдельными контроллерами на ячейку.
Короче, задача не детская, в любом случае.
>отписал другому анону смысл проекта чуть выше
Тому же самому, лол.
Примерно понятно.
Если нужна индикация веса, то стоит применить управляемые (адресуемые) ленты на базе WS2812.
Это гораздо проще для управления, чем PWM, т.к. у каждого светодиода получается свой микроконтроллер.
По деньгам дороже, но непринципиально - от 200 р за метр, если от 5 метров брать на Али, примерно.
И можно сделать реально красиво - и яркостью, и цветом, и градиентом, и контроллер не устанет совершенно.
Теоретически, все 16 можно сделать электрически одноåй лентой - соединить куски проводами (если не очень далеко). И будет достаточно одного пина на всё. Это если всё на одном контроллере делать.
Можно, кстати, ещё мигать отдельными светодиодами в ленте, для индикации чего-то. Т.е. они полностью независимые. Но, мигание будет более затратно для контроллера.
Делать всё сразу на одном толстом контроллере будет весьма непросто - 16 датчиков веса надо непрерывно отслеживать и ещё делать всё остальное.
Я бы предложил сделать каждую ячейку на отдельном контроллере типа Ардуино Нано. Центральный - Мега с Ethernet или Pi.
Соединить - по RS485. И несложный протокол придумать - кто, кому, когда и что сообщает.
С другой стороны - если не нужна масштабируемость, то на одной Меге 2560 можно сделать, наверное. А Мегу по UART - к Pi.
Хотя - по 2 пина на весы, ещё пин на ленту (если отдельные ленты) - 16 * 3 = 48 пинов, это как-то дохуя.
Возможно, все датчики веса можно тактировать одним проводом (будет 17 пинов а не 32), но, это значит - писать свою либу вместо стандартной HC711.
И - самое интересное - х.з. насколько длинным может быть провод от датчика веса (c выхода АЦП) до контроллера. Это может оказаться решающим обстоятельством для выбора варианта с отдельными контроллерами на ячейку.
Короче, задача не детская, в любом случае.
Спасибо! А как интерфейсы к первым прогаи пилили графиеческие? Тоже штоли опкодами вручную видеопамять ебашили?
Какие у тебя интерфейсы к прогам на микроконтроллерах? Микроконтроллер это тебе не компьютер, это микросхема для управления внешними устройствами такая.
Ты блять кончай наркотики употреблять, у тебя уже мозг совсем сгнил.
>vim
>удобным
Ну, если ты хипстер, который пишет код сидя в кофешопе, то да.
Причём, в настоящем, голландском кофешопе, евпочя.
Есть один хуй, который успешно пишет на С++ в emacs, so.
Так какой тулчейн? 2 года назад пробовал атмел студио и ещё какую-то IDE, обе были довольно отбитые.
Если хочется удобно с удовольствием писать сишный код, то только CLion.
Для AVR его тоже используют.
Типа так:
if (UART1_Data_Ready() == 1)
{
DATA1 = UART1_Read();
DATA2 = UART1_Read();
DATA3 = UART1_Read();
DATA4 = UART1_Read();
DATA5 = UART1_Read();
}
if (rx_counter > 5)
{
if (strstr(rx_buffer, "DTA=") > 0)
{
//данные
}
if (strstr(rx_buffer, "CMD=") > 0)
{
//команда
}
ClearRX();
}
Тут чота хуйня. Я не настоящий ардуинщег, но сделал бы типа такого:
uint8_t counter;
uint8_t DATA;
for (counter=0, counter<5, counter++)
{
while (UART1_Data_Ready() ==1); /Ожидаем пока выставится флаг готовности данных/
DATA[counter] = UART1_Read();
}
Начал собирать марахайку, не заработала как надо, начал тестить поэлементно. И пришел к банальному тестированию кнопки. Блядь, подключено все как из учебника, 5В на одну ногу, на второй ноге земля и входной пин. Сука, как жму кнопак, тухнут все диоды на Uno (On и L), и через секунду L отмаргивает каку-ю то морзянку, все время одинаковую, то есть такое ощущение, что Ардуина перезагружается. Что за хуйня?
>подключено все как из учебника, 5В на одну ногу, на второй ноге земля и входной пин.
Возможно это хуёвый учебник. Ты подтягивающие резисторы поставил, или те, которые в Ардиуне подключил?
https://learn.sparkfun.com/tutorials/pull-up-resistors
https://ru.wikipedia.org/wiki/Подтягивающий_резистор
В АТмеге 328 должны быть ещё внутренние, их включать надо.
[code]pinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5[/code]
Ты уверен, что пин, на котором висит кнопка работает как вход? Я не ванга, но по описанию можно наванговать, что ты подаешь 5В на выход, на котором лог. 0
https://habrahabr.ru/post/256269/
Тут нарисовано, как подключать. Можно встроенным подтягивающим пользоваться, тогда надо будет пин через кнопку на землю подключить.
Может он кнопку на пин RESET подрубил и удивляется, что у него все перезагружается? Хто их поймет, ентих ардуинщиков.
Это не порно, это эротика.
>>313421
>как интерфейсы к первым коспам
До графики были чисто текстовые режимы, в них все делалось. Они и сейчас есть, на линуксах широко используются.
>мобильникам
На компьютерах, по аналогии с ардуино, только вместо ардуины мобильник.
Я надеюсь что ты младше 10-ти лет, а то у тебя вопросы детские какие-то.
>Это i2c.
На плате шелкография SCK, SDA, CS. Ты точно уверен? Хотя оно возможно умеет работать и через I2C.
купи uart-радиомодуль и хоть 10 пультов/приемников делай
нет, соси жопу, она только для быстрого прототипирования
Чит ATmega GA32U4.
В гайдах половинки клавиатуры соединяются через ио расширитель, я же хочу их соеденить в одну сетку, без дополнительных чипов.
Я так понимаю что колонки кидаю на одни ноги, а линии на другии и в ПО все это пишу на каких ногах какие линии и колонки.
Нужно ли где-то резисторы вставлять, нельзя ли напрямую замыкать ноги у тинси?
VDD - 3.3v
GND - земля
SCK и SDA на А4 и А5
погугли скетчик для определения адреса, загрузи, он в сериал напишет на каком адрес сидит данный девайс (скорее всего 0x7A)
далее юзай этот адрес для подключения через OneWire или найди библиотеку по типу Arduino-OLED
https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox EZ Schematic.pdf
На этой схеме есть резисторы на каждую колонку и линиб по 270Ом, они обязательные?
Я почитал немного и понял что это spi устройство и поэтому не работает твой метод
Ебать я олень. Никаких резисторов. Тупо на землю кинул и заебок.
А Dupont женский джемпер Провода ленты кабель для Arduino ты не додумался купить?
Ты мне ещё по советуй макетную плату купить
Но я нихуя не понимаю как это работает и как из этого сделать нормальные числа. Уже и на контрольную сумму похуй.
Что за звёздочка? Квадратные скобки? Почему 32?
Это иероглифы блядь!
Подтяжка не гасит дребезг контактов
Щас бы пытаться без знаний основ программирования, изучающихся за полдня максимум. Уринеры, такие уринеры.
Нет, я с /b/, из "на дабл думаю на трипл делаю" треда.
Не трудно догадаться чем трипл выбили.
До указателей вполне можно дойти. Никто не говорил о полном освоениии, это и за годы не факт, что научишься.
>До указателей вполне можно дойти
Я доходил уже раз тридцать, но так и не вдуплил нахуя мне они в реальной жизни. Даже в этом примере не понял нахуя там указатели и разименовывание.
>экономить память и байтоебствовать.
Значит в 31 раз я более вдумчиво дойду до них. Нужно дохуя напихать в 8кБ
Наверное ты просто подделку у китайцев купил, а надо бвло в чипдипе брать.
вот такой https://www.aliexpress.com/item/Hot-Sale-100-original-Professional-Factory-Price-OBD2-16PIN-TO-DB9-RS232-Cable-for-Car-Diagnostic/32669176645.html
>>313578
за шилд отдал 5 баксов, сам в этом почти ничего не понимаю, вот и спрашиваю совета у мудрых
>вот такой
Там даже в отзывах пишут, что что-то не сходится. Мы тут будем на кофейной гуще гадать до турецкой Пасхи.
Попробуй купи вот такой кабель и подключись к нему сразу.
http://www.instructables.com/id/Hack-an-ELM327-Cable-to-make-an-Arduino-OBD2-Scann/
К сожалению, почти нет времени ждать. Попробую ещё просто провода воткнуть can_h и can_l вместо кабеля, но мне кажется дело не в этом.
Ты, это, кончай тупить.
Например, работа с массивами в Си сделана через указатели.
Массив (переменная) - это и есть, по сути, указатель. отличия не принципиальны
Поэтому, когда ты говоришь, что не понимаешь, что это такое, и зачем это надо, то, по сути, ты говоришь, что не понимаешь, как писать на Си, и зачем оно вообще нужно.
В теме указателей нет ничего сложного.
Вот синтаксис - да, к нему надо привыкнуть.
В примере ( >>313491 ) написано примерно следующее (номера - это номера по порядку для _красных_ строк):
Объявления:
1. Объявлен массив размером 32 символа.
2. Объявлен указатель на текущий элемент массива (по сути - просто указатель на любой символ, но имя говорит, что это будет указатель на элемент массива).
Подготовка:
3. Указателю присвоен адрес нулевого эл-та массива.
Теперь мы имеем указатель на "текущий элемент" - нулевой.
Цикл:
4. Проверяется, что _значение_ текущего эл-та не равно нулю.
5. _Значение_ текущего эл-та пишется в UART.
6. Указатель перемещается на следующий эл-т, и он становится текущим.
Как ты можешь сделать всё это без указателей?
Правильно, только через жопу. и то не факт
Но, зачем же делать через жопу, если есть указатели?
В Си ничего серьёзного нельзя сделать не научившись работать с указателями. Ни одной структуры данных. Вообще ничего.
Указатель - это переменная, хранящая адрес другой переменной. Т.е. "указывающая" на другую переменную, или на область памяти (массив).
Что тут может быть непонятного?
Ты не понимаешь, что такое переменная? Или массив? Или адрес?
Самое сложное в этой теме - арифметика указателей.
Т.е., когда ты прибавляешь 1 к указателю (адресу) - что происходит? Куда он теперь указывает?
Всё просто - указатель имеет _тип_. И компилятор знает _размер_ этого типа. И прибавляет к адресу размер типа. Например, если тип имеет размер 4 байта, то при добавлении 1 к указателю на переменную этого типа, адрес увеличится на 4.
И, если ты напутаешь в арифметике, то твой указатель укажет хуй знает куда.
И результат будет соответствующим.
Ты, это, кончай тупить.
Например, работа с массивами в Си сделана через указатели.
Массив (переменная) - это и есть, по сути, указатель. отличия не принципиальны
Поэтому, когда ты говоришь, что не понимаешь, что это такое, и зачем это надо, то, по сути, ты говоришь, что не понимаешь, как писать на Си, и зачем оно вообще нужно.
В теме указателей нет ничего сложного.
Вот синтаксис - да, к нему надо привыкнуть.
В примере ( >>313491 ) написано примерно следующее (номера - это номера по порядку для _красных_ строк):
Объявления:
1. Объявлен массив размером 32 символа.
2. Объявлен указатель на текущий элемент массива (по сути - просто указатель на любой символ, но имя говорит, что это будет указатель на элемент массива).
Подготовка:
3. Указателю присвоен адрес нулевого эл-та массива.
Теперь мы имеем указатель на "текущий элемент" - нулевой.
Цикл:
4. Проверяется, что _значение_ текущего эл-та не равно нулю.
5. _Значение_ текущего эл-та пишется в UART.
6. Указатель перемещается на следующий эл-т, и он становится текущим.
Как ты можешь сделать всё это без указателей?
Правильно, только через жопу. и то не факт
Но, зачем же делать через жопу, если есть указатели?
В Си ничего серьёзного нельзя сделать не научившись работать с указателями. Ни одной структуры данных. Вообще ничего.
Указатель - это переменная, хранящая адрес другой переменной. Т.е. "указывающая" на другую переменную, или на область памяти (массив).
Что тут может быть непонятного?
Ты не понимаешь, что такое переменная? Или массив? Или адрес?
Самое сложное в этой теме - арифметика указателей.
Т.е., когда ты прибавляешь 1 к указателю (адресу) - что происходит? Куда он теперь указывает?
Всё просто - указатель имеет _тип_. И компилятор знает _размер_ этого типа. И прибавляет к адресу размер типа. Например, если тип имеет размер 4 байта, то при добавлении 1 к указателю на переменную этого типа, адрес увеличится на 4.
И, если ты напутаешь в арифметике, то твой указатель укажет хуй знает куда.
И результат будет соответствующим.
Хуя ты тут лекцию замутил. В Ардуино-треде.
>Как ты можешь сделать всё это без указателей?
Использовать индекс элемента в массиве. В этом примере не нужны указатели. Кстати, здесь лучше FIFO использовать, для которого также указатели не нужны.
И ты попробуй объяснить зачем там while(timeout < 200).
>В Си ничего серьёзного нельзя сделать не научившись работать с указателями.
Только это C++, в нем должны быть более удобные средства, хотя и более сложные чем указатели.
>отличия не принципиальны
А ты попробуй инкрементировать в том примере Rx_buff как указатель. Также оператор sizeof от массива даст количество байт, занимаемых массивом, т.е. 32, а от sizeof от указателя даст только 2, в данном случае. По моему эти различия принципиальны.
>>313618
Ожидает в прерывании, нормально так. К тому же размер массива всего лишь 32.
Забыл добавить. Как следствие, компилятор может проверять границы массивов. Для GCC вроде флаг соответствующий есть.
Да, но мне подробнее хочется узнать, как работает дешифратор дисплея и как пилили первые графические интерфейсы
>как пилили первые графические интерфейсы
На основе софта, вытащенного из летающей тарелки, разбившейся в 1947 году около города Розуэлл в США.
Смогли сделать как только расшифровали их письменность, до этого сия великая технология была недоступна землянам.
А если серьезно, то так же как и сейчас. Для написания программы с графическим интерфейсом сам графический интерфейс не нужен.
>как работает дешифратор дисплея
Ты телевизоров что-ли не видел? В чем проблема процессору сформировать видеосигнал?
Добавлю еще что ты невероятно тупой.
https://pastebin.com/6PBnZe7v
Вопрос: кому и для каких задач нужен STM32? В смысле, с примитивным входом из отдельных датчиков и выходом поморгать светодиодиком на моторчики-сервомашинки Ардуина справляется на ура.
А например, для дрочева на обработку видеосигнала с камер и простые сверточные сети, OpenCV, туда же, нужна уже как минимум Земляника.
STM32 тут снова не при делах, ему просто не хватит SRAM даже для кадров VGA разрешения.
Короче, назовите примеры, с чем справится STM32 и не справится AVR, а RPi будет уже чересчур
>ему просто не хватит SRAM даже для кадров VGA разрешения.
Внешнюю поставить религия не разрешает? Или ты думаешь у Малины встроенная?
Ну, все на одной компактной платке, все продумано и красиво. А так не религия, конечно, токмо руки из жопы и ньюфажество.
ебать марсианский трамвлейбус
Там взаимное поливание друг-друга. У меня вот личное мнение, что AVR оверпрайснуты, как минимум.
>все продумано и красиво
А если мне надо по другому продумать? На контроллере я соберу уберподогнанную под требования железку, буду править безраздельно кучей таймеров, адц, дац, памятью. Я буду с точностью до микросекунды знать когда переключится пин. А что в малине? Да нихуя подобного.
Зато для AVR в интернетах колоссальная база готовых решений и обьяснений. Тысячи хомячков подскажут сотни оригинальных решений, как поморгать светодиодиком. А по STM32 все-таки меньше.
Ну вот и приведи примеры, когда это нужно, с точностью до микросекунды. Чайнику интересно послушать.
>Управление системой зажигания триммера
micros()
Вопрос не стоял, зачем нужна Малина вместо AVR.
А зачем нужен STM32 вместо AVR? если тот и так справляется.
>А зачем нужен STM32 вместо AVR?
Для разнообразия. Зачем нужен чорный жып если есть запорожец?
>А зачем нужен STM32 вместо AVR?
Цена/начинка не сравнивал? Найди мне авр с подобными характеристиками за 50р.
>Ну вот и приведи примеры, когда это нужно, с точностью до микросекунды.
Любое управление внешними устройствами. У всяких электро-механических устройств есть инерция, без точных таймингов всё по пизде пойдёт. Т.е. это чпу, 3д принтеры всякие.
Всякие высоковольтные инверторы и бесколлекторные моторы тоже требуют идеальных таймингов, поэтому управляются мк.
Малинка хороша как прослойка высокого уровня, например как сервер 3д печати, сам принтер при этом управляется ардуиной или арм-микроконтроллером.
>а RPi будет уже чересчур
Я понимаю ещё AVR с STM32 можно типа сравнить, но малина то как в эту группу попала? Она ничего не может, что могут микроконтроллеры. Суть мк в разной периферии, которая у них на борту есть и куче GPIO, а малина это компьютер вообще, у него задачи другие совсем.
Оверпрайснуты относительно СТМ, имелось ввиду >>313715
>>313724
Ндэ, чот подорожали. Интересно, какое качество у этих https://ru.aliexpress.com/item/LB1638-10pcs-lot-in-stock-can-pay/32475231403.html
Спасибо. А мамку для обучения/махараек, IDE какие порекомендуете?
>какое качество
Хуй их знает, я вот купил парочку стм32ф103, пришли со страшно окисленными выводами, надписи почти не читаются, но вроде нормально прошились и работают.
>Там взаимное поливание друг-друга.
А чего там поливать-то, очевидно что технически армы превосходят авры во всём. Таки это современный мк, а те говно мамонта. Однако на ардуину самый низкий порог вхождения, божественный вайринг, который только даун не осилит, огромная база готовых схеморешений и софта, большое коммьюнити. Любую железку можно за минуту загуглить, как она подключается к ардуине.
Для любительского diy ардуина идеальна. Серьёзные посоны предпочтут арм.
> А мамку для обучения/махараек
Бери для старта родную стм-овскую. Там встроенный программатор, светодиодики, аксели, дисплейчики. Цена демократичная.
Это потому что ты пидор и прогневал бога, смени ориентацию и всё заработает.
Либо конкретезируй вопрос, либо помощи не дождешься
>ссылку для блеклиста.
Брал года два назад, сейчас этот лот по 10шт. Но цена приятная https://ru.aliexpress.com/item/STM32F103C8T6-LQFP48-ARM-new-and-original-IC-free-shipping/32463532279.html
и вроде работают без проблем.
Обожаю мелкие и дешёвые платки вместо дискавери. Из дискавер детали выколупывать -- кощунство, а пилюли можно хоть в готовый девайс для своих нужд запихивать. Цена ещё более демократичная.
Благодарю.
Ну, кагбе все ясно уже по параметрам.
https://geektimes.ru/post/255796/
Но почему нет ни поддержки нормальной для имбецилов чайников, ни сообщества, ни тьюториалов "с нуля", и даже mmmaximum shit tier Thinkercad - не включил чип в симуляцию?
Овер 9000 видеоуроков на ютубах для имбецилов, кучи гайдов, знаменитое местное сообщество easyelectronics и не только http://www.forum.easyelectronics.ru/viewtopic.php?f=16&t=10938. На СТМ есть как обычная ардуина, так и местная ардуина mbed (платы nucleo). ХЗ чего тебе ещё нужно.
Спасибо, моя личная армия.
Подключаю VCC и GND к 5В и земле, CLK и DIO к 6,7 пину. Заливаю код из примера в библиотеке. 0 реакции.
Raspberry Pi - это компьютер.
AVR и STM32 - это контроллеры.
Разница - реалтайм.
Под Линукс (Виндовс, Хуиндовс) невозможно писать реалтайм приложения. Вот, собственно и всё.
Зачем нужен STM32, если есть AVR?
Примерно за тем же, зачем нужен 200-й кукурузер, когда есть няшная Лада Гранта.
Если хочется использовать компьютер в качестве контроллера, то это должен быть специальный компрьютер, а не Raspberry Pi.
Например, в Biglebone Black стоит процессор, внутри которого аж целых два PRU - Peripheral Realtime Unit. Поэтому, на бигле уже можно что-то такое делать. А на Pi - только побаловаться.
Ну и энергопотребление, конечно - не надо про него забывать.
>А мамку для обучения/махараек
Как уже сказали - бери родную STM-овскую.
Например STM32 F3 Discovery (1300 р в чипедипе, это дешевле, чем на Али).
Там есть куча светодиодов, будет не скучно. И инфы много.
Серия Discovery - это контроллер и некая переферия для тестов. Есть с экранами.
https://www.chipdip.ru/catalog-show/evaluation-boards-on-microcontroller?gq=stm32+discovery
Серия Nucleo - это голый контроллер, но с доп. разъёмами, совместимыми с Arduino Uno.
Лучше брать F3 или F4.
Все Nucleo поддерживаются в среде Mbed.
Discovery - не все, только новые, где стоит программатор ST-LINK/V2-1. Смотри описание, там явно должно быть написано, что Mbed поддерживается.
Mbed сильно снижает порог вхождения в тему.
Но, я не уверен, что по нему достаточно инфы на русском. Хотя, я не искал.
Также, имей в виду, что всё это - логика на 3.3. вольта, хотя питание плат - 5 вольт. Т.е. далеко не всякая имеющаяся у тебя ардуиновская хуитка туда встанет.
Не понимаю. Что такое реалтайм?
Любая программа, на любом компьютере или контроллере считывает данные откуда нужно, обрабатывает и выводит их куда нужно. Можно синхронизировать по времени, если требуется. Разница только в точности.
>The PRU is a optimized for performing embedded tasks that require manipulation of packed memory mapped data structures, handling of system events that have tight realtime constraints
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit
Вопрос только, насколько "tight"
А для действительно высокоскоростных процессов, типа лидара, ToF камеры или коммутации обмоток бесколлекторника нужны свои простые контроллеры, причем желательно совсем рядом, дабы наводок не было. Ну так и делается, те же ESC используются и вполне дружны что с малиной, что с ардуиной, никому в голову не придет передавать PWM сигнал напрямую, да и сравнительно медленные модули типа китовского sonic rangefinder обрабатывающиеся в ардуине на низком уровне - плохая идея, по хорошему должен быть чип прямо на плате соника, выдающий готовые данные. То же про кучу других сенсоров, в т.ч. акселерометры и гироскопы. Что не так?
Ок. Например, если сигнал с гироскопа на чип, и сигнал с чипа на ESC гарантированно дойдут не через 0.1 ms, а через 1 ms, то гроб, гроб, кладбище, дрова? Про какой-нибудь "умный дом" или робопылесос я вообще молчу.
Гарантированно - это значит _гарантированно_.
Т.е. архитектура системы такова, что даёт _гарантии_ соблюдения определённого контракта.
А архитектура другой системы - таких гарантий не даёт.
В этом разница, а не в количестве миллисекунд.
Быстродействующие системы позволяют имитировать реалтайм. Но не дают _гарантий_.
Хммм. Типа, в одном случае из (...) канплюктер типа малины, без PRU может в самый критический момент подвиснуть, сборщик говна запустить, или надписи на земле интерпретировать и 1 ms внезапно превратится в 1-10 s, как то так?
Да, примерно так - многозадачность, сделанная без учёта особенностей управления в реальном времени.
И дело не столько в железе, сколько в ОС.
PRU - это просто "ускоритель".
>>313769
Ну, речь шла об "обычном" линуксе.
А так есть ещё QNX, например.
И ещё что-нибудь, наверное, я не эксперт в этой теме, если честно.
Вообще, смысл моего коммента был в том, чтобы подчеркнуть разницу между специализированным устройством (контроллером) и универсальным (компьютером). При этом "вычислительная мощность" может быть вообще одинаковой, например.
>А для действительно высокоскоростных процессов, типа ... нужны свои простые контроллеры
Ну так микроконтроллер он и есть: простая, дешевая и малопотребляющая микросхема для специализированного использования. То, что ардуину стали использовать для вещей под которые AVR не заточен, так это от её популярности. На авр например, сейчас есть эмуляторы других микросхем и даже ретро-компьютеров.
Господин из чипдипа >>313759 мухосрань за людей не считает и доставку не учитывает. Дискавери дороже относительно китайских не брендовых плат. Алсо, это уже не конструктор, на ней только учиться. Захочешь применить куда-то -- либо выбросишь ст-линк и периферию (сотни рублей) на ветер, либо закажешь новый контроллер отдельно, а дискавери будет больтаться по столу и ящикам пожизненно. Не знаю почему все господа игнорируют китайские мелкоплатки. 100р. плата с F103 (твой пик), 400р. плата с F407, 100р. программатор, 150р за "навигатор" на примере F3DISCOVERY, а светодиоды можно вообще из воздуха синтезировать. Всё это разделяется как конструктор и можно даже куда-то применить, если красиво собрать готовый девайс.
>на ней только учиться
Так в том и цимес, что только имея юсб-шнурок, ты спокойно вкатываешься, а к китайце отдельно программатор, джамперы, датчики. Поучился на Дискавери и покупаешь контроллер, ЛУТишь печатку и ебашишь в продакшн. Китайское поделие не представляю как лепить в готовое изделие, на проволочках все штоле?
>400р. плата с F407
С шагом выводов 2мм?
>Захочешь применить куда-то
Отутюжить плату и припаять микроконтроллер можно за несколько часов. Добавлю еще то, что использование практически любых отладочных плат осложняется помехами в них из-за длинных соединений, отсутствия разделения земель и прочего.
>помехами в них из-за длинных соединений
Вот я сейчас подрубил дюпонтами 4.3LCD к STM32F4-Discovery, выставил back/front porch согласно даташиту, а у меня пара строк с краю дисплея шум показывает. Это грешить на провода можно или хуевый дисплей?
>дискавери будет больтаться по столу и ящикам пожизненно.
А с китайских плат можно хоть контроллеры выпаивать, хоть цельные платы запихивать в девайсы для прикладных целей, прототипирования, или даже в нормальное устройство (и такое бывает).
>>313789
Блядь, пришлось выгребать ебаную дискавери и сравнивать https://ru.aliexpress.com/item/STM32F4Discovery-STM32F407VGT6-ARM-Cortex-M4-32bit-MCU-Core-Development-Board/32757497307.html Походу там везде 2.54. И?
>использование практически любых отладочных плат
Смотря какое использование. Понятно, что в готовом устройстве лучше развести плату, но если у тебе релейная переключалка или набор простых датчиков, да ещё если в корпусе, то можно и мелкой китайской платой обойтись.
Шлейфы пайкой напрямую. Перемычками пайкой с платы на плату. Всяко можно.
Внезапно проиграл с того, что я бы даже лучше FPV взял в качестве отладки. Останется только докупить ст-линк. Хотя, это у же мои извращения.
https://ru.aliexpress.com/item/F3-Flight-Control-SP-Racing-F3-Controller-Cleanflight-perfect-for-Mini-250-210-Quadcopter-Better-than/32815204165.html
>Господин из чипдипа
Нихуя ты залупил.
Я не особый поклонник чипадипа, мягко говоря.
Но, цены на _недорогие_ борды там не выше, чем в среднем по дс, или даже ниже. Что меня реально удивляет.
Китайские платы не подходят тому, кто вообще не шарит, и хочет научиться. На старте любая мелочь может стать серьёзным препятствием. И один раз можно заплатить за "родную" плату, не так это и дорого.
Писал-писал, стёр. Вообще похуй, можешь посоветовать хоть родной ЖИТАГ https://ru.aliexpress.com/item/POTREBLJAD/32687156236.html с отпечатками хуёв всех разработчиков. Недорого для ДСов жи.
Новичок, читай статьи, смотри гайды перед совершением покупок. Может оказаться так, что шаг обучения с платами дискавери тебе и вовсе не нужен. А если после ознакомления с доками тебе ничего не понятно, то тогда иди и покупай плату за сотни нефти у господина из чипдипа.
>родной ЖИТАГ
Это китайская копия.
Кстати, можешь сказать, перешиваются ли китайские st-link-и в jlink? https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
Да без проблем, этот точно прям из-под подушки местного разработчика https://www.chipdip.ru/product/st-link. Только тут уже у самих любителей "родного" могут возникнуть проблемы с его покупкой.
>перешиваются ли
к сожалению, не пробовал.
>Новичок, читай статьи, смотри гайды перед совершением покупок.
Ты совершенно прав.
Я, например, купил себе Nucleo (из-за Mbed), и теперь думаю, что зря , ибо Mbed не нужен.
Но, человек так устроен, что не может научиться не потрогав новую вещь руками. Я, например, далеко не ньюфаг, просто с STM не работал, и контроллеры вообще для меня хобби.
Но, чтобы понять, что эта Нуклео мне не нужна, надо было сначала её купить. И хуй с ним, пусть будет, пригодится на что-нибудь, и программатор там отломить можно и пользоваться отдельно.
Кстати, у тебы дискавери в столе откуда? От сырости завелась?
Так что, твои советы - это примерно как советы взрослого ребёнку не тратить времени на детскую хуйню, и сразу начинать заниматься серьёзными делами. Это, вроде бы, правильно, но это не работает.
>>313809 - кун.
>От сырости завелась?
Не совсем так. Свою дискавери я купил тогда, когда мне вот так же посоветовали брать её, и тогда я ещё ничего не знал о других платах и вообще остальном. Купил. Пошёл читать статьи, изучал это всё, рефманы, даташиты, кейл, кокос, иар подёргал и понял, что F4 мне вовсе не нужна (за исключением st-link на ней). Купил синюю пилюлю, рассыпухи, десяток F030 за сущие копейки, и понеслось.
Не, я не говорю, что платки от СТ не нужны совсем. Я говорю, что они могут быть не нужны некоторым, и поэтому тупо следовать совету -- не стоит.
>этот точно прям из-под подушки местного разработчика
А что ты будешь делать с китайским st-link при пониженном питании? И ты привел ссылку на st-link с гальванической развязкой от USB. Я бы не был так категоричен. В чипдипе ценник действительно неадекватный по сравнению с терраэлектроникой https://www.electronshik.ru/item/st-linkv2-isol-1107586
Ещё раз. Это не значит, что они все нахуй не нужны. Это значит, что они могут быть не нужны новичку не с низкой долей вероятности. Ему при пониженном питании пока ещё ничего нахуй не надо.
Это значит, что новичку имеет смысл купить jlink и не слушать твоих советов.
Ну ладно: https://www.chipdip.ru/product/st-link-v2-isol
>>313825
А у китайцев то же самое за 150р., вместе с корпусом. И ты сделал вместе с гальванической изоляцией и буферами на выходе?
>с гальванической изоляцией
Нет и я знаю шо у китайцы дешевле, но мне прямо вот сейчас понадобилось
Для мелкой автоматики, лол. Изначально любой дрыг ногой под них. Если не хватает ресурсов, то перехожу выше. Первый успешно встал с часами в автомате освещения и вентиляции в домике животного. Второй в качестве ретранслятора между радиомодулями. Третий как счётчик э/э+релюшки на стенде, и т.д. Всё потому, что они были самыми дешёвыми и их не жалко запихать во все углы. inb4: щас мне скажут, что я мудак и делаю херню. Хейтыр,
соси.
> щас мне скажут, что я мудак и делаю херню
Тоже набрался таких и еще stm8s003f3u в qfn-корпусах. Охуенно.
Я примерно так и думал.
Посмотрел обзор семейства F0 на сайте STM - охуенная вещь, на самом деле.
>делаю херню
Почему херню? Нормально всё.
Сам хочу сделать пару (не особо нужных) хуиток для работы, просто для фана. Хватило бы и ардуины нано, но, отсутствие нормальных таймеров, прерываний, 8 бит и т.п. склоняют в пользу STM.
Для дома хочу попробовать поиграться с nRF51822. Тоже недорогая вещь, и, судя по микробиту, в качестве просто контроллера тоже юзабельная.
Вопрос про ST-Link/V2 - вот та штука за хуевы деньги в чипедипе или терре и то, что стоит на Нуклео (или продаётся у китайцев) - это одно и то же? Ну, кроме гальванической развязки и, возможно, буфера на выходе?
>это одно и то же?
Та что на платах, расчитана только на одно семейство контроллеров. Другое не видит в упор.
Вот тут пишут, что тот, что в Nucleo, будет работать:
https://os.mbed.com/users/hudakz/code/STM32F103C8T6_Hello/
Спаривают Mbed с мелкоплатой F103, которая "синяя пилюля".
Что не может не радовать.
Наверное, он имел ввиду семейства: STM32, STM8, SPC56. А st-link с твоей nucleo, например, только для тех STM32, что с SWD. В то время как пиратский клон supported devices:
All the STM8 devices with SWIM interface
All the STM32 devices with SWD interface
>Разные семейства, разные программаторы
Программатор один, просто на девбордах вшита прошивка под одно семейство, чтобы ты, гойский червь, достал свои шекели и пошел покупать полноценный за сотни нефти.
Не знаю что там сложного.
Берёшь вот это https://ru.aliexpress.com/store/product/ST-Link-V2/2290106_32696396743.htm
И вот это https://ru.aliexpress.com/store/product/STM32F103C8T6/2290106_32736301118.html
Первого хватит на прошивку и отладку большинства СТМок, пока оно не сдохнет.
Второе -- немного другая плата с F103. Мне она нравится больше >>305910 >>305983 хотя сам камень F103 не по нраву. Залить туда можно любой загрузчик: хоть тот, что работает напрямую через усб https://habrahabr.ru/post/309218/, хоть ардуинозагрузчик, хоть ещё какую дичь.
Также можно использовать стандартный конвертер типа такого https://ru.aliexpress.com/store/product/USB-2-0-to-TTL-UART/2290106_32695706643.html
которым шьются ардуины, и шить им СТМ через USART, переведя рабочий камень в такой режим. В таком случае лей что хочешь, но отладки не будет. https://geektimes.ru/post/255334/
Что означает сия хуйня uint8_t* в переменных передаваемых в функцию?
>>313900
К слову, все эти загрузчики нахер не нужны, кроме как для деградации общего развития. Ситуацию с ними описал только для того, что если кого-то обломает инициализация периферии, настройка тактирования, запись в регистры, SPL/HAL и вообще, то всегда есть возможность залить в плату что попроще или специфическое, и пользоваться.
Указатель на байт данных.
> это указатель
У указателей же ставится перед переменной? типа uint8_t *xyi, а тут звездочка стоит за объявлением типа, а переменная дальше через пробел.
Когда конкретная переменная есть, пишется как ты указал, когда просто хотят показать что любой указатель на такой-то тип, то пишется тип.
Например
uint8_t myfunction (uint8_t *xyi){return xyi}
В пизду вакабу, съела все звёздочки.
Ебал я эти указатели, сука, как же печот-то!!!
а пробел кто между char*eba будет ставить?
пробуй другим образом назвать функцию, splitString это вроде функция из класса String
Поясни насчёт JLink - можно ли брать вот это вот:
https://ru.aliexpress.com/item/1PC-JLI-V9-J-LINK-ARM-emulator-support-A9A8-V9-3-high-speed-download/32801920737.html
или подобное?
Что там с версиями - 8, 9.3, 9.4? Что лучше?
Помимо STM интересует прошивка и других контроллеров, типа nRF51, и отладка, по возможности.
Также, у Segger есть бесплатная утилита для перешивки ST-link на платах STM в JLink (и обратно), но, это будет работать только с этой платой, там это написано.
Звёздочку можно ставить в любое место между типом и именем переменной, в том числе и между ними, с двумя пробелами по бокам, как умножение, лол.
int foo;
int foo;
int * foo;
У меня нет j-link, извините, адекватного не посоветую. Далее мусор:
Понятия не имею зачем он, если речь об STM8/32. У меня других АРМов нет, кроме апельсина на Н3. Такие, наверное, пойдут в фирмах по ремонту/разработке, а вообще ХЗ, надо у этого анона спросить >>313826
Алсо,
>это будет работать только с этой платой, там это написано
Там больше вони, что не будет работать и вообще в тюрьму посадят. Впрочем, я не знаю. Ты бы взял да прошил свою nucleo и попробовал если есть на чём.
Пошто ругаешься? Надо только скопировать папку в IDE, перекинуть перемычку, прошить бутлодырь, перемычку обратно, выбрать плату и вот уже можно сидеть в этом треде. Ну, почти.
я так понял что программная эмуляция подразумевает девайс (т.е. подчиненное устройство). А мне нужен мастер (хост). И я так понял это нихуя не одно и то же.
А вот я из написанного понял, что в теории можно, но на практике реализации нет. троллейбус.жпг
Присоединяюсь к вопросу.
Кароч, двощ, решил изучить ИК приёмники путём приделывания маленького вентилятора на 12 вольт
2. Как подключить вентилятор к отдельному источнику питания так, чтобы он всё ещё продолжал контролироваться ардуиной? Да, я совсем ньюфаг.
Сука, потерял первый вопрос из-за того, что двач залупа и с куклой теперь работает через жопу.
Алсо, почему у меня на 2 пике при нажатии на одну и ту же кнопку выдаётся каждый раз разное значение?
между питанием вентилятора и ардуиной вставь транзистор/мосфет с гейтом на пин ардуины
у тебя вентилятор как устроен, просто два контактика же, да?
ну так один кинь на землю, а между вторым и питанием вентилятора поставь транзисторный ключ. Или реле, что под руку попадется. И на базу транзистора подавай сигнал с ардуины.
1. Заходишь в Гугол если не забанен
2. Набираешь там "ардуино управление вентилятором 12 вольт"
3. Вываливается куча картинок, видео и текстов.
4. Читаешь, смотришь.
5. Думаешь, пробуешь.
6. Если что непонятно - приходишь сюда и спрашиваешь конкретные вопросы.
7. Профит.
Не бери это говно. Именно это - тем более (4 отзыва).
Возьми лучше официальный j-link edu, он не намного дороже (бери на железе v10 только).
Возьми лучше nrf52-dk и пользуйся встроенным j-link OB почти для всего (+ble/ant/nfc и светодиодики ололо).
Возьми лучше пару клонов st-link v2 за $5, одним прошей второй прошивкой blackmagic probe и получишь универсальный опенсорсный swd-отладчик (только смотри чтоб они были на stm32f101cb/stm32f103cb/stm32f105cb, а то иногда в них ставят stm32f100c8 в которых ни usb ни 128кб флеша могут не работать).
Возьми лучше самый дешевый nucleo с st-link/v2-1 на борту, отломай его и зашей туда j-link stm32 (официально, только для отладки других stm32) или тот же blackmagic probe для всего остального.
Возьми лучше ft232h и пользуйся им с openocd и получи i2c/spi/gpio over usb.
Возьми лучше bus pirate, там хоть и медленный jtag, зато нет проблем с обновлениями + spi/i2c/etc over usb искаропки.
Но если ты таки захотел взять это говно, то прочти сначала "https://electronix.ru/forum/index.php?showtopic=59841&st=645" . От туда ты узнаешь, что:
1. Далеко не все клоны j-link могут нормально обновляться официальными прошивками (мой не смог). Читай отзывы, если все пишут "отлично обновляется" и никто не пишет "обновился один раз и bootloader error", то можно брать.
2. v8 на атмеловском чипе и не может в cortex-m7 например, а v9 на stm32f2 и может.
3. Сколько еботни с обновлением клона, с которым тебе "не повезло" (и то v6.30+ уже не накатить).
Удачи, анон.
Не бери это говно. Именно это - тем более (4 отзыва).
Возьми лучше официальный j-link edu, он не намного дороже (бери на железе v10 только).
Возьми лучше nrf52-dk и пользуйся встроенным j-link OB почти для всего (+ble/ant/nfc и светодиодики ололо).
Возьми лучше пару клонов st-link v2 за $5, одним прошей второй прошивкой blackmagic probe и получишь универсальный опенсорсный swd-отладчик (только смотри чтоб они были на stm32f101cb/stm32f103cb/stm32f105cb, а то иногда в них ставят stm32f100c8 в которых ни usb ни 128кб флеша могут не работать).
Возьми лучше самый дешевый nucleo с st-link/v2-1 на борту, отломай его и зашей туда j-link stm32 (официально, только для отладки других stm32) или тот же blackmagic probe для всего остального.
Возьми лучше ft232h и пользуйся им с openocd и получи i2c/spi/gpio over usb.
Возьми лучше bus pirate, там хоть и медленный jtag, зато нет проблем с обновлениями + spi/i2c/etc over usb искаропки.
Но если ты таки захотел взять это говно, то прочти сначала "https://electronix.ru/forum/index.php?showtopic=59841&st=645" . От туда ты узнаешь, что:
1. Далеко не все клоны j-link могут нормально обновляться официальными прошивками (мой не смог). Читай отзывы, если все пишут "отлично обновляется" и никто не пишет "обновился один раз и bootloader error", то можно брать.
2. v8 на атмеловском чипе и не может в cortex-m7 например, а v9 на stm32f2 и может.
3. Сколько еботни с обновлением клона, с которым тебе "не повезло" (и то v6.30+ уже не накатить).
Удачи, анон.
EDU - это вариант, но денег он стоит всё равно некисло, пока подожду, возможно и не понадобится.
Nucleo уже есть, попробую в ближайшее время.
Это говно брать пока воздержусь, лол.
Возьму пару st-link-ов.
Спасибо за ценную инфу.
Не факт. Полевик может удерживаться открытым "нулём" некоторых микросхем, ящитаю. Сам спросил, сам ответил.
Я к своему припаял. Без i2c как-то смысла не вижу пользоваться, проще еще купить расширитель.
Если плохо видно:
Чёрный – → (опытным путём узнал, что это земля)
Красный – KSP (плюс)
Синий – 2510 (контроль, видимо, хз)
Гугление ничего не дало, кроме какого-то другого кулера. Гуглил про подключение вентилятора и на русском, и на английском, там всё с четыремя пинами, будто у меня единственный трёхпиновый кулер.
Транзистор нужен, ну или реле, подключать как на пике, синий провод для подсчета оборотов, можешь его следующим уроком к ардуине подключать и мерить обороты, менять их шимом.
мимо_художник
В том, что у кого-то мешок этих биполярников валяется, наследство от бати, а полевики покупать нада.
Почему резюк именно 330? Есть формула расчета для разных биполярников и полевиков, или прямо в даташите указан типа "максимальный ток базы"?
Диодный шунт от выброса противоэдс, иначе транзистор сгорит?
И еще. Если базу дергать не digitalOutput, а analogOutput, то можно регулировать обороты, но транзистор кагбе в режиме усиления и начнет греться. Поэтому лучше дергать через digital быстрым PWM сигналом, греться не будет.
Все правильно?
>Есть формула расчета для разных биполярников
http://electrik.info/main/school/709-rabota-tranzistora-v-klyuchevom-rezhime.html
Ты даже в гугл не можешь, нахуй в электронику полез? Не твоё это.
>лучше дергать через digital быстрым PWM сигналом
Ты не поверишь, но analogOutput в ардуине - это и есть PWM. Или ты там где-то ЦАП видел, лол?
Выше по течению была интересная дискуссия на тему. Примерно после Нового Года.
И, независимо от этого, с чего ты взял, что "транзистор кагбе в режиме усиления"?
Консольная команда (windows) "type com8: >> c:\data.log" работает, но с большой задержкой (20 сек), и требует, чтобы было много данных - видимо, заполняет какой-то буфер, а потом сливает. Можешь попробовать.
Можно использовать PuTTY - там есть логгинг сессии в файл, но это на один раз, побаловаться.
Лучше сделать маленькую самодельную программу (на питоне, например, или на чём угодно, что может читать ком-порт), которая бы читала данные с порта, вместо терминала. Это будет проще всего. Если на питоне, то можно и график сразу рисовать - на экране или в файл на диске. Можно и на веб-сервер заливать и т.п.
Собственно, вот тут даже пример есть, но пишет не в файл, а на экран:
https://playground.arduino.cc/Interfacing/Python
В файл писать - это ещё пару строк добавить.
И вот это посмотри:
https://github.com/wiseman/arduino-serial
Вот книжка, если знаешь нерусские буквы без смс и регистрации:
https://www.programming-book.com/download/?file=10901
Вот скрипт:
https://pastebin.com/r4MBuMCw
Нужен питон 2.7 и установленный PySerial.
См. комментарий в заголовке файла.
Там же настраивается имя порта и скорость.
Каждая передаваемая строка данных должна заканчиваться символом новой строки.
Выход - по Ctrl+C.
Можно дописать скрипт, например, сделать передачу спец. строки, которая прекращает логгинг или инициирует другие действия на ПК.
О, спасибо, вроде заработало :3 Пистон итд не нужен, я хотел с минимумом костылей.
Кто на пикче? МОАР!1
Чот не нашёл ни в чипдипе, ни на авито. Но есть сайт https://robotdyn.ru/delivery/ где сказано, что доставляют в пункт PickPoint, которые есть в Казани https://pickpoint.ru/postamats/. Если никто не поможет, то попробуй обкашлять это дело с консультантом на сайте RobotDyn. Может он чего дельного знает про время доставки или магазины с этой нанкой.
>пак
Пак? Софт: Arduino IDE и библиотеки, собс-но. Железо: ХЗ. Я её покупал сразу с OLED дисплеем I2C 0,96. Остальное паял сам из рассыпухи (светодиоды, реле, симистор, eeprom, и т.д.)
А почему не про микро? Оно ещё и USB девайсами умеет притворяться.
>>314364
Чот я задумался. И правда, а какой стартовый набор железок я бы хотел сейчас? Поскольку вопрос питания 3.3 vs 5.0 я так и не решил, то идя на поводу 5В секты, купил бы такой набор:
- Модуль зарядки аккумулятора TP4056 с защитой.
- Повышающий преобразователь 3.3 => 5.0 малой мощности (2А макс).
- Аккумулятор 18650 с держателем.
- Часовой модуль DS3231 с микрой EEPROM на плате.
- Дисплей OLED 0,96 I2C.
- Модуль с двумя 5В реле.
- ИК-приёмник с пультом.
- Модуль для MicroSD карты.
- Энкодер.
- Модуль HC-05 (похуй, что он сам по себе и без ардуины что-то может).
- Резисторы, конденсаторы, светодиоды, и т.д. по-мелочи.
Думаю, этого мне хватило бы, чтоб поиграться и слепить какой-то бытовой девайс уровня /b/. Где я обосрался за исключением того, что это ардуино?
Дисплей 16х2 c модулем I2C?
Неопиксели, по-отдельности или кучей?
https://ru.aliexpress.com/item/DC5V-8x8-16x16-32x8-WS2812B-2811-IC/32842717300.html
Bluetooth - BLE (не HC-05, а именно BLE)?
https://ru.aliexpress.com/item/Bluetooth-4-0-For-Arduino-Android-IOS-HM-10-BLE-CC2540-CC2541-Serial-Wireless-Module/32618305048.html
Логический анализатор?
https://ru.aliexpress.com/item/New-USB-Logic-SCM-24MHz-8-Channel-Logic-Analyzer-Debugger-for-ARM-FPGA-High-Quality/32802074523.html
> вопрос питания 3.3 vs 5.0 я так и не решил
Пиздец, блядь нахуй! 3v3 vs 5v у него вопрос! У людей вопрос 2v2 vs 2v8 давно стоит и 1v8 vs 2v2 встает вовсю!
>У людей вопрос 2v2 vs 2v8 давно стоит и 1v8 vs 2v2 встает вовсю!
Это где он у тебя встает во всю? На Core i9 поделки ваяешь?
>16x2
Это знакосинтезирующий индикатор, имеет большие массу и габариты, но не может в графику, в отличии от дюймового OLED. ИМХО, эти недодисплеи хороши в промышленной/крупногабаритной автоматике, где есть ЩРС/корпус, в который можно запихать эту хрень. Алсо, стоит он не намного дешевле OLED.
>BLE
4.0 гораздо сложнее обычного 2.0. При использовании на начальном уровне с ардуиной, я бы, например, не смог реализовать 4.0 или вовсе обосрался с подключением.
>Логический анализатор
Вещь полезная, наверное, но не для всех и не всегда. Алсо, не имеет отношения к стартовому набору ардуины, ибо это инструмент.
>>314397
Спешите видеть, плисоблядь затекла в ардуинотред и трясёт своими недовольтами. Если твой чип такой умный, то почему он сам не может выбрать? Ты, небось, в стерильной комнате для него педали крутишь, чтоб питать его только чистым током.
>плисоблядь
Хотя, вероятнее, СТМщик вышел из режима глубокого сна. Да и насрать, речь о том, что ардуиномодули есть такие, которые от 3.3 не запускаются. Лишние преобразователи и регуляторы в каждом модуле это судьба.
>СТМщик вышел из режима глубокого сна
Вы тут потише будьте, гражданин! В каком STM-е ты нашел 1.8V? Нет, L-серии может и будут работать, но ходовое питалово 3.3V
А почему не о серии L? Это не канон или не по феншую? Например:
>The ultra-low-power STM32L151x6/8/B and STM32L152x6/8/B devices operate from a 1.8 to 3.6 V power supply (down to 1.65 V at power down) with BOR and from a 1.65 to 3.6 V power supply without BOR option.
Я и пишу, что для L-серии оно попрет, но основная масса стм-овцев ебашит на 3.3 и не жужжит.
Не знаю что там с массами, но для переносных миниатюрных девайсов без L серии только сосать какие-нибудь MSP430, например. Это ж не меряние письками, а нужда. Нет смысла как стремиться к ультра-супер-хуюпер чипами для мигания светодиодами, так и игнорировать эти чипы, если есть нужда экономить электричества или габариты.
>только сосать какие-нибудь MSP430, например.
Или кортексы от sillabs, NXP, microchip и прочих.
>например
Да их там... Можно и псоки сайпресса в кучу http://www.cypress.com/products/microcontrollers-mcus, но с теми лучше дело иметь после освоения СТМ, если потребуется ИМХО.
>я бы, например, не смог реализовать 4.0 или вовсе обосрался с подключением.
Это да.
Но, на твоё счастье, всё это работает через UART и конфигурируетя AT-командами.
Или как, по-твоему, тот же HC-05 с ардуиной работает?
Да, но HC-05 заметно проще и материалов больше, хоть он и тотально устарел. А вот разобраться с HM-10 получается далеко не у всех даже с быстрого старта http://forum.easyelectronics.ru/viewtopic.php?f=14&t=18606. Мне показалось, что разжёван он значительно хуже. Алсо, устройства совершенно разные.
>8051, c 8 кб RAM, USB, блекджеком и шлюхами.
Спасибо, пердольтесь сами. Для стартового набора брать не стал бы. Проще тогда уж взять ESP32 без прочих ардуин и получить вдвое больше шлюх с блекджеком (вот только обсуждали набор к нанке, которую хотел купить анон).
А его можно под HID прошить как старые модули?
http://www.instructables.com/id/Upgrade-Your-3-Bluetooth-Module-to-Have-HID-Firmwa/
Дык никто не спорит, что ТЕМА ОГОНЬ. У меня самого есть такой, и его лучше юзать отдельно от ардуины, ящитаю. Вопрос был в стартовом наборе. Тот анон только няшную нанку возжелал, а ему уже БЛЕ предложили. Если он бомбанёт и дропнет это всё, то у него будет возможность собрать это всё в кучу и запилить какой-то простецкий бытовой коммутатор пары лампочек с часами и управлением с нескольких девайсов (в т.ч. смарта). Вот пикрилейтед с которого я иногда проигрываю. Соседство ништяков и говна в неестественных пропорциях. Из этого явно не стоит брать всё и сразу. Неплохо было бы собрать стартовый набор для ардуинщика с двощей. Китайские наборы такие себе. А, впрочем, похуй.
Хейтер не приходит, хотя такую наживку закинул. Видимо, поздно уже. RWCL, пилюля и NRF+LNA ушли на сигналку в пустующий частный дом недалеко. Там повадились бомжи ходить, ломать дверь и пиздить лут. Один уехал на строгач. XL9006 устарел чуток и не может одновременно понижать (в этом варианте), прикручен к повербанку. Второй NRF+LNA дома. Бла-бла-бла, ПИР, карточки, рфид, 433, усилки, акселерометр, 16х2 на поиграться. Нафиг бы не нужны в стартовом наборе.
>карточки
Кроме MicroSD. Алсо, тред будут перекатывать? Пора было давно уже утопить и перекатить. Постараюсь утопить, хотя бы.
>программно подстроить?
Что ты подстроишь программно если все считается на аппаратном уровне в DS1307? Почитай, может в ней есть калибровочные регистры.
Дык сделать коррекцию времени. Сверяясь с нормальными часами посчитать за какой период набегает лишняя минута и каждый раз по таймеру записывать значение времени меньше на минуту. И, да, часы же однозначно работают с микроконтроллером, мы же это оба понимаем в ардуинотреде? Или есть ещё какое-то применение этих часов?
>Почитай
Почитал, не нашёл. Но есть пункт о точности в зависимости от ёмкостей кварца и обвеса (если я правильно понял), изменением температуры и вот ещё что:
>External circuit noise coupled into the oscillator circuit may result in the clock running fast.
Значит может. Надо бы посчитать лишние секунды и частоту.
Ну вот, у тебя же есть все ответы.
Конденсаторы с кварцем правильные стоят?
По поводу помех - вряд-ли это 50 герц от сети.
Посмотри импульсные помехи по питанию, например. Конденсаторы шунтирующие стоят?
https://github.com/gshevtsov/TroikaDumper
И сюда насрал, мамкин мошенник.
И в dht22 и в bme280 встроенный термометр неточный и предназначен только для калибровки основного датчика влажности. Использовать их как все-в-одном некорректно.
И да, датчики влажности и давления боятся попадания под дождь и прямые лучи солнца, располагать их надо грамотно, чтобы не дохли.
>И да
И да, датчики деградируют постепенно и начинают пиздеть. Скорость старения ищи в датащитах.
Коротче! Гигрометр психрометрический спасет вождя мирового метеодвижения.
>У тебя оригинальная Уно?
Отнюдь. Китайская, просто не самая дешевая (340р штоле). Сделана и правда аккуратно, это да.
> Что за белое дерьмо на выводах?
Хуй знает, так и было. Вообще, крайне криво собранное поделие. Подключил точно правильно, скетч залился нормально. Похоже, придётся трясти китайца, ебань какую-то впарили, эх.
Опщем найдена золотая середина.
Клон st-link v2 нужно брать как пикрил1 (
http://s.aliexpress.com/EZNnQZjM )и uart-адаптером шить blackmagic probe по гайду из https://wiki.cuvoodoo.info/doku.php?id=jtag . Тогда и jtag будет, и swd вместе с swo, и даже uart, и выходы 220ом резисторами защищены.
В идеале, конечно, стоит заменить проц на stm32f103cbt6 чтоб dfu-util не ругался, но можно и без этого обойтись.
Спасибо тебе, добрый человек.
>стоит заменить проц на stm32f103cbt6
А сейчас там что стоит? c8t6?
Там ещё в отзывах написано:
>советую поставить диоды на линии питания по разъёму USB для защиты от статики.
>возможно надо убирать резистор в стабилизаторе питания тоже.
Это о чём?
По поводу прошивки nRF51822:
Цель - попробовать использовать Mbed (и библиотеки от micro:bit) для написания софта под дешёвые китайские модули, где стоит голый чип с антенной (или дешёвые же бакены с литиевой батарейкой и кнопкой).
Соответственно, его надо чем-то шить. А в идеале - чтобы из IDE работало.
Так вот, можно попробовать шить Микробитом же.
Он ещё и официально прошиватся в J-Link, как и Nucleo.
Короче, надо уже, наконец-то, купить этих модулей/бакенов и попробовать.
Кстати, кто там спрашивал про примеры ООП в микроконтроллерах (>>310966 etc)?
Так вот, Mbed (OS) сам по себе - весьма годный пример.
Бери, читай. Благо опенсорс.
То же касается и библиотек Micro:bit - красивый современный код.
И да, теперь здесь филиал ARM-треда, ибо он не бампается, почему-то
>ибо он не бампается
Получается, что и этот тред сломается через десяток постов. Придётся поднимать первый ардуинотред и добивать с 1.3к до 2к. постов.
Я эту хуйню через блоки закидывал, хуй знает как должно быть по красоте.
>че не так.
А просто написать (ХУЙ х АНАЛОГ_ПИЗДА(9) - 60)>30 религия не позволяет? И да, собери да пробуй, я ебу чего ты там задумал? Вытяжку открывать/закрывать в зависимости от температуры? Что за пятнадцатисекундные задержки? Тут уже на WDT надо пилить, нахуя контроллер будет нихуя не делать а пятнадцать секунд отсчитывать?
Хуй знает с этими формулами. Я закидывал через блоки и тестил в симуляторе. Менял значения термодатчика выше 30 сначала и работало. И ниже 25 и тоже работало. Ну типо в симуляторе-то оно работает, а ирл может оно через хуй обернется и не будет работать.
Получится типо вытяжки, да.
Задержки условно пока в 15 сек сделаны чтоб туда-сюда постоянно сервак не елозил. Типо можно и просто разницу температуры хуйнуть побольше ну я пока так надумал чтоб не ебаться с измерением температуры.
Собрать пока не могу, эта хуйня еще едет от китайчиков.
> эта хуйня еще едет от китайчиков.
Так чего ты не сидишь на жеппе спокойно? Приедет, попробуешь, потом сюда.
Ты синтаксис хотел проверить, или что?
Как можно что-то подсказать тебе, если ты хочешь сделать какую-то неведомую ёбаную хуйню?
И его в том числе.
Да тут ниче неведомого нет. Вот температура условно за 30 ебнула - заслон открывается, помещение проветривается. Температура скидывается ниже условных 25 - заслон закрывается.
Вместо ебанины "-40 + 14.88..." сделай функцию float get_temp(), всю эту хуету убери туда.
Тогда в проверке будет просто if (get_temp() > 30) .
Вместо else+вложенный if - "else if (get_temp() < 25)".
Также, надо сделать отдельные функции для открытия и закрытия заслонки, и просто вызывать их в главном цикле.
Ещё лучше сначала запоминать температуру:
float temp = get_temp();
if (temp > 30) {
open_podduvalo();
} else if (temp < 25) {
close_podduvalo();
}
Также, нужна переменная статуса (state) - открыто поддувало или закрыто, например: 0 = неизвестно, 1 = закрыто, 2 = открыто.
Далее, если (температура > 30) и поддувало закрыто - открыть, если уже открыто - ничего не делать, на следующем проходе снова проверить температуру.
Если (температура < 25) и поддувало открыто - закрыть, если уже закрыто - ничего не делать, на следующем проходе снова проверить температуру.
Задержку в главном цикле сделать 1 секунду, например.
И, неплохо бы поставить концевик, и реально проверять, открылось ли оно и т.д.
Как-то так.
У тебя только с одинарной точностью тормозить не будет, а double будет тормозить неслабо.
>double будет тормозить неслабо
Назови хоть одну причину использовать тип double на микроконтроллере? Я же не белки на нем считаю.
Для многих цифровых фильтров 23 разряда мантиссы явно не хватит. И вообще я писал про плавающую запятую на восьмибитной ардуине.
В принципе ебу сюда бы нормальный цифровой ds18b20 и сравнивать чисто hex без вычислений и радоваться жизни.
Утонули.
ленивое хуйло, в менеджере библиотек дохуя всего, тебе блять сложно заглянуть
Что нужно? Какое Ардуино? Я просто первый раз юзать его буду.
Можно ли в +-500р уложиться?
Не стоит вскрывать эту тему. Измерение влажности почвы очень щекотливая история, рано или поздно из-за отказавшего датчика ты или загубишь растения, или вообще зальешь соседей. Надежное измерение влажности за 500р не организовать никак.
У меня есть идея как сделать отключение при таком случае и продлить срок жизни датчику.
Все же допустим если не брать датчик в цену, то можно уложиться? И как сделать так, что бы с одной помпы питать Полив для 2+ растений?
За 500 не выйдет. Как ты планируешь переключать полив с одной помпы на разные растения? Готовых дешевых решений для этого нету, а вот дешевые помпы есть.
https://www.aliexpress.com/item/Mini-Micro-Submersible-Motor-Pump-New-Water-Pumps-DC-3-6V-120L-H-Low/32840635477.html
Лучше каждому растению по личной помпе поставить, а еще лучше не выебываться и организовать пассивный полив капиллярным методом, тут в 500 уложишься.
Хочу с Ардуино заморочится.
Сделать хочу с помощью сервоприводов, но они какие-то не те и хочется альтернативы.
Почему в 500р не уложусь?
>Как ты планируешь переключать полив с одной помпы на разные растения?
Серва с вращающейся трубкой, а дальше самотеком.
>Серва с вращающейся трубкой
Это как?
>дальше самотеком.
А как останавливать воду будешь?
Тебе, раз ты собрался на сервах делать, нужна любая ардуина и плата куда сервы втыкать, типа такой:
https://www.aliexpress.com/item/16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685-module-for-arduino-or-Raspberry-pi/32682246931.html
Хотя, если серв мало, то и одной ардуины хватит, любой. Подключение серв к ардуине легко гуглится.
Ну тебе с одной сервой и помпой на реле хватит любой ардуины, хотя и реле всё-таки лучше через транзистор или оптопару подключать, но можешь сразу с ардуиной заказать модуль с реле на котором транзистор уже есть.
Датчики влажности подключаются к аналоговому входу, так что на стандартной ардуине их может быть максимум шесть.
Я видел ещё более бомж версию
включил Iskra Neo, аналог Leonardo, воткнул на плату последовательно резистор на 220Ом и светодиод. Диод светит, меряю напряжение мультиметром прикасаясь к ножкам резистора, выдаёт 4,8. Меряю на ножках светодиода - 3,4. В целом на цепи - 9,1 (!!!) Откуда берутся эти числа?
В коде подаю high вольтаж на 13 пин, то бишь 5в должно быть, насколько я понимаю. Или я вообще уже ни хуя не понимаю...
По логике мне казалось, что плата должна была выдавать 0,02А при 5В, соответственно 4,4В должен был сожрать резистор и 0,6В должно было остаться светодиоду. Где я туплю или что делаю не так?
upd
Разобрался с тем, что нужно было мерить постоянный, а не переменный ток. Только не пойму почему он постоянный
дебич, контроллер работает на постоянном токе
Ты бы основы электричества изучил что ли сначала, а потом уже за микросхемы хватался. Почитай хотя бы это: http://easyelectronics.ru/osnovy-na-palcax-chast-1.html
На авито/али дешевые клоны, качество плавает, функциональность как у оригинала.
> разница на порядок, как-то странно.
Дядюшке Ляо ты платишь только за дешевую комплектуху, нехитрую пайку и доставку, а в цену на оффсайте входит оплата всей ардуинской инфраструктуры, разработки их IDE и проектирования новых ардуин, и расходов на маркетинг и тд.
Томушто:
>Китайские
>клоны
Функционально от оригинала не отличаются в общем. Вполне можно брать.
На самом деле есть нюанс с функциональностью. Это разные usb-uart мосты. Chg340 совсем дно, иногда ft232 ставят, зависит от того, клон это или оригинал, ну и самый жыр это когда atmega16u2, ее можно через отдельный разъем прошить под usb hid например, но это не для нюфань.
>Внешний вид платы. Интересует только девочек и видеоблогеров.
Еще и тех, у кого есть эстетический вкус.
>ну и самый жыр это когда atmega16u2, ее можно через отдельный разъем прошить под usb hid например, но это не для нюфань
Тогда сразу берите Arduino Pro Micro
Ну во-первых это не нано.
А во-вторых китайская UNO за 6 баксов мигать светодиодом умеет ничуть не хуже. Ты же не собираешься на ней делать мозги для ядерных комплексов.
Понял-понял.
норм для новичка? я бы купил подороже, но хз понравится мне или нет.
Лучше
http://s.aliexpress.com/uQN7R7zy там и мега, и уно (полезно, когда одну ардуину брикнул, оживить ее с помощью второй) , и рфид.
Lcd кириллицу не умеет ни там ни там есличо
Оно в коробочке идет, поиграешься и можно продать все на авито за 1.5к, если не сожжешь ничего
Ну хз хз, $2 серьёзные деньги, нужно всё взвесить и обдумать.
Бери конешн. Я такой постоянно пользуюсь - то как ArduinoAsISP, то в качестве i2c/spi/uart адаптера.
Может кто знает куда лезть?
Знаю что на ардуино решается в 2 строки.
Если что использую arduino ide
спасибо. ну я прост про то что она не сильно урезана по сравнению с другими. или всё же большинство проектов спокойно пойдёт.
https://ru.aliexpress.com/item/5Pcs-lot-Nano-Atmega168-controller-compatible-for-arduino-nano-Atmega168P-CH340-CH340G-USB-driver-NO-CABLE/32847210040.html?spm=a2g0v.search0104.3.15.43a69dfcnPqqo2&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10151_10065_10344_10068_10342_10343_10340_5722611_10341_10543_10698_10697_10696_5722911_5722811_10084_5722711_10083_10618_10307_10301_5711211_10059_10212_308_100031_10103_441_10624_10623_10622_10621_10620_5711311_5722511_10125,searchweb201603_25,ppcSwitch_2&algo_expid=46acdad8-c65b-4341-a746-02cc826621a6-2&algo_pvid=46acdad8-c65b-4341-a746-02cc826621a6&priceBeautifyAB=0
вот оно чо, оно на Atmega168P. а я на ATmega328 глаз положил. спасибо
спасибо. а почему вот про этот https://www.ebay.com/itm/142062832671 везде пишут что он от 5в работает? а внешний аж 7? он же на той же тиньке85. если подать на усб 3в он не заработает как вот этот https://www.ebay.com/itm/2122920b26 про который пишут что он от 1,8в? а то мне первый больше понравился просто по исполнению и мне надо чтобы от 2,5в работал
по даташиту на тиньку она от 2,7 до 10мгц работает и от 4,5 до 20мгц. а на сколько она работает когда в ней арудина сидит? это же наверное фьюзами выставляется? можно ли менять?
а от 1,8в это тинька 85V, с ними вообще не выпускают почему-то
ну и пишут что там жопа с энергопотреблением. чтобы добиться хотя бы 300мка в спящем режиме(!) надо снести стаб и один светодиод с платы. при этом разумеется усб перестаёт работать.
вторая ссылка вот https://www.ebay.com/itm/132594152104
>>321357
не, усб не перестанет работать. а вот если захочешь удалить резистор там который на усб висит и тоже жрёт пару милиампер в обычном режиме - то перестанет работать
Ну тогда какойнить nucleo32 (в формфакторе ардуины нано который) на какомнить stm32L0. Тольк смотри, чтоб он в stm32duino поддерживался. Или вообще не еби моск этой ардуиной и пользуйся сишечкой/плюсами
Соеденяю esp8266(nodemcu) на силиконовском чипе с лентой ws2812b через 10 пин. Заливаю примеры из библиотеки adafruit neopixel - работают. Пытаюсь использовать библеотеку fastled - хренушки :( пин вывода указываю тот же. Пин таймера не трогаю ибо он для этой ленты не используется. Тип ленты выбираю свой и неопиксель пробовал. Скорость в инициализации адафрукта по умолчанию - 800MHz, в фастлед это менее очевидно но я порылся в исходниках библиотеки - вроде столько же.
Собственно мне это надо для подсветки телика по типу ambilight. Мне удалось найти только скетчи на основе fastled. Знаний чтоб заменить используемую в них библиотеку мне не хватает.
Не, амик. Тут брал https://m.ru.aliexpress.com/item/32656401198.html
Тут увидил в компиляторе ошибку перевода пинов в SPI вероятно в этом проблема. Доберусь до компа - скопирую.
Анон. Не читай это, поток сознания излит в два часа ночи и я не знаю зачем.
Ситуация на данный момент:
FastLED не работал потому что перед инициализацией библиотеки надо было прописать #define FASTLED_ESP8266_RAW_PIN_ORDER это следствие странной нумерации пинов в ESP о чём сказано в инструкции.
В данный момент с призматиком работает но без виндовс аэро. Мне кажется я встречал фиксы на это, но мне насрать - я семёрку ставил только чтоб затестить - буду переводить на боблайт с самого тв. но там трабла в отсутствии рута. чую наебусь ещё.
Резать/паять буду завтра ибо боюсь накосячить. По завершению вброшу фотку.
Между тем нашел проект ардулайт основанный на адафркте, но заставить работать не удалось
Шью барометр по гайду гайвера, с ардуинами вообще не сталкивался.
In file included from C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:32:0:
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp: In member function 'void LowPowerClass::powerExtStandby(period_t, adc_t, bod_t, timer2_t)':
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:980:18: error: 'SLEEP_MODE_EXT_STANDBY' was not declared in this scope
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:980:4: note: in expansion of macro 'lowPowerBodOn'
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:985:17: error: 'SLEEP_MODE_EXT_STANDBY' was not declared in this scope
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:985:3: note: in expansion of macro 'lowPowerBodOn'
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
Несколько библиотек найдено для "Adafruit_BMP085.h"
Используется: C:\Users\motoizh\Documents\Arduino\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Несколько библиотек найдено для "LowPower.h"
Используется: C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
exit status 1
Ошибка компиляции для платы Arduino Nano.
Шью барометр по гайду гайвера, с ардуинами вообще не сталкивался.
In file included from C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:32:0:
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp: In member function 'void LowPowerClass::powerExtStandby(period_t, adc_t, bod_t, timer2_t)':
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:980:18: error: 'SLEEP_MODE_EXT_STANDBY' was not declared in this scope
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:980:4: note: in expansion of macro 'lowPowerBodOn'
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:985:17: error: 'SLEEP_MODE_EXT_STANDBY' was not declared in this scope
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master\LowPower.cpp:985:3: note: in expansion of macro 'lowPowerBodOn'
lowPowerBodOn(SLEEP_MODE_EXT_STANDBY);
^
Несколько библиотек найдено для "Adafruit_BMP085.h"
Используется: C:\Users\motoizh\Documents\Arduino\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Adafruit-BMP085-Library-master
Несколько библиотек найдено для "LowPower.h"
Используется: C:\Users\motoizh\Documents\Arduino\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
Не используется: C:\Users\motoizh\Desktop\arduino-1.8.5\libraries\Low-Power-master
exit status 1
Ошибка компиляции для платы Arduino Nano.
Помогите найти ошибку в коде.
(APDS-9301 Sensor)
#include <Wire.h>
#define INT_PIN 2
bool lightIntHappened = false;
#define CONTROL_REG 0x80
#define TIMING_REG 0x81
#define THRESHLOWLOW_REG 0x82
#define THRESHLOWHI_REG 0x83
#define THRESHHILOW_REG 0x84
#define THRESHHIHI_REG 0x85
#define INTERRUPT_REG 0x86
#define ID_REG 0x8A
#define DATA0LOW_REG 0x8C
#define DATA0HI_REG 0x8D
#define DATA1LOW_REG 0x8E
#define DATA1HI_REG 0x8F
typedef enum {LOW_GAIN, HIGH_GAIN} gain;
typedef enum {INT_TIME_13_7_MS, INT_TIME_101_MS, INT_TIME_402_MS} intTime;
typedef enum {SUCCESS, I2C_FAILURE} status;
typedef enum {INT_OFF, INT_ON} interruptEnable;
typedef enum {POW_OFF, POW_ON} powEnable;
status begin(uint8_t address);
status powerEnable(powEnable powEn);
status setGain(gain gainLevel);
status setIntegrationTime(intTime integrationTime);
status enableInterrupt(interruptEnable intMode);
status clearIntFlag();
status setCyclesForInterrupt(uint8_t cycles);
status setLowThreshold(unsigned int threshold);
status setHighThreshold(unsigned int threshold);
uint8_t getIDReg();
gain getGain();
intTime getIntegrationTime();
uint8_t getCyclesForInterrupt();
unsigned int getLowThreshold();
unsigned int getHighThreshold();
unsigned int readCH0Level();
unsigned int readCH1Level();
float readLuxLevel();
uint8_t address;
uint8_t A;
uint8_t getRegister(uint8_t regAddress);
status setRegister(uint8_t regAddress, uint8_t newVal);
uint16_t getTwoRegisters(uint8_t regAddress);
status setTwoRegisters(uint8_t regAddress, uint16_t newVal);
void setup() {
delay(2500);
Serial.begin(115200);
Wire.begin();
// APDS9301 sensor setup.
begin(0x39);
setGain(LOW_GAIN);
setIntegrationTime(INT_TIME_13_7_MS);
setLowThreshold(0);
setHighThreshold(50);
setCyclesForInterrupt(34);
enableInterrupt(INT_ON);
clearIntFlag();
pinMode(INT_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), lightInt, FALLING);
//Serial.println(getLowThreshold());
// Serial.println(getHighThreshold());
}
void loop()
{
//Serial.read();
static unsigned long outLoopTimer = 0;
clearIntFlag();
if (millis() - outLoopTimer >= 2000)
{
outLoopTimer = millis();
Serial.print("Luminous flux: ");
Serial.println(readCH0Level(),6);
if (lightIntHappened)
{
Serial.println("Interrupt");
lightIntHappened = false;
}
}
}
void lightInt()
{
lightIntHappened = true;
}
status begin(uint8_t A)
{
A = address;
powerEnable(POW_ON);
//APDS9301::status result = setGain(HIGH_GAIN);
//if (setIntegrationTime(INT_TIME_402_MS) != SUCCESS) result = I2C_FAILURE;
//return result;
return SUCCESS;
}
status powerEnable(powEnable powEn)
{
if (powEn == POW_OFF) return setRegister(CONTROL_REG, 0);
else return setRegister(CONTROL_REG, 3);
}
status setGain(gain gainLevel)
{
uint8_t regVal = getRegister(TIMING_REG);
if (gainLevel == LOW_GAIN) regVal &= ~0x10;
else regVal |= 0x10;
return setRegister(TIMING_REG, regVal);
}
status setIntegrationTime(intTime integrationTime)
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= ~0x03;
if (integrationTime == INT_TIME_13_7_MS) regVal |= 0x00;
else if (integrationTime == INT_TIME_101_MS) regVal |= 0x01;
else if (integrationTime == INT_TIME_402_MS) regVal |= 0x02;
return setRegister(TIMING_REG, regVal);
}
status enableInterrupt(interruptEnable intMode)
{
uint8_t regVal = getRegister(INTERRUPT_REG);
// This is not a typo- OFF requires bits 4&5 to be cleared, but
// ON only requires bit 4 to be set. I dunno why.
if (intMode == INT_OFF) regVal &= ~0x30;
else regVal |= 0x10;
return setRegister(INTERRUPT_REG, regVal);
}
status clearIntFlag()
{
Wire.beginTransmission(A);
Wire.write(0xC0);
status retVal;
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setCyclesForInterrupt(uint8_t cycles)
{
uint8_t regVal = getRegister(INTERRUPT_REG);
regVal &= ~0x0F; // clear lower four bits of register
cycles &= ~0xF0; // ensure top four bits of data are clear
regVal |= cycles; // Sets any necessary bits in regVal.
return setRegister(INTERRUPT_REG, regVal);
}
status setLowThreshold(unsigned int threshold)
{
int retVal = setTwoRegisters(THRESHLOWLOW_REG, threshold);
if (retVal == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setHighThreshold(unsigned int threshold)
{
int retVal = setTwoRegisters(THRESHHILOW_REG, threshold);
if (retVal == 0) return SUCCESS;
else return I2C_FAILURE;
}
uint8_t getIDReg()
{
return getRegister(ID_REG);
}
gain getGain()
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= 0x10;
if (regVal != 0) return HIGH_GAIN;
else return LOW_GAIN;
}
intTime getIntegrationTime()
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= 0x03;
if (regVal == 0x00) return INT_TIME_13_7_MS;
else if (regVal == 0x01) return INT_TIME_101_MS;
else return INT_TIME_402_MS;
}
uint8_t getCyclesForInterrupt()
{
uint8_t regVal = getRegister(INTERRUPT_REG);
regVal &= ~0x0F;
return regVal;
}
unsigned int getLowThreshold()
{
unsigned int retVal = getRegister(THRESHLOWHI_REG)<<8;
retVal |= getRegister(THRESHLOWLOW_REG);
return retVal;
}
unsigned int getHighThreshold()
{
unsigned int retVal = getRegister(THRESHHIHI_REG)<<8;
retVal |= getRegister(THRESHHILOW_REG);
return retVal;
}
unsigned int readCH0Level()
{
return getTwoRegisters(DATA0LOW_REG);
}
unsigned int readCH1Level()
{
return getTwoRegisters(DATA1LOW_REG);
}
float readLuxLevel()
{
unsigned int ch1Int = readCH1Level();
unsigned int ch0Int = readCH0Level();
float ch0 = (float)readCH0Level();
float ch1 = (float)readCH1Level();
switch (getIntegrationTime())
{
case INT_TIME_13_7_MS:
if ((ch1Int >= 5047) || (ch0Int >= 5047))
{
return 1.0/0.0;
}
break;
case INT_TIME_101_MS:
if ((ch1Int >= 37177) || (ch0Int >= 37177))
{
return 1.0/0.0;
}
break;
case INT_TIME_402_MS:
if ((ch1Int >= 65535) || (ch0Int >= 65535))
{
return 1.0/0.0;
}
break;
}
float ratio = ch1/ch0;
switch (getIntegrationTime())
{
case INT_TIME_13_7_MS:
ch0 = 1/0.034;
ch1 = 1/0.034;
break;
case INT_TIME_101_MS:
ch0 = 1/0.252;
ch1 = 1/0.252;
break;
case INT_TIME_402_MS:
ch0 = 1;
ch1 = 1;
break;
}
if (getGain() == LOW_GAIN)
{
ch0 = 16;
ch1 = 16;
}
float luxVal = 0.0;
if (ratio <= 0.5)
{
luxVal = (0.0304 ch0) - ((0.062 ch0) (pow((ch1/ch0), 1.4)));
}
else if (ratio <= 0.61)
{
luxVal = (0.0224 ch0) - (0.031 ch1);
}
else if (ratio <= 0.8)
{
luxVal = (0.0128 ch0) - (0.0153 ch1);
}
else if (ratio <= 1.3)
{
luxVal = (0.00146 ch0) - (0.00112*ch1);
}
return luxVal;
return 0;
}
uint8_t getRegister(uint8_t regAddress)
{
Wire.beginTransmission(A);
Wire.write(regAddress);
Wire.endTransmission(false);
Wire.requestFrom(A, (uint8_t)1);
return Wire.read();
}
uint16_t getTwoRegisters(uint8_t regAddress)
{
Wire.beginTransmission(A);
Wire.write(0x20 | regAddress);
Wire.endTransmission(false);
Wire.requestFrom(A, (uint8_t)2);
uint16_t regVal = Wire.read();
return regVal | (Wire.read()<<8);
}
status setRegister(uint8_t regAddress, uint8_t newVal)
{
Wire.beginTransmission(A);
Wire.write(regAddress);
Wire.write(newVal);
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setTwoRegisters(uint8_t regAddress, uint16_t newVal)
{
Wire.beginTransmission(A);
Wire.write(0x20 | regAddress);
Wire.write((uint8_t)newVal);
Wire.write((uint8_t)(newVal>>8));
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
Помогите найти ошибку в коде.
(APDS-9301 Sensor)
#include <Wire.h>
#define INT_PIN 2
bool lightIntHappened = false;
#define CONTROL_REG 0x80
#define TIMING_REG 0x81
#define THRESHLOWLOW_REG 0x82
#define THRESHLOWHI_REG 0x83
#define THRESHHILOW_REG 0x84
#define THRESHHIHI_REG 0x85
#define INTERRUPT_REG 0x86
#define ID_REG 0x8A
#define DATA0LOW_REG 0x8C
#define DATA0HI_REG 0x8D
#define DATA1LOW_REG 0x8E
#define DATA1HI_REG 0x8F
typedef enum {LOW_GAIN, HIGH_GAIN} gain;
typedef enum {INT_TIME_13_7_MS, INT_TIME_101_MS, INT_TIME_402_MS} intTime;
typedef enum {SUCCESS, I2C_FAILURE} status;
typedef enum {INT_OFF, INT_ON} interruptEnable;
typedef enum {POW_OFF, POW_ON} powEnable;
status begin(uint8_t address);
status powerEnable(powEnable powEn);
status setGain(gain gainLevel);
status setIntegrationTime(intTime integrationTime);
status enableInterrupt(interruptEnable intMode);
status clearIntFlag();
status setCyclesForInterrupt(uint8_t cycles);
status setLowThreshold(unsigned int threshold);
status setHighThreshold(unsigned int threshold);
uint8_t getIDReg();
gain getGain();
intTime getIntegrationTime();
uint8_t getCyclesForInterrupt();
unsigned int getLowThreshold();
unsigned int getHighThreshold();
unsigned int readCH0Level();
unsigned int readCH1Level();
float readLuxLevel();
uint8_t address;
uint8_t A;
uint8_t getRegister(uint8_t regAddress);
status setRegister(uint8_t regAddress, uint8_t newVal);
uint16_t getTwoRegisters(uint8_t regAddress);
status setTwoRegisters(uint8_t regAddress, uint16_t newVal);
void setup() {
delay(2500);
Serial.begin(115200);
Wire.begin();
// APDS9301 sensor setup.
begin(0x39);
setGain(LOW_GAIN);
setIntegrationTime(INT_TIME_13_7_MS);
setLowThreshold(0);
setHighThreshold(50);
setCyclesForInterrupt(34);
enableInterrupt(INT_ON);
clearIntFlag();
pinMode(INT_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), lightInt, FALLING);
//Serial.println(getLowThreshold());
// Serial.println(getHighThreshold());
}
void loop()
{
//Serial.read();
static unsigned long outLoopTimer = 0;
clearIntFlag();
if (millis() - outLoopTimer >= 2000)
{
outLoopTimer = millis();
Serial.print("Luminous flux: ");
Serial.println(readCH0Level(),6);
if (lightIntHappened)
{
Serial.println("Interrupt");
lightIntHappened = false;
}
}
}
void lightInt()
{
lightIntHappened = true;
}
status begin(uint8_t A)
{
A = address;
powerEnable(POW_ON);
//APDS9301::status result = setGain(HIGH_GAIN);
//if (setIntegrationTime(INT_TIME_402_MS) != SUCCESS) result = I2C_FAILURE;
//return result;
return SUCCESS;
}
status powerEnable(powEnable powEn)
{
if (powEn == POW_OFF) return setRegister(CONTROL_REG, 0);
else return setRegister(CONTROL_REG, 3);
}
status setGain(gain gainLevel)
{
uint8_t regVal = getRegister(TIMING_REG);
if (gainLevel == LOW_GAIN) regVal &= ~0x10;
else regVal |= 0x10;
return setRegister(TIMING_REG, regVal);
}
status setIntegrationTime(intTime integrationTime)
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= ~0x03;
if (integrationTime == INT_TIME_13_7_MS) regVal |= 0x00;
else if (integrationTime == INT_TIME_101_MS) regVal |= 0x01;
else if (integrationTime == INT_TIME_402_MS) regVal |= 0x02;
return setRegister(TIMING_REG, regVal);
}
status enableInterrupt(interruptEnable intMode)
{
uint8_t regVal = getRegister(INTERRUPT_REG);
// This is not a typo- OFF requires bits 4&5 to be cleared, but
// ON only requires bit 4 to be set. I dunno why.
if (intMode == INT_OFF) regVal &= ~0x30;
else regVal |= 0x10;
return setRegister(INTERRUPT_REG, regVal);
}
status clearIntFlag()
{
Wire.beginTransmission(A);
Wire.write(0xC0);
status retVal;
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setCyclesForInterrupt(uint8_t cycles)
{
uint8_t regVal = getRegister(INTERRUPT_REG);
regVal &= ~0x0F; // clear lower four bits of register
cycles &= ~0xF0; // ensure top four bits of data are clear
regVal |= cycles; // Sets any necessary bits in regVal.
return setRegister(INTERRUPT_REG, regVal);
}
status setLowThreshold(unsigned int threshold)
{
int retVal = setTwoRegisters(THRESHLOWLOW_REG, threshold);
if (retVal == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setHighThreshold(unsigned int threshold)
{
int retVal = setTwoRegisters(THRESHHILOW_REG, threshold);
if (retVal == 0) return SUCCESS;
else return I2C_FAILURE;
}
uint8_t getIDReg()
{
return getRegister(ID_REG);
}
gain getGain()
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= 0x10;
if (regVal != 0) return HIGH_GAIN;
else return LOW_GAIN;
}
intTime getIntegrationTime()
{
uint8_t regVal = getRegister(TIMING_REG);
regVal &= 0x03;
if (regVal == 0x00) return INT_TIME_13_7_MS;
else if (regVal == 0x01) return INT_TIME_101_MS;
else return INT_TIME_402_MS;
}
uint8_t getCyclesForInterrupt()
{
uint8_t regVal = getRegister(INTERRUPT_REG);
regVal &= ~0x0F;
return regVal;
}
unsigned int getLowThreshold()
{
unsigned int retVal = getRegister(THRESHLOWHI_REG)<<8;
retVal |= getRegister(THRESHLOWLOW_REG);
return retVal;
}
unsigned int getHighThreshold()
{
unsigned int retVal = getRegister(THRESHHIHI_REG)<<8;
retVal |= getRegister(THRESHHILOW_REG);
return retVal;
}
unsigned int readCH0Level()
{
return getTwoRegisters(DATA0LOW_REG);
}
unsigned int readCH1Level()
{
return getTwoRegisters(DATA1LOW_REG);
}
float readLuxLevel()
{
unsigned int ch1Int = readCH1Level();
unsigned int ch0Int = readCH0Level();
float ch0 = (float)readCH0Level();
float ch1 = (float)readCH1Level();
switch (getIntegrationTime())
{
case INT_TIME_13_7_MS:
if ((ch1Int >= 5047) || (ch0Int >= 5047))
{
return 1.0/0.0;
}
break;
case INT_TIME_101_MS:
if ((ch1Int >= 37177) || (ch0Int >= 37177))
{
return 1.0/0.0;
}
break;
case INT_TIME_402_MS:
if ((ch1Int >= 65535) || (ch0Int >= 65535))
{
return 1.0/0.0;
}
break;
}
float ratio = ch1/ch0;
switch (getIntegrationTime())
{
case INT_TIME_13_7_MS:
ch0 = 1/0.034;
ch1 = 1/0.034;
break;
case INT_TIME_101_MS:
ch0 = 1/0.252;
ch1 = 1/0.252;
break;
case INT_TIME_402_MS:
ch0 = 1;
ch1 = 1;
break;
}
if (getGain() == LOW_GAIN)
{
ch0 = 16;
ch1 = 16;
}
float luxVal = 0.0;
if (ratio <= 0.5)
{
luxVal = (0.0304 ch0) - ((0.062 ch0) (pow((ch1/ch0), 1.4)));
}
else if (ratio <= 0.61)
{
luxVal = (0.0224 ch0) - (0.031 ch1);
}
else if (ratio <= 0.8)
{
luxVal = (0.0128 ch0) - (0.0153 ch1);
}
else if (ratio <= 1.3)
{
luxVal = (0.00146 ch0) - (0.00112*ch1);
}
return luxVal;
return 0;
}
uint8_t getRegister(uint8_t regAddress)
{
Wire.beginTransmission(A);
Wire.write(regAddress);
Wire.endTransmission(false);
Wire.requestFrom(A, (uint8_t)1);
return Wire.read();
}
uint16_t getTwoRegisters(uint8_t regAddress)
{
Wire.beginTransmission(A);
Wire.write(0x20 | regAddress);
Wire.endTransmission(false);
Wire.requestFrom(A, (uint8_t)2);
uint16_t regVal = Wire.read();
return regVal | (Wire.read()<<8);
}
status setRegister(uint8_t regAddress, uint8_t newVal)
{
Wire.beginTransmission(A);
Wire.write(regAddress);
Wire.write(newVal);
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
status setTwoRegisters(uint8_t regAddress, uint16_t newVal)
{
Wire.beginTransmission(A);
Wire.write(0x20 | regAddress);
Wire.write((uint8_t)newVal);
Wire.write((uint8_t)(newVal>>8));
if (Wire.endTransmission() == 0) return SUCCESS;
else return I2C_FAILURE;
}
Это копия, сохраненная 8 августа 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.