佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 2556|回复: 4

新问题:如何联系两个pic? 有关湿度感应器。

[复制链接]
发表于 6-10-2009 11:58 AM | 显示全部楼层 |阅读模式
本帖最后由 梦游... 于 10-3-2010 05:11 PM 编辑

你要想做什么?
你的应用是什么?

我要做的是孵蛋机,是学校作业。

你想要拿到什么效果
主要是控制温度和湿度。

你做了什么
现在还在做有关温度和湿度的research
温度我是打算用LM35,正要开始进行中。

你遇到了什么问题
在选用湿度感应器方面的问题。

你用什么MCU
还不能决定,要等选好了温度和湿度感应器。
因为据我所知,是要了解感应器的datasheet,用几bit 等。。。才能决定。
我是想用PIC16F877,8bit。就担心感应器不符合。

你用什么语言? ASM/C/PICBasic/KeilCompiler 版本?
想用ASM

上网查寻及爬贴过后,发觉有些是已经做好的感应器circuit。当然也有单单湿度sensor.
我是想自己做湿度感应器circuit。刚好看到HS1101LFdatasheet,看得我似懂非懂的。
有些问题想请教各位。
http://www.meas-spec.com/downloads/HS1101LF.pdf

  • 请问湿度感应器是response frequency的么?跟 capacitive又有什么关系?
  • HS1101LF是已经calibrate 的么?如calibrated directly in     celcius (centigrade).
  • 是不是放进design 好的circuit就可以function

还有几个问题想请教。

  • 我的project 是控制温度和湿度,
    所以我是需要extra ADC chip 么?是需要2 chip     还是1 个就可以?
  • 除了HS1101LF
    请问各位有什么建议么?有什么湿度感应可以用或参考的?

我对于湿度感应器的认识是才刚开始,请各位多多指教。谢谢。
回复

使用道具 举报


ADVERTISEMENT

发表于 6-10-2009 12:43 PM | 显示全部楼层
湿度感应器,是很难用的一个零件, 你上面的HS1101LF 是测量电容。
湿度会改变电容。而如何测量电容呢? 用震荡电路, 而电容会改变震荡器的频率, 你计算频率, 然后才 转换成湿度。。。然后, 你转换出来的对不对, 你也不知道,  除非你有另一个已知标准的湿度器来calibrate 校准你的湿度感应器。


温度和湿度感应器, 我在最近的设计是用HHT02  http://www.futurlec.com/HHT02.shtml
, 或 SHTxx  http://www.sensirion.com/

它们的好处就是直接给你湿度 + 温度报告, 出产时已经调整好。
问题是, 很难买到,  或卖到很贵。
http://www.sensirion.com/  有提供sample。

http://www.sensirion.com/en/01_humidity_sensors/00_humidity_sensors.htm
SHT7X

SHT1X
回复

使用道具 举报

 楼主| 发表于 7-10-2009 02:47 PM | 显示全部楼层
原来如此,谢谢你。^^

看了sensirion的湿度感应器datasheet,有些地方不明白,想请教。

  • Sht7x sensor,它是如何读取资料?它是通过 SCK DATA 来跟mcu联系的么?Sensor 本身换去digital output 么?
  • Program     时会不会麻烦呢?因为我是会显示在电脑,所有的温度和湿度资料都会被记录。
  • 请问要如何申请Sht7x样本?我在网站里找不到,只看到别的免费样本。
学生可以申请么?以学校的名字as公司名么?
Free samples will only be sent to business customers (no privatepersons). Please make sure that you enter your company name and company emailaddress. We will not send samples to hotmail, google, gmail, yahoo, gmx orsimilar accounts.

另外,
还有些问题想请教。
我还search了别种的湿度感应器,如:
http://www.cytron.com.my/datasheet/sensor/Humidity_UserManualv1.pdf

  • 以上的湿度感应器,是不是需要多加ADCconvert 呢?

请问你是怎么控制湿度,就用什么方法来增加或减少湿度。
如过度潮湿的话,你是如何减低湿度呢?

不好意思,这么多问题。

[ 本帖最后由 梦游... 于 7-10-2009 02:53 PM 编辑 ]
回复

使用道具 举报

发表于 9-10-2009 09:58 PM | 显示全部楼层
原帖由 梦游... 于 7-10-2009 02:47 PM 发表

Sht7x sensor,它是如何读取资料?它是通过 SCK DATA 来跟mcu联系的么?Sensor 本身换去digital output 么?

