Добрый день Нужна помощь в разработке проекта по наливу пива в кафе Если интересно, готов рассказать о проекте 9122334880@mail.ru
Нуждаюсь в скетче для управления электрическим котлом ТЗ электрический котел 9 кВт (3 тэна по 3 кВт) Электроника Esp 8266 wemos d1 mini 3 шт. твердотельные реле (SR40A ssr-40A) 2 шт. датчик температуры 18B20 Экран (необходимо помочь с выбором) Как я это вижу… датчик температуры на выходе и на самом котле, плавная регулировка мощности за счет твердотельных реле, с учетом температуры подающего и нагретого теплоносителя. Управление с кнопок 2-4 (сколько необходимо), а так же через MQTT (в последствие прикручу в majordomo) Режимы Автоматический режим (выставляем желаемую температуру теплоносителя) Ручной режим (вкл\выкл тэнов, и их мощность) Режим ГВС (выбор температуры (использовать тэны поочередно)) Режим настройка (корректировка датчиков температур, подключение к wi-fi, дата время) На экране должно отражаться Выбранный режим, температура входящего теплоносителя, котла и желаемого, мощность, кол-во задействованных тэнов (их лучше прономеровать) время, уровень сигнала.
Помогите подправить Вот есть наработка , нужно чтоб запись начиналась каждый раз на новый файл , Код (C++): // библиотека для работы I²C #include <Wire.h> // библиотека для работы с модулями IMU #include <TroykaIMU.h> // библиотека для работы с устройствами по SPI #include <SPI.h> // библиотека для работы с SD-картой #include <SD.h> // библиотека для работы с GPS устройством #include <TroykaGPS.h> // создаём объект класса GPS и передаём в него объект Serial1 GPS gps(Serial1); // создаём объект для работы с акселерометром Accelerometer accel; // пин светодиода #define LED_PIN 9 // пин кнопки #define BUTTON_PIN A4 // пин CS micro-sd карты #define SD_CHIP_SELECT_PIN 8 // интервал времени записи данных на карту #define INTERVAL 100 // задаём размер массива для времени, даты, широты и долготы #define MAX_SIZE_MASS 16 // массив для хранения текущего времени char time[MAX_SIZE_MASS]; // состояние записи на карту памяти bool stateRec = false ; // запоминаем текущее время long startMillis = millis(); // счётчк записи int counter = 0; void setup() { // устанавливаем светодиод в режим выхода pinMode(LED_PIN, OUTPUT); // устанавливаем кнопку в режим входа pinMode(BUTTON_PIN, INPUT_PULLUP); Serial1.begin(115200); delay(100); Serial1.write("$PMTK220,200*2C\r\n"); accel.begin(); SD.begin(SD_CHIP_SELECT_PIN); } void loop() { bool bp = false; // Фиксируем нажатие кнопки if (digitalRead(BUTTON_PIN)) { // меняем состояние «запись» / «не запись» на карту памяти stateRec = !stateRec; delay(10); // меняем состояние светодиода индикации digitalWrite(LED_PIN, stateRec); bp = true; } gps.readParsing(); if (millis() - startMillis > INTERVAL && stateRec) { // сохраняем данные GPS и акселерометра на карту памяти saveSD(bp); // запоминаем текущее время startMillis = millis(); } } // функция сохарение данных на карту памяти void saveSD(bool bp) { File dataFile = SD.open("dataGPS.csv", FILE_WRITE); if (bp){ counter=0; ; } //секундомер static unsigned long x = 0; if (bp) x = millis(); int number = ((millis() - x) / 1000) % 200; Serial.println( number); // если файл существует и открылся if (dataFile) { dataFile.print(counter++); dataFile.print("\t"); dataFile.println(number); dataFile.close(); } } Вот есть ещё , но тут не работает не создаётся файл Код (C++): // библиотека для работы I²C #include <Wire.h> // библиотека для работы с модулями IMU #include <TroykaIMU.h> // библиотека для работы с устройствами по SPI #include <SPI.h> // библиотека для работы с SD-картой #include <SD.h> // библиотека для работы с GPS устройством #include <TroykaGPS.h> // создаём объект класса GPS и передаём в него объект Serial1 GPS gps(Serial1); // создаём объект для работы с акселерометром Accelerometer accel; // char StrFile[80]; int FileNumber = 0; // пин светодиода #define LED_PIN 9 // пин кнопки #define BUTTON_PIN A4 // пин CS micro-sd карты #define SD_CHIP_SELECT_PIN 8 // интервал времени записи данных на карту #define INTERVAL 100 // задаём размер массива для времени, даты, широты и долготы #define MAX_SIZE_MASS 16 // массив для хранения текущего времени char time[MAX_SIZE_MASS]; // состояние записи на карту памяти bool stateRec = false ; // запоминаем текущее время long startMillis = millis(); // счётчк записи int counter = 0; void setup() { // устанавливаем светодиод в режим выхода pinMode(LED_PIN, OUTPUT); // устанавливаем кнопку в режим входа pinMode(BUTTON_PIN, INPUT_PULLUP); Serial1.begin(115200); delay(100); Serial1.write("$PMTK220,200*2C\r\n"); accel.begin(); SD.begin(SD_CHIP_SELECT_PIN); } void loop() { bool bp = false; // Фиксируем нажатие кнопки if (digitalRead(BUTTON_PIN)) { // меняем состояние «запись» / «не запись» на карту памяти stateRec = !stateRec; FileNumber++; delay(10); // меняем состояние светодиода индикации digitalWrite(LED_PIN, stateRec); bp = true; } gps.readParsing(); if (millis() - startMillis > INTERVAL && stateRec) { // сохраняем данные GPS и акселерометра на карту памяти saveSD(bp); // запоминаем текущее время startMillis = millis(); } } // функция сохарение данных на карту памяти void saveSD(bool bp) { sprintf (StrFile, "%s_%d.csv", "dataGPS", FileNumber); File dataFile = SD.open(StrFile, FILE_WRITE); if (bp){ counter=0; ; } //секундомер static unsigned long x = 0; if (bp) x = millis(); int number = ((millis() - x) / 1000) % 200; Serial.println( number); // если файл существует и открылся if (dataFile) { dataFile.print(counter++); dataFile.print("\t"); dataFile.println(number); dataFile.close(); } }
Добрый день Ищу специалиста, который поможет сделать электронику под технологическую оснастку, где требуется балансировка. На пальцах: на одном из плеч, вращающегося коромысла (800-1200об/мин) установлен держатель, который тоже вращается (380-500 об/мин). В держатель вставляют, не открывая, банку с материалом для перемешивания (псевдопланетарное движение, постоянно меняющийся вектор силы тяжести качественне перемешивают вязкий материал без пузырей и контакта с другими (кроме тары) предметами). Количество материала в банке может быть от 50 до 1000гр. Для компенсации дисбаланса — на другом плече установлен перемещаемый балансир. Необходимо сделать систему управления перемещения балансира для минимизации дисбаланса. Если Вас заинтересует эта тема — готов дать более развернутую информацию и обсудить возможность совместной работы. Железо делаю сам. Мне нужна электроника.
Приветствую. Хочу один проект осуществить. Для начала нужна консультация, ну а там видно будет. Поговорить бы...
Здравствуйте! Нужна помощь для развития проекта А именно создание удаленного мониторинга Есть скетч на базе мега Нужно чтобы мега общалась с есп8266 и передавала (принимала) данные на приложение есть так же заготовка приложения сделана мной на MIT APP inventor. Трудности возникли уже на стадии MQTT Возьметесь?