Нужно переписать готовый код и создать скетч, цена вопроса 1000 рублей

Тема в разделе "Закажу проект", создана пользователем Dooman1939, 4 дек 2018.

  1. Dooman1939

    Dooman1939 Нуб

    Всем привет, есть готовый код:
    https://www.instructables.com/id/DIY-Arduino-Battery-Capacity-Tester-V10-/
    Хотелось бы, чтобы его модифицировали, с условием обязательного добавления к скетчу какого-нибудь нового сенсора, например 2 сенсоров мерящих температуры нагузочного резистора или платы. А так же, чтобы нарисовали новый скетч и объяснили как всё это работает. Предлагайте идеи, могу при быстроте выполнения докинуть пару сотен премиальных!
     
  2. Dooman1939

    Dooman1939 Нуб

    Можно так же использовать любой другой проект, но обязательно добавить к нему что-то.
     
  3. b707

    b707 Гуру

    опять дипломный проект? Эх-х, двоешники.

    Мое мнение - нерадивым студентам цену умножать на пять.
     
  4. b707

    b707 Гуру

    короче - за 5000 добавлю вам к проекту два DS18B20.
    Обьяснять как работает - увольте. педагогических талантов нет.
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Blink подойдёт за две сотни премиальных?
     
  6. Dooman1939

    Dooman1939 Нуб

    Цена увеличивается до двух тысяч, но скетч и код нужны в следущие пару часов. Кто-нибудь желает взяться за проект?
     
  7. b707

    b707 Гуру

    о как приперло то. - тогда вместо 5 тыс - 10
     
    SergDru и Daniil нравится это.
  8. Airbus

    Airbus Радиохулиган Модератор

    Деду напиши-он нарисует.Он может.Ему деньги нужны
     
  9. Dooman1939

    Dooman1939 Нуб

    Есть 2000 и необходимость завершить всё это дело за несколько часов. Печальна судьба двоечника!
     
  10. Dooman1939

    Dooman1939 Нуб

    Жду и надеюсь.
     
  11. Airbus

    Airbus Радиохулиган Модератор

    Код (C++):
    #include "U8glib.h"
    #define MOSFET_Pin 2
    #define Bat_Pin A0
    #define Res_Pin A1
    #define Buzzer_Pin 9
    U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);  // I2C / TWI
    float Capacity = 0.0; // Capacity in mAh
    float Res_Value = 10.0;  // Resistor Value in Ohm
    float Vcc = 4.64; // Voltage of Arduino 5V pin ( Mesured by Multimeter )
    float Current = 0.0; // Current in Amp
    float mA=0;         // Current in mA
    float Bat_Volt = 0.0;  // Battery Voltage
    float Res_Volt = 0.0;  // Voltage at lower end of the Resistor
    float Bat_High = 4.3; // Battery High Voltage
    float Bat_Low = 2.9; // Discharge Cut Off Voltage
    unsigned long previousMillis = 0; // Previous time in ms
    unsigned long millisPassed = 0;  // Current time in ms
    float sample1 =0;
    float sample2= 0;
    int x = 0;
    int row = 0;

    //************************ OLED Display Draw Function *******************************************************
    void draw(void) {
       u8g.setFont(u8g_font_fub14r); // select font
       if ( Bat_Volt < 1){
        u8g.setPrintPos(10,40);        // set position
        u8g.println("No Battery!");
       }
       else if ( Bat_Volt > Bat_High){
        u8g.setPrintPos(25,40);        // set position
        u8g.println("High-V!");
       }
       else if(Bat_Volt < Bat_Low){
        u8g.setPrintPos(25,40);        // set position
        u8g.println("Low-V!");
       }
       else if(Bat_Volt >= Bat_Low && Bat_Volt < Bat_High  ){
         
       u8g.drawStr(0, 20, "Volt: ");   // put string of display at position X, Y
       u8g.drawStr(0, 40, "Curr: ");
       u8g.drawStr(0, 60, "mAh: ");
       u8g.setPrintPos(58,20);        // set position
       u8g.print( Bat_Volt,2);  // display Battery Voltage in Volt
       u8g.println("V");
       u8g.setPrintPos(58,40);        // set position
       u8g.print( mA,0);  // display current in mA
       u8g.println("mA");
       u8g.setPrintPos(58, 60);        // set position
       u8g.print( Capacity ,1);     // display capacity in mAh
     
    }
    }
    //******************************Buzzer Beep Function *********************************************************

      void beep(unsigned char delay_time){
      analogWrite(9, 20);      // PWM signal to generate beep tone
      delay(delay_time);          // wait for a delayms ms
      analogWrite(Buzzer_Pin, 0);  // 0 turns it off
      delay(delay_time);          // wait for a delayms ms

    }

    //*******************************Setup Function ***************************************************************
     
      void setup() {
       Serial.begin(9600);
       pinMode(MOSFET_Pin, OUTPUT);
       pinMode(Buzzer_Pin, OUTPUT);
       digitalWrite(MOSFET_Pin, LOW);  // MOSFET is off during the start
       Serial.println("CLEARDATA");
       Serial.println("LABEL,Time,Bat_Volt,capacity");
     
       //Serial.println("Arduino Battery Capacity Tester v1.0");
       //Serial.println("BattVolt Current mAh");
      }
      //********************************Main Loop Function***********************************************************
      void loop() {
    // Vcc = readVcc()/1000.0; // Conevrrt mV to Volt

     
      // Voltage devider Out = Bat_Volt * R2/(R1+R2 ) // R1 =10K and R2 =10K
     
      //************ Measuring Battery Voltage ***********
     
      for(int i=0;i< 100;i++)
      {
       sample1=sample1+analogRead(Bat_Pin); //read the voltage from the divider circuit
       delay (2);
      }
      sample1=sample1/100;
      Bat_Volt = 2* sample1 *Vcc/ 1024.0;

      // *********  Measuring Resistor Voltage ***********

       for(int i=0;i< 100;i++)
      {
       sample2=sample2+analogRead(Res_Pin); //read the voltage from the divider circuit
       delay (2);
      }
      sample2=sample2/100;
      Res_Volt = 2* sample2 * Vcc/ 1024.0;

      //********************* Checking the different conditions *************
     
      if ( Bat_Volt > Bat_High){
        digitalWrite(MOSFET_Pin, LOW); // Turned Off the MOSFET // No discharge
        beep(200);
        Serial.println( "Warning High-V! ");
        delay(1000);
       }
     
       else if(Bat_Volt < Bat_Low){
          digitalWrite(MOSFET_Pin, LOW);
          beep(200);
          Serial.println( "Warning Low-V! ");
          delay(1000);
      }
      else if(Bat_Volt > Bat_Low && Bat_Volt < Bat_High  ) { // Check if the battery voltage is within the safe limit
          digitalWrite(MOSFET_Pin, HIGH);
          millisPassed = millis() - previousMillis;
          Current = (Bat_Volt - Res_Volt) / Res_Value;
          mA = Current * 1000.0 ;
          Capacity = Capacity + mA * (millisPassed / 3600000.0); // 1 Hour = 3600000ms
          previousMillis = millis();
          Serial.print("DATA,TIME,"); Serial.print(Bat_Volt); Serial.print(","); Serial.println(Capacity);
          row++;
          x++;
          delay(4000);
         }
     
       //**************************************************

      u8g.firstPage();
      do {
        draw();
      } while( u8g.nextPage() );
     
    //*************************************************
    }    
    Код как код.Что ещё сюда надо?
     
  12. DetSimen

    DetSimen Guest

    Не отправляй ко мне двоешников, я не пишу на заказ
     
  13. Airbus

    Airbus Радиохулиган Модератор

    Кот тыж умный.Вставь в код два градусника получишь 2тыр.
     
  14. DetSimen

    DetSimen Guest

    Понимаешь, у нас уже 21-17, поэтому, я уже плюшевый. Я могу, канеш, навставлять чонить, но принесет ли это ему радость? Да и не заплатит он всё равно нихрена.
     
    Andrey12, b707 и Пушной звер нравится это.
  15. DetSimen

    DetSimen Guest

    У меня заоконный термометр отвалился О_О
    Не иначе, от мороза. Последний раз сегодня показывал -32. Щас подошел какну, а его нету :)
    Придется на Ардуне погодную станцию делать, долгими зимними вечерами. :)
    Выносной даччик у меня памойму есть.
     
    Andrey12 нравится это.
  16. Green

    Green Гик

    Из серии "пойду ка я какну".)) Ещё бы, при -32 и не то возможно.
    Тут +3,3 и то зябко выходить.)
     
  17. DetSimen

    DetSimen Guest

    АэроАвтобус, если вдруг я Вас обидел обращением - ну простите, я не хотел. И я спать. Дазафтра.
     
    Andrey12 нравится это.
  18. Airbus

    Airbus Радиохулиган Модератор

    Я ж тебе Калым подкинул
     
  19. DetSimen

    DetSimen Guest

    Ну от и простите. Не оправдал. ¦( Чо с меня, алкаша, взять?
     
    Andrey12 нравится это.
  20. vvr

    vvr Инженерище

    с непривычки от -32 легко можно и какнуть...