資料介紹
描述
當(dāng)我們玩涉及骰子的游戲時(shí),一個(gè)或多個(gè)骰子不可避免地會(huì)在過度熱情的玩家試圖擲雙 6 后落在地板上。這個(gè)骰子頭骨解決了這個(gè)問題,并且添加了 Arduino Nano,只要檢測(cè)到擲骰子就會(huì)亮起紅色。我希望它發(fā)出一聲??“吼叫!” 聲音,但 Nano 不能真正播放音頻。第 1 步:制作頭骨和電池座
頭骨是根據(jù) Windham Graves 提供的模型 3D 打印出來的。有關(guān)3D 打印頭骨所需的文件,請(qǐng)訪問 ThingIVerse.com 。請(qǐng)注意,使用標(biāo)準(zhǔn)質(zhì)量設(shè)置和 PLA 燈絲在 Creality 3 S1 打印機(jī)上打印需要 26 小時(shí)。
頭骨的背面是空心的,因此更容易在后面安裝電子設(shè)備。
可選 - 打印后,使用泡沫刷在頭骨上涂上環(huán)氧樹脂,之后可以將其扔掉。環(huán)氧樹脂干燥后,使用 Rust-oleum Ultra Matte 油漆和底漆噴涂骷髏啞光黑色。
尋找或購買一個(gè)開/關(guān)開關(guān)。使用 Dremel 工具在頭骨右耳附近開出開/關(guān)開關(guān)的開口。暫時(shí)不要將開關(guān)放入孔中,需要先添加一些電線(更多內(nèi)容見下文)。
鉆開開關(guān)開口進(jìn)入頭骨的“喉嚨”,為照亮眼睛的 RGB LED 開一個(gè)口。使用與 LED 直徑大致相同的鉆頭。開關(guān)放置在頭骨的右耳上,使喉嚨相對(duì)難以接近的右側(cè)可以進(jìn)行鉆孔。喉嚨的傾斜角度使從左側(cè)鉆孔更容易,因此無需在該側(cè)的外顱骨上打孔。
在喉管的另一側(cè)為光敏電阻鉆另一個(gè)孔。當(dāng)骰子中斷從 LED 進(jìn)入光敏電阻的光時(shí),它們將被檢測(cè)到。檢測(cè)邏輯對(duì)光照水平的變化相當(dāng)敏感,所以只要在眼孔周圍揮動(dòng)你的手就足以觸發(fā)它們。光敏電阻越靠近 LED 的正對(duì)面,電路檢測(cè)骰子的能力就越好。
9V 電池座也是 3D 打印的。有關(guān)打印文件,請(qǐng)參閱ThingIVerse.com 。使用了打印文件的“緊湊”版本,但頭骨中的任何一個(gè)版本都有足夠的空間。
第 2 步:構(gòu)建電路
一個(gè)小的 PCB 用于固定 Nano 和一個(gè)用于電池/開關(guān)引線的兩端連接器。
步驟 2.1:將納米、LED、光敏電阻和相關(guān)電阻焊接在一起
在將電池和開關(guān)放入頭骨之前,可以將納米、光敏電阻、常規(guī)電阻和 LED 焊接在一起。使用 PCB 上的小型兩導(dǎo)體旋入式接線柱連接到 Nano 的 Vin 和 GND 端子。該接線柱將在總裝期間派上用場(chǎng)。
步驟 2.2:將開關(guān)和 9V 電池連接器焊接在一起
開關(guān)和電池座可以與 2 英寸(5 厘米)的電線一起焊接在一起。不要將電池/開關(guān)引線擰到 PCB 上。
第 3 步:對(duì) Nano 進(jìn)行編程
使用 Arduino IDE,將以下代碼上傳到 Nano。
// Light up skull code for Arduino Nano
// (C) Copyright 2021 John Dillenburg
// john _at_ dillenburg.org
//
double avgWhenOn;
double avgWhenOff;
long last = 0;
int lightOnLevel = 4;
long lastTrigger = 0;
long triggerCooldown = 500; // milliseconds
int detectThreshold = 10;
long recalibrateInterval = 300000; // milliseconds
long lastRecalibrate = 0;
void setup() {
Serial.begin(115200);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(A0, INPUT);
calibrate();
if (Serial) {
Serial.print("lightOnLevel = ");
Serial.print(lightOnLevel);
Serial.print(" avgWhenOn = ");
Serial.print(avgWhenOn);
Serial.print(" avgWhenOff = ");
Serial.println(avgWhenOff);
}
detectMode();
}
void calibrate() {
lightOnLevel = 20;
avgWhenOn = average(500, lightOnLevel);
avgWhenOff = average(500, 0);
while (avgWhenOff - avgWhenOn < detectThreshold && lightOnLevel < 255) {
lightOnLevel += 16;
avgWhenOn = average(500, lightOnLevel);
}
if (lightOnLevel > 255) lightOnLevel = 255;
lastRecalibrate = millis();
}
void rgb(int r, int g, int b) {
analogWrite(9, 255 - r);
analogWrite(10, 255 - g);
analogWrite(11, 255 - b);
}
void movementDetected() {
rgb(255, 0, 0);
delay(3000);
}
void detectMode() {
rgb(lightOnLevel, lightOnLevel, lightOnLevel);
}
double average(int duration, int level) {
rgb(level, level, level);
long start = millis();
long count = 0;
double sum = 0.0;
while (millis() < start + duration) {
sum += analogRead(A0);
count++;
}
return sum / count;
}
void loop() {
int detector = analogRead(A0);
avgWhenOn = avgWhenOn * 0.999 + detector * 0.001;
if (Serial && millis() > last + 1000) {
Serial.print("detector = ");
Serial.print(detector);
Serial.print(" avg = ");
Serial.println(avgWhenOn);
last = millis();
}
if (detector > avgWhenOn + detectThreshold && millis() > lastTrigger + triggerCooldown) {
if (Serial) {
Serial.print("triggered ");
Serial.println(detector);
}
movementDetected();
lastTrigger = millis();
detectMode();
}
if (millis() > lastRecalibrate + recalibrateInterval) {
calibrate();
}
}
該代碼使用 avgWhenOn 變量跟蹤環(huán)境 + LED 燈級(jí)別。如果陰影從連接到引腳 A0 的光敏電阻前面經(jīng)過,則從 A0 讀取的值將增加,這將觸發(fā) movementDetected() 函數(shù)。movementDetected() 函數(shù)將 LED 變?yōu)榧t色 3 秒。
avgWhenOn 變量使用無限脈沖響應(yīng)系統(tǒng)對(duì)最新的光敏電阻讀數(shù)與舊讀數(shù)進(jìn)行平均。我選擇 0.999 和 0.001 作為權(quán)重。這似乎只是對(duì)最新讀數(shù)的輕微加權(quán),但 Nano loop() 函數(shù)被調(diào)用得如此頻繁,以至于變量在一秒鐘內(nèi)穩(wěn)定到平均值。
Serial print 語句是可選的,其編碼方式使得在安裝后將跳過它們。
第 4 步:將它們放在一起
在頭骨的后部/底部工作,光敏電阻器被放置在喉嚨左側(cè)鉆出的孔中,并使用大量熱熔膠粘在適當(dāng)?shù)奈恢谩?
喉嚨右側(cè)的 LED 燈也是如此。
將開關(guān)和 9V 電池連接器的電線穿過開關(guān)孔。將兩條引線擰到小型 Nano PCB 上。
將 9V 電池放入電池座中,并在下面涂上熱熔膠。
PCB 本身可以塞入底部,并在纏結(jié)的電線中保持原位。
打開頭骨后,它會(huì)在測(cè)量初始光照水平時(shí)閃爍白色。之后,即使是最輕微的陰影從眼前掠過,頭骨也會(huì)將 LED 燈切換為亮紅色。
享受!
- Arduino Nano漂亮禮服
- Arduino動(dòng)畫矩陣骰子
- Arduino二進(jìn)制骰子
- Arduino電子骰子系統(tǒng)
- Arduino LED骰子
- Arduino骰子開源案例
- 使用Arduino板載的骰子項(xiàng)目
- 基于Arduino的7段顯示數(shù)字骰子
- 使用Arduino Nano克隆西蒙
- DIY Arduino Nano
- Arduino Nano板測(cè)試
- 測(cè)試比較四種Arduino Nano全新型號(hào)的數(shù)據(jù)詳細(xì)說明 25次下載
- Arduino Nano Rev3.2電路原理圖免費(fèi)下載 46次下載
- Arduino Nano電路原理圖免費(fèi)下載 280次下載
- Arduino nano (AD)PCB自制 0次下載
- 基于Arduino的機(jī)器學(xué)習(xí)開發(fā) 1.7w次閱讀
- 分享一個(gè)棋盤游戲電子骰子電路 2234次閱讀
- 三個(gè)簡單的電子骰子電路分析 5765次閱讀
- 當(dāng)Arduino遇上樹莓派:Nano RP2040連接板 6472次閱讀
- 基于AT89C205構(gòu)建的電子骰子的電路圖 2178次閱讀
- 基于Arduino Nano R3實(shí)現(xiàn)摩托車尾燈的設(shè)計(jì)方案 1910次閱讀
- 工業(yè)級(jí)智能停車系統(tǒng)設(shè)計(jì)方案 824次閱讀
- 如何使用Arduino Nano控制紅綠燈 5001次閱讀
- 如何通過藍(lán)牙微控制器控制多功能骰子? 2905次閱讀
- dfrobot Arduino Nano控制板介紹 5611次閱讀
- dfrobotDFRduino Nano 3.0控制器介紹 2484次閱讀
- 帶反接保護(hù)的電子骰子電路 3381次閱讀
- LED骰子diy教程 4648次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- 驅(qū)動(dòng)電子骰子至少需要幾個(gè)I/O口? 3962次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多