資料介紹
描述
項目更新至 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點陣屏仿電梯數字滾動顯示的仿真原理圖免費下載 31次下載
- LED點陣滾動顯示【C語言】 17次下載
- 按鈕控制LED程序【匯編版】 0次下載
- TIMER0控制四只LED滾動閃爍 0次下載
- 電骰子電路設計論文 101次下載
- 用EDA 設計LED 漢字滾動顯示器原理 0次下載
- 按鈕的使用和維護方法 按鈕的常見故障及其排除方法 2113次閱讀
- 傳動滾動功能部件加速“工業母機”新賽道 1286次閱讀
- 分享一個棋盤游戲電子骰子電路 2591次閱讀
- 三個簡單的電子骰子電路分析 6492次閱讀
- 使用MAX6955 LED顯示驅動器和PIC微控制器滾動消息 965次閱讀
- 基于AT89C205構建的電子骰子的電路圖 2488次閱讀
- 如何通過藍牙微控制器控制多功能骰子? 3126次閱讀
- 滾動轉子式壓縮機優點_滾動轉子式壓縮機的缺點 1.3w次閱讀
- 控制按鈕的結構和符號_控制按鈕的分類 1.4w次閱讀
- 帶反接保護的電子骰子電路 3674次閱讀
- LED骰子diy教程 4886次閱讀
- 單片機C語言程序設計之定時器控制4個LED滾動閃爍 8022次閱讀
- 急停按鈕工作原理_急停按鈕電氣符號_急停按鈕型號介紹 12.4w次閱讀
- 使用EDA設計LED漢字滾動顯示器 1747次閱讀
- 驅動電子骰子至少需要幾個I/O口? 4052次閱讀
下載排行
本周
- 1蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 283次下載 | 5 積分
- 2長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 3AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 4長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
- 5TP4055 500mA線性鋰離子電池充電器中文手冊
- 0.75 MB | 8次下載 | 免費
- 6TP4054 400mA線性鋰離子電池充電器中文手冊
- 0.70 MB | 2次下載 | 免費
- 7華碩F3e系列筆記本電腦用戶手冊
- 5.44 MB | 1次下載 | 3 積分
- 8AI智能眼鏡產業鏈分析
- 4.43 MB | 1次下載 | 免費
本月
- 1蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 283次下載 | 5 積分
- 2人形機器人電機驅動和傳感報告
- 4.27 MB | 142次下載 | 免費
- 3長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 87次下載 | 5 積分
- 4U盤一鍵制作
- 23.84 MB | 41次下載 | 免費
- 5AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 6Altium Designer元件庫
- 17.11 MB | 21次下載 | 免費
- 7長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
- 8TP4055 500mA線性鋰離子電池充電器中文手冊
- 0.75 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論