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

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

  1. Спасибо за ответы)
    Короче взвесил все за и против, и подумываю либо о RFID либо сделать чтобы открывание и закрывание производилось нажатием кнопок на экране телефона.
    Тогда ребята подскажите есть ли RFID метки с радиусом метра 3.
    И второе , если с телефона то прогу для андроида надо писать. А я не осилю пока такое. Может кто помочь с написанием???
     
  2. gangstahit

    gangstahit Нуб

    Здравствуйте уважаемые пользователи. Я студент 2го курса, и во время лекции по физике прозвучал вопрос- Как подсоединить какой либо прибор допустим амперметр к компьютеру чтобы при измерении чего либо данные передовались в компьютер? благодарю за помощь
     
  3. vvr

    vvr Инженерище

    Дык сначала нужно выяснить, как вообще можно связаться с компом, как на комп передаются данные.
    Для этого есть информатика, курсы пользователей компутеров, поиск в гугле (открою секрет , выдаст горы результатов, тока не лениться читать)
     
  4. gangstahit

    gangstahit Нуб

    лично я думаю, что нужно сам амперметр адаптировать под комп, и у амперметра нету выхода, то есть он сигнал принимает но не отправляет. и нужно прошивать сам амперметр. это я так думаю. Вот и обратился к вам за помощью чтобы наставили на путь истинный. и хотелось бы услышать конкретный вариант.
     
  5. &Anton

    &Anton Нерд

  6. Kirill22

    Kirill22 Нуб

    zaikablogs
    Приветствую!
    Заказ еще можно озвучить?)
     
  7. dim@n78

    dim@n78 Нуб

    #include <Encoder.h>
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    Encoder knobLeft(2, 3);
    Encoder knobRight(18, 19);

    LiquidCrystal_I2C lcd(0x27,16,2);


    void setup() {
    lcd.init();
    lcd.backlight();
    lcd.setCursor(0,0);
    }
    long positionLeft = -9999999;
    long positionRight = -9999999;

    void loop() {
    long newLeft, newRight;
    newLeft = knobLeft.read();
    newRight = knobRight.read();
    if (newLeft != positionLeft || newRight != positionRight) {

    lcd.setCursor(0, 0);
    lcd.print("Llne X: ");
    lcd.print(newLeft);
    lcd.setCursor(0, 1);
    lcd.print("Llne Z: ");
    lcd.print(newRight);

    positionLeft = newLeft;
    positionRight = newRight;
    }
    }
    Доброго вам время суток! Вот есть задачка :ардуино мега 2650 пин(2,3)энкодер левый и пин(18,19)энкодер правый пин(20,21)i2cLCD 16*2 пин 5 кнопка обнуления лев. знкодера ,пин 6 обнуления правого энкодера
    нужно чтобы при нажатии на кнопку для показаний одного энкодера прошол сброс а на втором остались показания и все это выводилось на лсд
    код для двух энкодоров выше сто процентов рабочий!
    https://www.pjrc.com/teensy/arduino_libraries/Encoder.zip ссылка на библиотеку
     
  8. daniks

    daniks Нуб

    Здравствуйте. Здесь уже обсуждался проект -умный туалет и умная ванная!
    только я первый раз c Arduino. Хочу для началаузнать какие конкретно нужны детали.
    Проект такой:
    1. При входе плавно включается свет, датчик HS-SR 04(в зоне действия датчика 90см)
    2. Если 2 минуты истекли, а свет еще включен, запускаем вентилятор. .(примерно на 3 мин.)
    3. Если свет был включен менее 3 мин и выключили свет, то выключаем и вентилятор
    4. Если в зоне действия датчика никого нет -плавно выключаем свет.
    5. хотелось бы в ночное время (допустим с 01.00 до 06.00) свет плавно загорался на 50%. и плавно выключался если в зоне действия датчика никого нет. Для этого как я понимаю надо Часы реального времени
    Но это потом.
    А ванной хотелось включать вентилятор от Датчик пара
    Ещё возможно ли включать светодиодную подсветку от включения воды в кране???
    Если рассматривать проект из 4 пунктов что минимум для этого надо?
    Возможно в продаже появились дешевые решения или готовые ?

    С уважением Сергей. daniks2015@gmail.com
     
  9. Здравствуйте!
    1. Ну по поводу подключения датчика никаких проблем, а вот включать плавно свет это уже проблема! У Вас лампы для освещения обычные или какие? Если от 220 вольт, то необходимо использовать модули реле, но в них не предусмотрено управление ШИМ, т.е. существуют всего два положения - включено (1) или выключено (0). Если же вы используете лампы, работающие от 12 вольт, то стоит попробовать подключить через силовые ключи. Там предусмотрена работа с ШИМ.
    2. Ну с вентиятором все проще, так же подключаем его через реле-модуль.
    3. Так же нет проблем
    4. Тот же вопрос, что и в первом пункте.
    5. Часы реального времени ну и так же проблема со светом.
    по поводу подсветки: можно сделать какие нибудь датчики на ручки поворота крана, какие-нибудь расходомеры, но просто сигнализирующие о включении воды, вообщем нужно просто подумать.
    На мой взгляд проще всё освещение организовать на светодиодах, тут и экономия, и долговевечность, и яркость, да и управлять ими проще
     
    Последнее редактирование: 8 фев 2015
  10. daniks

    daniks Нуб

    Доброго времени суток! Я понимаю что включать плавно свет это уже проблема!
    Лампочки применяю почти везде светодиодные диммированные (220v)
    можно конечно после модуля Реле поставить блочёк который будет плавно включается свет и выключать, но его делать я не знаю как В интернете схемы есть, но на мой взгляд сложно, хотелось бы готовое решения на 220V(если знаете подскажите)
    Поэтому можно сделать используя лампы, работающие от 12 вольт( или светодиодную подсветку) , их же можно заставить плавно ВКЛ и ВЫКЛ ( а ночью гореть на 50%) но как работать с силовыми ключами я не знаю.
    включения от воды не могу прикинуть, датчики на ручки поворота крана думаю не поставить ,
    а вот с расходомером может кто прикинет ?
    И первое какие конкретно нужны детали? Я же говорю первый раз c Arduino.
    Возможно в продаже появились дешевые решения или готовые ?
    Что нужно минимум? Хотелось с чего-то уже начать.
    С уважением Сергей. daniks2015@gmail.com
     
  11. Ну для управления этим всем думаю Uno хватит с запасом http://amperka.ru/product/arduino-uno, датчик расстояния http://amperka.ru/product/hc-sr04-ultrasonic-sensor-distance-module, реле-модуль либо такой http://amperka.ru/product/troyka-relay либо сразу с несколькими реле http://amperka.ru/product/arduino-relay-shield. Силовой ключ http://amperka.ru/product/troyka-mosfet, часы реального времени http://amperka.ru/product/real-time-clock. Ну если хотите сделать все аккуратно, можно прихватить к этому набору еще Тройка-шилд http://amperka.ru/product/arduino-troyka-shield, он поможет убрать кучу лишних проводов.
     
  12. rusafoniy

    rusafoniy Нуб

    подскажите как писать код чтоб например 5 светодиодов мигали независимо друг от друга с разной частотой первый 1 гц второй 2гц и т д
     
  13. vvr

    vvr Инженерище

  14. rusafoniy

    rusafoniy Нуб

    вот так сделал мигают синхронно что не так?
     
  15. rusafoniy

    rusafoniy Нуб

    long interval1 = 125; // интервал между включение/выключением светодиода (1 секунда)
    long interval2 = 1000;
    поменял местами зароботало но все ровно не понял ,розтолкуй дураку
     
  16. vvr

    vvr Инженерище

    Код покажи
     
  17. vvr

    vvr Инженерище

    Думаю сам разберёшься.
    В сериал мониторе видно как меняются состояния светодиодов.

    Код (Text):


    const int ledPin1 =  3;
    const int ledPin2 =  4;
    const int ledPin3 =  5;
    const int ledPin4 =  6;
    const int ledPin5 =  7;
    int ledState1 = LOW;
    int ledState2 = LOW;
    int ledState3 = LOW;
    int ledState4 = LOW;
    int ledState5 = LOW;
    long previousMillis1 = 0;
    long previousMillis2 = 0;
    long previousMillis3 = 0;
    long previousMillis4 = 0;
    long previousMillis5 = 0;

    void setup()
    {
      pinMode(ledPin1, OUTPUT);
      pinMode(ledPin2, OUTPUT);
      pinMode(ledPin3, OUTPUT);
      pinMode(ledPin4, OUTPUT);
      pinMode(ledPin5, OUTPUT);
      Serial.begin(9600);
    }

    void loop()
    {
      unsigned long currentMillis1 = millis();
      unsigned long currentMillis2 = millis();
      unsigned long currentMillis3 = millis();
      unsigned long currentMillis4 = millis();
      unsigned long currentMillis5 = millis();
      if(currentMillis1 - previousMillis1 > 500)
      {
        previousMillis1 = currentMillis1;
        if (ledState1 == LOW)
          ledState1 = HIGH;
        else
          ledState1 = LOW;
        digitalWrite(ledPin1, ledState1);
      }
      if(currentMillis2 - previousMillis2 > 1000)
      {
        previousMillis2 = currentMillis2;
        if (ledState2 == LOW)
          ledState2 = HIGH;
        else
          ledState2 = LOW;
        digitalWrite(ledPin2, ledState2);
      }
      if(currentMillis3 - previousMillis3 > 1500)
      {
        previousMillis3 = currentMillis3;
        if (ledState3 == LOW)
          ledState3 = HIGH;
        else
          ledState3 = LOW;
        digitalWrite(ledPin3, ledState3);
      }
      if(currentMillis4 - previousMillis4 > 2000)
      {
        previousMillis4 = currentMillis4;
        if (ledState4 == LOW)
          ledState4 = HIGH;
        else
          ledState4 = LOW;
        digitalWrite(ledPin4, ledState4);
      }
      if(currentMillis5 - previousMillis5 > 2500)
      {
        previousMillis5 = currentMillis5;
        if (ledState5 == LOW)
          ledState5 = HIGH;
        else
          ledState5 = LOW;
        digitalWrite(ledPin5, ledState5);
      }
      Serial.print(ledState1);
      Serial.print("\t");
      Serial.print(ledState2);
      Serial.print("\t");
      Serial.print(ledState3);
      Serial.print("\t");
      Serial.print(ledState4);
      Serial.print("\t");
      Serial.println(ledState5);
    }

     
     
  18. rusafoniy

    rusafoniy Нуб

    const int ledPin1 = 11;
    const int ledPin2 = 2; // номер выхода, подключенного к светодиоду
    // Variables will change:
    int ledState1 = LOW; // этой переменной устанавливаем состояние светодиода
    int ledState2 = LOW;

    long previousMillis1 = 0;
    long previousMillis2 = 0; // храним время последнего переключения светодиода

    long interval1 = 25; // интервал между включение/выключением светодиода (1 секунда)
    long interval2 = 1000;

    void setup() {
    // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin1, OUTPUT);
    pinMode(ledPin2, OUTPUT);
    }

    void loop()
    {
    // здесь будет код, который будет работать постоянно
    // и который не должен останавливаться на время между переключениями свето
    unsigned long currentMillis1 = millis();
    //проверяем не прошел ли нужный интервал, если прошел то
    if(currentMillis1 - previousMillis1 > interval1) {
    // сохраняем время последнего переключения
    previousMillis1 = currentMillis1;

    // если светодиод не горит, то зажигаем, и наоборот
    if (ledState1 == LOW)
    ledState1 = HIGH;
    else
    ledState1 = LOW;

    // устанавливаем состояния выхода, чтобы включить или выключить светодиод
    digitalWrite(ledPin1, ledState1);


    // здесь будет код, который будет работать постоянно
    // и который не должен останавливаться на время между переключениями свето
    unsigned long currentMillis2 = millis();
    //проверяем не прошел ли нужный интервал, если прошел то
    if(currentMillis2 - previousMillis2 > interval2) {
    // сохраняем время последнего переключения
    previousMillis2 = currentMillis2;

    // если светодиод не горит, то зажигаем, и наоборот
    if (ledState2 == LOW)
    ledState2 = HIGH;
    else
    ledState2 = LOW;

    // устанавливаем состояния выхода, чтобы включить или выключить светодиод
    digitalWrite(ledPin2, ledState2);



    }
    }
    }
     
  19. rusafoniy

    rusafoniy Нуб

    когда интервал между вкл выкл был сначала 1000 после него 25 синхронно мигали оба с интервалом 1000 ,поменял местами работает как нужно,почему так не понимаю
     
  20. vvr

    vvr Инженерище

    а теперь посмотри как расставлены скобки у тебя и как у меня