美文网首页
2022-09-28 做创客难吗

2022-09-28 做创客难吗

作者: 哏都唐姐姐 | 来源:发表于2022-09-27 10:20 被阅读0次
温度湿度测量

创客这个词,现在不怎么提了,创新很难。玩可以,但是总是出新比较难。有一个团队很好,总能推出新东西,这里不介绍,怕被锁。这里就讲讲基础的东西。

一套设备,就是传感器——感知周围物理化学的变化;存储器——把数据记录下来;通讯器——传递数据;当然还有处理器,把物理化学的信号变成电信号。

这样讲简单吧,当然有的时候幽默只在圈里,只有圈里人懂。

传感器—测量温度、空气湿度

显示器—显示数据

存储器—给出时间,存储数据

/////////////////////////////////

#include "Wire.h"

#include <LiquidCrystal.h>

//#include "LiquidCrystal_I2C.h"

#include "DHT.h"

#include "uRTCLib.h"

#include <AT24Cxx.h>

//#include "EEPROM.h"

#include <EEPROM.h>

#define DHTPIN 8

#define DHTTYPE DHT11

//#define DHTTYPE DHT22

#define i2c_address 0x57

  LiquidCrystal Lcd(7,6,5,4,3,2);

//设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册

//LiquidCrystal_I2C Lcd(0x27,16,2);

  DHT dht(DHTPIN,DHTTYPE);

  uRTCLib rtc(0x68);

  //uRTCLib rtc;

  int y1;

  int m1;

  int d1;

  int w1;

  int h1;

  int m2;

  int s1;

  float h;

  float t;

  int address;

  AT24Cxx eep(i2c_address, 32); // Initilaize using AT24CXX(i2c_address, size of eeprom in KB).

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);

  Serial.print("This is DATA OF HUMIDITY AND TEMPERATURE!\r\n");

//////

  delay (2000);

  #ifdef ARDUINO_ARCH_ESP8266

    URTCLIB_WIRE.begin(0, 2); // D3 and D4 on ESP8266

  #else

    URTCLIB_WIRE.begin();

  #endif

//rtc.set(0, 20, 15, 2, 27, 9, 22);

  //  RTCLib::set(byte second, byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)

//////

  dht.begin();

  Lcd.begin(16,2);

//Lcd.init();

//Lcd.backlight();

  Lcd.print("Hello world");

  delay(1000);

  Lcd.setCursor(7,1);

  Lcd.print("2022.9.28");

  address = eep.read(0);

  Serial.print("I2C address=");

  Serial.print(address);

  Serial.println();

  delay(1000);

}

void lcddoing()

{

  Lcd.clear();

  Lcd.setCursor(0,0);

  Lcd.print("Humidity:");

  Lcd.print(h);

  Lcd.print("%");

  Lcd.setCursor(0,1);

  Lcd.print("Temperat:");

  Lcd.print(t);

  Lcd.print("C");

  delay(5000);

  Lcd.clear();

  Lcd.setCursor(0,0);

  Lcd.print("date:");

  Lcd.print(y1);

  Lcd.print("-");

  Lcd.print(m1);

  Lcd.print("-");

  Lcd.print(d1);

  Lcd.print(" ");

  Lcd.print("dow");

  Lcd.setCursor(0,1);

  Lcd.print("time:");

  Lcd.print(h1);

  Lcd.print(":");

  Lcd.print(m2);

  Lcd.print(":");

  Lcd.print(s1);

  Lcd.print("  ");

  Lcd.print(w1);

  }

void serialdoing()

{

  rtc.refresh();

  y1=rtc.year();

  m1=rtc.month();

  d1=rtc.day();

  w1=rtc.dayOfWeek();

  h1=rtc.hour();

  m2=rtc.minute();

  s1=rtc.second();

  Serial.print("RTC DateTime: ");

  Serial.print(y1);

  Serial.print('/');

  Serial.print(m1);

  Serial.print('/');

  Serial.print(d1);

  Serial.print(' ');

  Serial.print(h1);

  Serial.print(':');

  Serial.print(m2);

  Serial.print(':');

  Serial.print(s1);

  Serial.print(" DOW: ");

  Serial.print(w1);

  //Serial.print(" - Temp: ");

  //Serial.print(rtc.temp()  / 100);

// Serial.println();

  delay(1000);

  h=dht.readHumidity();

  t=dht.readTemperature();

  float f=dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {

  Serial.println(F("Failed to read from DHT sensor!"));

    return;

  }

  Serial.print(F("      Humidity: "));

  Serial.print(h);

  Serial.print(F("%  Temperature: "));

  Serial.print(t);

  Serial.print(F("°C "));

  Serial.print("\r\n");

  delay(1000);

  }

