0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Raspberry Pi和SensorMedal制作IoT跳繩設(shè)備 第四部分:在設(shè)備上安裝顯示器以增加動力

王銀喜 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-23 15:18 ? 次閱讀

第一部分:用跳繩測試儀解決運動不足問題!
第二部分:用SensorMedal檢測跳躍次數(shù)并在顯示器上顯示
第三部分:連接Google Drive,保存并查看跳繩結(jié)果

大家好,我是吉田!

本文是制作一款用來解決運動不足問題的跳繩設(shè)備項目連載的最后一篇。我們已經(jīng)成功實現(xiàn)了跳躍次數(shù)計數(shù)及其數(shù)據(jù)保存,在這部分中,我們將為這臺設(shè)備安裝一個顯示器,讓它實現(xiàn)能夠激發(fā)您動力的有趣顯示,以便您可持之以恒地堅持運動。

pYYBAGPyzHGALBgoAAJ3btmzOFY183.jpg

poYBAGPyzHOAODPJAAHJz_8RpOw351.jpg

本部分所需部件

跳繩

poYBAGPyzZSAa-AYAAB1zwaR4_s341.jpg

ROHM SensorMedal(SensorMedal-EVK-002)

pYYBAGPyzZaAa4Y0AACN-y6Q7Io389.jpg

Raspberry Pi zero(Raspberry Pi Zero W)

pYYBAGPyzZmACcDcAACssHa76rI331.jpg

FOUR LETTER LED PHAT

pYYBAGPyzZuARf7oAACS5896Ozg928.jpg

Raspberry Pi4

poYBAGPzDMaABfRjAACk1B9oc7g469.jpg

7英寸觸控顯示器

pYYBAGPzDMeAVPrJAAB72giq4q0623.jpg

本部分的流程

Raspberry Pi用顯示器的設(shè)置

在屏幕上顯示跳繩信息

以有趣的方式顯示跳躍次數(shù),讓動力滿滿!

總結(jié)

1.Raspberry Pi用顯示器的設(shè)置

適用于Raspberry Pi的顯示器包括下面這款7英寸大小的觸控屏。通過HDMI(如果是Raspberry Pi4的話是MicroHDMI)將其與Raspberry Pi連接,即可在大屏幕上顯示數(shù)據(jù)。

poYBAGPzDMmAEmQpAAEr9CYBkyQ869.jpg

我們會用Raspberry Pi創(chuàng)建應(yīng)用程序,以實現(xiàn)在這個屏幕上顯示。為此,我們將使用可以創(chuàng)建桌面應(yīng)用程序的Tkinter。
首先,安裝Tkinter。

$ sudo apt-get install python3-tk

創(chuàng)建可以顯示當(dāng)前時間的程序display.py。

pi@raspizero:~/Programs $ sudo vi display.py
 
--------- 
#!/usr/bin/python
# -*- coding: utf-8 -*-
from tkinter import *
from datetime import datetime
from time import sleep
 
# 創(chuàng)建主窗口
root = Tk()
# 主窗口大小
root.geometry("720x480")
# 主窗口標(biāo)題
root.title("Clock")
 
# 創(chuàng)建Canvas
c = Canvas(root, , width=500, height=480)
c.pack(expand=True, fill='x', padx=5, side='left')
 
# 創(chuàng)建字符串
cd = c.create_text(350, 180, font=('', 40, 'bold'), fill='black')
ct = c.create_text(350, 280, font=('', 80), fill='black')
 
# 主窗口的最大化
root.attributes("-zoomed", "1")
# 總是在最前顯示
root.attributes("-topmost", False)
 
def cupdate():
 
    # 顯示當(dāng)前時間
    now = datetime.now()
    d = '{0:0>4d}年{1:0>2d}月{2:0>2d}日 ({3})'.format(now.year, now.month, now.day, now.strftime('%a'))
    t = '{0:0>2d}:{1:0>2d}:{2:0>2d}'.format(now.hour, now.minute, now.second)
    c.itemconfigure(cd, text=d)
    c.itemconfigure(ct, text=t)
    c.update()
    # 以1秒間隔重復(fù)
    root.after(1000, cupdate)
 
# 注冊回調(diào)函數(shù)
root.after(1000, cupdate)
# 主循環(huán)
root.mainloop()

像sudo python3 display.py那樣運行這個程序時,會創(chuàng)建一個顯示當(dāng)前時間的桌面應(yīng)用程序。

poYBAGPzDMuAGrcHAAJA8SMhkrE306.jpg
顯示時間的桌面應(yīng)用程序

2. 在屏幕上顯示跳繩信息

