Ответы пользователя по тегу Микроконтроллеры
  • Существует ли микросхема - диктофон с записью на microSD?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Готовые модули совсем недешевые - www.aliexpress.com/item/Digital-Audio-Recorder-wit...
    Напрямую на taobao можно дешево найти да и выбрать есть из чего- https://world.taobao.com/item/45635359948.htm?spm=...
    Ответ написан
    Комментировать
  • Arduino Как из получаемой веб страницы выделить основную часть?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    В протоколе http заголовок от тела отделяется последовательностью символов \r\n\r\n, вот и ищите их средствами модуля string, после них и будет тело страницы. Гугл подсказывает что там есть методы indexOf() и substring() вот и используйте их...
    Ответ написан
    Комментировать
  • Как схемотехнически организовать плавное включение DC/DC или линейного стабилизатора напряжения?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Все по-быстрому, по этому время, как и остальное, "на глаз", C5-R4 - времязадающая цепочка , думаю и мне пригодится потом для датчика газа.
    • вход 5-30в
    • выход 0-3.6в / 200мА-250мА
    • логический вход: 1-отключено, 0-включено+плавный старт, z- выключено
    89cad85e67744844a6b8ba4c78d7c123.png
    Ответ написан
  • Какие вы знаете книги и ресурсы для изучения принципов проектирования микросхем для микроконтроллеров?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Начнем с того, что не микросхем, а просто схем. Раздел проектировки микросхем т.е чипов, совсем другая история.
    В универе была схемотехника и программирование МК

    странно, странно... не знать как посчитать резисторы это абсолютный 0 по схемотехнике. Как же это было сдано?=)
    - Не имею ни малейшего представления какие дополнительные элементы потребуются (предполагаю что нужны будут резисторы, чтобы понизить напряжение, но это единственное, что я могу предположить)

    - Даже если буду знать какие элементы нужны, не знаю как рассчитать их параметры.

    курс физики вспомнить, чтобы поиграться с вас хватит расчета резисторов и кондеров желательно.
    - Если потребуется МК для чего-то, даже не знаю как его запитывать и тестировать.

    почитать тематический форум, с уроками типа "моя первая программа"
    Если выбрали семейство AVR то берем Proteus, AVR Studio, собираем в нем схему, учимся. В Proteus входит редактор печатных плат, т.е этих 2-х программ хватит чтобы разработать устройство и изготовить плату ЛУТом, сам их тоже юзаю, когда на электронику тянет.

    Тут бы начать с азов схемотехники, собирать схемы свистелок типа сирены на микросхеме и-не, потом мк трогать. Собственно на первое время можно и без реальных девайсов обойтись, только симулятором- реальные девайсы ошибок не простят=)
    avr-start.ru/?p=86
    www.123avr.com
    easyelectronics.ru/avr-uchebnyj-kurs-programmirova...
    chipenable.ru/index.php/how-connection/item/70-pez...
    ах, и да, обходите стороной всякие там Ардуино с их софтом, так будете долго понимать простые вещи... можно просто купить демоплату, и шить ее без всяких абстракций, чтобы понимали что там происходит.
    Ответ написан
    2 комментария
  • Как происходит проверка времени нажатия кнопки?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Делается программный таймер, аппаратный таймер и аппаратные внешние прерывания только под кнопку отдавать это мягко говоря нерационально.
    В одном аппаратном таймере обновляются все программные таймеры, которые могут быть использованы для чего угодно.
    Значит заводим программный таймер для опроса кнопки, например с тиком каждые 100мс и переменную-счетчик. Далее проверяем в нем если кнопка нажата и если счетчик меньше 30 то инкрементируем его, иначе ставим флаг об удержании и выполняем функцию которая должна выполнятся при удержании ее. Если кнопка не нажата - сбрасываем счетчик и флаг удержания.
    Псевдокод:
    u08 buttonCounter=0;
      u08 buttonHold=0;
    
      u16 Timers[1]={0};//массив счетчиков программных таймеров
    
      interupt HardwareTimer1(){//прерывание аппаратного таймера каждые 25мс
            if(Timers[0]++==4){//  100мс/25мс=4 раза
                Timers[0]=0;
                onProgTimer1();
            }
      }
     
      void onProgTimer1(){//этот программный таймер тикает каждые 100ms
          if(button1==PRESSED){
                 onButton1Press();//функционал когда кнопку нажали
    
                if(buttonCounter<30){//ждем пока счетчик досчитает до 30 - 100мс*30 раз=3000мс=3 сек
                    buttonCounter++;
                }else{
                    if(buttonHold==0){
                        buttonHold=1;//Ставим флаг удержания кнопки
                        onButton1Hold();//выполняем функционал при удержании
                    }
                }
          }else{
                buttonCounter=0;//сбрасываем таймер-счетчик
                onButton1Release(buttonHold);//функционал когда кнопку отпустили
                buttonHold=0;//сбрасываем флаг удержания кнопки
          }
      }
    Ответ написан
    6 комментариев
  • Как работают неинвазивные датчики тока?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    типа acs712? обычный датчик хола с усилителем. На выходе напряжение смещенное на 1/2 U питания и зависит линейно от тока . 10$? Они по доллару с небольшим на aliexpress

    Первый попавшийся продавец за 5 штук 7$ www.aliexpress.com/item/NEW-20A-Hall-Current-Senso...

    Если по старинке на трансформаторе тока(www.aliexpress.com/item/Non-invasive-Split-Core-Cu...), то на выходе тоже самое, но может быть как относительно 0 выход так и относительно 1/2U питания - зависит от модуля
    Ответ написан
  • Как реализовать передачу данных с одного МК на другой через Интернет?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Зачем тут web сервер? простой TCP, но все ровно надо будет разбираться со стеком IP.
    Еще нужно учесть, что IP в мобильных сетях серые, т.е к нему не подключится с Интернета, правда как дополнительная услуга часто предоставляется белый IP, но, кажется, только в 3G сетях.
    Возможно, проще будет сервер разместить на обычном хостинге, а клиенты - мк через него чтоб обмен вели.
    Ну а вместо модема - готовый GSM модуль. очень дешево.
    www.aliexpress.com/wholesale?catId=0&initiative_id...

    Если нужна видео трансляция, то о GPRS забудьте. Это к 3G.
    Ответ написан
    3 комментария
  • Студент и Низкоуровневое программирование?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    ИМХО к сожалению, состояние нашей промышленности не способствует созданию таких рабочих мест, где широко нужны программисты "железячники". Если сравнивать с прикладными+веб, то их можно считать что и нету. Увы.
    Сам я тоже должен быть железячником по образованию, все с паяльниками сидел, но еще после школы понял что скорее всего это останется занятием для души бумажки о ВО, а основным, как и все, упорно заняться прикладным, через пару лет дошло что лучше веб. Просто не в том месте или не в то время я родился=) Писать даже индуский код на том же php для "забугра" в разы выгоднее.
    Вообщем себе рисовал картину так - минусы железячника:
    - производство стоит, отсталое
    - маленькое количество рабочих мест
    - относительно низкая ЗП, в несколько раз меньше по сравнению с другими
    - работа на внутренний рынок
    - сложное освоение, большие затраты на покупку демо-железяк
    - привязанность к конкретному месту производства
    - устроится сложно, работа часто "по блату"
    - сам один ты в поле не воин, ты не напишешь крутую прошивку, скажем умного дома, под устройство которого нет, сам не запустишь производство, сам не продашь... как бы этого не хотелось... разве что kickstarter=) и то команда нужна серьезная чтоб создать свое маленькое дело
    - там где есть хоть какое то производство -ужасная экология, жить в индустриальном районе не хочется, ну это так - придирки
    - мало шансов свалить в "загнивающийзапад" по рабочей визе

    Конечно, есть яркие исключения, но в основной массе оно примерно так...

    Может получиться как у меня - отучился на железячника, а все ровно параллельно сам учил прикладное и веб- круть, теперь я web dev с никому ненужными навыками программиста мк, системотехника и архитектора сетей=))
    Вообщем хорошенько еще подумайте=)
    Если бы у меня была машина времени- я бы вообще вернулся на 10 лет назад и сказал бы себе - "харе кодить, забей - сиди на лавке пей пиво, через 10 лет будешь ручным тестированием заниматься - там за месяц буш готов, мозг береги"=)))
    Ответ написан
    3 комментария
  • Есть ли такие устройства?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Чем не устраивает EtherNet контроллер ENC28J60? Лучше варианта для Вас наверно нет. Прицепите его к контроллеру, к тому же avr - под него куча уже уроков.
    Купить тут <3$
    www.aliexpress.com/item/ENC28J60-Ethernet-LAN-Netw...
    Ответ написан
    Комментировать