Jump to content

Search the Community

Showing results for tags 'Arduino'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Автомобильная электроника
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Жучки
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube

Blogs

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • Сага о китайском PCB сборщике
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • WaveCorp
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • Полезные схемы
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Создание монстра "Blaster 8920"
  • EmmGold's блог
  • ivan15961596's блог
  • ivan15961596's блог
  • Интернет радио в машину
  • AI
  • Гаусс-пушки
  • 7400's блог
  • Віталік Приходько_130349's блог
  • Евгений Малюта's блог
  • werekpro
  • afurgon's блог
  • odaplus' блог
  • Zvik's блог
  • BoBka777's блог
  • aleksey9900's блог
  • Нашел статью о пайке проводов к светодиодов
  • Костик0's блог
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • OdiS' блог
  • aleksfil's блог
  • EmmGold's блог; AVR
  • З
  • Блог Плотникова Ильи
  • yureika's блог
  • Для начинающих
  • Fumitox's блог
  • Самоделки блог
  • ульян's блог
  • Блок питания 0-12В для начинающих
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

  1. Добрый день. Есть идея переделать купленный в Китае регулятор мощности вот такой , а именно избавится от панели управления с кнопками и вместо нее использовать ардуино. Сама панель управления подключается к регулятору при помощи 4-х жильного провода. На панели управления присутствуют две кнопки (+/-), дисплейный модуль, вероятно электронный потенциометр, микросхема, вероятно для управления экраном и сигналами от кнопки, и всякая мелочевка. По хорошему бы подцепиться на эти 4 провода и эмитировать сигналы от панели управления при помощи ардуино, значение о текущем установленной величине, также получать с этих проводочков. Вот только не знаю как такое реализовать, может кто поделится опытом? С чего начать и как все провернуть?
  2. В этом блоге я бы хотел рассказать о том, как создавал собственную систему для Smart home. почему бы не воспользоваться готовой системой? Все просто, я студент факультета информационных технологий и стояла цель научиться чему-то новому. Из чего состоит моя система сейчас? Это сервер на Raspberry pi, несколько плат Arduino и ESP8266, а также реле от Sonoff. Ну и собственное приложение на телефон. История создания проекта Все началось с покупки Raspberry и экспериментов над ней. Для начала пробовал использовать LAMP стек (Linux —операционная система Linux; Apache – веб-сервер; MariaDB / MySQL - СУБД; PHP – язык программирования, используемый для создания веб-приложений). Но спустя некоторое время стало понятно, что PHP не очень подходит для этих целей, лично у меня не получилось подружить с MQTT брокером. Следующим для написания сервера стал Python с микрофреймворком Flask, на нем я и остановился. Python отлично подходит для этих целей, так как его легко подружит с брокером, можно подключить телеграммы бота, а также много интересных библиотек. Следующим шагом стала разработка веб-интерфейса. После пробы использовать конструкторы для построения интерфейса стало понятно, что лучше будет учить HTML, CSS, JS и писать интерфейс самостоятельно. Для обмена информации клиента с сервером я использовал Socket.io, это позволило отображать актуальные данные без перезагрузки страницы. Элементы управления распределены по отдельным виджетам. Некоторое время спустя на странице уже отображалась погода, было несколько переключателей, слайдеров, стрелочных приборов и несколько графиков. На этом этапе самым сложным, наверное, было отразить графики так, чтобы они постепенно подгружали новые данные и смещались в лево. шаг второй. Стало ясно, что следующим этапом необходимо реализовать возможность пользователю самостоятельно создавать и настраивать виджеты при использовании системы. Этим я и занялся. Выджеты были распределены на несколько видов. Переключатель, слайдер, палитра, виджеты для отображения информации и сейчас работаю над графиками. Пользователь может выбрать тип виджета, дать ему название, прикрепить иконку, настроить топик MQTT. Далее данные формируются в массив и отправляются на сервер для обработки и хранения. Шаг третий. Дальше мне стало интересно разработать какой-то механизм для создания сценариев, так как раньше систему нельзя было назвать автоматизированной. Он стал одним из самых сложных и одновременно интересных этапов. После серии попыток было создано модальное окно, в котором пользователь может назвать сценарий, написать условие (например, если температура превысила установленное снаряжение), установить действие, которое будет выполняться, настроить уведомление, в том числе и в телеграмм. Шаг четвертый. Веб-интерфейс это конечно хорошо, но не так удобно как мобильное приложение. Так как такого опыта у меня раньше не было, добиться желаемого результата в Android studio у меня не получилось. Решил попробовать Flutter и это было правильным решением, так как процесс пошел гораздо быстрее. Сейчас функционал в нем очень скромен, можно только отобразить показания с датчиков, изменить яркость освещения, управлять RGB подсветкой, да и собственно управлять реле. Как это работает? Пользователь через веб-интерфейс что-то нажимает, эти данные передаются на сервер через socket.io, далее он в зависимости от их типа обрабатывает и передаю в MQTT брокер, а он в свою очередь на конечное устройство (ESP8266). Отображение показаний с датчиков происходит в обратном порядке. При использовании мобильного приложения обмен данных с сервером происходит через Firebase. Это позволяет управлять системой удаленно не давая серверу белый IP( Ну и мне так было проще). Функционал системы Если коротко, то на данный момент можно управлять устройствами на основе ESP. Также можно создавать сценарии, за счет чего автоматизировать определенные процессы. В планах на будущее доработать сервер, улучшить работу со сценаримами, добавить больше видов виджетов, попытаться подключить ZigBee (сейчас для этого не хватает средств). Также продолжить работу над улучшением мобильного приложения. Это моя первая статья, поэтому надеюсь на понимание и поддержку. Если вам понравится, то дальше буду расширять эту тему. Сейчас параллельно работаю над подобным сервером для теплицы, даже построил небольшой полигон для опытов 2*3 метра. Также если у вас есть какие-то полезные советы, я их с удовольствием прочту. видео в котором показана часть возможностей сервера( к сожалению видео в лучшем качестве не сохранилось) https://youtu.be/Pg35x2uVfVc. https://youtu.be/gyDZJuq2sk0
  3. Помогите пожалуйста разобраться с питанием 1) надо ли тут понижайка/ повышайка DC-DC? 2) как предохранить плату от помех при нагрузке. Скетч прошивки тоже могу выложит, он максимально простой. Также печатную плату тоже выложу как доделаю схему.
  4. Доброго времени суток, господа. Никик я не могу прошить атмегу. Всегда выводится такая ошибка: avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Раньше у меня получалось прошивать ее, но на 16 МГц. Решил, что способен прошить и на 8 МГц. Скачал пару библиотек и.... ничего, выдало ошибку. Первым делом я подумал, что все плохо с проводкой. У меня, кстати, TQFP32 адаптер, но я подумал, что контакт через макетную плату и UNO слишком слаб, поэтому припаял к выводам адаптера провода и вставил их в UNO. Как итог - ничего не поменялось. Менял я и UNO на NANO, переделывал схему (вставлял резистор от RES до VCC и наоборот, вставлял конденсатор между RES и GND у UNO), подключал резонатор на 16 МГц. А ошибка вся таже. Чё делать?
  5. Здравствуйте! Я реализовал передачу данных через .NET к ардуино через COM-port. Все работает, но есть задержка в пару секунд прежде чем отправленные данные будут обработаны в самой ардуино. Я рылся в инете и узнал, что якобы контроллер ждет код прошивки и если он не поступает, то данные принимаются и обрабатываются. Заранее спасибо!
  6. В видео рассмотрим схемы транзисторных ключей на биполярных и mosfet транзисторах $2 for 1-4 Layer PCBs,Get Free SMT Coupons → https://jlcpcb.com/IYB Схемы транзисторных ключей: https://oshwlab.com/naym1993/basic_transistor_schemes Про биполярные транзисторы: https://youtu.be/X9MNvAO7g2Q
  7. Всех приветствую! Сразу обозначу - опыта ноль. Прошу экспертной помощи и разъяснений. Есть задача - собрать проект лёгкого дрона, переносящего с собой малый груз (просто картонную коробку 10х10х10 см, для начала), оперирующего на горизонтальной сетке, где каждая секция пронумерована и сбрасывающий (а лучше - аккуратно кладущий) груз в определенную секцию. Итого требуется: 1) Определить способ поиска позиции дрона относительно сетки (и необходимой ячейки соответственно). 2) Определить какая Arduino потребуется. 3) Определить прочие необходимые для сборки компоненты. Заранее спасибо.
  8. Как заставить яркость светодиодов меняться при сложении и вычитании чисел? Я просматриваю множество способов использования PWM или analogwrite() в Интернете и предполагаю, что возвращаемое значение моей кнопки будет таким A5 5A 06 83 00 01 01 00 01 A5 5A 06 83 00 01 01 00 02 A5 5A 06 83 00 01 01 00 03 И так далее, то есть я использую analogwrite() для прямого считывания последней цифры? Ниже приводится содержание моего дисплея.
  9. Недавно я завершил проект по отпиранию двери с помощью сенсорного экрана с пронесенной картой. Как решить проблему, когда MFRC522 не называет тип при запуске Arduino #include <SoftwareSerial.h> #include <Servo.h> #include <SPI.h> #include <MFRC522.h> #include <IRremote.h> #define SS_PIN 10 // customize the two PIN ports of the RC522 #define RST_PIN 9 #define RECV_PIN 5 // IR receive pins #define CARDS 4 //number of cards #define SERVO_PIN 6 // Servo port #define BUZZ_PIN 8 //buzzer pin long int IR_ID = 0xFFABCD; //define IR variable string ESP01S_Data = "". decode_results result. const byte User_ID[CARDS][4] = { {0xDD, 0xAA, 0xBB, 0x11}, // campus card {0xAD, 0x99, 0xDD, 0xEE}, }; //Save multiple card uid values MFRC522 rfid(SS_PIN, RST_PIN); //new RC522 object Servo myservo; SoftwareSerial EspSerial(3, 2); // RX, TX IRrecv irrecv(RECV_PIN);
  10. Я хочу построить простой шлюз с arduino+nrf24l01+enc28j60, nrf24l01 принимает сигнал и enc28j60 передает его в LAN, но проблема в том, что и nrf24l01 и enc28j60 используют протокол SPI для взаимодействия с arduino, если я хочу использовать собственный lib разработки arduino, я могу выбрать только один из nrf24l01 и enc28j60, потому что они имеют общее определение (pins_arduino.h). static const uint8_t SS = 10; static const uint8_t MOSI = 11; static const uint8_t MISO = 12; static const uint8_t SCK = 13 Итак, решение состоит в том, чтобы выбрать nrf24l01 вместо использования lib development, которая поставляется с arduino, но использовать другой IO порт, который я разработал сам, это правильно?
  11. Недавно я использовал Arduino для программирования stm32, и мне нужно использовать ШИМ-выход, но кажется, что частота фиксирована на 550 Гц. Я хотел бы знать, как изменить частоту ШИМ простым и легким способом. Например, я могу использовать analogWriteFreq(3000) для изменения частоты ШИМ на 3 КГц на ESP8266, но эта функция не работает на stm32. есть ли аналогичный метод для stm32?
  12. Я считаю, что знакомиться с новым продуктом, создавая игры, очень весело и нескучно, и именно поэтому я сделал этот проект. Этот проект заключается в использовании Arduino UNO и lcd-дисплея Stone tft для разработки простой игры в крестики-нолики. Материалы, необходимые для эксперимента Arduino UNO tft lcd дисплей Stone STWI070WT-01 Принцип работы системы Задайте, что первое нажатие на экран должно быть O, второе нажатие на экран - X, проделайте этот цикл. Установите 8 массивов для хранения количества O и X в каждой строке, столбце и диагонали каждой сетки, до тех пор, пока есть три одинаковых знака является победа, то будет мигающий красный ящик, чтобы доказать победу строки, столбца или диагонали, а затем нажмите сброс, чтобы начать игру снова. Простая схема соединения Разработка графического интерфейса пользователя Прежде чем я размещу код, мне действительно нужно поблагодарить всех на форуме за исправление моей ошибки при загрузке. После решения этой проблемы, мой код был загружен на плату UNO без каких-либо проблем, что, наконец, позволило мне реализовать мой проект. Спасибо всем, кто помог мне! unsigned int r_flag1 = 0; uint8_t RecievedTemp1[30] = {0}; //uint8_t *RecievedTemp1 = new uint8_t[30]; uint8_t cout_i = 0; unsigned int quan_hang1 = 0; unsigned int quan_hang2 = 0; unsigned int quan_hang3 = 0; unsigned int quan_lie1 = 0; unsigned int quan_lie2 = 0; unsigned int quan_lie3 = 0; unsigned int quan_zuoxia = 0; unsigned int quan_youxia = 0; //unsigned int quan[8]={0}; // unsigned int cha_hang1 = 0; unsigned int cha_hang2 = 0; unsigned int cha_hang3 = 0; unsigned int cha_lie1 = 0; unsigned int cha_lie2 = 0; unsigned int cha_lie3 = 0; unsigned int cha_zuoxia = 0; unsigned int cha_youxia = 0; unsigned int cha[8]={0}; void setup() { Serial.begin(115200); for(int i=3; i<=8; i++) pinMode(i,OUTPUT); } void loop(){ if(Serial.available() != 0) { // for(cout_i = 0; cout_i < 30; cout_i ++) // { // //RecievedTemp1[cout_i] = Serial.readBytes(RecievedTemp1, 15); // Serial.readBytes(RecievedTemp1, 20); // //Serial.println(RecievedTemp1[cout_i]); // } Serial.readBytes(RecievedTemp1, 20); for(cout_i = 0; cout_i < 19; cout_i ++) { Serial.println(RecievedTemp1[cout_i]); } switch(RecievedTemp1[13]) { case 49: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang1++; quan_lie1++; quan_youxia++; // quan[0]++; // quan[3]++; // quan[7]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button1\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang1++; cha_lie1++; cha_youxia++; // cha[0]++; // cha[3]++; // cha[7]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button1\",\"enable\":false}>ET")); } break; case 50: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang1++; quan_lie2++; // quan[0]++; // quan[4]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button2\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang1++; cha_lie2++; // cha[0]++; // cha[4]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button2\",\"enable\":false}>ET")); } break; case 51: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang1++; quan_lie3++; quan_zuoxia++; // quan[0]++; // quan[5]++; // quan[6]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button3\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang1++; cha_lie3++; cha_zuoxia++; // cha[0]++; // cha[5]++; // cha[6]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button3\",\"enable\":false}>ET")); } break; case 52: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang2++; quan_lie1++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button4\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang2++; cha_lie1++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button4\",\"enable\":false}>ET")); } break; case 53: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang2++; quan_lie2++; quan_zuoxia++; quan_youxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button5\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang2++; cha_lie2++; cha_zuoxia++; cha_youxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button5\",\"enable\":false}>ET")); } break; case 54: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang2++; quan_lie3++; // quan[1]++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button6\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang2++; cha_lie3++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button6\",\"enable\":false}>ET")); } break; case 55: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang3++; quan_lie1++; quan_zuoxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button7\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang3++; cha_lie1++; cha_zuoxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button7\",\"enable\":false}>ET")); } break; case 56: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang3++; quan_lie2++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button8\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang3++; cha_lie2++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button8\",\"enable\":false}>ET")); } break; case 57: if((r_flag1 == 0)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"circle\"}>ET")); r_flag1 = 1; quan_hang3++; quan_lie3++; quan_youxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button9\",\"enable\":false}>ET")); } else if((r_flag1 == 1)&&(RecievedTemp1[14]==2)) { Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"x\"}>ET")); r_flag1 = 0; cha_hang3++; cha_lie3++; cha_youxia++; Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button9\",\"enable\":false}>ET")); } break; case 48: r_flag1 = 0; quan_hang1=quan_hang2=quan_hang3=cha_hang1=cha_hang2=cha_hang3=0; quan_lie1=quan_lie2=quan_lie3=cha_lie1=cha_lie2=cha_lie3=0; quan_zuoxia=quan_youxia=cha_zuoxia=cha_youxia=0; // for(char count_i=50;count_i<58;count_i++) // { // Serial.println((("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image%c\",\"image\":\"bai\"}>ET"),count_i)); // } Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image2\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image3\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image4\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image5\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image6\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image7\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image8\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image9\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_image\",\"type\":\"image\",\"widget\":\"image10\",\"image\":\"bai\"}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif4\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif5\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif6\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif7\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif8\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif9\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif10\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":false}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button9\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button8\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button7\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button6\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button5\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button4\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button3\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button2\",\"enable\":true}>ET")); Serial.println(F("ST<{\"cmd_code\":\"set_enable\",\"type\":\"widget\",\"widget\":\"button1\",\"enable\":true}>ET")); break; } if((quan_hang1==3)||(cha_hang1==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif4\",\"visible\":true}>ET")); } else if((quan_hang2==3)||(cha_hang2==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif5\",\"visible\":true}>ET")); } else if((quan_hang3==3)||(cha_hang3==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif6\",\"visible\":true}>ET")); } else if((quan_lie1==3)||(cha_lie1==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif7\",\"visible\":true}>ET")); } else if((quan_lie2==3)||(cha_lie2==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif8\",\"visible\":true}>ET")); } else if((quan_lie3==3)||(cha_lie3==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif9\",\"visible\":true}>ET")); } else if((quan_zuoxia==3)||(cha_zuoxia==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif11\",\"visible\":true}>ET")); } else if((quan_youxia==3)||(cha_youxia==3)) { Serial.println(F("ST<{\"cmd_code\":\"set_visible\",\"type\":\"widget\",\"widget\":\"gif10\",\"visible\":true}>ET")); } } } Здесь будет приложен демонстрационный видеоролик проекта.
  13. Мне нужно сделать структурную схему по вот такой электрической схеме для дипломного проекта. Это примочка дилея на основе ардуио нано. Сам я в электронике совсем не сведущ, выбрал такой проект только из-за программирования самой ардуины.
  14. В видео поговорим об энергоэффективности микроконтроллеров. Сравним потребление в режима сна arduino, blue pill с STM32F103 и представителя новой линейки энергоэффективных микроконтроллеров от st — STM32L552. Подробную информацию об линейке L5 можно найти тут: https://www.compel.ru/lib/143383 Пи тест часть 1: https://youtu.be/ozu1IUjH1_Q Пи тест часть 2: https://youtu.be/uLOWYE-JJpA
  15. У меня есть ESP32Cam которая берет кадры (240*176пкс. QQVGA) и пересылает их серверу по UDP. С этой частью проекта проблем нет всё работает всё ОК. Но хочу прикрутить получение данных по UDP от того же сервера причем с достаточно приличной частотой. Кто пробовал работать с такими модулями, не подскажете не будет и помехой работа с камерой, работе с сервером по UDP-протоколу. У меня есть сомнения по поводу того не будет ли эспешка в момент взятия кадра зацикливаеся на этом и в этот момент не сможет принять сообщения от сервера и управлять периферией. Подскажите пожалуйста кто может т.к. работаю с этими камнями впервые. Заранее спасибо.
  16. Добрый день! В данный момент прохожу производственную преддипломную практику (сам учусь в УРТК). Стоит задача соединить Lego EV3 и Raspberry PI по I2C интерфейсу. До этого, при работе с другими устройствами, у меня никогда не было проблем с I2C интерфейсом, но в данной связке "EV3-RPI" - начались ошибки. Перед описанием ошибок, уточню, что EV3 - Master, а Raspberry - Slave, т.к. EV3 умеет работать только в режиме Master. Первое, что бросается в глаза, это практически постоянная передача в эфир SLA пакета (адреса Slave-устройства). По-факту, именно с этого и должна начинаться передача, но в данном случае, её попросту не происходит. А, если быть точнее, то происходит она только каждый шестой раз. Следующая проблема заключается в том, что обмен данными не всегда происходит до конца. Даже если EV3 отправляет свой пакет (два байта), то ответ от Raspberry (он тоже два байта) приходит через-раз, а то и ещё реже. я также пробовал соединять EV3 с Arduino, Arduino с Raspberry, что бы найти причину, но там всё отлично работало и ошибок было ноль. Стабильный обмен двумя байтами, как и нужно. Очень нужна помощь в устранении данных ошибок! P.S: У EV3 используется нестандартный уровень лог. единицы (там он 4.3в) и обычные конверторы уровней уже не работают с ним. Поэтому, мне пришлось перепаивать его под другие номиналы подтягивающих резисторов, что бы всё заработало. В его работе нареканий нет. Ниже показаны осциллограммы работы I2C между различными устройствами, которые были задействованы.
  17. Здравствуйте. Мои знания в электронике малы, но мне необходимо подружить датчик давления и модуль тока и напряжения, если это возможно. Итак, есть датчик дифференциального давления NPH-8-172DH и модуль тока и напряжения CJMCU-219 для Arduino . Если я правильно понял то датчик отдаёт два сигнал нала в mV. Пины 5, 6 вход отдают данный по давлению на входе, пины 4, 10 по давлению на выходе. Возможно ли измерить сигнал датчика модулем CJMCU-219? Какое должно на датчик подаваться напряжение и какой должен быть ток? Как правильно подключить датчик и модуль дуг у дугу правильно?
  18. Доброго времени суток. Не смог реализовать повторный Serial.available() внутри условия Serial.available. Может кто-то уже сталкивался с этим. Задача состоит в том, что нужно зажечь светодиодные ленты WS2812b. Алгоритм действий: 1) Ожидаем появления данных на входе serial с помощью if (Serial.available()){} 2) Принимаем значения int val=Serial.paresInt(); 3)Условие сравнивания if(val>123){chess=val;} esle if(val<124){color=val;} т.е номер светодиода это chess, цвет это color 4) На смартфон отправляем 'n', для разрешения отправки следующих данных 5)Ждем уже цвет светодиода на входе serial далее по предыдущему алгоритму 6)Зажигаем указанный светодиод на указанный цвет. #include <FastLED.h> #define LED_PIN 6 #define NUM_LEDS 123 CRGB leds[NUM_LEDS]; const unsigned int DIM1 = 123; const unsigned int DIM2 = 1; const unsigned int DIM3 = 3; int ary[DIM1][DIM2][DIM3]; void setup() { Serial.begin(9600); FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS); } void loop() { if(Serial.available()){ int val=Serial.parseInt(); int chess=val; Serial.println(chess); delay(1); Serial.println('n'); clear_serail(); if(Serial.available()){int color=Serial.parseInt(); Serial.println(color); if(color>0){ if(color==124){ ary[chess][1][1]=0; ary[chess][1][2]=255; ary[chess][1][3]=0; Serial.println(ary[chess][1][1]); Serial.println(ary[chess][1][2]); Serial.println(ary[chess][1][3]); leds[chess]=CRGB(ary[chess][1][1],ary[chess][1][2],ary[chess][1][3]); FastLED.show(); Serial.println('l'); clear_serail(); } if(color==125){ ary[chess][1][1]=255; ary[chess][1][2]=0; ary[chess][1][3]=0; leds[chess]=CRGB(ary[chess][1][1],ary[chess][1][2],ary[chess][1][3]); FastLED.show(); Serial.println('l'); clear_serail(); }}} } } void clear_serail(){ Serial.end(); Serial.begin(9600); }
  19. Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика. График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем. Место работы – г. Екатеринбург. Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также: Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет: Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы. Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь.
  20. В видео протестируем плату Nucleo G474RE и проверим насколько она быстрее Arduino Uno. Текстовый вариант инструкции, как превратить отладочную плату STM в Arduino: https://www.compel.ru/lib/132248 Плата Nucleo-G474RE: https://www.electronshik.ru/item/ST/NUCLEO-G474RE Arduino Uno: https://www.electronshik.ru/item/ARDUINO/ARDUINO%20UNO%20REV3 Репозиторий проекта stm32duino: https://github.com/stm32duino/Arduino_Core_STM32 Репозиторий benchmark’а: https://github.com/PaulStoffregen/CoreMark Пи тест, вторая часть: https://youtu.be/uLOWYE-JJpA Пи тест, первая часть: https://youtu.be/ozu1IUjH1_Q Платы XNucleo: https://www.st.com/content/st_com/en/search.html#q=xnucleo-t=tools-page=1
  21. Потребовалась в проекте простая и долгоживущая память для вобщем- то небольшого количества данных, на случай сбоя по питанию. Работа ограничивалась записью текущих изменяющихся значений и восстановлением при включении. При неспешной записи несколько раз в минуту, ресурс ATMEGA328 выбирался за 2 года гарантированной записи её родной EEPROM, происходившей по кольцу, что не очень радовало. Отступление небольшое, в нете читал статью где этот чип подвергался повышенным напряжением в 7- 9В и при снижении опять начинал работать, так это правда, случайно проверил. Ещё тестили количество циклов чтения- записи, реально намного превышает количество заявленное производителем, но у меня не тот случай где можно на это надеяться. Присутствовал на борту модуль с Алиекспресса с DS3231, на нём имелась память 24С32. Ввиду чрезвычайного удобства (модуль два в одном, и часы и память, общая шина IIC/TWI) эта микросхема использовалась для вышеуказанных целей очень долгое время. А потом всё устройство обрастало свистелками- перделками многочисленными датчиками и подвергалось давлению перфекционизма. Времени для записи, по даташиту 10ms, стало слишком много и в обрез оставалось для основной работы программы. Я посмотрел в сторону FRAM. Были заказаны на том же Али FM24С64 и 04. Частота работы до 1 Мгц, выпускаются в вариантах 5 и 3,3В, объёма, учитывая количество циклов записи- чтения 10 в 12-й степени хватало. Перепробовав безуспешно адаптировать несколько библиотек, для обычных 24СХХ, решил написать подпрограммы, напрямую работая со встроенной библиотекой Wire Arduino IDE (https://www.arduino.cc/en/Reference/Wire). Этими скетчами проверял присланные микросхемы. Для FM24C04: #include <Wire.h> byte iich = 0x50;// адрес устройства unsigned int address = 0; byte datawrite = 0x77;// чем заполнить ячейки памяти void setup() { Serial.begin(115200); Wire.begin(); Wire.setClock (400000);// скорость шины, от 3,3В через конвертер уровней TXS0108 тоже работают for (address = 0; address < 512; address ++ ) { // цикл для записи в память iic_write (address, datawrite); } for (address = 0; address < 512; address ++ ) { // цикл для чтения из памяти Serial.println (); Serial.print (address); Serial.print ("--"); Serial.print (iic_read (address),HEX); Serial.print ("--"); } } ///////////////////////////////////////////////////// void loop() { } ///////////////////////////////////////////////////// unsigned int iic_read (unsigned int adrd) { Wire.beginTransmission(iich); Wire.write(adrd); Wire.requestFrom(iich, 1); return Wire.read(); Wire.endTransmission(); } void iic_write ( unsigned int adwr, byte dat) { Wire.beginTransmission(iich); Wire.write(adwr); Wire.write(dat); Wire.endTransmission(); } Для FM24С64 меня ждали несколько шикарных, испытанных временем граблей. Перерыт инет, перечитан даташит. Внутренний подтягивающий к земле резистор internally pulled down достаточно велик для уровня наводки, воспринимаемой как логический "0" или "1". Поэтому вывод WP- обязательно к земле наикратчайшим проводом, тем более если это "сопли" на разъёмах на столе. То- же о выводах А0-А2, висящие в воздухе они давали несколько несуществующих адресов. Почему- то это не касается FM24C04 и я попался на этом чипе. Подпрограммы изменились, для чтения: unsigned int iic_read (unsigned int adrd) { Wire.beginTransmission(iich); Wire.write(adrd >> 8);// старший байт Wire.write(adrd & 0xFF);//младший байт Wire.requestFrom(iich, 1); if (Wire.available()) { return Wire.read(); } Wire.endTransmission(); } для записи: void iic_write ( unsigned int adwr, byte dat) { Wire.beginTransmission(iich); Wire.write(adwr >> 8); Wire.write(adwr & 0xFF); Wire.write(dat); Wire.endTransmission(); } Работа 5В версии (FM24C64-G) при питании 3,3В и скорости шины 400000 стабильна, что рекомендовать к работе конечно нельзя. По поводу FM24C64 (подозреваю что и С32 , С128, С256) коротко и ясно написано на https://forum.arduino.cc/index.php?topic=18946.0 пользователь alicemirror объясняет как работает чтение у этих микросхем, а поскольку они прямая замена для, например, АТ24С64, то и для них это справедливо. Дело в том, что данные из микросхемы "выстреливаются" далее без указания адреса с его автоинкрементом самой микросхемой после подтверждения от ведущего. Эту прыть и надо останавливать при получении байта :-) и способ адресации отличается от младших, с меньшим объёмом. Интересных всем проектов!
  22. Есть у меня два блока питания один на 35kV второй на 65kV, у обоих присутствует порт аналогового программирования 0-10 v (смотрите прикрепленный мануал ), я ищу умельца который сможет выполнить описанную ниже задачу. возможно есть уже готовое решение ? Задача состоит из двух частей Железо которое должно подключатся с одной стороны к блоку питания FUG(мануал во вложении ) выдавая от 0-10V , а с другой стороны к ПК через юсб Программа , в которой будет возможно калибровать выходное напряжение блока питания в зависимости от подключенного БП, возможность повышать/понижать напряжение постепенно , таймер на выключение/ включение блока питания . Analog_programming.pdf
  23. Доброго времени суток. Есть ли здесь знатоки, кто мог бы на пальцах объяснить работу минут в часах с видео? а еще лучше подсказать, где можно найти схему и код на подобное. (Имеются часы: плоская дощечка длинною в 30см на которой зажигаются минуты. То есть нужна схема, при которой индикаторы зажигаются поочередно.) Я в этом деле полный профан и начал копаться в "ардуинах" с неделю назад. Если я правильно понимаю можно получить данный эффект с помощью часов реального времени (например DS 3231) подключенных к arduino и 60 светодиодов подключенных через сдвиговые резисторы плюс, разумеется, должен быть будильник и кнопки которые этим всем оркестром будут управлять, так? Реально ли найти готовые схему подключения и сам код работы подобных часов? PS: Если кто даст буду крайне благодарен (мало ли у кого-то завалялось). lineclock1.mp4
  24. Добрый день, уважаемые знатоки, обращаюсь за помощью, поскольку сам уже в отчаянии найти причину, просто бьюсь головой об стену проект у меня предельно простой: беспроводной термометр с дисплеем на Arduino Для беспроводной передачи использовал имеющиеся дешевые модули на частоте 434 MhZ (https://www.sparkfun.com/products/10532, https://www.sparkfun.com/products/retired/8946) Схема работы следующая: передатчик забирает показания температуры с 2х датчиков и передает их раз в 5 минут приемник ловит и выводит показания на 2 7-сегментных дисплея, драйвером для которых используется MAX-7219 Проблема следующая: включаю приемник и передатчик, пока дисплеи не работают, первый прием показаний происходит без проблем, на большой дистанции Когда начинают работать дисплеи, дальность приёма ЗНАЧИТЕЛЬНО сокращается, т.е. на той необходимой дистанции, на которой сработал первый прием, второй и последующие уже не проходят. При этом, если расположить устройства поблизости, прием нормально работает и обновляет значения на дисплеях. В чем может быть проблема? В недостаточной мощности питания? Но у меня БП на 500ма, и я запитал приемник напрямую от разъема питания (5в). Возможно, я упускаю что-то очевидное для более опытных радиолюбителей? Если необходима схема, я выложу Очень прошу помочь, у меня уже опускаются руки, а ведь я уже перевел всю схему на печатную плату и запаял, жалко выбрасывать проект, в который вложено так много усилий
  25. Доброй ночи, уважаемые. Прошу Вашего совета по следующей куче проблем для меня, т.к. не соображаю в электронике, схемах, резисторах и подобному, но дружу с компом и есть желание сделать определенный механизм, но пока нет наставления на путь истинный от специалистов) Задача состоит в следующем - хочу мотор стеклоочистителя подключить к Ардуино, но управлять им необходимо с кнопки. Шилд, например, который обрабатывает сигнал нажатия на кнопку (допустим кнопка записи), при ее активации, нажимаю на другую кнопку, которая дает команду движку вращаться по часовой стрелке. Отпускают ее, моторчик останавливается. Другая кнопка, вращение в противоположную сторону. Т.е. записал последовательность и продолжительность вращений, нажимаю вновь на кнопку запись и мои действия сохраняются. Далее на 4 кнопку жму и моя игра с моторчиком автоматически воспроизводится. Если такое выполнимо с помощью плат и шилдов без доп программирования логики, то буду ОЧЕНЬ признателен если расскажете как вкратце это осуществить или кинете ссылки к примеру на Али с нужными товарами. Если легковыполнимо, то в будущем наверное уже разберусь, как обойтись без нажатия на 4 кнопку (воспроизведения записанных действий) и запускать этот процесс, подключив датчик движения или звука. Если необходимо описывать логику или создавать типа какого-то протокола, что шилд (?) умел понимать, что я от него хочу, то подскажите среду разработки для неба, что б там по минимуму было наворотов) В принципе с основами c++ для Ардуино скорее всего придется ознакомиться. Заранее спасибо!
×
×
  • Create New...