將顯示器與Raspberry Pi連好后,讓我們嘗試一下在上面顯示上次在Google Sheets中記錄的跳躍次數(shù)吧。

需要能夠?qū)oogle Sheets中的數(shù)據(jù)讀取到桌面應(yīng)用程序中。需要顯示Google Sheets中的時間、次數(shù)和卡路里數(shù)據(jù)。我們將用來讀取Google sheets的程序添加到前面的display.py程序中(用黃色表示增加的描述部分)。

pi@raspizero:~/Programs $ sudo cp display.py  jump_display.py
 
--- 下面的更改或添加部分用黃色表示 ---
#!/usr/bin/env python3
# coding: utf-8
from tkinter import *
 
---
 
import gspread
from apiclient import discovery
from oauth2client.service_account import ServiceAccountCredentials
import httplib2
import numpy as np
from datetime import datetime
 
key_name   = "xxx.json" # Use your own information
sheet_id      = “yyy” # sheet_id
sheet_name= “zzz”
 
class SpreadSheet(object):
  def __init__(self, sheet_id):
    self.sheetId = sheet_id
  def search(searchKey):
    scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
    credentials = ServiceAccountCredentials.from_json_keyfile_name(key_name, scope)
    gc = gspread.authorize(credentials)     # 使用JSON密鑰文件進(jìn)行身份驗證
    wks = gc.open(sheet_name).sheet1        # 打開sheet
    records = wks.get_all_values()          # 讀取內(nèi)容并保存在數(shù)組中
    for i in range(1, len(records)):        # 僅重復(fù)sheet的行數(shù)
        if records[i][0] == searchKey:     # 直到第一列與TerminalID匹配
            gdate=records[i][0]
            gtime=records[i][1]
            gjump=records[i][2]
            gdur =records[i][3]
            gcal =records[i][4]
            print(gdate, gtime, gjump, gdur, gcal) 
    return gdate, gtime, gjump, gdur, gcal
spread_sheet = SpreadSheet(sheet_id) 
 
---
 
# 創(chuàng)建字符串
cd = c.create_text(100, 60, font=('', 80,), fill='blue')
ct = c.create_text(100, 120, font=('', 80), fill='red')
 
---
 
def cupdate():
 
    totals = spread_sheet.search("Total")
    total_count= totals[2]
    total_time = totals[3]
    jump_text  = str(total_count)+”次 "
    c.itemconfigure(cd, )
    c.itemconfigure(ct, text=jump_text)
    c.update()
 
---

通過運行這個程序,應(yīng)該能夠從Google Sheets中獲取總跳躍次數(shù)并將其顯示在屏幕上。

pYYBAGPzDM2APiNzAAImSbRn8MM051.jpg

3. 以有趣的方式顯示跳躍次數(shù),讓動力滿滿!

最后,讓我們把這個帶顯示器的Raspberry Pi做成平板電腦的樣子吧。另外,我們假設(shè)跳躍一次相當(dāng)于走了1m,可以將跳繩比作東海道五十三次徒步,可以看到自己走到哪里了,甚至可以用來和朋友比賽。

那么,我們先開始“外部裝潢”吧。

首先,準(zhǔn)備一個B5大小的外殼。在外殼上開一個顯示器大小的窗口。

poYBAGPzDM-AGKltAAKEBMcPSTo530.jpg

將液晶顯示器、Raspberry Pi和移動電源放入外殼中。

打開電源并確認(rèn)屏幕顯示。

pYYBAGPzDNKAPw-RAAJ-yZwfxpc435.jpg

現(xiàn)在外部裝潢好了,我創(chuàng)建了一個可以讓顯示更有趣的程序。我把示例程序放在下面的Github上了,您可以試用一下:

https://github.com/ktrips/jump/blob/master/jump.py

好啦,現(xiàn)在讓我們開始跳繩吧。

poYBAGPzDNSAKFd2AAJYZjNZJQY367.jpg

跳繩后請確認(rèn)一下數(shù)值是否更新了,顯示是否改變了。

poYBAGPzDNWAPKeTAAFLLDGuipg592.jpg

poYBAGPzDNeANVx0AAJMTLkEcJw822.jpg

用這種方法保持動力,堅持跳繩是不是變得更容易了?

4. 總結(jié)

在本系列連載中,我們使用Raspberry Pi和SensorMedal制作了一款能夠?qū)⑻K數(shù)字化的物聯(lián)網(wǎng)設(shè)備。

首先,我們在手柄上安裝了4位顯示器,通過SensorMedal的加速度傳感器檢測跳躍次數(shù)并將數(shù)據(jù)在顯示器上顯示出來了。

