楼主: ntwhq

NO.22 基于Arduino的数字示波器(完成)

  [复制链接]
发表于 2014-4-23 15:24 | 显示全部楼层
楼主动手能力相当强,感谢分享
发表于 2014-4-27 00:23 | 显示全部楼层
期待楼主的升级版
发表于 2014-4-27 22:43 | 显示全部楼层
这个要收藏!改天我也DIY一下。
发表于 2014-5-2 13:59 | 显示全部楼层
ntwhq 发表于 2014-2-28 21:02
改成对红外信号的分析工具电路的程序都要修改了。

Arduino_oscilloscope:7: error: 'U8GLIB_ST7920_128X64_4X' does not name a type
Arduino_oscilloscope.ino: In function 'void draw()':

怎么破
发表于 2014-5-4 17:19 | 显示全部楼层

mega8出错  uno成功
发表于 2014-5-4 23:18 | 显示全部楼层
编译的问题已经解决  原来是我没有import那个库

楼主  看了你的新版代码  我又有一个问题了

Buffer[i] = ADCH;  这里的ADCH是AVR的SFR吗   我在arduino cookbook里面都找不到ADCH的相关介绍
但是根据51的经验(10bit精度的ADC用到了ADCH和ADCL两个SFR

源代码里面的 Buffer[i] = ADCH;意思是只拿8bit的ADC结果吗?
发表于 2014-5-4 23:21 | 显示全部楼层
以及
void Measure()
{
  V_max=Buffer[0];
  V_min=Buffer[0];      
  for(i=0;i<192;i++)
  {
    if(Buffer[i]>V_max)
    V_max=Buffer[i];
    if(Buffer[i]<V_min)
    V_min=Buffer[i];
  }
  V_mid=(V_max+V_min)/2;  
  Vpp=(V_max-V_min)*2.56/255;
  for(i=0;i<97;i++)
  {
    if(Buffer[i]<V_mid&&Buffer[i+1]>=V_mid)  
    {
      i1=i;
      break;
    }
  }
  for(i=i1+1;i<98+i1;i++)
  {
    if(Buffer[i]<V_mid&&Buffer[i+1]>=V_mid)  
    {
      i2=i;
      break;
    }
  }
  t=i2-i1;
  if(t>0)
  Freq=8000/t;
  else
  Freq=0;
}

这个算法的目的是什么啊
发表于 2014-5-4 23:23 | 显示全部楼层
这里的(V_max-V_min)*2.56/255

是不是更加说明了新版本的程序只拿了8bit的精度?
求解啊
发表于 2014-5-7 09:26 | 显示全部楼层
频率比信号发生源的要大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

Blynk与m5stack basic以及uiflow的交互玩法
Blynk与m5stack basic以及
Blynk与m5stack basic以及uiflow的交互玩法 [准备工作我们假设玩家已经熟悉下面的准备
求大佬帮助
求大佬帮助
有没有大佬能帮我把这个转化成c语言的啊,萌新完全看不懂 顺便弱弱的问一句如何将多个
VSCode写Arduino提示无法打开源文件"avr/pgmspace.h"
VSCode写Arduino提示无法
整个程序就这点内容,只是做个测试。 Ctrl+Alt+U的上传是没有问题。但是这里有个错误
【干货分享】mega2560原理图PCB图纸altium designer18
【干货分享】mega2560原理
分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
【原创】 drawbot平面关节
这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表