欢迎光临散文网 会员登陆 & 注册

在Arduino手撸一个波形显示

2023-01-11 23:42 作者:宝子支棱起来  | 我要投稿

#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口的读数

  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];

  }

}


在Arduino手撸一个波形显示的评论 (共 条)

分享到微博请遵守国家法律