是的, 直接给你的是RH和温度。Relative humidity 你需要按公式+ 温度 计算。

    Program     时会不会麻烦呢?因为我是会显示在电脑,所有的温度和湿度资料都会被记录。
   
他们有提供sample C code。
其他是看你自己编程的能力。

请问要如何申请Sht7x样本?我在网站里找不到,只看到别的免费样本。
学生可以申请么?以学校的名字as公司名么?

你可以写信去问。 也告诉他们, 如果要买, 你可以到哪里买?


我还search了别种的湿度感应器,如:
以上的湿度感应器,是不是需要多加ADCconvert 呢?

没有错。 可以用MCU的ADC 来读。
但注意, 你怎样calibrate? 你只可以完全按照他们的table 来转换, 还要注意不是绝对的线性。


请问你是怎么控制湿度,就用什么方法来增加或减少湿度。
如过度潮湿的话,你是如何减低湿度呢?

我没有做过湿度控制。

要加强湿度, 喷水+ 风扇。
有用超音波雾化器的。。
你可以参考爬帖, 有人讨论过。

要减低湿度, 用heater 或 会发热的灯泡 。
冷气机也是有降低湿度的功能。

孵蛋机应该是用灯泡。。


不好意思,这么多问题。

你可以爬帖, 有人讨论过, 但不知道有没有结果。
如果你看到一些没有结果的帖, 你就知道那个楼主没有做报告。
我希望你可以分享心得, 可以为后来的人分享, 贡献, 不要拍拍屁股走人, 当然, 我不会逼你。
回复

使用道具 举报

 楼主| 发表于 10-3-2010 10:57 AM | 显示全部楼层

RE: 新问题:如何联系两个pic?

有些问题,想请问各位。

我想联系两个pic,第一个pic是读取感应器的(transmit to 2nd pic),第二个pic是based on 质料然后action.
现在主要是读取温度和湿度, 然后由第二个pic显示在LCD。

build 和compile 都没问题,只是LCD显示不出来。

我曾只用一个pic来显示,也没问题。 所以我怀疑是联系的program出问题。
以下只是部分program, 联系的program是否少了些身么?


第一个pic:
#include <stdio.h>
#include <htc.h>
#include "delay.h"
#include "lcd.h"
#include "sht_read.h"
#include "usart.h"

__CONFIG(0x3f71);


void main ( void )
{
  unsigned char counter;
    // Initializations
    ADCON1 = 7;
    TRISB = 0;
    TRISC = 0;
  //TRISD = 0;
    lcd_init();
lcd_goto ( 0x00 );
lcd_puts ( "SHT75 TESTING" );
    comreset();            // reset the SHT
    DelayMs ( 20 );        // delay for power up
CCPR1H = 0;
CCPR1L = 100;
T1CON = 0b00110001;
CCP1CON = 0b00001010;
CCP1IE = 1;
PEIE = 1;
GIE = 1;
    while ( 1 )
    {
        // Body
        sht_rd();
  
  counter = waitSec [ currentState ] - secCounter;
  switch ( getch() )
  {
   case 'A':

    putch ( ( unsigned char ) restemp );
    putch ( ( unsigned char ) ( restemp - ( unsigned char ) restemp ) * 10 );
    putch ( ( unsigned char ) truehumid );
                putch ( ( unsigned char ) ( truehumid - ( unsigned char ) truehumid ) * 10 );
    putch ( counter );
                break;
        }

    }
}



第二个pic:

#include <stdio.h>
#include <htc.h>
#include "delay.h"
#include "lcd.h"
#include "usart.h"
__CONFIG(0x3f71);


void main ( void )
{
// Initializations
char LCDString [ 17 ];
float restemp, truehumid;
unsigned char counter;
init_comms();
lcd_init();

while ( 1 )
{
  // Body
  //DelayMs ( 250 );
// DelayMs ( 250 );
  putch ( 'A' );
  restemp = getch() + getch() * 1;
  truehumid = getch() + getch() * 1;
  counter = getch();

  
     
  lcd_goto ( 0x40 );
  lcd_puts ( "tem = " );
  displayFloat ( restemp );
  lcd_putch ( ' ' );
  lcd_putch ( 223 );
  lcd_puts ( "C    " );

  lcd_goto ( 0x54 );
  lcd_puts ( "TRUE = " );
  displayFloat (truehumid);
  lcd_puts ( " %    " );

  lcd_goto ( 0x14 );
  lcd_puts ( "CD = " );
  sprintf ( LCDString, "%d  ", counter );
  lcd_puts ( LCDString );
  
}
}

谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 16-4-2024 06:41 PM , Processed in 0.081119 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表