“虚拟示波器的设计与实现”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用Microduino来做一个示波器。本例会展示一个简单的方波。 ==设备== *'''Microduino-...")
 
设备
 
第7行: 第7行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
  
 
*其他硬件设备
 
*其他硬件设备
 
**USB数据连接线  一根  
 
**USB数据连接线  一根  
**面包板跳线  一盒  
+
**面包板跳线  一盒
 
 
  
 
==原理图==
 
==原理图==

2014年10月29日 (三) 07:32的最新版本

目的

本教程将教大家如何用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以内的时候很容易观察。

视频