свои символы на дисплей 16*2

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем maxS2004, 16 дек 2018.

  1. maxS2004

    maxS2004 Гик

    здравствуйте.как сделать свои символы на дисплей 16*2 "смелт".на платформе iskra js
     
  2. maxS2004

    maxS2004 Гик

  3. DIYMan

    DIYMan Guest

    Помогаю: слово "помагите" правильно пишется "помогите".
     
  4. b707

    b707 Гуру

    а что там непонятно? - спрашивайте. Вроде все подробно с примерами
    Подробнее чем там вряд ли кто будет вам расписывать
     
  5. maxS2004

    maxS2004 Гик

    не могу разобраться с кодом
    Код (Javascript):
    // var lcd = ... from simple example above ...
    lcd.createChar(0,[0,0,0,0,0,0,0,31]);
    lcd.createChar(1,[0,0,0,0,0,0,31,31]);
    lcd.createChar(2,[0,0,0,0,0,31,31,31]);
    lcd.createChar(3,[0,0,0,0,31,31,31,31]);
    lcd.createChar(4,[0,0,0,31,31,31,31,31]);
    lcd.createChar(5,[0,0,31,31,31,31,31,31]);
    lcd.createChar(6,[0,31,31,31,31,31,31,31]);
    lcd.createChar(7,[31,31,31,31,31,31,31,31]);
    var history = new Array(20);


    function showData() {
    for (var i=1;i<history.length;i++) history[i-1]=history[i];
    history[history.length-1] = Math.round(analogRead(D1)*16);

    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Current data:");
    lcd.setCursor(4,1);
    lcd.print("D1 = "+analogRead(D1));
    lcd.setCursor(0,2);
    for (var i=0;i<history.length;i++) {
      var n=history[i];
      if (n>16) n=16;
      lcd.write((n>8)?(n-9):32);
    }
    lcd.setCursor(0,3);
    for (var i=0;i<history.length;i++) {
      var n=history[i];
      if (n>8) n=8;
      lcd.write((n>0)?(n-1):32);
    }
    }
    setInterval(showData, 5000);
     
     
  6. b707

    b707 Гуру

    принято к сведению.
    Автор, привыкайте писать четкие развернутые вопросы, догадываться тут никому не интересно.
     
  7. maxS2004

    maxS2004 Гик

    спасибо. учту
     
  8. parovoZZ

    parovoZZ Гуру

    или рано еще, или брать что попроще.
     
  9. Belkin

    Belkin Гик

    В этом участке - дополнительные 8 символов.
    ....Char(0,[0,0,0,0,0,0,0,31]), где:
    ....(0, .... - порядковый номер символа
    ....[0,0,0,0,0,0,0,31]) - собственно, сам символ, разложенный снизу-вверх, справа-налево.
    В данном случае - полоска в самом низу знакоместа, типа "_".
    Остальные - добавление (наращивание) символа вверх.
    При последовательном использовании можно получить подобие 8-разрядной вертикальной линейной шкалы (барграфа).

    В кодировании символа участвуют только 5 младших битов, т.к. знакоместо имеет формат 5х8 (5 столбцов в 8 строк).
    В данном случае - 31(DEC) имеет вид 00011111(BIN).
    Суммируя "веса" битов, получите значение для строки.
    Сколько "весит" каждый бит нагуглите сами...
     
  10. maxS2004

    maxS2004 Гик

    спасибо. только не понял как выводят этот символ