日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

西安下雪了,做了一个室内温度计

發(fā)布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 西安下雪了,做了一个室内温度计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

摘要:最近各地都在下雪,湖南湖北西安都下雪了。養(yǎng)熱帶花草和寵物的同學(xué)們需要多留意室內(nèi)溫度。下面教一個實用性強、制作簡單的溫度計。使用DS18B20溫度傳感器和OLED模塊構(gòu)建,這里使用的開發(fā)板是Arduino。

本項目的源碼和3D文件在后臺回復(fù):20211228,即可獲取。

一、材料清單

  • Arduino × 1

  • DS18B20 溫度傳感器 × 1

  • 0.96 英寸 OLED 模塊 × 1

  • 電平轉(zhuǎn)換器模塊 × 1

  • 二、編程和測試

    1、將代碼文件上傳至 Arduino。

    2、顯示器上的圖形可以根據(jù)自己的具體情況來修改。

    3、將所有的組件安裝到面包板上。接線方式如圖所示。

    代碼如下,代碼很簡單,就不過多介紹了。

    #include?<Arduino.h> #include?<U8g2lib.h> #include?<OneWire.h>? #include?<DallasTemperature.h>#ifdef?U8X8_HAVE_HW_SPI #include?<SPI.h> #endif #ifdef?U8X8_HAVE_HW_I2C #include?<Wire.h> #endifU8G2_SSD1306_128X64_NONAME_1_SW_I2C?u8g2(U8G2_R0,?SCL,?SDA,U8X8_PIN_NONE);?#define?SUN????0 #define?SUN_CLOUD??1 #define?CLOUD?2 #define?RAIN?3 #define?THUNDER?4char?i=0; #define?ONE_WIRE_BUS?2? OneWire?oneWire(ONE_WIRE_BUS);? DallasTemperature?sensors(&oneWire);void?drawWeatherSymbol(u8g2_uint_t?x,?u8g2_uint_t?y,?uint8_t?symbol) {??switch(symbol){case?SUN:u8g2.setFont(u8g2_font_open_iconic_weather_6x_t);u8g2.drawGlyph(x,?y,?69);????break;case?SUN_CLOUD:u8g2.setFont(u8g2_font_open_iconic_weather_6x_t);u8g2.drawGlyph(x,?y,?65);????break;case?CLOUD:u8g2.setFont(u8g2_font_open_iconic_weather_6x_t);u8g2.drawGlyph(x,?y,?64);????break;case?RAIN:u8g2.setFont(u8g2_font_open_iconic_weather_6x_t);u8g2.drawGlyph(x,?y,?67);????break;case?THUNDER:u8g2.setFont(u8g2_font_open_iconic_embedded_6x_t);u8g2.drawGlyph(x,?y,?67);break;??????} }void?drawWeather(uint8_t?symbol,?int?degree) {drawWeatherSymbol(0,?55,?symbol);u8g2.setFont(u8g2_font_logisoso32_tf);u8g2.setCursor(48+3,?55);u8g2.print(degree);u8g2.print("°C");? }void?drawScrollString(int16_t?offset,?const?char?*s) {static?char?buf[36];size_t?len;size_t?char_offset?=?0;u8g2_uint_t?dx?=?0;size_t?visible?=?0;len?=?strlen(s);if?(?offset?<?0?){char_offset?=?(-offset)/8;dx?=?offset?+?char_offset*8;if?(?char_offset?>=?u8g2.getDisplayWidth()/8?)return;visible?=?u8g2.getDisplayWidth()/8-char_offset+1;strncpy(buf,?s,?visible);buf[visible]?=?'\0';u8g2.setFont(u8g2_font_8x13_mf);u8g2.drawStr(char_offset*8-dx,?62,?buf);}else{char_offset?=?offset?/?8;if?(?char_offset?>=?len?)return;????//?nothing?visibledx?=?offset?-?char_offset*8;visible?=?len?-?char_offset;if?(?visible?>?u8g2.getDisplayWidth()/8+1?)visible?=?u8g2.getDisplayWidth()/8+1;strncpy(buf,?s+char_offset,?visible);buf[visible]?=?'\0';u8g2.setFont(u8g2_font_8x13_mf);u8g2.drawStr(-dx,?62,?buf);}}void?draw(const?char?*s,?uint8_t?symbol,?int?degree) {int16_t?offset?=?-(int16_t)u8g2.getDisplayWidth();int16_t?len?=?strlen(s);for(;;){u8g2.firstPage();do?{drawWeather(symbol,?degree);//?drawScrollString(offset,?s);}?while?(?u8g2.nextPage()?);delay(20);offset+=2;if?(?offset?>?len*8+1?)break;} }void?setup(void)?{pinMode(10,?OUTPUT);pinMode(9,?OUTPUT);?u8g2.begin();??u8g2.enableUTF8Print();sensors.begin();? }void?loop(void)?{sensors.requestTemperatures();u8g2.firstPage();do?{drawWeather(SUN_CLOUD,?sensors.getTempCByIndex(0));}?while?(?u8g2.nextPage()?);delay(1000); }

    三、3D打印外殼

    這個外殼最初只能容納 OLED 模塊。最后通過對 Piksey Pico 進行修改,我將所有組件都裝進去了。如果你使用的是 Arduino Nano 或 UNO,那么外殼就只能容納顯示器,其他電子設(shè)備必須放在外面。

    四、接線測試

    布線方式可根據(jù)自己的習(xí)慣來。在項目中,我使用的是多股線,效果不錯。最終的布線方式,會根據(jù)你的實際情況來,可能會與我的有些不同。

    布線完畢后開始測試,確保一切正常后再進行組裝。

    五、組裝所有的配件

    最后,當(dāng)所有的配件安裝完畢后,將外殼合上。注意安裝時不要對 OLED 模塊用力過猛,以免造成破損。

    到目前為止,整個項目就完成了。這個項目非常的簡單,適合初學(xué)的電子愛好者,如果你手頭正好有一個不用的arduino板子和一個ds18b20就動手做一個吧

    社區(qū):MAKE趣無窮

    文章項目來源:https://make.quwj.com/project/180

    點擊查看往期內(nèi)容


    推薦閱讀:

    專輯|Linux文章匯總

    專輯|程序人生

    專輯|C語言

    我的知識小密圈

    關(guān)注公眾號,后臺回復(fù)「1024」獲取學(xué)習(xí)資料網(wǎng)盤鏈接。

    歡迎點贊,關(guān)注,轉(zhuǎn)發(fā),在看,您的每一次鼓勵,我都將銘記于心~

    總結(jié)

    以上是生活随笔為你收集整理的西安下雪了,做了一个室内温度计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。