資料介紹
描述
項目更新至 V1.0 Release Candidate 1(2022 年 10 月 23 日)
在這個項目中,我們將學習如何用 LED 制作一個簡單的骰子,我們通過按下按鈕來“擲骰子”。構建此項目所需的一切都包含在Wilderness Labs Meadow F7 w/Hack Kit Pro 中。我們將創建一個 Meadow Application 項目并使用Meadow.Foundation輕松編寫邏輯。
Meadow.Foundation是一個平臺,用于在 Meadow 上使用 .NET 快速輕松地構建連接的事物。它由Wilderness Labs創建,完全開源并由 Wilderness Labs 社區維護。
如果您是 Meadow 的新手,我建議您通過控制板載 RGB LED 項目轉到 Meadow 入門,以正確設置您的開發環境。
第 1 步 - 組裝電路
像這樣連接您的項目:
第 2 步 - 創建 Meadow 應用程序項目
在Visual Studio 2022 for Windows或macOS中創建一個新的Meadow Application項目并將其命名為LedDice 。
第 3 步 - 為 LedDice 編寫代碼
在您的MeadowApp類中,復制以下代碼:
// 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);
}
}
該項目使用一組七個PwmLed
對象聲明為leds
和一個PushButton
對象命名button
,它們都在 MeadowApp 的構造函數中初始化。一旦它們被初始化,我們就會調用該ShuffleAnimation()
方法(如下所述)來反饋項目已完全加載并正在運行,最后我們會Thread.Sleep(Timeout.Infinite);
保持應用程序運行,直到 Meadow 板斷電。
該項目由兩種方法和一個事件處理程序組成:
-
ShuffleAnimation();
方法遍歷每個 LED 并啟動閃爍動畫一秒鐘,然后立即停止每個 LED 上的動畫。 -
ShowNumber(int number);
方法根據作為參數傳入的數字打開相應的 LED。 -
ButtonClicked(
object sender, EventArgs e
)
是每當按下時觸發的事件處理程序方法button
,它所做的是實例化一個本地Random
對象,調用ShuffleAnimation()
,一旦動畫完成,它就會調用該ShowNumber(int number)
方法,將 1 到 6 之間的隨機值作為參數傳遞。
第 4 步 - 運行項目
單擊Visual Studio中的“運行”按鈕。它應該類似于以下 GIF:
查看 Meadow.Foundation!
就您可以使用Meadow.Foundation做的大量令人興奮的事情而言,這個項目只是冰山一角。
- 它帶有一個龐大的外設驅動程序庫,其中包含適用于最常見傳感器和外設的驅動程序。
- 外設驅動程序封裝了核心邏輯并公開了一個簡單、干凈、現代的 API。
- 該項目得到了不斷發展的社區的支持,該社區不斷致力于構建酷炫的互聯事物,并且總是樂于幫助新來者和討論新項目。
參考
- 使用Meadow Foundation將模擬操縱桿與Meadow一起使用
- Meadow Rover第1部分:帶定向LED的電機控制
- Arduino LED骰子
- LED骰子開源設計
- 使用Swift語言通過按鈕控制LED
- 具有隨機功能的簡單LED骰子
- 16×16點陣LED顯示器字符滾動顯示 38次下載
- 使用PIC單片機TIMER0控制四只LED滾動閃爍的仿真電路圖免費下載 3次下載
- 8X8LED點陣屏仿電梯數字滾動顯示的仿真電路圖 43次下載
- 8×8LED點陣屏仿電梯數字滾動顯示的仿真原理圖免費下載 30次下載
- LED點陣滾動顯示【C語言】 17次下載
- 按鈕控制LED程序【匯編版】 0次下載
- TIMER0控制四只LED滾動閃爍 0次下載
- 電骰子電路設計論文 101次下載
- 用EDA 設計LED 漢字滾動顯示器原理 0次下載
- 按鈕的使用和維護方法 按鈕的常見故障及其排除方法 1777次閱讀
- 傳動滾動功能部件加速“工業母機”新賽道 1000次閱讀
- 分享一個棋盤游戲電子骰子電路 2234次閱讀
- 三個簡單的電子骰子電路分析 5765次閱讀
- 使用MAX6955 LED顯示驅動器和PIC微控制器滾動消息 814次閱讀
- 基于AT89C205構建的電子骰子的電路圖 2178次閱讀
- 如何通過藍牙微控制器控制多功能骰子? 2905次閱讀
- 滾動轉子式壓縮機優點_滾動轉子式壓縮機的缺點 1.2w次閱讀
- 控制按鈕的結構和符號_控制按鈕的分類 1.4w次閱讀
- 帶反接保護的電子骰子電路 3381次閱讀
- LED骰子diy教程 4648次閱讀
- 單片機C語言程序設計之定時器控制4個LED滾動閃爍 7565次閱讀
- 急停按鈕工作原理_急停按鈕電氣符號_急停按鈕型號介紹 12.2w次閱讀
- 使用EDA設計LED漢字滾動顯示器 1671次閱讀
- 驅動電子骰子至少需要幾個I/O口? 3962次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多