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

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

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

如何利用樹莓派的手勢控制全息音頻可視化器

科技觀察員 ? 來源:Hacker Shack ? 作者:Hacker Shack ? 2022-04-08 17:46 ? 次閱讀

一個帶有手勢控制的 3D 全息音頻可視化器絕對可以為您的生活增添趣味并給您的朋友留下深刻印象。該顯示器將來自監(jiān)視器的圖像向下投射到丙烯酸金字塔或“平截頭體”上,然后創(chuàng)建 3D 效果。具有音頻可視化器,可實時響應(yīng)從 SoundCloud 播放列表播放的音樂。顯示器還有一個手勢控制接口板,可以在不被觸摸的情況下檢測各種手部動作。這意味著在空中比劃或轉(zhuǎn)動您的手將可以控制播放下一首歌曲、暫停、調(diào)整音量、切換可視化器以及其他很酷的功能。

當(dāng)然,這個項目最方便的是所需的電子硬件非常少,而且我們已經(jīng)為您編寫了代碼。您只需要設(shè)置軟件并構(gòu)建一個框架即可將它們組合在一起。

構(gòu)建頂部框架

首先,我們構(gòu)建了框架的頂部,用于放置投影圖像的監(jiān)視器。我們使用了一個 24 英寸屏幕的電腦顯示器,整體尺寸約為 13.38 英寸 x 21.88 英寸。您可能需要根據(jù)顯示器的大小調(diào)整框架的大小。

頂部框架只是一個矩形,框架內(nèi)側(cè)有一個唇緣,用于放置顯示器的邊緣。我們使用 1.5“ x 0.5” 木材制作框架,并使用 0.75“ x 0.75” 木材作為內(nèi)唇。

poYBAGJQBE6ACiLZAASlHlBvEGc379.png

使用手鉆,我們使用兩個 #6 木螺釘一次將內(nèi)唇連接到框架上,然后將這些組合件中的每一個排列成一個矩形,并通過將末端擰在一起將它們組裝在一起。

pYYBAGJQBEqAflfDAAK879TOlI4559.png

構(gòu)建底部框架

底部框架類似于頂部框架,除了沒有內(nèi)唇。我們使用 1 英寸 x 2 英寸(實際上是 1.5 英寸 x 0.75 英寸)的木板制作了底部框架,其外部尺寸與頂部框架相同。盡管外部尺寸相同,但由于木板的厚度不同,碎片的長度略有不同。我們將這些部件排列成一個矩形并將它們擰在一起,如下圖所示:

poYBAGJQBEaAMdqZAAMLKHzg_Cc334.png

然后我們將兩個額外的垂直部件擰到底部框架的背面。這些部件是支撐頂部框架的柱子。這件作品的高度也將取決于您的顯示器尺寸,因為我們要制作的亞克力截頭體以 45 度角從頂部框架延伸到底部框架,并且您的顯示器將不再投射到截頭體的某些部分上,如果它太高太寬的話。

pYYBAGJQBEKAKmK6AAQJSwxmKXk957.png

當(dāng)然,如果它只是未完成的木頭,組裝看起來不會很好。在將頂部和底部框架連接在一起之前,我們用一些黑色的半光澤噴漆噴涂它。

pYYBAGJQBD6AYbjwAAPR54QoO9g598.png

切割亞克力平截頭體

制作截錐體是構(gòu)建中更具挑戰(zhàn)性的部分之一。平截頭體是三塊亞克力板組合在一起形成一個具有 45 度坡度的三邊金字塔。這被稱為截錐體。

我們必須對亞克力板進(jìn)行評分并將其折斷到精確的尺寸。如果處理不當(dāng),亞克力板可能會以意想不到的方式斷裂,邊緣可能不直,截頭錐體可能無法很好地結(jié)合在一起。尺寸也高度依賴于您的顯示器尺寸。

如果不構(gòu)建 3D 模型來獲得所需的確切尺寸的話,則尺寸也很難確定。我們建議在您的計算機(jī)上對其進(jìn)行建模,或者構(gòu)建一個紙板模型以確保它能夠正確組合在一起。

用鋼筆或記號筆在亞克力板上盡量精確的描出形狀。然后,使用評分工具對丙烯酸進(jìn)行 20-50 次評分。使用直尺(如長木頭)引導(dǎo)您的評分工具筆直。最好將導(dǎo)向直尺放置在您要切割的零件的一側(cè),以防止刻痕工具無意中偏離預(yù)期路徑并越過工件表面。

poYBAGJQBDeATkblAAPjix43RXA829.png

poYBAGJQBDSAa_qOAANtHB40hMw000.png

pYYBAGJQBDCAWDZFAARDD7jAo-Q982.png

組裝

現(xiàn)在大部分零件都制作好了,我們可以開始組裝設(shè)備了。因為框架頂部會有一個很重的顯示器,所以我們 3D 打印了一些支架放在角落里。我們附上了 3D 文件供您打印,但您也可以從五金店獲得支架。

poYBAGJQBCyAafwbAARKXoIgNPQ129.png