void loop() {

  // put your main code here, to run repeatedly:

  serialdoing();

  //LCD doing...

  lcddoing();

  //24c32 doing...

  float add1;

  int y2;

  int m3;

  int d2;

  int h2;

  int m4;

  int s2;

  float hu;  //=0.00f;  // float f = 0.00f;

  float te;  //=0.00f;

  add1 = 14*address + 1;

  eep.update(add1,y1);

  y2=eep.read(add1);

  add1 = add1 + 1;

  eep.update(add1,m1);

  m3=eep.read(add1);

  add1 = add1 + 1;

  eep.update(add1,d1);

  d2=eep.read(add1);

  add1 = add1 + 1;

  eep.update(add1,h1);

  h2=eep.read(add1);

  add1 = add1 + 1;

  eep.update(add1,m2);

  m4=eep.read(add1);

  add1 = add1 + 1;

  eep.update(add1,s1);

  s2=eep.read(add1);

  add1 = add1 + 1;

  EEPROM.put(add1,h);

  // EEPROM.commit();

  //hu=eep.get(add1);

  EEPROM.get(add1, hu);

  add1 = add1 + 4;

  EEPROM.put(add1,t);

  //  EEPROM.commit();

  //te=eep.get(add1);

  EEPROM.get(add1, te);

  if (address == 255) {

    add1 = 0;

    address = 0;

    eep.update(0,address);

  }

  else

    address=address+1;

    {eep.update(0,address);

    }

  Serial.print("NO.") ; 

  Serial.print(address);

  Serial.print(" i2c'DateTime:");

  Serial.print(y2);

  Serial.print('-');

  Serial.print(m3);

  Serial.print('-');

  Serial.print(d2);

  Serial.print(' ');

  Serial.print(h2);

  Serial.print(':');

  Serial.print(m4);

  Serial.print(':');

  Serial.print(s2);

  Serial.print(F("      Humidity: "));

  Serial.print(hu);

  Serial.print(F("%  Temperature: "));

  Serial.print(te);

  Serial.print(F("°C "));

  Serial.print("\r\n");

}

////////////////////////

这里就一个小难点,24c32的存储模式,是一个字节,对于int型数据很简单用read(),writer();对于float型数据,需要用到EEPROM.h 库中的put,get。

相关文章

  • 2022-09-28 做创客难吗

    创客这个词,现在不怎么提了,创新很难。玩可以,但是总是出新比较难。有一个团队很好,总能推出新东西,这里不介绍,怕被...

  • 如何把握线下线上门店引流、拓展新客的新方向、新路径

    易创客_厦门易创客公司_厦门易创客怎么样_厦门易创客做微商怎么样_厦门易创客专业吗_易创客公司怎么样_易创客是干嘛...

  • 听说商家都用“九星创客”接单,你OUT了吗?

    获客难,卖货难,生意真难做,这是商家的心声了吧!2019有一套火热的新零售系统“九星创客”你要了解一下吗?加Vsh...

  • 2019-03-04

    最近网络上传得沸沸扬扬的九星创客新零售到底是什么?创客新零售是传销吗?创客新零售是骗局吗?创客新零售合法吗?小编将...

  • TT侠:原创的梦想

    -01- Hi 你好 亲爱的微友 欢迎关注青创客 谢谢你 亲 青创客 专注创客梦想 创客精神,行动追梦 做青创客,...

  • 2019-03-03

    什么是创客新零售?创客新零售198是骗局吗?创客新零售的本质是什么? 九星创客几个关键点: 1、九星创客网络科...

  • STEM创客教育加盟,怎样做才是好的创客教育!

    STEM创客教育加盟,怎样做才是好的创客教育! 想要做好创客教育,有几大要素缺一不可!目前,整个中国的创客...

  • 七绝·拟雁语

    拟雁语 (七绝) 2022-09-28 两脚兽踪无不在,野湖密罟难安宿。 背天再负一程霞,客梦远人方可哭。 (仄韵)

  • 胡桂豪:让每一个创业者逆向盈利(全心创客联盟)

    全心创客联盟 , 作者 胡桂豪(豪哥) 全心创客联盟 全国·启动 等你回家 你还在为创业艰难的飘泊吗?你孤独吗? ...

  • 贝价,咱再来掏掏心

    这几个月在北京和天津做公益的创客沙龙,接触到了很多创客,有的创客梦想很大,有的创客一直在努力,努力到50多岁依然不...

网友评论

      本文标题:2022-09-28 做创客难吗

      本文链接:https://www.haomeiwen.com/subject/pbqcartx.html