资料介绍
描述
在这个项目中,我们将学习如何使用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次阅读
下载排行
本周
- 1Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 2使用TL431设计电源
- 0.67 MB | 2次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5LabVIEW环形控件
- 0.01 MB | 1次下载 | 1 积分
- 6PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 751单片机核心板原理图
- 0.12 MB | 1次下载 | 5 积分
- 8BP2879DB支持调光调灭的非隔离低 PF LED 驱动器
- 1.44 MB | 1次下载 | 免费
本月
- 1开关电源设计原理手册
- 1.83 MB | 54次下载 | 免费
- 2FS5080E 5V升压充电两串锂电池充电管理IC中文手册
- 8.45 MB | 23次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 12次下载 | 免费
- 5ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8基于MSP430FR6043的超声波气体流量计快速入门指南
- 2.26MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多