首先我們需要使用一些黑色 PVC 板或其他類似材料覆蓋組件的底部和背面。它們還通過阻擋光線并為全息圖創(chuàng)建深色背景來增加 3D 全息效果。我們使用美工刀切出一些 0.118 英寸的 PVC 板。

poYBAGJQBCiAA_udAAOKKIu-QmY371.png

我們還需要更多的 3D 打印部件來完成其余的構(gòu)建。附加了 3D .stl 文件。如果您沒有自己的 3D 打印機(jī),請嘗試您的大學(xué)或當(dāng)?shù)貓D書館借用。還有一些在線服務(wù)可以接受 .stl 文件,并且可以打印并將零件郵寄給您。

pYYBAGJQBCWAf2GCAAPfh9ID9Sc359.png

在頂部框架的中心,我們連接了一個 3D 打印的平截頭體關(guān)節(jié),以適當(dāng)?shù)慕嵌葘⑷龎K亞克力固定在一起。我們還使用了一些 3D 打印支架將顯示器固定在頂部框架中并將其居中。

pYYBAGJQBB-ASL6DAAOH7W61wZk689.png

最后,我們現(xiàn)在準(zhǔn)備組裝截錐體。將三塊丙烯酸滑入平截頭體接頭的槽中。

poYBAGJQBBuAIlzUAAKzxKpiB8E129.png

接下來,我們要構(gòu)建全息顯示的手勢控制界面。我們的 3D 打印機(jī)不夠大,無法將控制接口外殼打印成一體,因此我們不得不將其分成四部分。只需將 Flick 手勢控制板擰入外殼,將其連接到 Raspberry Pi,然后將 Pi 塞入外殼內(nèi)。然后將其擰入底部全息顯示框架的前部。將 HDMI 電纜從 Pi 連接到顯示器,然后將電源插入 Pi 和顯示器。

pYYBAGJQBBeAdmGZAAK3iOG2hk4149.png

運(yùn)行代碼

該項目在兩個不同的設(shè)備上運(yùn)行。Raspberry Pi 控制 Flick 手勢識別板,該板將命令發(fā)送到運(yùn)行在更強(qiáng)大的 Mac/Windows/Linux 計算機(jī)上的可視化器,支持 webGL 以運(yùn)行圖形。

首先,請確保在要運(yùn)行可視化工具的計算機(jī)和 Raspberry Pi 上下載此存儲庫。

展示臺

可視化器必須在普通計算機(jī)上運(yùn)行,??因為 3d 可視化器動畫滯后于 Raspberry Pi??梢暬瘎赢嬙贓lectron環(huán)境中運(yùn)行,并使用 Three.js(一個 WebGL 庫)制作 3d 圖形。運(yùn)行 Node.js 的服務(wù)器允許與手勢板通信。

首先在您的計算機(jī)上安裝最新的穩(wěn)定版本的Node.js。我使用的是 6.x 版本。接下來,導(dǎo)航到存儲庫目錄并運(yùn)行sudo npm install以安裝項目的依賴項。

使用以下命令啟動可視化器:

npm start

可以通過修改文件const playlist = ‘path/to/playlist’; 中的 const來更改 Soundcloud 播放列表renderer.js ??梢酝ㄟ^提取 Soundcloud 播放列表的 url 結(jié)尾來找到該路徑。例如,如果播放列表的 url 是:

https://soundcloud.com/someartist/sets/aplaylist

常量:

const playlist = ‘someartist/sets/aplaylist’;

控件

首先,確保在 Raspberry Pi 上為 Flick 手勢板安裝了必要的依賴項。首先在終端中運(yùn)行以下命令:

curl -sSL https://pisupp.ly/flickcode | sudo bash

確保重新啟動您的 Pi,然后在終端中運(yùn)行以下命令來測試您的 Flick 板。在測試之前,您需要確保其接線正確。

flick-demo

該項目的控制部分在帶有 python 程序的 Raspberry Pi 上運(yùn)行。您需要確保您的 Raspberry Pi 使用 python 2.7,以便程序正常運(yùn)行。您可以通過運(yùn)行以下命令檢查系統(tǒng)上運(yùn)行的 python 版本:

python --version

導(dǎo)航到存儲庫目錄中的控制文件夾并執(zhí)行以下命令以安裝所有依賴項:

sudo pip install -r requirements.txt

在運(yùn)行控制程序之前,通過將 變量的 一部分swipe-controller.py 替換為運(yùn)行可視化器的計算機(jī)的本地 IP 來修改文件?!禜OST_IP》host = ‘http://《HOST_IP》:3000’

注意:兩臺計算機(jī)必須在同一個網(wǎng)絡(luò)上。您可以通過在終端中鍵入(在 windows 上) 并查找 inet 地址來找到您計算機(jī)的 IP 地址。 ifconfig ipconfig /all

運(yùn)行程序:

python swipe-controller.py

當(dāng)兩個程序都運(yùn)行后,就可以對其進(jìn)行測試了!

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

    關(guān)注

    21

    文章

    4862

    瀏覽量

    139351
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1679

    瀏覽量

    105251
