Вложений: 3
Осцилограф на ЖКИ, помогите разобраться
PHP код:
#include <ks0108.h>
int S;
int reset = 3;
int i;
void setup(){
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
}
void loop(){
S = analogRead(5)/20;
i++;
if(i >= 128){
i=0;
GLCD.ClearScreen(); }
else{GLCD.DrawLine(i,S,i,64,BLACK);
delayMicroseconds(50);}
}
Суть проблемы такая немогу приручит показания относительно верхней или нижней строчки дисплея постоянно путаница получается или негативный вход или позитивный HELP!!!!:eek:
Re: Осцилограф помогите разобраться
Проверить мне не на чем, но
попробуй вот так:
PHP код:
#include <ks0108.h>
byte S, old_S, i;
void setup()
{
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
}
void loop()
{
S = analogRead(5)/16;
if(i >= 127)
{
i=0;
GLCD.ClearScreen();
} else {
GLCD.DrawLine(i,old_S,i+1,S,BLACK);
old_S = S ;
}
i++;
}
Вложений: 3
Re: Осцилограф на ЖКИ, помогите разобраться
sketch_sep21a:1: error: 'Byte' does not name a type
sketch_sep21a.cpp: In function 'void loop()':
sketch_sep21a:19: error: 'old_S' was not declared in this scope
не работает вот что пишет
пришлось поправить
PHP код:
#include <ks0108.h>
int old_S;
int S;
int reset = 3;
int i;
void setup()
{
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
}
void loop()
{
S = analogRead(5)/16;
if(i >= 127)
{
i=0;
GLCD.ClearScreen();
} else {
GLCD.DrawLine(i,old_S,i+1,S,BLACK);
old_S = S ;
}
i++;
}
1 с подтяжкой 4к5 к массе,2 без подтяжки,3 с подтяжкой к +5: я так понял что отображение координат идет с верху в низ , как зделать снизу вверх что бы отображение графика было на оборот
Re: Осцилограф на ЖКИ, помогите разобраться
Попробуй так:
PHP код:
#include <ks0108.h>
byte S, old_S, i;
void setup()
{
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
}
void loop()
{
S = 64-(analogRead(5)/16);
if(i >= 127)
{
i=0;
GLCD.ClearScreen();
} else {
GLCD.DrawLine(i,old_S,i+1,S,BLACK);
old_S = S ;
}
i++;
}
Вложений: 2
Re: Осцилограф на ЖКИ, помогите разобраться
Спасибо за оперативную помощь CHIP все вроде работает как задумывалось, дальше решил сделать программно предделитель 50,100,200,500,1000,2000, мкс.
Re: Осцилограф на ЖКИ, помогите разобраться
Я бы еще посоветовал, для увеличения быстродействия считывать 128 байт с аналогового порта в оперативку а потом прорисовывать. Тогда можно будет до 4 кГц аналоговый сигнал смотреть этим приборчиком. А то библиотека съедает время при прорисовке
Re: Осцилограф на ЖКИ, помогите разобраться
Увы пока не могу этого делать, с ардуиной всего 2 недели знаком, раньше только c PIC-16 на асемблере работал а так желание есть учиться :) смотрю вроде чего получается :rolleyes:
Re: Осцилограф на ЖКИ, помогите разобраться
Подскажи как или намекни как писать в ОЗУ и Читать из неё в ЖКИ
Re: Осцилограф на ЖКИ, помогите разобраться
Все очень просто.
Пример:
PHP код:
for (i=0; i < 128; i++)
{
MyBuff[i] = analogRead(5)/16;
}
Потом в другом цикле вытаскиваешь из массива значения и рисуешь
PHP код:
for (i=0; i < 128; i++)
{
GLCD.DrawLine(i,64-MyBuff[i],i+1,old_S,BLACK);
}
Вложений: 1
Re: Осцилограф на ЖКИ, помогите разобраться
PHP код:
#include <ks0108.h>
byte MyBuff[1000];
byte S, old_S, i;
int button = 12;
void setup()
{
pinMode(button, INPUT);
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
digitalWrite(button, HIGH);
}
void loop()
{
for (S=0; S < 128; S++)
{
MyBuff[S] = 64- analogRead(5)/16;
}
if(i >= 127)
{
i=0;
GLCD.ClearScreen();
} else {
GLCD.DrawLine(i,old_S,i+1,S,BLACK);
old_S = S ;
}
i++;
}
видимо не правильно понял чето не так