資料介紹
描述
項(xiàng)目更新為 V1.0 Release Candidate 1(2022 年 10 月 23 日)
在這個(gè)項(xiàng)目中,我們將了解使用幾個(gè) LED、幾個(gè)電機(jī)和一個(gè) SN754410N 芯片來控制它們來構(gòu)建您的第一個(gè)流動(dòng)站是多么容易。構(gòu)建此項(xiàng)目所需的一切都包含在Wilderness Labs Meadow F7 w/Hack Kit Pro 中。我們將看到使用 Meadow.Foundation 對(duì)這些外圍設(shè)備進(jìn)行編程是多么容易。
Meadow.Foundation是一個(gè)平臺(tái),用于在 Meadow 上使用 .NET 快速輕松地構(gòu)建連接的事物。它由Wilderness Labs 創(chuàng)建,完全開源,由 Wilderness Labs 社區(qū)維護(hù)。
如果您是 Meadow 的新手,我建議您通過控制板載 RGB LED 項(xiàng)目轉(zhuǎn)到 Meadow 入門,以正確設(shè)置您的開發(fā)環(huán)境。
第 1 步 - 組裝電路
如下面的 Fritzing 圖中所示連接所有組件:
請(qǐng)注意,我們有 4 節(jié) AA 電池連接到面包板上的電源和接地軌。對(duì)于 Meadow 來說,電機(jī)會(huì)消耗過多的功率來處理它,這對(duì)于擁有外部電源很重要。
要從外部為 Meadow 供電,您可以使用其電池充電板載電路。連接任何標(biāo)準(zhǔn)的 3.7V LiPo/LiIon 電池,您可以在通過 USB 連接器連接電路板時(shí)為其充電。您可以查看為 Meadow F7 供電以了解更多信息。
第 2 步 - 創(chuàng)建 Meadow 應(yīng)用程序項(xiàng)目
在 Visual Studio 2022 for Windows或macOS中創(chuàng)建一個(gè)新的Meadow Application項(xiàng)目并將其命名為MeadowLedRover 。
第 3 步 - 為 MeadowLedRover 編寫代碼
為每個(gè)涉及的外圍設(shè)備創(chuàng)建一個(gè)Controller類是一個(gè)很好的做法,以使項(xiàng)目可擴(kuò)展和可維護(hù)。這些Controller類抽象了所有外圍設(shè)備的邏輯,因此主要程序邏輯將保持更清晰和更容易理解。
添加 CarController 類
使用以下代碼添加CarController類:
public class CarController
{
float SPEED = 0.75f;
HBridgeMotor motorLeft;
HBridgeMotor motorRight;
public CarController(HBridgeMotor motorLeft, HBridgeMotor motorRight)
{
this.motorLeft = motorLeft;
this.motorRight = motorRight;
}
public void Stop()
{
motorLeft.Power = 0f;
motorRight.Power = 0f;
}
public void TurnLeft()
{
motorLeft.Power = SPEED;
motorRight.Power = -SPEED;
}
public void TurnRight()
{
motorLeft.Power = -SPEED;
motorRight.Power = SPEED;
}
public void MoveForward()
{
motorLeft.Power = -SPEED;
motorRight.Power = -SPEED;
}
public void MoveBackward()
{
motorLeft.Power = SPEED;
motorRight.Power = SPEED;
}
}
這個(gè)控制器是一個(gè)簡(jiǎn)單的汽車驅(qū)動(dòng)程序,封裝了控制電機(jī)的邏輯。不是每次我們想讓汽車向任何方向行駛時(shí)都改變單個(gè)電機(jī)的速度,我們可以簡(jiǎn)單地創(chuàng)建四種方法 ( MoveForward
, MoveBackwards
, TurnLeft
, TurnRight
) 和一種停止方法 ( Stop
)。
MeadowApp 類
對(duì)于主要的MeadowApp類,復(fù)制以下代碼:
// public class MeadowApp : App <- If you have a Meadow F7v1.*
public class MeadowApp : App
{
Led up, down, left, right;
CarController carController;
public override Task Initialize()
{
var led = new RgbLed(
Device,
Device.Pins.OnboardLedRed,
Device.Pins.OnboardLedGreen,
Device.Pins.OnboardLedBlue);
led.SetColor(RgbLedColors.Red);
up = new Led(Device, Device.Pins.D13);
down = new Led(Device, Device.Pins.D10);
left = new Led(Device, Device.Pins.D11);
right = new Led(Device, Device.Pins.D12);
up.IsOn = down.IsOn = left.IsOn = right.IsOn = false;
var motorLeft = new HBridgeMotor
(
device: Device,
a1Pin: Device.Pins.D07,
a2Pin: Device.Pins.D08,
enablePin: Device.Pins.D09
);
var motorRight = new HBridgeMotor
(
device: Device,
a1Pin: Device.Pins.D02,
a2Pin: Device.Pins.D03,
enablePin: Device.Pins.D04
);
carController = new CarController(motorLeft, motorRight);
led.SetColor(RgbLedColors.Green);
return base.Initialize();
}
public override async Task Run()
{
while (true)
{
up.IsOn = true;
carController.MoveForward();
await Task.Delay(1000);
up.IsOn = false;
carController.Stop();
await Task.Delay(500);
down.IsOn = true;
carController.MoveBackward();
await Task.Delay(1000);
down.IsOn = false;
carController.Stop();
await Task.Delay(500);
left.IsOn = true;
carController.TurnLeft();
await Task.Delay(1000);
left.IsOn = false;
carController.Stop();
await Task.Delay(500);
right.IsOn = true;
carController.TurnRight();
await Task.Delay(1000);
right.IsOn = false;
carController.Stop();
await Task.Delay(500);
}
}
}
在 MeadowApp 的構(gòu)造函數(shù)中,請(qǐng)注意兩個(gè)方法:Initialize
和Run
。
在該Initialize
方法中,您可以看到所有四個(gè) LED 是如何初始化為 Led(我們將使用它來根據(jù)汽車行駛的方向打開和關(guān)閉它們)、兩個(gè) HBridgeMotor 對(duì)象(每個(gè)電機(jī)一個(gè)),以及傳遞給一個(gè)新的CarController
對(duì)象。
在該Run
方法中,App進(jìn)入了一個(gè)無限while
循環(huán),它會(huì)調(diào)用CarController的方法在每個(gè)方向上移動(dòng)一秒,中間停半秒。
第 4 步 - 運(yùn)行項(xiàng)目
單擊Visual Studio中的“運(yùn)行”按鈕。它應(yīng)該類似于以下 GIF:
查看 Meadow.Foundation!
就您可以使用 Meadow.Foundation 做的大量令人興奮的事情而言,這個(gè)項(xiàng)目只是冰山一角。
- 它帶有一個(gè)龐大的外設(shè)驅(qū)動(dòng)程序庫,其中包含適用于最常見傳感器和外設(shè)的驅(qū)動(dòng)程序。
- 外設(shè)驅(qū)動(dòng)程序封裝了核心邏輯并公開了一個(gè)簡(jiǎn)單、干凈、現(xiàn)代的 API。
- 該項(xiàng)目得到了不斷發(fā)展的社區(qū)的支持,該社區(qū)不斷致力于構(gòu)建酷炫的互聯(lián)事物,并且總是樂于幫助新來者和討論新項(xiàng)目。
參考
- 電源設(shè)計(jì)方法-第1部分
- GB19510標(biāo)準(zhǔn)之燈的控制裝置第14部分 1次下載
- 使用Zio控制機(jī)械臂(第1部分)
- 帶NTC的恒溫器-第2部分
- 電氣過應(yīng)力簡(jiǎn)介-第1部分
- 了解你的電池組:第1部分
- 用Hercules? LaunchPad? 開發(fā)套件控制GaN功率級(jí)—第1部分
- 如何進(jìn)行電源設(shè)計(jì) - 第1部分
- LDO基礎(chǔ)知識(shí):噪聲 - 第1部分
- 實(shí)時(shí)控制技術(shù)滿足實(shí)時(shí)工業(yè)通信發(fā)展的需求 —— 第1部分
- 集成智能第1部分:EMI管理
- 電動(dòng)汽車用驅(qū)動(dòng)電機(jī)系統(tǒng) 第1部分:技術(shù)條件 3次下載
- 用電信息采集系統(tǒng)型式規(guī)范第1部分 1次下載
- 用電信息采集系統(tǒng)技術(shù)規(guī)范第1部分 3次下載
- 用電信息采集系統(tǒng)檢驗(yàn)規(guī)范第1部分 2次下載
- 雙極踏腳車(第二部分):微步和衰減模式 461次閱讀
- ADC數(shù)字下變頻器:抽取濾波器和ADC混疊,第2部分 1455次閱讀
- ADC眼中的虛擬評(píng)估,第2部分 624次閱讀
- 邊緣智能第1部分:邊緣節(jié)點(diǎn) 1046次閱讀
- 用于電機(jī)控制的sinc濾波器和控制算法同步的不同方法 3372次閱讀
- 實(shí)時(shí)控制技術(shù)滿足實(shí)時(shí)工業(yè)通信發(fā)展的需求 —— 第1部分 1417次閱讀
- 實(shí)時(shí)控制技術(shù)滿足實(shí)時(shí)工業(yè)通信發(fā)展的需求 —— 第2部分 993次閱讀
- JESD204C入門第2部分:新特性及其內(nèi)容 6242次閱讀
- DC/DC轉(zhuǎn)換器傳導(dǎo)EMI - 第2部分,噪聲傳播和濾波 3150次閱讀
- 電壓檢測(cè)器、監(jiān)控器和高級(jí)監(jiān)控各種功能介紹:第1部分 4859次閱讀
- 關(guān)于如何「訓(xùn)練」神經(jīng)網(wǎng)絡(luò)的一部分經(jīng)驗(yàn)與見解 7450次閱讀
- 采用8位微控制器實(shí)現(xiàn)無傳感器磁場(chǎng)定向控制 1852次閱讀
- 無源元件并非真的“無源”:第1部分——電容 2433次閱讀
- 驅(qū)動(dòng)LED串的DCM升壓轉(zhuǎn)換器簡(jiǎn)化分析(2):實(shí)際考慮 1471次閱讀
- 混合信號(hào)系統(tǒng)接地揭秘之第二部分 1663次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多