Помогите разобраться с библиотекой 8ug2lib

Kelean1
Offline
Зарегистрирован: 22.10.2018

Помогите разобраться. Надо вывести 2 пилы, сделал вывод с помощью  

#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);

}

И тут есть ряд проблем. Во первых как сделать смену картинок бегущей строкой, можно ли вывести тот же рисунок без nextPage и FirstPage и для чего вообще эти команды, Как сделать чтобы при различных вариантах программы можно было выводить разный рисунок. Читал мануал на английском, но полноценно разобраться не смог. Сразу поясню я не программист. Если знаете что это просто, обьясните как. Поясню кусок кода будет использован для создания интерактивного макета Усилителя на биполярном транзисторе. И дисплей будет отображать сигнал на входе и выходе. Сделаю 3 рисунка отвечающие за отсечку, насыщения, и линейного режима. Копался долго, но ничего не нашел потому обращаюсь за помощью. Заранее спасибо. 

mixail844
Offline
Зарегистрирован: 30.04.2012

вставье пожалусйта код в соответсвии с : 

http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...

далее : поясните, что значит "смену картинок бегущей строкой"? если можно картинками,видео примером ..

что в взшем понимании означает  "при различных вариантах программы можно было выводить разный рисунок" ? обьясните словами как вы это видите..сам процесс..что вы хотите получить

Kelean1
Offline
Зарегистрирован: 22.10.2018
#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.clearDisplay();
  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);
  } 
  while  (u8g2.nextPage());
  do {

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);
} while ( u8g2.firstPage() );
  delay(100);
}

Процесс: На макете в виде светодиодной ленты показаны основные элементы. Резисторы отражены потенциометрами. Один на отрицательную обратную связь, другой делитель напряжения. В зависимости от значения потенциометра просиходят изменения коэффицента усиления и изменения режимов работы. После каждого режима просиходит прерывания и сверка значения потенциометров. Вот на каждый такой режим нужно поставить в соотвествии определенный рисунок. В идеале риснунок должен вырисовываться постепенно, отображая работу осоциллографа.