Arduino配合电位计和oled液晶屏显示波形 Processing联动

公众号:STCode

Arduino配合电位计和oled液晶屏显示波形 Processing联动

1)描述

本作品使用Arduino配合电位计和oled液晶显示器显示波形,并且将数据上传至Processing,波形在Processing端也能够实时显示。


2)硬件介绍

①电位计


②oled液晶显示器


3)接线说明


4)示例代码

Arduino部分:

/*-----------------------------
作者:STCode
时间:2021-11-2
公众号:STCode
-----------------------------*/
#include "U8glib.h"U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);const int WIDTH=128;
const int HEIGHT=64;
const int LENGTH=WIDTH;const int analogInPin = A0;
int analogInValue = 0;int x;
int y[LENGTH];void clearY(){for(int i=0; i<LENGTH; i++){y[i] = -1;}
}void drawY(){u8g.drawPixel(0, y[0]);for(int i=1; i<LENGTH; i++){if(y[i]!=-1){//u8g.drawPixel(i, y[i]);u8g.drawLine(i-1, y[i-1], i, y[i]);}else{break;}}
}void setup(void) {Serial.begin(9600);x = 0;clearY();
}void loop(void) {analogInValue = analogRead(analogInPin);y[x] = map(analogInValue, 0, 1023, HEIGHT-1, 0);Serial.write(y[x]);u8g.firstPage();  do {drawY();} while( u8g.nextPage() );//delay(10);x++;if(x >= WIDTH){x = 0;clearY();}}

Processing部分

/*-----------------------------
作者:STCode
时间:2021-11-2
公众号:STCode
-----------------------------*/
import processing.serial.*;
int WIDTH=128;
int HEIGHT=64;
Serial myPort;
int data;
int x;
int i;
int last_x = 0;
int last_y = 0;
int[] y = new int[10000];
int flag = 0;
void setup()
{x = 0;i = 0;myPort =new Serial(this,"COM26",9600);size(128,64);noStroke();background(204);myPort.clear();
}void draw()
{strokeWeight(1);stroke(0);if(myPort.available()>0){data=myPort.read();println(data);flag = 1;}if(flag == 1){y[i] = data;if(i!=0){line(last_x,last_y,x,y[i]);}last_x = x;last_y = y[i];x+=1;    i++;flag = 0;}if(x>=WIDTH){x = 0;i = 0;background(204);}}

5)效果演示

Arduino配合电位计和oled液晶屏显示波形 Processing联动相关推荐

  1. Wemos D1 R32 ESP32开发板OLED液晶屏显示

    目录 一.实验准备 二.实验代码 1.OLED液晶屏显示"Hello World" 2. OLED液晶满屏显示字符 3.OLED屏显示时钟 4.OLED屏显示矢量图片 5 OLED ...

  2. 用mixly软件解决esp8366,OLED液晶屏显示网络时钟的只显示个位数的问题

    有些朋友在编程的时候在用液晶屏显示网络时钟的时候可能会遇到一个小问题,就是时钟在个位数的时候,屏幕也只显示个位,这样屏幕上就会出现有个位数和双位数同时出现的情况,这样整个界面就不太美观,用mixly可 ...

  3. OLED 液晶屏显示模块(0.96寸)

    OLED模块例程 一.OLED 简介:        OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electrolum ...

  4. lora模块oled液晶屏显示动画

    我用的是新大陆国赛的Lora模块,芯片是L51类型,oled为0.96寸. 本次实验的环境是基于Keil uVision5和STM32CubeMX写的代码,具体软件如下 这次的实验很简单,我们先打开  ...

  5. 【雕爷学编程】Arduino动手做(136)---0.91寸OLED液晶屏模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  6. 【雕爷学编程】Arduino动手做(93)--- 0.96寸OLED液晶屏

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  7. ESP8266配网并将IP显示至oled液晶屏 ESP8266远程连接服务器控制灯或继电器

    智能车与机器人技术交流平台 概述 可能已经有人很熟练的编写ESP8266程序,但是因为我学习运用的时间也就一周左右,踩了好多坑,所以不喜就不要看勿喷.文章仅此分享交流一些经验,供此参考. 主要做的工作 ...

  8. Arduino实现超声波测距+LCD液晶屏实时显示

    Arduino实现超声波测距+LCD液晶屏实时显示 计科在我们学校是完全偏软的.实在是闲的无聊,在家搞起了硬件.好玩呐!!! ************************************* ...

  9. OLED液晶屏如何显示中文呢?

    欢迎关注 程序员小哈带你玩转嵌入式,微信搜索:嵌入式从0到1,更多干货等着你. 想进小哈技术交流群,请加程序员小哈个人微信,带你嵌入式入门进阶. 目录 文章目录 欢迎关注 序言 字幕显示原理 取模软件 ...

最新文章

  1. 创建细分客户的无监督学习项目
  2. 使用Python读写kafka
  3. cisco switch configuration
  4. 23种设计模式之享元模式
  5. Linux中对两文件处理
  6. matlab 模拟风,三维空间相关风场的计算机模拟及Matlab程序实现
  7. 关于JavaScript中变量的相互引用
  8. 5. laravel 路由(2)
  9. eclipse debug 的断点查看和清除
  10. 《Java小游戏实现》:贪吃蛇
  11. 软件评测师32小时-第一小时 软件测试概论
  12. sql语句练习 - 增删改查
  13. 如何制作WIFI二维码,实现手机扫一扫快速连接
  14. 回溯法、动态规划法——牛妹的蛋糕
  15. 如何理解界面陷阱电荷呢(interface trapped charge)和费米钉扎效应?
  16. 应该怎么提升4G工业路由器的无线信号?
  17. php ubound,VBA UBound()函数
  18. biti_rainy
  19. 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 29-Apr-2020 16:41:28.331 严重 [RMI TCP Connection(3)-127.0.0.1] org
  20. C语言花样霓虹灯程序,LM4229显示屏的单片机按键控制多种花样霓虹灯设计报告与源码...

热门文章

  1. TAU到新的MME导致的被拒10(Implicitly detached,隐式分离)
  2. linux下dlsym返回的函数地址的具体含义
  3. 这个芒果真的很不一般!
  4. 执行计划变化导致CPU负载高的问题分析 (r8笔记第20天)
  5. java 字符串 压缩_用JAVA实现字符串压缩算法
  6. 云和恩墨携MogDB等全系产品亮相第十届PostgreSQL中国技术大会
  7. linux printk 头文件,printk函数详解
  8. 39、【斯纳克图书馆管理系统】 财务查询
  9. 【ARM64】DTB地址从uboot传递到kernel的流程
  10. Python绘制带误差线的图形 Python plots with error bands