Cчетчик, один разряд (10 x 15 px )



   Счетчик представляет собой переработанный стандартный шрифт (числовая его часть) 8-битной приставки Dendy. Я остановился на размере 10 х 15. Так как предполагалось, что он будет отображаться на небольших LCD и TFT экранах для Arduino, с расстояния до 1.5-2 метра.

   Функция принимает только по одному разряду, чтобы вызывать функцию только тогда, когда измениться один разряд числа. В этом случае, придется перерисовывать не всё число, а только изменившийся разряд. Это сделано из-за низкого времени отклика экранов. Будущая цифра затирает перед собой место от предыдущей, цветом фона, который можно поменять в функции.

      counter


    int counter (int x, int y, byte count_number) //Функция счетчик. Один разряд. 10 x 15 px
  {                                               // x,y - начальные координаты счетчика
    myGLCD.setColor(VGA_BLACK);                   // Выбираем черный (цвет фона)
    myGLCD.fillRect(x,y,x+10,y+15);               // Закрашиваем место будующей цифры 
    myGLCD.setColor(VGA_WHITE);                   // Выбираем цвет цифры.

    if (count_number == 1)
   {
    myGLCD.fillRect (x+2,y+14,x+10,y+15);
    myGLCD.fillRect (x+6,y+13,x+8,y+1);
    myGLCD.fillRect (x+2,y+4,x+5,y+3);
    myGLCD.drawHLine (x+4,y+2,1);
    myGLCD.drawPixel (x+1, y+4);     
   } 
    if (count_number == 2)
   {
    myGLCD.fillRect (x+1,y+5,x+3,y+2);
    myGLCD.fillRect (x+8,y+6,x+10,y+3); 
    myGLCD.fillRect (x+1,y+15,x+10,y+14); 
    myGLCD.drawHLine (x+3,y+1,5);
    myGLCD.drawHLine (x+4,y+2,6);
    myGLCD.drawHLine (x+8,y+13,2);
    myGLCD.drawLine(x+1,y+12,x+7,y+6);
    myGLCD.drawLine(x+1,y+13,x+7,y+7);
    myGLCD.drawLine(x+2,y+13,x+8,y+7);
    myGLCD.drawLine(x+3,y+13,x+9,y+7);
   } 
    if (count_number == 3)
   {
    myGLCD.fillRect (x+7,y+5,x+10,y+3);
    myGLCD.fillRect (x+4,y+8,x+7,y+7);
    myGLCD.fillRect (x+7,y+13,x+10,y+10); 
    myGLCD.drawHLine (x+3,y+1,5);
    myGLCD.drawHLine (x+2,y+2,7);
    myGLCD.drawHLine (x+1,y+3,2);
    myGLCD.drawHLine (x+6,y+6,3);
    myGLCD.drawHLine (x+6,y+9,3);
    myGLCD.drawHLine (x+1,y+13,2);
    myGLCD.drawHLine (x+2,y+14,7);
    myGLCD.drawHLine (x+3,y+15,5);  
   } 
    if (count_number == 4)
   {
    myGLCD.fillRect (x+7,y+1,x+9,y+7);
    myGLCD.fillRect (x+1,y+9,x+10,y+8);
    myGLCD.fillRect (x+6,y+13,x+9,y+10);
    myGLCD.fillRect (x+3,y+15,x+10,y+14);
    myGLCD.drawLine (x+1,y+6,x+6,y+1);
    myGLCD.drawLine (x+1,y+7,x+6,y+2);
    myGLCD.drawLine (x+2,y+7,x+6,y+3);
   } 
    if (count_number == 5)
   {
    myGLCD.fillRect (x+1,y+2,x+10,y+1); 
    myGLCD.fillRect (x+1,y+6,x+4,y+3);
    myGLCD.fillRect (x+8,y+14,x+10,y+8);
    myGLCD.fillRect (x+1,y+13,x+3,y+12);
    myGLCD.drawHLine(x+2,y+7,8);
    myGLCD.drawHLine(x+5,y+6,4);  
    myGLCD.drawHLine(x+2,y+14,5);
    myGLCD.drawHLine(x+4,y+15,4);   
   } 
    if (count_number == 6)
   {
    myGLCD.fillRect (x+1,y+13,x+3,y+3);
    myGLCD.fillRect (x+8,y+4,x+10,y+2);
    myGLCD.fillRect (x+8,y+14,x+10,y+10);
    myGLCD.drawHLine(x+3,y+1,5);
    myGLCD.drawHLine(x+2,y+2,5);
    myGLCD.drawHLine(x+4,y+8,5);
    myGLCD.drawHLine(x+4,y+9,6);
    myGLCD.drawHLine(x+2,y+14,5);
    myGLCD.drawHLine(x+3,y+15,5);   
   } 
    if (count_number == 7)
   {
    myGLCD.fillRect (x+1,y+4,x+3,y+1);
    myGLCD.fillRect (x+4,y+2,x+10,y+1);
    myGLCD.fillRect (x+8,y+5,x+10,y+3);
    myGLCD.fillRect (x+7,y+7,x+9,y+6);
    myGLCD.fillRect (x+6,y+10,x+8,y+8);
    myGLCD.fillRect (x+4,y+15,x+7,y+11);
    myGLCD.drawPixel (x+5, y+10);  
   } 
    if (count_number == 8)
   {
    myGLCD.fillRect (x+3,y+1,x+8,y+2);
    myGLCD.fillRect (x+2,y+6,x+3,y+2);
    myGLCD.fillRect (x+8,y+2,x+9,y+6);
    myGLCD.fillRect (x+4,y+7,x+7,y+6);
    myGLCD.fillRect (x+1,y+14,x+3,y+9);
    myGLCD.fillRect (x+8,y+14,x+10,y+9);
    myGLCD.fillRect (x+3,y+15,x+8,y+14);
    myGLCD.drawHLine(x+2,y+8,7);
    myGLCD.drawVLine(x+1,y+3,2);
    myGLCD.drawVLine(x+10,y+3,2);
   }
    if (count_number == 9)
   {
    myGLCD.fillRect (x+1,y+7,x+3,y+2);
    myGLCD.fillRect (x+3,y+1,x+8,y+2);
    myGLCD.fillRect (x+8,y+2,x+10,y+13);
    myGLCD.fillRect (x+3,y+8,x+7,y+7);
    myGLCD.fillRect (x+1,y+14,x+3,y+12);
    myGLCD.drawHLine(x+4,y+14,5);
    myGLCD.drawHLine(x+3,y+15,5);   
   } 
    if (count_number == 0)
   {
    myGLCD.fillRect (x+1,y+13,x+3,y+3);
    myGLCD.fillRect (x+8,y+13,x+10,y+3);
    myGLCD.drawHLine(x+3,y+1,5); 
    myGLCD.drawHLine(x+2,y+2,7);
    myGLCD.drawHLine(x+2,y+14,7);
    myGLCD.drawHLine(x+3,y+15,5);    
   } 
  }
   

       Функции


   1. Графические.

    Зависимость: UTFT

   Cчетчик, один разряд (10 x 15 px )
    Зависимость: UTFT









   Изготовление рекламы Изготовление мебели  Общестроительные работы 3D моделирование       Статьи
  Благоустройство тер.
   Общее портфолио    Мебель для мастерской   Установка бордюров   Портфолио   Контакты
   Наружняя реклама       Фасадные работы   Модели   Образец договора
   Внутреняя реклама       Утепление гаража   Инфо
   Таблички, наклейки       Косметический ремонт   Фото г.Надым
  Бетонные работы   Фото пригороды г.Надым