資料介紹
描述
項(xiàng)目更新至 V1.0 Release Candidate 1(2022 年 10 月 23 日)
在這個(gè)項(xiàng)目中,我們將學(xué)習(xí)如何用 LED 制作一個(gè)簡(jiǎn)單的骰子,我們通過按下按鈕來“擲骰子”。構(gòu)建此項(xiàng)目所需的一切都包含在Wilderness Labs Meadow F7 w/Hack Kit Pro 中。我們將創(chuàng)建一個(gè) Meadow Application 項(xiàng)目并使用Meadow.Foundation輕松編寫邏輯。
Meadow.Foundation是一個(gè)平臺(tái),用于在 Meadow 上使用 .NET 快速輕松地構(gòu)建連接的事物。它由Wilderness Labs創(chuàng)建,完全開源并由 Wilderness Labs 社區(qū)維護(hù)。
如果您是 Meadow 的新手,我建議您通過控制板載 RGB LED 項(xiàng)目轉(zhuǎn)到 Meadow 入門,以正確設(shè)置您的開發(fā)環(huán)境。
第 1 步 - 組裝電路
像這樣連接您的項(xiàng)目:
第 2 步 - 創(chuàng)建 Meadow 應(yīng)用程序項(xiàng)目
在Visual Studio 2022 for Windows或macOS中創(chuàng)建一個(gè)新的Meadow Application項(xiàng)目并將其命名為LedDice 。
第 3 步 - 為 LedDice 編寫代碼
在您的MeadowApp類中,復(fù)制以下代碼:
// public class MeadowApp : App <- If you have a Meadow F7v1.*
public class MeadowApp : App
{
Led[] leds;
PushButton button;
public override Task Initialize()
{
var onboardLed = new RgbPwmLed(
device: Device,
redPwmPin: Device.Pins.OnboardLedRed,
greenPwmPin: Device.Pins.OnboardLedGreen,
bluePwmPin: Device.Pins.OnboardLedBlue);
onboardLed.SetColor(Color.Red);
leds = new Led[7];
leds[0] = new Led(Device, Device.Pins.D06); //
leds[1] = new Led(Device, Device.Pins.D07); // [6] [5]
leds[2] = new Led(Device, Device.Pins.D08); //
leds[3] = new Led(Device, Device.Pins.D09); // [4] [3] [2]
leds[4] = new Led(Device, Device.Pins.D10); //
leds[5] = new Led(Device, Device.Pins.D11); // [1] [0]
leds[6] = new Led(Device, Device.Pins.D12); //
button = new PushButton(Device, Device.Pins.D04);
button.Clicked += ButtonClicked;
onboardLed.SetColor(Color.Green);
return base.Initialize();
}
void ButtonClicked(object sender, EventArgs e)
{
Random random = new Random();
ShuffleAnimation();
ShowNumber(random.Next(1,7));
}
void ShuffleAnimation()
{
foreach (var led in leds)
{
led.StartBlink(TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100));
}
Thread.Sleep(1000);
foreach (var led in leds)
{
led.Stop();
}
Thread.Sleep(100);
}
void ShowNumber(int number)
{
leds[0].IsOn = (number == 6 || number == 5 || number == 4);
leds[1].IsOn = (number == 6 || number == 5 || number == 4 || number == 3 || number == 2);
leds[2].IsOn = (number == 6);
leds[3].IsOn = (number == 4 || number == 5 || number == 3 || number == 1);
leds[4].IsOn = (number == 6);
leds[5].IsOn = (number == 6 || number == 5 || number == 4 || number == 3 || number == 2);
leds[6].IsOn = (number == 6 || number == 5 || number == 4);
}
}
該項(xiàng)目使用一組七個(gè)PwmLed
對(duì)象聲明為leds
和一個(gè)PushButton
對(duì)象命名button
,它們都在 MeadowApp 的構(gòu)造函數(shù)中初始化。一旦它們被初始化,我們就會(huì)調(diào)用該ShuffleAnimation()
方法(如下所述)來反饋項(xiàng)目已完全加載并正在運(yùn)行,最后我們會(huì)Thread.Sleep(Timeout.Infinite);
保持應(yīng)用程序運(yùn)行,直到 Meadow 板斷電。
該項(xiàng)目由兩種方法和一個(gè)事件處理程序組成:
-
ShuffleAnimation();
方法遍歷每個(gè) LED 并啟動(dòng)閃爍動(dòng)畫一秒鐘,然后立即停止每個(gè) LED 上的動(dòng)畫。 -
ShowNumber(int number);
方法根據(jù)作為參數(shù)傳入的數(shù)字打開相應(yīng)的 LED。 -
ButtonClicked(
object sender, EventArgs e
)
是每當(dāng)按下時(shí)觸發(fā)的事件處理程序方法button
,它所做的是實(shí)例化一個(gè)本地Random
對(duì)象,調(diào)用ShuffleAnimation()
,一旦動(dòng)畫完成,它就會(huì)調(diào)用該ShowNumber(int number)
方法,將 1 到 6 之間的隨機(jī)值作為參數(shù)傳遞。
第 4 步 - 運(yùn)行項(xiàng)目
單擊Visual Studio中的“運(yùn)行”按鈕。它應(yīng)該類似于以下 GIF:
查看 Meadow.Foundation!
就您可以使用Meadow.Foundation做的大量令人興奮的事情而言,這個(gè)項(xiàng)目只是冰山一角。
- 它帶有一個(gè)龐大的外設(shè)驅(qū)動(dòng)程序庫(kù),其中包含適用于最常見傳感器和外設(shè)的驅(qū)動(dòng)程序。
- 外設(shè)驅(qū)動(dòng)程序封裝了核心邏輯并公開了一個(gè)簡(jiǎn)單、干凈、現(xiàn)代的 API。
- 該項(xiàng)目得到了不斷發(fā)展的社區(qū)的支持,該社區(qū)不斷致力于構(gòu)建酷炫的互聯(lián)事物,并且總是樂于幫助新來者和討論新項(xiàng)目。
參考
- 使用Meadow Foundation將模擬操縱桿與Meadow一起使用
- Meadow Rover第1部分:帶定向LED的電機(jī)控制
- Arduino LED骰子
- LED骰子開源設(shè)計(jì)
- 使用Swift語(yǔ)言通過按鈕控制LED
- 具有隨機(jī)功能的簡(jiǎn)單LED骰子
- 16×16點(diǎn)陣LED顯示器字符滾動(dòng)顯示 38次下載
- 使用PIC單片機(jī)TIMER0控制四只LED滾動(dòng)閃爍的仿真電路圖免費(fèi)下載 3次下載
- 8X8LED點(diǎn)陣屏仿電梯數(shù)字滾動(dòng)顯示的仿真電路圖 43次下載
- 8×8LED點(diǎn)陣屏仿電梯數(shù)字滾動(dòng)顯示的仿真原理圖免費(fèi)下載 30次下載
- LED點(diǎn)陣滾動(dòng)顯示【C語(yǔ)言】 17次下載
- 按鈕控制LED程序【匯編版】 0次下載
- TIMER0控制四只LED滾動(dòng)閃爍 0次下載
- 電骰子電路設(shè)計(jì)論文 101次下載
- 用EDA 設(shè)計(jì)LED 漢字滾動(dòng)顯示器原理 0次下載
- 按鈕的使用和維護(hù)方法 按鈕的常見故障及其排除方法 1777次閱讀
- 傳動(dòng)滾動(dòng)功能部件加速“工業(yè)母機(jī)”新賽道 1000次閱讀
- 分享一個(gè)棋盤游戲電子骰子電路 2234次閱讀
- 三個(gè)簡(jiǎn)單的電子骰子電路分析 5765次閱讀
- 使用MAX6955 LED顯示驅(qū)動(dòng)器和PIC微控制器滾動(dòng)消息 814次閱讀
- 基于AT89C205構(gòu)建的電子骰子的電路圖 2178次閱讀
- 如何通過藍(lán)牙微控制器控制多功能骰子? 2905次閱讀
- 滾動(dòng)轉(zhuǎn)子式壓縮機(jī)優(yōu)點(diǎn)_滾動(dòng)轉(zhuǎn)子式壓縮機(jī)的缺點(diǎn) 1.2w次閱讀
- 控制按鈕的結(jié)構(gòu)和符號(hào)_控制按鈕的分類 1.4w次閱讀
- 帶反接保護(hù)的電子骰子電路 3381次閱讀
- LED骰子diy教程 4648次閱讀
- 單片機(jī)C語(yǔ)言程序設(shè)計(jì)之定時(shí)器控制4個(gè)LED滾動(dòng)閃爍 7565次閱讀
- 急停按鈕工作原理_急停按鈕電氣符號(hào)_急停按鈕型號(hào)介紹 12.2w次閱讀
- 使用EDA設(shè)計(jì)LED漢字滾動(dòng)顯示器 1671次閱讀
- 驅(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語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多