Jump to content
winice

Конструктор Android для самоделок на Arduino и контроллерах

Recommended Posts

Подскажите как можно сделать программку на андроид для обмена данными с контроллером?

Например дергать выводами arduino со смарта по wi-fi (само собой через соответствующий шилд) 

Накидать кнопок ползунков... и задать им соответствие каким-то байтам в памяти контроллера. 

С разработкой на андроид связываться не хочется)))

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • @abovar делал как тут написано, если брать питание с первого ОУ и припаивать средний контакт ползунка на 5 контакт второго ОУ то БП сваливается в защиту, никаких абсолютно регулировок не происходит, а вот если взять питание с первого ОУ и ползунок припаять к 5 контакту третьего ОУ то регулировка получается от 4.2 вольт до 29.5вольт, если выше или ниже тоже уходит в защиту, ну в принципе мне и этого хватает, что скажите насчет этого? имеет такой вариант на жизнь?))) на нагрузку не проверял прям на конкретную, но вот подключил два прожектора при 15.00вольтах, итого 4,5 ампера нагрузка и с 15.00 вольт просело напряжение до 14.87 вольт, это нормально?
    • Благодарю. Встречал эту схему, но в связи с возможным растеканием фазы по воде от микросхем решил отказаться.
    • Нет, Паш. Увы. Но, с большой долей вероятности, можно утверждать, что используется интерфейс RS485 с протоколом ModBus RTU. Можно навесить параллельно ещё чип и слушать.
    • Снабер можно 0.3 можно и ещё меньше - тока там нет, похоже нет вариантов - это перемаркер, а вот глюки - это скорее всего печать, имхо. 
    • @alex123al97 Вот, неплохая альтернатива. Можете ознакомиться. Схема управления водяным насосом.rar
    • К сожалению, прям сейчас ее под рукой нет, но если верить заверением спецов, то это max485.
    • Вот такой вариант https://radiokot.ru/artfiles/6558/

  • GSM-модуль на основе чипа SIM800L

  • Similar Content

    • By admin
      В видео протестируем плату 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
    • By sys
      Потребовалась в проекте простая и долгоживущая память для вобщем- то небольшого количества данных, на случай сбоя по питанию. Работа ограничивалась записью текущих изменяющихся значений и восстановлением при включении. При неспешной записи несколько раз в минуту, ресурс 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, то и для них это справедливо.  Дело в том, что данные из микросхемы "выстреливаются" далее без указания адреса с его автоинкрементом самой микросхемой после подтверждения от ведущего. Эту прыть и надо останавливать при получении байта :-)  и способ адресации отличается от младших, с меньшим объёмом.
         Интересных всем проектов!
    • By jonytvester
      Есть у меня два блока питания один на 35kV второй на 65kV, у обоих присутствует порт аналогового программирования 0-10 v (смотрите  прикрепленный мануал ), я ищу умельца который сможет выполнить описанную ниже задачу. возможно есть уже готовое решение ? 
      Задача состоит из двух частей 
      Железо которое должно подключатся с одной стороны  к блоку питания FUG(мануал во вложении ) выдавая от 0-10V , а с другой стороны к ПК через юсб Программа , в которой будет возможно калибровать выходное напряжение блока питания  в зависимости от подключенного БП, возможность повышать/понижать  напряжение постепенно , таймер на выключение/ включение блока питания  .  Analog_programming.pdf
    • By Gor_Th
      Доброго времени суток.

      Есть ли здесь знатоки, кто мог бы на пальцах объяснить работу минут в часах с видео? а еще лучше подсказать, где можно найти схему и код на подобное. (Имеются часы: плоская дощечка длинною в 30см на которой зажигаются минуты. То есть нужна схема, при которой индикаторы зажигаются поочередно.)
      Я в этом деле полный профан и начал копаться в "ардуинах" с неделю назад. Если я правильно понимаю можно получить данный эффект с помощью часов реального времени (например DS 3231) подключенных к arduino и 60 светодиодов подключенных через сдвиговые резисторы плюс, разумеется, должен быть будильник и кнопки которые этим всем оркестром будут управлять, так?
      Реально ли найти готовые схему подключения и сам код работы подобных часов?
      PS: Если кто даст буду крайне благодарен (мало ли у кого-то завалялось).

      lineclock1.mp4
    • Guest Игорь
      By Guest Игорь
      Доброй ночи, уважаемые.
      Прошу Вашего совета по следующей куче проблем для меня, т.к. не соображаю в электронике, схемах, резисторах и подобному, но дружу с компом и есть желание сделать определенный механизм, но пока нет наставления на путь истинный от специалистов)
      Задача состоит в следующем - хочу мотор стеклоочистителя подключить к Ардуино, но управлять им необходимо с кнопки. Шилд, например, который обрабатывает сигнал нажатия на кнопку (допустим кнопка записи), при ее активации, нажимаю на другую кнопку, которая дает команду движку вращаться по часовой стрелке. Отпускают ее, моторчик останавливается. Другая кнопка, вращение в противоположную сторону. Т.е. записал последовательность и продолжительность вращений,  нажимаю вновь на кнопку запись и мои действия сохраняются. Далее на 4 кнопку жму и моя игра с моторчиком автоматически воспроизводится. Если такое выполнимо с помощью плат и шилдов без доп программирования логики, то буду ОЧЕНЬ  признателен если расскажете как вкратце это осуществить или кинете ссылки к примеру на Али с нужными товарами. Если легковыполнимо, то в будущем наверное уже разберусь,  как обойтись без нажатия на 4 кнопку (воспроизведения записанных действий) и запускать этот процесс, подключив датчик движения или звука.
      Если необходимо описывать логику или создавать типа какого-то протокола, что шилд (?) умел понимать, что я от него хочу, то подскажите среду разработки для неба, что б там по минимуму было наворотов) В принципе с основами c++ для Ардуино скорее всего придется ознакомиться. 
      Заранее спасибо!
×
×
  • Create New...