資料介紹
描述
在這個項目中,我們將學習如何使用Meadow.Foundation將模擬操縱桿與 Meadow 一起使用。當您移動操縱桿時,我們將使用四個 LED 來點亮它們。構建此項目所需的大部分內容都包含在Wilderness Labs Meadow F7 w/Hack Kit Pro 中。
Meadow.Foundation是一個平臺,用于在 Meadow 上使用 .NET 快速輕松地構建連接的事物。它由Wilderness Labs 創建,完全開源,由 Wilderness Labs 社區維護。
如果您是 Meadow 的新手,我建議您通過控制板載 RGB LED 項目轉到 Meadow 入門,以正確設置您的開發環境。
第 1 步 - 組裝電路
像下面的 Fritzing 圖一樣將操縱桿和 LED 連接到 Meadow:
第 2 步 - 創建 Meadow 應用程序項目
在 Visual Studio 2019 for Windows或macOS中創建一個新的Meadow Application項目并將其命名為JoystickLeds 。
第 3 步 - 編寫 JoystickLeds 的代碼
在 Meadow 中,有兩種方法可以監控輸入發生的任何變化。第一個是經典的 .NET Eventing 模式,其中 anevent
在更改時引發,第二個是IObservable
模式,這是一種更強大和靈活的反應式方法。對于這個項目,我們采用第一種方法,這意味著 Meadow 開始監控操縱桿的兩個模擬輸入(一個用于 X 軸,一個用于 Y 軸)的變化,并且在檢測到變化時觸發一個事件。
復制下面的代碼:
public class MeadowApp : App {,>
PwmLed Up, Down, Left, Right;
AnalogJoystick joystick;
public MeadowApp() {
Console.WriteLine("Initializing...");
Up = new PwmLed(Device.CreatePwmPort(Device.Pins.D07, 100, 0.0f),
TypicalForwardVoltage.Red);
Down = new PwmLed(Device.CreatePwmPort(Device.Pins.D04, 100, 0.0f),
TypicalForwardVoltage.Red);
Left = new PwmLed(Device.CreatePwmPort(Device.Pins.D02, 100, 0.0f),
TypicalForwardVoltage.Red);
Right = new PwmLed(Device.CreatePwmPort(Device.Pins.D03, 100, 0.0f),
TypicalForwardVoltage.Red);
joystick = new AnalogJoystick(
Device.CreateAnalogInputPort(Device.Pins.A01),
Device.CreateAnalogInputPort(Device.Pins.A00),
null, true);
joystick.SetCenterPosition();
joystick.Updated += JoystickUpdated;
joystick.StartUpdating();
}
void JoystickUpdated(object sender, JoystickPositionChangeResult e) {
if (e.New.HorizontalValue < 0.2f) {
Left.SetBrightness(0f);
Right.SetBrightness(0f);
}
if (e.New.VerticalValue < 0.2f) {
Up.SetBrightness(0f);
Down.SetBrightness(0f);
}
if (e.New.HorizontalValue > 0)
Left.SetBrightness(Math.Abs(e.New.HorizontalValue));
else
Right.SetBrightness(Math.Abs(e.New.HorizontalValue));
if (e.New.VerticalValue > 0)
Down.SetBrightness(Math.Abs(e.New.VerticalValue));
else
Up.SetBrightness(Math.Abs(e.New.VerticalValue));
Console.WriteLine($"({e.New.HorizontalValue}, {e.New.VerticalValue})");
}
}
在 MeadowApp 的構造函數中,我們將所有四個 LED 初始化為PwmLeds
( up
、和) down
,以及 2 軸( )。注意在創建操縱桿對象時的最后一個參數中,我們傳遞了值。這是為了表明操縱桿是倒置的,因此驅動程序將通過反轉位置值來糾正方向。left
right
AnalogJoystick
joystick
IsInverted,
true
實例化后AnalogJoystick
,我們調用SetCenterPosition()
設置在模擬端口中讀取的當前值并將它們設置為初始位置。然后,我們注冊joystick
到Updated
每當我們移動它時都會觸發的事件,最后我們調用StartSampling()
操縱桿激活。
最后,JoystickUpdated
事件處理程序將檢查 X 軸和 Y 軸的值,并根據其位置調整相應 LED 的亮度。請注意,還有一個初始閾值,我們檢查它是否位于其任一軸的中心,因此我們關閉了這些 LED。
第 4 步 - 運行項目
單擊Visual Studio中的“運行”按鈕。它應該類似于以下 GIF:
查看 Meadow.Foundation!
就您可以使用 Meadow.Foundation 做的大量令人興奮的事情而言,這個項目只是冰山一角。
- 它帶有一個龐大的外設驅動程序庫,其中包含適用于最常見傳感器和外設的驅動程序。
- 外設驅動程序封裝了核心邏輯并公開了一個簡單、干凈、現代的 API。
- 該項目得到了不斷發展的社區的支持,該社區不斷致力于構建酷炫的互聯事物,并且總是樂于幫助新來者和討論新項目。
參考
- 如何使用模擬操縱桿來控制LED
- Arduino基于網絡的操縱桿
- PHPoC基于網絡的操縱桿
- 使用Meadow制作EdgeASketch
- 使用Meadow通過按鈕滾動LED骰子
- DIY按鈕操縱桿模塊 0次下載
- 基于Arduino Pro Mini的操縱桿手柄和DIY相機滑塊 0次下載
- 使用操縱桿來控制RGB LED
- 由操縱桿控制的SCARA手臂
- 帶操縱桿的量子位模擬器
- 如何用操縱桿控制伺服
- Press to Talk:一鍵式USB操縱桿
- 使用PWM和操縱桿來控制RGB
- 使用操縱桿模塊和LCD制作游戲
- 復古操縱桿的自動開火
- 零線和地線連在一起為什么漏電保護器跳閘 2870次閱讀
- 撥動開關是如何工作的,五種撥動開關接線圖分享 2w次閱讀
- 玩嗨OpenHarmony:基于OpenHarmony的小游戲:一起學做FlappyBird 1432次閱讀
- 跟大家一起推導一遍差分運放的計算過程 1373次閱讀
- 使用操縱桿和Arduino控制多個LED燈亮滅的過程 6844次閱讀
- digilentPmodJSTK二軸操作桿介紹 1167次閱讀
- digilentPmodJSTK2二軸操縱桿簡介 1390次閱讀
- 游戲手柄的工作原理及故障方法與檢修方法 1.9w次閱讀
- 物聯網安全最重要的元素是什么_如何確保物聯網安全 3489次閱讀
- 如何將數字世界與模擬世界聯系在一起? 5185次閱讀
- 使用我們的身體來操作無人機,要比普通的操縱桿或者手柄使用起來更直觀、更精確 7434次閱讀
- 3個齒輪在一起到底能不能轉起來呢?和一些奇特的齒輪組合 1.4w次閱讀
- 將深度學習和常微分方程結合在一起,提供四大優勢 1.1w次閱讀
- 一文看懂模擬電路有什么具體的應用 9.1w次閱讀
- 銅線和鋁線不能接一起的原因以及接一起的方法 4.5w次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 1次下載 | 免費
- 2AN84-線性技術雜志電路集,第一卷第四集
- 2.28MB | 次下載 | 免費
- 3AN43-橋式電路
- 3.64MB | 次下載 | 免費
- 4AN69-LT1575超快線性控制器提供快速瞬態響應電源
- 218.44KB | 次下載 | 免費
- 5AN98-2004年秋季的信號源、調理器和電源電路
- 864.98KB | 次下載 | 免費
- 6高頻7代電源說明書
- 1.04 MB | 次下載 | 免費
- 7AN-616:AD9430評估板對XTAL振蕩器時鐘的修改
- 162.24KB | 次下載 | 免費
- 8AN-237: 放大器直接數字頻率合成的DAC選型器應用漫談
- 461.58KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 137次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 128次下載 | 免費
- 4使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 53314A函數發生器維修手冊
- 16.30 MB | 31次下載 | 免費
- 6美的電磁爐維修手冊大全
- 1.56 MB | 22次下載 | 5 積分
- 7如何正確測試電源的紋波
- 0.36 MB | 15次下載 | 免費
- 8感應筆電路圖
- 0.06 MB | 10次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多