资料介绍
描述
在这个项目中,我们将学习如何使用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次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多