Помогите с дисплеем.

Помогите с дисплеем.

Сообщение Kelean1 » 23 окт 2018, 10:48

Помогите вывести на дисплей синусоиду или пилу. Дисплей 12864b v2.0 и ардуино UNo. В идеале надо чтобы высота и длина пилы или синуса менялись от значения на потенциометре. Но буду рад если объясните как вывести движущийся синус. Заранее спасибо. Прикладываю скетч. Смог нарисовать пилу. Но как только пытаюсь сдвинуть получаю неразбериху на дисплее.

Код: Выделить всё
#include <Arduino.h>
#include <SPI.h>
#include <U8g2lib.h>
int x1=0;

U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* CS=*/ 12, /* reset=*/ 8);

void setup(void) {
  u8g2.begin();
}

void loop(void) {
  u8g2.firstPage();
  do {
    u8g2.drawLine(0+x1, 32, 20+x1, 5);
    u8g2.drawLine(20+x1, 5, 40+x1, 32);
    u8g2.drawLine(40+x1, 32, 60+x1, 5);
    u8g2.drawLine(60+x1, 5, 80+x1, 32);
    u8g2.drawLine(80+x1, 32, 100+x1, 5);
     u8g2.drawLine(100+x1, 5, 120+x1, 32);
    u8g2.drawLine(120+x1, 32, 140+x1, 5);
delay(10);
x1=x1+5;
    u8g2.drawLine(0+x1, 32, 20+x1, 5);
    u8g2.drawLine(20+x1, 5, 40+x1, 32);
    u8g2.drawLine(40+x1, 32, 60+x1, 5);
    u8g2.drawLine(60+x1, 5, 80+x1, 32);
     u8g2.drawLine(80+x1, 32, 100+x1, 5);
     u8g2.drawLine(100+x1, 5, 120+x1, 32);
    u8g2.drawLine(120+x1, 32, 140+x1, 5);
delay(200);
    u8g2.drawLine(0+x1, 32, 20+x1, 5);
    u8g2.drawLine(20+x1, 5, 40+x1, 32);
    u8g2.drawLine(40+x1, 32, 60+x1, 5);   
    u8g2.drawLine(60+x1, 5, 80+x1, 32);
       
   
  } while ( u8g2.nextPage() );
  delay(1000);
}
Kelean1
 
Сообщения: 1
Зарегистрирован: 23 окт 2018, 10:37

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron
© 2009-2017 |  О проекте  |  Политика Конфиденциальности  |