北邮信通导论第三单元智能温控风扇

智能温控风扇(显示温度转速+高温自动开启)

#include <U8glib.h>
#define INTERVAL_LCD 20       
unsigned long lcd_time = millis();  
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);  
 
#define setFont_L u8g.setFont(u8g_font_7x13)
#define setFont_M u8g.setFont(u8g_font_fixed_v0r)
#define setFont_S u8g.setFont(u8g_font_fixed_v0r)
#define setFont_SS u8g.setFont(u8g_font_fub25n)

double analogVotage;
double temp;
unsigned int dutyCycle;
unsigned int tempMin=20;
unsigned int tempMax=33;

void setup() {
  Serial.begin(115200);
  analogReference(INTERNAL);
}

void loop() {
  analogVotage=1.1*(float)analogRead(A3)/1023;
  temp=100*analogVotage;
  if(temp<=tempMin)
    dutyCycle=0;
  else if(temp<tempMax)
    dutyCycle=(temp-tempMin)*255/(tempMax-tempMin);
  else
    dutyCycle=255;
  analogWrite(10,dutyCycle);
  Serial.print("Temp:");Serial.print(temp);
  Serial.print("Degrees Duty cycle:");
  Serial.print(dutyCycle);
   u8g.firstPage();  
    do {    
        setFont_L;    
        u8g.setPrintPos(0,10);    
        u8g.print(temp);
        u8g.setPrintPos(0,30);    
        u8g.print(dutyCycle);
    }while (u8g.nextPage());
  delay(100);
}

小白还没学过电路,如果图画得有问题请指出 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值