0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

足球比赛电路的制作

454398 来源:工程师吴畏 2019-08-05 10:10 次阅读

第1步 - 组装电路

我们的足球比赛电路如下:

将Servo与Netduino连接以进行测试

电源

我们将连接3.3V和5V电源轨。当我们想要移动伺服或足球运动员时,我们使用带有按钮的3.3V电源导轨向Netduino发出信号。我们可以使用5V作为输入,因为Netduino输入可以承受5V电压,但最好用3.3V触发输入。

我们将使用5V电源为电源供电伺服系统。如上所述,对于生产应用,最好使用外部电源。

下拉电阻

此项目中使用的按钮有两(2)对冗余引脚。请注意,Netduino的数字引脚通过电阻连接到GND。当按钮静止(未按下)时,输入引脚设置为接地。按下按钮时,所有四(4)个引脚都连接在一起,将3.3V电源轨连接到Netduino上的输入引脚。使用电阻器,因此当按下按钮时,我们在电源和地之间没有直接的低电阻路径。

步骤2 - 组装足球场

对于足球场,你需要一个信纸尺寸的纸板。足球线只是装饰品,所以无论如何都可以自由地绘制它们。

足球场尺寸

对于电路板的墙壁,您需要两(2)个更薄的纸板条,以下尺寸。

切割两个纸板条足球场的墙壁

将下半部分粘贴到足球场的边缘。

使用双面胶带将舵机连接到现场表面,并用棍子连接到伺服的旋转臂上;我们使用冰棍棒或一半的筷子。

你的足球场应该是这样的:

足球场完全组装

第3步 - 创建Netduino项目

在 Visual Studio 2015 for Windows 或 Visual Studio for Mac 中创建 Netduino 项目;将项目命名为 SoccerField 。

步骤4 - 添加Netduino Foundation库

Windows

右键单击 SoccerSample 项目,然后单击管理NuGet包的。在浏览标签中,搜索 Netduino.Foundation ;它应该是第一个搜索结果。单击安装按钮。

添加Netduino.Foundation NuGet包

现在搜索 Netduino.Foundation.Servo 并将其添加到您的项目中。

macOS

按住Alt键并单击解决方案资源管理器中的 SoccerField 项目,然后单击添加=》添加NuGet包以打开NuGet包窗口。搜索 Netduino.Foundation 包并单击添加包将其添加到您的项目中。

添加Netduino.Foundation NuGet包

现在搜索 Netduino.Foundation.Servo 并将其添加到您的项目中。

步骤5 - 添加代码以控制足球场

添加PlayerController

创建控制器是一个好习惯所涉及的每个外围设备的类,以使项目结构更具可扩展性和可维护性。控制器类将封装控制硬件所需的外设特定逻辑。

使用以下代码为您的伺服器添加 PlayerController 类:

using System.Threading;

using Netduino.Foundation.Servos;

namespace Soccer

{

public class PlayerController

{

protected bool _kickRight;

protected Servo _servo;

public PlayerController(Servo servo)

{

_servo = servo;

_servo.RotateTo(0);

}

public void Kick()

{

Thread _animationThread = new Thread(() =》

{

_kickRight = !_kickRight;

if (_kickRight)

{

_servo.RotateTo(180);

}

else

{

_servo.RotateTo(0);

}

});

_animationThread.Start();

}

}

}

该控制器管理单个伺服的行为,其唯一的公共方法 Kick 使伺服从0度旋转到180度并返回。请注意, Kick 中的伺服旋转逻辑包含在Thread _animationThread 中。这使伺服控制在伺服移动时按下按钮时异步。

添加App类

对于这个项目,我们实现了一个管理所有外围设备的通用 App 软件模式主要逻辑。

在项目中添加一个新的 App 类,并粘贴以下代码:

using System;

using Netduino.Foundation.Servos;

using N = SecretLabs.NETMF.Hardware.Netduino;

using Microsoft.SPOT.Hardware;

namespace Soccer

{

public class App

{

protected InterruptPort _buttonTeamA;

protected PlayerController _playerTeamA;

protected InterruptPort _buttonTeamB;

protected PlayerController _playerTeamB;

public App()

{

InitializePeripherals();

}

protected void InitializePeripherals()

{

_buttonTeamA = new InterruptPort(N.Pins.GPIO_PIN_D4,

true, Port.ResistorMode.PullDown,

Port.InterruptMode.InterruptEdgeHigh);

_buttonTeamA.OnInterrupt += OnButtonTeamA;

var servoA = new Servo(N.PWMChannels.PWM_PIN_D3,

NamedServoConfigs.Ideal180Servo);

_playerTeamA = new PlayerController(servoA);

_buttonTeamB = new InterruptPort(N.Pins.GPIO_PIN_D10,

true, Port.ResistorMode.PullDown,

Port.InterruptMode.InterruptEdgeHigh);

_buttonTeamB.OnInterrupt += OnButtonTeamB;

var servoB = new Servo(N.PWMChannels.PWM_PIN_D11,

NamedServoConfigs.Ideal180Servo);

_playerTeamB = new PlayerController(servoB);

}

private void OnButtonTeamA(uint data1, uint data2, DateTime time)

{

_playerTeamA.Kick();

}

private void OnButtonTeamB(uint data1, uint data2, DateTime time)

{

_playerTeamB.Kick();

}

public void Run()

{

}

}

}

请注意,我们的 App 类声明了四个类属性:两个 InterruptPorts 和两个 PlayerController 类对象。

