“虚拟示波器的设计与实现”的版本间的差异
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用Microduino来做一个示波器。本例会展示一个简单的方波。 ==设备== *'''Microduino-...") |
(→设备) |
||
第7行: | 第7行: | ||
==设备== | ==设备== | ||
− | *'''[[Microduino-Core]]''' | + | *'''[[Microduino-Core/zh]]''' |
− | *'''[[Microduino- | + | *'''[[Microduino-USBTTL/zh]]''' |
*其他硬件设备 | *其他硬件设备 | ||
**USB数据连接线 一根 | **USB数据连接线 一根 | ||
− | **面包板跳线 一盒 | + | **面包板跳线 一盒 |
− | |||
==原理图== | ==原理图== |
2014年10月29日 (三) 07:32的最新版本
目的本教程将教大家如何用Microduino来做一个示波器。本例会展示一个简单的方波。 设备
原理图
程序见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++;
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以内的时候很容易观察。 视频 |