接下來,我們實現(xiàn)了將跳躍結(jié)果發(fā)送到Google Sheets,并將其作為歷史記錄保存下來。還增加了總時間、總次數(shù)、卡路里等數(shù)據(jù)。

最后,我們讓這款帶有顯示器的Raspberry Pi設(shè)備能夠顯示各種信息,以便增加跳繩和運動的動力。這次,我設(shè)置的是讓跳躍1次相當(dāng)于步行1m,看看自己最終在所謂的“東海道五十三次徒步”中走了多遠(yuǎn),通過這種方式來享受跳繩運動的樂趣。此外,我還用飯團(tuán)等來顯示卡路里量,這也是一種有趣的顯示方式。

怎么樣,我們是不是創(chuàng)建了一款誰都可以輕松享受跳繩、有助于解決運動不足問題的設(shè)備呢?對于越來越喜歡“家里蹲”的人而言,希望這款設(shè)備能成為激發(fā)您運動健身的轉(zhuǎn)折點!

本系列連載一覽

第一部分:用跳繩測試儀解決運動不足問題!
第二部分:用SensorMedal檢測跳躍次數(shù)并在顯示器上顯示
第三部分:連接Google Drive,保存并查看跳繩結(jié)果
第四部分:在設(shè)備上安裝顯示器以增加動力!(本章)

吉田顯一(Yoshiken)

在普通公司工作的上班族,非常喜歡創(chuàng)作的周末創(chuàng)客,出版了電子書MESHBOOK,平時也寫寫博客。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4862

    瀏覽量

    139357
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    1

    文章

    554

    瀏覽量

    22128
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    186

    文章

    4097

    瀏覽量

    195100
