“电阻计”的版本间的差异
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用processing显示电阻计值的曲线图,电阻计由Microduino实现。 ==设备== *'''Microduino...") |
(→程序) |
||
第28行: | 第28行: | ||
见 ResistanceMeter | 见 ResistanceMeter | ||
+ | |||
+ | processingResistanceMeter | ||
==调试== | ==调试== |
2014年5月15日 (四) 04:10的版本
目的本教程将教大家如何用processing显示电阻计值的曲线图,电阻计由Microduino实现。 设备
原理图
程序见 ResistanceMeter processingResistanceMeter 调试步骤一:按着原理图搭建硬件环境,像这样:
本例需要两端的代码,Processing端和Microduino端 Microduino: //使用滤波算法计算出电阻值数据后输出到串口以便Processing显示 //filter Algorithm float filter() { float sum = 0; for(int count = 0; count < N; count++) { sum += r; delay(5); } return (float)(sum / N); } Processing: //得到第一个串口的数据,并定义如果有换行就缓存 // is always my Arduino, so I open Serial.list()[0]. // Open whatever port is the one you're using. myPort = new Serial(this, Serial.list()[0], 9600); myPort.bufferUntil('\n'); // Trigger a SerialEvent on new line //把从Microduino接收到的数据以曲线图的形式显示在屏幕上,并标上标尺 String val = myPort.readStringUntil('\n'); if (val != null) { if ("Infinity!!".equals(val)) { unit="resistancetoo big"; } else { if ("K ohm".equals(val)) { unit="K ohm"; } else if (" ohm".equals(val)) { unit=" ohm"; } else { val = trim(val); println(val); resistance=Float.parseFloat(val); } } } vals[vals.length-1] = 200-resistance; //Display scale text ( "200-", 370, 10); text ( "--", 370, 50); text ( "100-", 370, 100); text ( "--", 370, 150); text ( "0-", 370, 200); //show current num text ( resistance+unit, 0, 10); 步骤三:下载代码并编译通过。 步骤四:把待测电阻放到上图中黄色和黑色线的中间,看看processing中的电阻曲线值 结果曲线图会显示当前的电阻值。
视频 |