虚拟示波器的设计与实现

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年6月30日 (一) 08:39的版本 (Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用Microduino来做一个示波器。本例会展示一个简单的方波。 ==设备== *'''Microduino-...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

目的

本教程将教大家如何用Microduino来做一个示波器。本例会展示一个简单的方波。

设备

  • 其他硬件设备
    • USB数据连接线 一根
    • 面包板跳线 一盒


原理图


程序

见OscilloscopeProcessing

OscilloscopeMicroduino

调试

步骤一:按着原理图搭建硬件环境,像这样:


步骤二:解释一下代码:

本例需要两端的代码,Processing端和Microduino端

Microduino:

//读取模拟端口数据进行二进制转换并串口输出

 int val = analogRead(ANALOG_IN);
 Serial.write( 0xff );
 Serial.write( (val >> 8) & 0xff );
 Serial.write( val & 0xff );

//产生方波

 /* Generate signal to test oscilloscope */
 if ((count % every) == 0) {
   if (outPinState == LOW) {
     outPinState = HIGH;
   } 
   else {
     outPinState = LOW;
   }
   digitalWrite(outPin, outPinState);
   count = 0;
 }
 count++;


Processing函数说明:

int getY(int val) //返回屏幕坐标Y值

int getValue()//得到串口的值进行二进制处理

void pushValue(int value)//把value值放入缓存

void drawLines()//绘制线

void drawGrid()//绘制栅格

void keyReleased()//键盘敲击事件

void draw()//绘制方法

步骤三:下载代码并编译通过。

步骤四:运行后,看processing的显示。

结果

屏幕上会出现一个方波的显示


说明

你可以改变Microduino和Processing两端的波特率,从9600到115200都可以。

键盘上的”+”用来放大,“-”用来缩小屏幕

PWM在50hz以内的时候很容易观察。

视频