在构造函数中,我们调用 InitializePeripherals 方法,在该方法中实例化所有四个类对象。 _playerTeamA 和 _playerTeamB 用于控制伺服器, InterruptPorts 用于按钮。 _buttonTeamA 和 _buttonTeamB 注册 OnInterrupt 事件,并调用相应 PlayerController 团队的Kick方法。 》

在Program类中实现Main方法

最后,创建一个新的 App 类对象并调用运行方法。您的代码应如下所示:

步骤6 - 运行项目

单击Visual Studio中的运行按钮以查看您的足球游戏!在球场中间抛球并按下按钮使两侧的伺服踢球!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5837

    浏览量

    171881
  • Netduino
    +关注

    关注

    0

    文章

    19

    浏览量

    3434
收藏 人收藏

    评论

    相关推荐

    多数表决器电路设计与制作

    电子发烧友网站提供《多数表决器电路设计与制作.pptx》资料免费下载
    发表于 09-02 14:42 0次下载

    有源蜂鸣器驱动电路制作方法

    有源蜂鸣器驱动电路制作方法主要包括准备工具与材料、焊接电路元件以及测试电路等步骤。以下是一个制作方法: 一、准备工具与材料 工具 :压线钳
    的头像 发表于 08-09 10:58 639次阅读

    PCB电路板设计与制作的步骤和要点

    一站式PCBA智造厂家今天为大家讲讲pcb设计制作流程和要点是什么?PCB设计制作流程和要点。PCB设计是电子产品开发过程中的关键步骤之一。 PCB设计制作流程和要点 PCB设计制作
    的头像 发表于 08-02 09:24 571次阅读

    智能传感器改变欧洲杯,让现代足球更智能

    最近什么最火,话题最热 那肯定是欧洲杯啊! 欧洲杯如火如荼的进行着,这段时间各位小主们是不是都开始作息颠倒,为自己支持的球队呐喊助威呢! 小编我也是一个十足的足球爱好者,心中也有着一个足球梦, 黑马
    的头像 发表于 07-12 09:45 1743次阅读
    智能传感器改变欧洲杯,让现代<b class='flag-5'>足球</b>更智能

    晶科能源与曼城足球俱乐部达成全球合作伙伴关系

          全球领先的光伏及储能系统供应商——晶科能源宣布与曼城足球俱乐部达成为期数年的全球合作伙伴关系。 晶科能源将通过此次合作进一步扩大其品牌在全球范围的影响力。同时,曼城足球俱乐部也将在
    的头像 发表于 06-12 16:35 568次阅读

    苹果运用8台摄像机拍摄沉浸式足球比赛

    Reddit 用户 Joe-notabot 近期分享了一组照片,揭示了苹果在 MLS 西雅图海湾人队对阵波特兰木材队比赛中的摄像机系统。这是苹果 VR 摄像机系统首次得到清晰展示,同时也揭示了摄像机的具体布置情况。
    的头像 发表于 05-30 14:16 672次阅读

    大学生学单片机不能错过的比赛

    单片机比赛是电子和计算机领域的一项重要赛事,旨在提升参赛者的专业技能、团队协作能力和创新思维。以下是一些常见的单片机比赛
    的头像 发表于 05-15 09:50 1710次阅读
    大学生学单片机不能错过的<b class='flag-5'>比赛</b>

    体育与TDK:使足球运动越来越狂热的VAR系统和传感器技术

    足球是一项受欢迎的运动,在世界范围内拥有着非常多的运动员和观众。由FIFA (国际足球联合会) 主办的世界杯每4年举办一次,是全球32支球队 (2026年48支球队) 聚集在一起,角逐足球冠军的大赛。
    的头像 发表于 03-27 14:19 724次阅读
    体育与TDK:使<b class='flag-5'>足球</b>运动越来越狂热的VAR系统和传感器技术

    基于51单片机的多路抢答器的设计与制作电路,程序,原理图,论文

    设计要求 1)抢答器同时供8名选手或2个代表队比赛,分别用8个按钮S0-S7表示; 2)设置一个系统清除和抢答控制开关S,该开关由主持人控制; 3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应
    发表于 03-20 15:20

    电路板pcb制作过程

    电路板pcb制作过程
    的头像 发表于 03-05 10:26 1151次阅读

    NBA比赛收视率的背后是什么?

    在夏季季后赛之前,还有82场常规赛,那么赛程安排就是NBA的一个重要任务。30支球队要进行82场比赛,每支球队市值都超过10亿美元。仅电视转播收入每年就超过20亿美元,球迷和广告商都希望他们的球队
    的头像 发表于 02-24 08:04 341次阅读
    NBA<b class='flag-5'>比赛</b>收视率的背后是什么?

    差分晶振电路图如何制作 影响差分晶振价格的原因

    差分晶振电路图如何制作 影响差分晶振价格的原因  差分晶振电路制作步骤: 差分晶振电路图可以用于电子设备的时钟
    的头像 发表于 01-23 16:43 593次阅读

    基于51单片机的比赛计分系统

    电子发烧友网站提供《基于51单片机的比赛计分系统.rar》资料免费下载
    发表于 01-12 10:26 6次下载

    基于51单片机的比赛计分设计

    电子发烧友网站提供《基于51单片机的比赛计分设计.rar》资料免费下载
    发表于 01-07 09:35 2次下载

    一文详解pcb电路板是怎么制作

    一文详解pcb电路板是怎么制作
    的头像 发表于 12-05 11:18 1394次阅读