收藏 人收藏

    評論

    相關(guān)推薦

    如何在Raspbian設(shè)置沒有顯示器和鍵盤的Raspberry Pi

    本教程中,我們將了解如何在新安裝的 Raspbian 設(shè)置沒有顯示器和鍵盤的 Raspberry P
    發(fā)表于 09-22 16:31 ?1533次閱讀
    如何在Raspbian<b class='flag-5'>上</b>設(shè)置沒有<b class='flag-5'>顯示器</b>和鍵盤的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>

    獨特的51單片機(jī)教程第四部分—牛人經(jīng)驗,論壇獨家奉獻(xiàn)

    本帖最后由 eehome 于 2013-1-5 10:01 編輯 獨特的51單片機(jī)教程第四部分:基本IO操作和 定時/計數(shù) 前面的之三寫得很辛苦。我當(dāng)時說,這一篇對于你直接點亮 LED
    發(fā)表于 11-21 09:28

    【藍(lán)牙4.1】+ 分享一本好書《Psoc 體系結(jié)構(gòu)與編程》四部分完全版

    =292215&highlight=PSOC%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84第二部分:第三部分第四部分
    發(fā)表于 06-11 00:21

    火力發(fā)電廠水汽分析方法 第四部分:氯化物的測定 (電極法)D

    火力發(fā)電廠水汽分析方法 第四部分:氯化物的測定 (電極法)DL/T 502.4—2006 Analytical methods of steam and water
    發(fā)表于 06-08 13:08 ?15次下載

    國內(nèi)衛(wèi)星通信地球站發(fā)射接收和地面通信設(shè)備技術(shù)要求 第四部分

    國內(nèi)衛(wèi)星通信地球站發(fā)射接收和地面通信設(shè)備技術(shù)要求 第四部分中速數(shù)據(jù)傳輸設(shè)備 本標(biāo)準(zhǔn)規(guī)定的各項規(guī)則涉及國內(nèi)衛(wèi)星通信地球站內(nèi)中速數(shù)據(jù)傳輸?shù)母鞣N設(shè)備本標(biāo)準(zhǔn)的制定
    發(fā)表于 10-05 10:33 ?49次下載

    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓(xùn)_第四部分

    2012年P(guān)SoC數(shù)模混合設(shè)計培訓(xùn)_第四部分
    發(fā)表于 10-27 09:27 ?4次下載
    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓(xùn)_<b class='flag-5'>第四部分</b>

    Raspberry PiSensorMedal制作IoT跳繩設(shè)備:連接Google Drive,保存并查看跳繩結(jié)果

    第一部分跳繩測試儀解決運動不足問題!第二部分SensorMedal檢測跳躍次數(shù)并在
    的頭像 發(fā)表于 02-20 11:14 ?855次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和<b class='flag-5'>SensorMedal</b><b class='flag-5'>制作</b><b class='flag-5'>IoT</b><b class='flag-5'>跳繩</b><b class='flag-5'>設(shè)備</b>:連接Google Drive,保存并查看<b class='flag-5'>跳繩</b>結(jié)果

    Raspberry PiSensorMedal制作IoT跳繩設(shè)備SensorMedal檢測跳躍次數(shù)并在顯示器顯示

    第一部分跳繩測試儀解決運動不足問題!?大家好,我是吉田!第一部分中,我們簡要介紹了本項目以及所需的準(zhǔn)備工作,從第二
    的頭像 發(fā)表于 02-20 13:34 ?768次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和<b class='flag-5'>SensorMedal</b><b class='flag-5'>制作</b><b class='flag-5'>IoT</b><b class='flag-5'>跳繩</b><b class='flag-5'>設(shè)備</b>:<b class='flag-5'>用</b><b class='flag-5'>SensorMedal</b>檢測跳躍次數(shù)并在<b class='flag-5'>顯示器</b><b class='flag-5'>上</b><b class='flag-5'>顯示</b>

    Raspberry PiSensorMedal制作IoT跳繩設(shè)備跳繩測試儀解決運動不足問題!

    大家好,我是吉田!隨著在室內(nèi)度過的時間越來越多,我趁機(jī)制作了各種旨在解決運動不足問題的項目。這次為大家介紹的項目是把在家中也能輕松使用的健身器材“跳繩”數(shù)字化,并將其與物聯(lián)網(wǎng)連接起來。
    的頭像 發(fā)表于 02-20 11:45 ?661次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和<b class='flag-5'>SensorMedal</b><b class='flag-5'>制作</b><b class='flag-5'>IoT</b><b class='flag-5'>跳繩</b><b class='flag-5'>設(shè)備</b>:<b class='flag-5'>用</b><b class='flag-5'>跳繩</b>測試儀解決運動不足問題!

    一款Raspberry Pi和傳感制作的可穿戴式小型健康管理設(shè)備!第四部分?劇終篇

    第1部分Raspberry Pi Zero和羅姆SensorMedal制作健康管理
    的頭像 發(fā)表于 02-24 10:06 ?2065次閱讀
    一款<b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感<b class='flag-5'>器</b><b class='flag-5'>制作</b>的可穿戴式小型健康管理<b class='flag-5'>設(shè)備</b>!<b class='flag-5'>第四部分</b>?劇終篇

    Raspberry Pi和傳感制作“可自動營造舒適空間的裝置” 第四部分?劇終篇

    第1回:Raspberry Pi和傳感制作“可自動營造舒適空間的裝置” 第一部分第2回:
    的頭像 發(fā)表于 02-24 10:17 ?641次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感<b class='flag-5'>器</b><b class='flag-5'>制作</b>“可自動營造舒適空間的裝置” <b class='flag-5'>第四部分</b>?劇終篇

    Raspberry Pi和傳感制作“可自動營造舒適空間的裝置” 第二部分

    大家好,我是吉田!我們這次要創(chuàng)作一款讓家中更舒適、讓在家辦公更高效的設(shè)備,本文是第二部分。第一部分介紹了制作綱要和所需部件。這次我們將實際連接Bluetooth傳感
    的頭像 發(fā)表于 03-01 11:15 ?469次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和傳感<b class='flag-5'>器</b><b class='flag-5'>制作</b>“可自動營造舒適空間的裝置” 第二<b class='flag-5'>部分</b>

    通過TwythonRaspberry Pi發(fā)推文?。ǖ?部分

    歡迎來到通過“Twython”Raspberry Pi發(fā)推文的第2部分。和上次一樣,我們將遵循Ras
    的頭像 發(fā)表于 03-01 10:19 ?584次閱讀
    通過Twython<b class='flag-5'>在</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>上</b>發(fā)推文?。ǖ?<b class='flag-5'>部分</b>)

    硬件即代碼第四部分:嵌入式RAM

    電子發(fā)燒友網(wǎng)站提供《硬件即代碼第四部分:嵌入式RAM.zip》資料免費下載
    發(fā)表于 06-14 15:10 ?0次下載
    硬件即代碼<b class='flag-5'>第四部分</b>:嵌入式RAM

    【北京迅為】iTOP-i.MX6開發(fā)板使用手冊第四部分固件編譯第十四章非設(shè)備樹Android4.4系統(tǒng)編譯

    【北京迅為】iTOP-i.MX6開發(fā)板使用手冊第四部分固件編譯第十四章非設(shè)備樹Android4.4系統(tǒng)編譯
    的頭像 發(fā)表于 09-12 15:43 ?152次閱讀
    【北京迅為】iTOP-i.MX6開發(fā)板使用手冊<b class='flag-5'>第四部分</b>固件編譯第十四章非<b class='flag-5'>設(shè)備</b>樹Android4.4系統(tǒng)編譯