找回密码
 注册
关于网站域名变更的通知
查看: 506|回复: 4
打印 上一主题 下一主题

#技术风云榜#七行代码实现一个温湿度计(Oled屏显示)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-11-16 18:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 行者~ABC 于 2020-11-18 09:40 编辑
1 ?9 M3 O% ?' m( g
! x' @$ ?2 z+ A' h一、前言
6 c0 I+ l4 [! U% y3 A* J
! c1 q  ?4 ^! Pshineblink core 开发板(简称Core)的库函数支持SHT30温湿度传感器,所以只需要调用两个API,即可实现温湿度测量功能。
" r1 J: f0 N& a3 q  Q  O, E
) ?# y6 M+ l6 l3 P0 B6 g  QPS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/Usb/RS485/RS232通信、以及30多种传感器/10多种硬件外设/10多种mcu内设功能,并且这些功能最多可以 5 种随机组合同时运行。
" ?3 T  P% e# `2 _. v0 `. b3 _% O' S' a1 a; j0 d8 p/ B, c% C

. K  M9 j  |6 r/ N* W; [
. n9 |) r7 t# p$ _  N" P/ f二、制作材料' _- K! L) g8 x" C7 s/ \$ f
( F$ V- i3 v) Q) r$ D
1. shineblink core开发板一个7 }; d( L2 U% E
2. sht30温湿度传感器模块一个3 h1 |8 b9 J: o/ q- s8 ^+ s
3. 0.96寸oled显示屏一个' a: R. @8 ]3 M8 U# Y+ A
4. TYPE00-0000003F 电路板一个,该电路板的原理图及PCB源文件请在下面的网盘地址中下载(AD工程):
6 K; ^' {" w" |% N7 v3 R( X4 P
7 f% X1 B6 i$ |: v. x5 ~$ `8 K6 ^0 c' ?2 I2 x- ?
9 a  R7 |5 I+ G9 N
8 _) s5 F0 f6 w2 }: p) D* U

6 R3 ]+ T0 a) |! y/ B5 y; U三、完整代码9 }: r& x% t/ F+ z! I) `# F% X

5 P: m2 }/ @3 i. xLIB_Sht3xConfig("IIC0","10","HIGH"); I: [# M6 X1 b2 V! k; m
LIB_0_96_OledConfig("IIC1")
4 Y' a. U, I9 M& P" W" }( t9 q
' b3 C9 K  f+ r7 e--开始大循环
; O) N% ~& b1 g8 V' ywhile(GC(1) == true)0 }8 ^+ M7 g1 V8 w4 V
do% y0 p" B* ]; L, w" J* b* q( d
    --延时1000毫秒
0 ~' N4 {5 _) i6 `8 U9 h% H& z    LIB_DelayMs(1000)
+ D$ T5 j; Q( v! p        
0 V! R( d. w5 V& o    --查询sht3x传感器是否出数. I. P$ J+ x& @+ \, O( R$ r; M
    sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
1 t+ ^7 ]* S+ E4 R1 |9 ~2 N' Z    --如果传感器有数据产生7 {# I2 `9 Z6 l/ S4 W3 |# ]- c
    if sht3x_flag == 1 then* _( `6 }3 X& s! G
        --在oled屏幕的第二行和第三行分别显示温度和湿度
& F8 d: m% Y+ x3 [/ ~% V. w& _( R        LIB_0_96_OledPuts("2","1",string.format("temprature: %.2f", sht3x_temp))& A5 K3 J2 s& e4 E
        LIB_0_96_OledPuts("3","1",string.format("humidity: %.2f", sht3x_humi))  [- r3 T$ l& W+ @+ y
    end
/ p- X' e9 R5 q: Q9 r7 Mend
$ ~, Q% s3 h! I2 [7 w' d' y5 s! Q0 l6 @) ?) T2 p2 L
+ U$ k1 K  L. R- q
四、制作过程 & 结果展示
6 w  Y0 E6 g# G  N. ~' L( G" m, R
' I2 v% K3 x0 eCore的开发方式非常简洁优雅,用记事本(或其他任何编辑器)打开Core开发板TF卡上的main.lua文件,然后将上面的代码复制到main.lua文件中即可,由于Core内置Lua编译器,所以无需你做任何处理,Core即可按照上面的代码开始工作。
) c8 D8 H2 Q* D3 [, T7 O% T# M: j) Q0 P& f/ Y" B
下图为组装焊接完成后代码开始运行的效果:% n( Z. E" r/ E/ j& N3 [

2 s2 Q0 y  ?4 M8 t& H$ @ 7 `" r( e/ E1 F5 u7 C3 N8 K" ?
$ z9 V% ?9 Y! r% X) n, m: Y
3 k5 B1 K1 T- A5 ?  k( k& i5 r+ V4 y
五、结语
. i/ n# `) H7 B7 a( w, m) m2 a, M# a3 X
上面的代码实现了每隔1秒更新显示一次温湿度传感器输出的值。关于Core更多的技术资料,可以访问 shineblink.com 来了解。' `' O$ a3 x5 ?! p& g- B# f$ ?) n
3 |6 Y2 B# M& Q. w/ X8 }

# [- C  _1 d& k+ a: L( p

该用户从未签到

2#
发表于 2020-11-18 09:41 | 只看该作者
板子小,功能还挺大

点评

是啊,可以实现不少好玩的东西  详情 回复 发表于 2020-11-21 12:24
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-11-18 10:08 | 只看该作者
    这个液晶用过,用串口控制

    点评

    这个不是串口屏,是IIc屏  详情 回复 发表于 2020-11-21 12:25

    该用户从未签到

    4#
     楼主| 发表于 2020-11-21 12:24 | 只看该作者
    行者~ABC 发表于 2020-11-18 09:41
    3 `# q  G7 C( _1 o# w8 _板子小,功能还挺大
    1 j: z* u, k! T4 D# n9 i
    是啊,可以实现不少好玩的东西0 b  V) ~7 W' ?* h" e' K0 `/ Z

    该用户从未签到

    5#
     楼主| 发表于 2020-11-21 12:25 | 只看该作者
    Heaven_1 发表于 2020-11-18 10:08
    " T% w, \, I& @. T0 Q6 v0 @8 M) `这个液晶用过,用串口控制
    8 y1 Q% ?0 h# x* Q* Z
    这个不是串口屏,是IIc屏
    0 ^% m( _( h8 q( z
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-20 15:41 , Processed in 0.125000 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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