контроль заряда акб

Тема в разделе "Arduino & Shields", создана пользователем Nikita, 14 авг 2013.

  1. Nikita

    Nikita Гик

    На лит ион аккамуляторах есть контролер возможно ли с него чтонибудь вытащить?
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    А маркировка на нем есть? Тогда можно было бы поискать даташит.
     
  3. Nikita

    Nikita Гик

    А можно про подробнее о даташите?
     
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Даташит (datasheet) - это документ, обычно в формате pdf, который полностью описывает какой-то компонент. Например, вот даташит на контроллер, который стоит в Arduino UNO.
    Ищите маркировку на камне и пишите запрос в гугл "маркировка datasheet". Например, "ATmega328p datasheet".
     
  5. Nikita

    Nikita Гик

    А ясно спасибо!
     
  6. Nikita

    Nikita Гик

    с дата щитом проблема написал такой код. Не удобно, но что-нибудь придумаю.

    #include <LiquidCrystal.h>

    /* Константа: высота символа в точках */
    enum { SYMBOL_HEIGHT = 8 };

    /* Описываем наши собственные символы в виде массивов битовых масок.
    * Каждый символ - это восемь масок по пять бит.
    */
    byte arnie[SYMBOL_HEIGHT] =
    {
    B10101,
    B11111,
    B10111,
    B11111,
    B11111,
    B11111,
    B11110,
    B00000,
    };



    byte skull_and_bones[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B10001,
    B10001,
    B10001,
    B10001,
    B10001,
    B11111,
    };

    byte e[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B10001,
    B10001,
    B10001,
    B10001,
    B11111,
    B11111,
    };

    byte w[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B10001,
    B10001,
    B10001,
    B11111,
    B11111,
    B11111,
    };


    byte q[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B10001,
    B10001,
    B11111,
    B11111,
    B11111,
    B11111,
    };


    byte r[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B10001,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    };

    byte lightning[SYMBOL_HEIGHT] =
    {
    B01110,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    };
    byte s[SYMBOL_HEIGHT] =
    {
    B01110,
    B10101,
    B11001,
    B11111,
    B10011,
    B10101,
    B11001,
    B11111,
    };


    /* Константы размеров экрана. Нужны для того, чтобы размер экрана
    * менять только в одном месте, а не по всему коду. Везде, где
    * результат вывода на дисплей должен зависеть от размера экрана,
    * следует использовать эти константы.
    */
    enum { LCD_WIDTH = 16, LCD_HEIGHT = 2 };

    /* Объявляем объект нашего дисплея */
    LiquidCrystal lcd(13, 11, 7, 6, 5, 4);

    void setup() {
    {
    /* Регистрируем собственные символы с кодами 0, 1 и 2 */
    lcd.createChar(0, arnie);
    lcd.createChar(1, skull_and_bones);
    lcd.createChar(2, e);
    lcd.createChar(3, w);
    lcd.createChar(4, q);
    lcd.createChar(5, r);
    lcd.createChar(6, lightning);
    lcd.createChar(7, s);

    /* Начинаем работу с дисплееем */
    lcd.begin(LCD_WIDTH, LCD_HEIGHT);

    }

    }

    void loop() {
    lcd.setCursor(0, 1);
    lcd.print(" \7\1"); // угадай, кто на экране :)
    delay(3600000);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \7\2"); // угадай, кто на экране :)
    delay(3600000);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \7\3"); // угадай, кто на экране :)
    delay(3600000);
    lcd.print(" ");


    lcd.setCursor(0, 1);
    lcd.print(" \7\4"); // угадай, кто на экране :)
    delay(3600000);
    lcd.print(" ");
    lcd.setCursor(0, 1);
    lcd.print(" \7\5"); // угадай, кто на экране :)
    delay(3600000);
    lcd.setCursor(0, 1);
    lcd.print(" "); // угадай, кто на экране :)
    lcd.setCursor(0, 0);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \7\6"); // угадай, кто на экране :)
    delay(3600000);
    lcd.print(" ");
    lcd.setCursor(0, 1);
    lcd.print(" \6"); // угадай, кто на экране :)
    delay(17280000);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \5"); // угадай, кто на экране :)
    delay(17280000);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \4"); // угадай, кто на экране :)
    delay(17280000);
    lcd.print(" ");


    lcd.setCursor(0, 1);
    lcd.print(" \3");
    delay(17280000);
    lcd.print(" ");
    lcd.setCursor(0, 1);
    lcd.print(" \2");
    delay(17280000);
    lcd.setCursor(0, 1);
    lcd.print(" ");
    lcd.setCursor(0, 0);
    lcd.print(" ");

    lcd.setCursor(0, 1);
    lcd.print(" \1");
    delay(17280000);
    lcd.print(" ");
    }
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Тему не перепутали? Вроде речь шла о контроллере аккумулятора :)
    А что касается Вашего кода - пора изучать структуры данных и циклы, тогда код сократится в размерах в разы, а читать его будет легче и понятней.