Проекты на заказ, от новичка :)(БЕСПЛАТНО )

Тема в разделе "Сделаю проект", создана пользователем ZaikaBlogs, 11 авг 2014.

  1. vvr

    vvr Инженерище

    неплохо ещё и о безопасности подумать, а то вдруг кому то задницу придавит, а кому то башку зажмёт))))
    заклинят ворота - всё управление выгорит.
     
  2. Vitali_2017

    Vitali_2017 Нуб

    прошу помочь в доработке скетча! у меня
    1 - дисплей MAX7219
    2 - 4 кнопки,
    3 - Mega 2580.

    Суть работы скетча:
    дисплей разбит на 2 счетчика (первый - 7,6,5,4 модуль; второй -3,2,1,0 )
    при нажатии на кнопку один, первый счетчик ведет счет на прибавление
    при нажатии на кнопку два, счет на уменьшении
    третья и четвертая тоже самое на втором счетчике!

    проблема в том, что при переходе с - на + все счетчики обнуляются!!!
     

    Вложения:

  3. sanik

    sanik Гик

    Вот совсем недавно делал продув обогревателя по счетчикам каждую секунду прибавлял единицу Суть работы когда fanStatus низкий уровень счетчик прибавляет если fanStatus высокий уровень счетчик вычитает
    Код (C++):
    #define Releheater 6
    #define fan  7
    #define fanStatus 12
    #define pid 3
    //unsigned int heaterdelayTime = 3000; // 30000
    //unsigned long currentMillisheat = 0; // переменная для хранения текущего время работы
    long previousMillisActveheat = 0; //переменная для хранения времени с последнего включения нагревателя
    long MillisActveRele = 0; // для плавного включения и выключения нагревателя
    byte timeheater = 0;
    int countheater = 1;
    int count_i = 0;
    void setup() {
      Serial.begin(9600);
      pinMode(fan, OUTPUT);       // реле вентилятора
      digitalWrite(fan, LOW);
      pinMode(Releheater, OUTPUT); // реле нагревателя heater
      digitalWrite(Releheater, LOW);
      pinMode(fanStatus, INPUT_PULLUP);
      pinMode(pid, OUTPUT);
    }

    void loop() {
      if (digitalRead(fanStatus) == LOW) { // если вытяжка включилась
        digitalWrite(fan, HIGH); // включаем
        HeaterON (); //  digitalWrite(Releheater, HIGH);
      } else {
        HeaterOFF ();
        if (timeheater == 0) {// если таймер продува не активен
          digitalWrite(fan, LOW); //выключаем  вентилятор
        }
      }

      if (digitalRead(Releheater) == HIGH) {
        if (countheater <= 10) {
          timeheater = 1;
        }
        if (millis() - previousMillisActveheat > 1000) {
          previousMillisActveheat = millis();
          countheater ++; // прибавляем каждую секунду единицу
          if (countheater > 60) { //300
            countheater = 60;
          }
        }
      }
      if (digitalRead(Releheater) == LOW ) {
     // ничего не делаем
      }
      if (digitalRead(Releheater) == LOW && timeheater == 1) {
        if (millis() - previousMillisActveheat > 1000) {
          previousMillisActveheat = millis();
          countheater --; // вычитаем каждую секунду единицу
          if (countheater < 1) {
            countheater = 1;
            timeheater = 0;
          }
        }
      }
      Serial.println(count_i);
      // Serial.println("Count =");
      //  Serial.println(heaterdelayTime);
    }

    void HeaterON () {
      digitalWrite(Releheater, HIGH);//включаем реле нагревателя
        if (count_i != 180) {
          if (millis() - MillisActveRele > 20) {
            MillisActveRele = millis();
            if (count_i <= 180) {
              count_i ++;
              if (count_i > 180) {
                count_i = 180;
              }
            }
            analogWrite(pid, count_i);
          }
        }
        if (count_i == 180) {
       
        }
    }


    void HeaterOFF () {
      if (count_i != 0) {
        if (millis() - MillisActveRele > 10) {
          MillisActveRele = millis();
          if (count_i > 0) {
            count_i --;
            if (count_i < 0) {
              count_i = 0;
            }
          }
          analogWrite(pid, count_i);
        }
      }
      if (count_i == 0) {
        digitalWrite(Releheater, LOW);//выключаем реле нагревателя
      }
    }
     
     
  4. sanik

    sanik Гик

    Не сложно переделать под ваш вариант правда ваш код не смотрел))
     
  5. Vitali_2017

    Vitali_2017 Нуб

    Можете помочь? Согласен и на ваш проект!!!
     
  6. vvr

    vvr Инженерище

    для начала нужно избавиться от ваших диких делеев и разобраться как правильно работать с кнопками.
    почитайте про дребезг контактов кнопки.
     
  7. Vitali_2017

    Vitali_2017 Нуб

    вы мне можете помочь переделать скетч???
     
  8. sanik

    sanik Гик

    Сейчас занят своим ремонтом и проектом. Вам нужно определиться вначале что именно считать Какие либо импульсы или просто счетчик по таймеру конкретней нужна задача. Или просто считать сколько времени нажата кнопка.
     
  9. primeadvice

    primeadvice Нуб

  10. Добрый день, хочу собрать стельку с подогревом с самозарядкой от ходьбы/бега, нужен рабочий прототип генератора, который будет заряжать аккумулятор через модуль питания. Источник питания любой доступный, аккумулятор гидрид или литий около двух ампер/ч, 3.7-5в.
    Нагревательный элемент не нужен.
    Цена договорная, Москва и МО.
    Остальные подробности по телефону:
    8-968-388-84-06 Дмитрий
     
  11. Invictum

    Invictum Нуб

    • У меня такая проблема)
    • Могли бы помочь
    • Есть УНО, Два ИК датчика YL-63 и IR-08H, ЛСД дисплей, и кнопка. Нужно сделать счётчик подсчета людей, я сделал кнопку ввиде нажимного механизма под ковриком. При нажатии на коврик, два сонара должны включиться и сделать подсчет человека.
      Напишите пожалуйста мне) https://vk.com/miralimov
     
  12. Arduino_man

    Arduino_man Гик

    :D
    :D:D:D
     
  13. Arduino_man

    Arduino_man Гик

    Зачем?
     
  14. Invictum

    Invictum Нуб

    Ну так сделать хочу) два датчика один выше другого на сантиметров 10-15, и расположены друг против друга.
     
  15. Arduino_man

    Arduino_man Гик

    Зачем они вообще нужны? Вам что нужно "счетчиком подсчета людей" с пульта управлять?
     
  16. Invictum

    Invictum Нуб

    Я пробовал с Сонарами, сонары не успевают считывать детей которые слишком быстро забегают. Лазера у меня нет.