在Arduino手?jǐn)]一個(gè)波形顯示

#include "imagenes.h"
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
Adafruit_SSD1306 display(128,64);//64改為32,畫面只顯示一半
int anteriorMillis = 0;
int tiempo = 0;
float valorAnalogico = 0;
float voltaje = 0;
float graficaVoltaje = 0;
int x[128];
int y[128];
void setup() {
? // put your setup code here, to run once:
delay(100);
display.begin(SSD1306_SWITCHCAPVCC,0x3c);
display.setRotation(0);
display.dim(0);//原值為true,畫面不顯示
display.setTextColor(WHITE);
display.setTextSize(1);
//顯示imagenes.h中的畫面
for(int i=0;i<1;i++){
? display.clearDisplay();
? display.drawBitmap(0,0,imagen,128,64,1);
? display.display();
? delay(3000);
? display.fillRect(0,0,128,64,1);//下半部分黑屏
? display.drawBitmap(0,0,imagen,128,64,0);
? display.display();
? delay(3000);
? display.clearDisplay(); ?
}
}
void loop() {
? // put your main code here, to run repeatedly:
? display.clearDisplay();
? display.setCursor(0, 0);
? display.print(F("5V"));
? display.setCursor(0, 11);
? display.print(F("4V"));
? display.setCursor(0, 22);
? display.print(F("3V"));
? display.setCursor(0, 32);
? display.print(F("2V"));
? display.setCursor(0, 42);
? display.print(F("1V"));
? display.drawLine(15,0,25,0,WHITE);
? display.drawLine(15,11,25,11,WHITE);
? display.drawLine(15,22,25,22,WHITE);
? display.drawLine(15,32,25,32,WHITE);
? display.drawLine(15,43,25,43,WHITE);
? display.drawLine(0,53,127,53,WHITE);
? display.drawLine(25,53,25,0,WHITE);
? valorAnalogico = analogRead(A0);//讀取A0口的讀數(shù)
? voltaje=(valorAnalogico*5)/1024;
? graficaVoltaje=map(valorAnalogico,0,1023,53,0);
? x[127]=graficaVoltaje;
?
? for(int i=127;i>=25;i--){
? ? display.drawPixel(i,x[i],WHITE);
? ? y[i-1]=x[i];
? }
? display.setCursor(25,57);
? display.print(voltaje);
? display.print(F("v ? ? ")); ?
? tiempo = millis()-anteriorMillis;
? display.print(tiempo);
? anteriorMillis=millis();
? display.print(F(" ms"));
? display.display();
? for(int i=127;i>=0;i--){
? ? x[i]=y[i];
? }
}