收藏 人收藏

    評論

    相關(guān)推薦

    請教利用樹莓制作六足機(jī)器人的問題

    利用arduino實現(xiàn)對樹莓和舵機(jī)控制器控制,利用樹莓
    發(fā)表于 11-10 15:33

    可視化MES系統(tǒng)軟件

    進(jìn)行篩選、分析和控制,因此,利用可視化技術(shù)將其轉(zhuǎn)化為圖表、圖像和表格等形式展示,便于管理者有效分析、控制和管理。(2)可視化交互方面。車間的
    發(fā)表于 11-30 19:55

    采用MATLAB設(shè)計下的可視化控制

    1、前言:MATLAB下機(jī)器人可視化控制---simulink篇(1)主要內(nèi)容:是利用smimport('YourRobot.urdf');函數(shù)將含有機(jī)器人文件的機(jī)器人導(dǎo)入到MATLAB中,并集合
    發(fā)表于 05-21 09:38

    如何把AD中非可視化區(qū)域物件移到可視化區(qū)域?

    AD中非可視化區(qū)域物件怎么移到可視化區(qū)域???
    發(fā)表于 09-10 05:36

    Python數(shù)據(jù)可視化

    Python數(shù)據(jù)可視化:網(wǎng)易云音樂歌單
    發(fā)表于 07-19 08:30

    常見的幾種可視化介紹

    說說常見的幾種可視化一、信息可視化信息可視化就是對抽象數(shù)據(jù)進(jìn)行直觀視覺呈現(xiàn)的研究,抽象數(shù)據(jù)既包含數(shù)值數(shù)據(jù),也包含非數(shù)值數(shù)據(jù)如文本信息、地圖信息等,它們可通過利用圖形圖像處理、人機(jī)交互、
    發(fā)表于 07-12 07:49

    如何利用樹莓控制步進(jìn)電機(jī)?

    如何利用樹莓控制步進(jìn)電機(jī)?
    發(fā)表于 10-27 07:13

    經(jīng)驗分享|BI數(shù)據(jù)可視化報表布局——容器

    。大家可以根據(jù)自己的情況去選擇開啟或繼續(xù)關(guān)閉。需要注意的是,瀏覽該開關(guān)的效果需要點(diǎn)擊頁面右上角【瀏覽】,進(jìn)入瀏覽頁面后才可以體驗。容器的使用可以有效提高布局排版的效率、有效利用率,是一種常見奧威BI軟件的數(shù)據(jù)可視化布局排版功能。操作也極為簡單,只需點(diǎn)擊即可生效!
    發(fā)表于 03-15 17:10

    樹莓密碼忘了怎么辦

    如果你有顯示屏或者能夠通過teamviewer遠(yuǎn)程到樹莓可視化界面的話,直接利用realvnc選擇密碼類型或者更改密碼,樹莓
    的頭像 發(fā)表于 03-25 17:52 ?1.9w次閱讀

    具有顏色選擇的音頻頻譜可視化

    電子發(fā)燒友網(wǎng)站提供《具有顏色選擇的音頻頻譜可視化.zip》資料免費(fèi)下載
    發(fā)表于 11-04 09:42 ?1次下載
    具有顏色選擇的<b class='flag-5'>音頻</b>頻譜<b class='flag-5'>可視化</b><b class='flag-5'>器</b>

    TensorFlow手勢識別樹莓開源

    電子發(fā)燒友網(wǎng)站提供《TensorFlow手勢識別樹莓開源.zip》資料免費(fèi)下載
    發(fā)表于 11-09 09:27 ?1次下載
    TensorFlow<b class='flag-5'>手勢</b>識別<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>開源

    使用Raspberry Pi的音頻可視化

    電子發(fā)燒友網(wǎng)站提供《使用Raspberry Pi的音頻可視化.zip》資料免費(fèi)下載
    發(fā)表于 11-11 09:58 ?1次下載
    使用Raspberry Pi的<b class='flag-5'>音頻</b><b class='flag-5'>可視化</b><b class='flag-5'>器</b>

    基于樹莓音頻頻譜圖可視化設(shè)備

    方案介紹使用 Raspberry Pi Pico、數(shù)字麥克風(fēng)和 LCD 顯示創(chuàng)建實時音頻頻譜圖可視化。本項目將介紹如何使用帶有外部數(shù)字麥克風(fēng)和 TFT LCD 顯示屏的Raspbe
    發(fā)表于 12-23 10:51 ?3次下載

    樹莓音頻視頻播放

    樹莓音頻視頻播放
    的頭像 發(fā)表于 06-21 11:41 ?548次閱讀

    使用樹莓Pico開發(fā)板制作實時音頻光譜圖可視化

    本期教程將會通過使用一塊帶有外置數(shù)字麥克風(fēng)和 TFT LCD 顯示屏的樹莓 Pico 開發(fā)板制作一個實時音頻光譜圖可視化。有了它,你就可
    的頭像 發(fā)表于 10-24 10:49 ?1383次閱讀
    使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>Pico開發(fā)板制作實時<b class='flag-5'>音頻</b>光譜圖<b class='flag-5'>可視化</b><b class='flag-5'>器</b>