国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建Windows 10 Arduino應用程序

454398 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2019-12-03 08:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Microsoft將全力投入Windows 10,最終實現(xiàn)了擁有可跨平臺運行的應用程序的夢想。結合對Arduino的官方支持,您可以使用一個功能強大的新工具:能夠輕松創(chuàng)建具有與現(xiàn)實世界硬件連接的通用Windows應用程序的功能。

即使在這種情況下,入門方法也是如此您以前從未編程過Windows應用。

在繼續(xù)閱讀之前,請查看我們將要制作的演示。

我應該注意,我還沒有從大約10年前開始使用Visual Studio,甚至使用C#。我是從全新安裝Visual Studio的角度來解決這個問題的,而忘記了我所知道的一切。

如果您已經(jīng)對Windows應用程序編程非常有經(jīng)驗,或者正在尋找一種簡單的方法來要開始在沒有Arduino東西的情況下在Windows中進行編程,請嘗試Ryan制作簡單的Visual Basic應用程序的指南。絕對的編程初學者可能想先閱讀我的Programming 101(第2部分)文章。

您應該熟悉一些初學者的Arduino項目(甚至可以閱讀我們的Arduino指南),但這可能是您第一次嘗試創(chuàng)建真正的計算機軟件來與之交互。

下載

首先:您需要加入Windows Insider計劃才能獲取 Visual Studio 2015 的最新預覽版和 Windows 10 Preview 的最新版本。立即執(zhí)行-免費。 Windows 10是開發(fā)人員預覽版,不應安裝為主要操作系統(tǒng)

加入Windows Insider程序,然后下載Windows 10技術預覽版

獲取Visual Studio 2015 Community Edition的預覽版[不再可用]。

Visual Studio 是Microsoft自己的開發(fā)環(huán)境,我們將使用它來創(chuàng)建C#Windows應用程序。

為什么要使用C#? 與Java極為相似,它是一種相對簡單的編程語言,對于初學者來說,它可以啟動并運行可運行的應用程序,但功能強大到足以繼續(xù)創(chuàng)建一些令人驚嘆的應用程序(甚至游戲:C#是Unity腳本語言)選擇-請查看我們的免費電子書,《使用Unity編程游戲的初學者指南》。

如果尚未下載,請從官方Arduino.cc下載 Arduino IDE 。網(wǎng)站,然后將標準固件安裝到板上。您可以在示例-》 Firmata -》 標準固件下找到它。這只是將其變成“啞”串行設備,它將執(zhí)行我們的應用程序告訴它的所有操作–板上本身沒有應用程序邏輯,只有我們的應用程序與連接到Arduino的任何傳感器或輸出設備之間的接口

就接線而言,您可以如下所示將LED直接粘貼到引腳13和GND,或者使用板載LED。您還需要將一個可變電阻器(我使用了10k線性電位計)接入A0(顯然,相應的支腳也位于GND和+ 5v上)。

最后,從GitHub [不再可用]下載Remote Wiring軟件包。這是我們需要添加的層,它將使我們的Windows應用程序能夠與Arduino對話。

創(chuàng)建應用程序

繼續(xù)并打開Visual Studio。如果這是您第一次運行它,則可以選擇登錄。如果愿意,請忽略它。選擇 Visual C#作為開發(fā)選項,然后繼續(xù);無論哪種方式,都需要花費幾分鐘的時間來準備首次使用Visual Studio。

使用模板 Visual C#-》 空白應用程序(Windows Universal)創(chuàng)建一個新項目)。我稱我為“ Arduino測試”,但這沒關系。

這時,我遇到了有關必須將Windows 10切換到Windows 10的錯誤。開發(fā)人員模式(如果我想實際運行該應用程序)。繼續(xù)執(zhí)行此操作,盡管如果您發(fā)現(xiàn)Windows 10的構建在該設置下崩潰,則這是一個已知的錯誤,您將需要使用組策略編輯器啟用開發(fā)人員模式。

下一步,右鍵單擊解決方案資源管理器中的任意位置(在右側),然后選擇添加-》 現(xiàn)有項目。

導航至從Github下載Remote Wiring文件的位置-如果已解壓縮,則應為名為 remote-wiring-develop 的文件夾。在其中可以找到 Microsoft.Maker.win10 ;在其中,您會發(fā)現(xiàn)另外3個文件夾。反過來,通過在這三個文件夾中導航并找到項目文件來添加每個文件。

如果收到有關“找不到XAML 8.2文件”的任何錯誤,則說明您使用的Visual Studio版本錯誤或沒有還沒有安裝開發(fā)人員工具。返回本文開頭,確保已下載并安裝了兩個鏈接的Visual Studio文件。

您剛剛添加的這3個項目只是Arduino界面的不同層。在解決方案資源管理器中,如果右鍵單擊并選擇 Dependencies -》 Build Dependencies ,則可以查看哪些層取決于哪個( Serial 》不依賴任何內(nèi)容; Firmata 依賴于Serial; RemoteWiring 依賴于兩者)。您需要在此處進行的唯一更改是從下拉列表中選擇您的項目,然后選中每個框以表明您的項目依賴于所有其他項目。

最后一步:再次從解決方案資源管理器中,右鍵單擊項目下的參考項目,然后選擇添加參考。從左側導航到 Windows Universal ,然后在 Microsoft Visual C ++ AppLocal Runtime Package 旁邊打鉤。

下一步導航到 Projects (也在同一對話框的列表中) (在左側),并選中三個 Microsoft.Maker 項目中的每個項目旁邊的框。

那很難超出了應有的程度,但是您只需要執(zhí)行一次即可;現(xiàn)在我們可以從編程中獲得樂趣–我保證這并不可怕。

編程

如果您在后續(xù)操作中遇到困難,可以在Pastebin上找到完整的代碼。無論如何,我還是強烈建議您仔細閱讀下面的說明,以便我可以解釋代碼的實際作用。

首先,我們需要添加一些代碼,表明我們需要USB端口才能與Arduino通信。從解決方案資源管理器中找到 Package.appxmanifest 文件,然后雙擊進行編輯。我們需要在此處粘貼一些代碼–從技術上講,我們將“插入子節(jié)點”,因為它是一個XML文件,但是只需將整個部分替換為下面的代碼即可,如下所示:

如果您使用的是藍牙,或者針對的是Win8.1而不是10,則確切的代碼會有所不同,但以下內(nèi)容適用于Windows 10,USB連接。

轉到構建菜單-》 重建解決方案,并確保沒有收到任何錯誤。

從解決方案資源管理器中,展開 MainPage.xaml 節(jié)點。雙擊將加載表單設計器,稍后我們將返回,但現(xiàn)在打開 MainPage.xaml.cs ,其中包含我們應用程序背后的主要邏輯。

在第一部分中添加兩行,以表明我們將“使用” Arduino位。

using Microsoft.Maker.serial;

using Microsoft.Maker.RemoteWiring;

我還添加了一行以表示我們將使用 System.Diagnostics; ,這使我們能夠使用 Debug.WriteLine()函數(shù)將調試消息輸出到IDE。

首先,讓我們定義一些我們將始終使用的變量。在 public MainPage()函數(shù)聲明之前添加這些行。

UsbSerial connection;

RemoteDevice arduino;

UInt16 lastvalue;

下一步,跳轉到MainPage()函數(shù)–這稱為構造函數(shù),并且該函數(shù)會在創(chuàng)建我們的應用后立即被調用,因此我們使用它來設置所有內(nèi)容。

首先,添加一行以建立到特定USB設備的USB串行連接(

connection =new UsbSerial(“VID_2341”, “PID_0043”);

注意,標準Arduino Uno的USB ID已被編碼到模塊中,但是您可以從設備管理器進行驗證。 》-》 端口(COM和LPT)-》 Arduino Uno -》 詳細信息選項卡-》 硬件ID 。

然后在其后添加以下幾行。

arduino = new RemoteDevice(connection);

connection.ConnectionEstablished += OnConnectionEstablished;

connection.begin(57600, SerialConfig.SERIAL_8N1);

正在發(fā)生一些事情這里。首先,我們創(chuàng)建一個RemoteDevice對象-記住,這一層為我們提供了許多Arduino命令-并將其命名為“ arduino”。下一行附加到ConnectionEstablished事件,表示“一旦成功建立USB連接,請運行名為OnConnectionCreate()的函數(shù)。”。

最后一個命令使用8N1位模式通知連接已經(jīng)以57600的波特率開始。

您還需要立即創(chuàng)建該OnConnectionEstablished()函數(shù),因此將其移出MainPage()函數(shù),只是制作一個空白函數(shù),如下所示。

private void OnConnectionEstablished()

{

// LOGIC HERE

}

跳回到我前面提到的表單設計器(如果您忘記了如何:雙擊《解決方案資源管理器中的strong》 MainPage.xaml )。創(chuàng)建兩個按鈕。為此,請打開“工具箱”標簽,該標簽會垂直固定在屏幕左側。將兩個按鈕拖到頁面上,然后標記為 On 和一個 Off 。

選擇第一個按鈕,然后從右下角的“屬性”框中將其命名為“ OnButton”。單擊小圖標-這是事件和操作列表,用于指定與表單元素進行交互時發(fā)生的情況。在 Click 字段中鍵入“ OnButtonClick”。

按Enter鍵時,它將自動為該特定按鈕事件創(chuàng)建代碼并加載標準代碼視圖。切換回現(xiàn)在是表單設計者,并且對“關閉”按鈕執(zhí)行相同的操作,但是這次將其稱為“ OffButton”和“ OffButtonClick”。當您到達那里時,請繼續(xù)并將其后面的主窗口表單命名為“頁面”-我們稍后將使用它。現(xiàn)在,您應該具有類似于以下屏幕截圖的內(nèi)容:

再次切換回設計器片刻,然后再次對每個按鈕進行設置 isEnabled 屬性設置為 False 。您可以通過直接在XAML代碼視圖中鍵入屬性來執(zhí)行此操作,也可以在“屬性”框中找到該復選框(如果仍在“動作”視圖中,則單擊“扳手”),該復選框位于展開的 Common

這不是必需的,但是禁用按鈕是一個好習慣,直到我們確定已插入并連接了Arduino。

要重新啟用它們,將以下內(nèi)容添加到OnConnectionEstablished()函數(shù)。現(xiàn)在,不必太擔心代碼的確切含義,這只是您應該在現(xiàn)代Windows應用程序中處理表單更新以確保良好性能的方式。連接到Arduino之后,將按鈕的 IsEnabled 屬性設置為true。

private void OnConnectionEstablished()

{

// enable the on off buttons

var action = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() =》 {

OnButton.IsEnabled = true;

OffButton.IsEnabled = true;

}));

arduino.pinMode(14, PinMode.ANALOG);

arduino.AnalogPinUpdatedEvent += MyAnalogPinUpdateCallback;

Debug.WriteLine(arduino.analogRead(14));

}

您還將看到更加熟悉的pinMode()語句,說我們在引腳14上有一個模擬輸入(有13個數(shù)字引腳,所以A0從14開始計數(shù))。然后,我們有了另一個事件聲明–當模擬引腳值更新時,調用函數(shù)MyAnalogPinUpdateCallback。

最后,我們需要編輯按鈕單擊事件,并確定模擬輸入更改時會發(fā)生什么。讓我們從按鈕開始。我們可以使用與常規(guī)Arduino代碼類似的函數(shù)名稱來與Arduino交互,如下所示:

arduino.digitalWrite(13, PinState.HIGH);

將其粘貼到onButton事件中,并將其粘貼到offButton中:

arduino.digitalWrite(13, PinState.LOW);

簡單。來自Arduino的模擬輸入有些棘手,但這就是我的想法。

public void MyAnalogPinUpdateCallback(byte pin, UInt16 value)

{

if(value-lastvalue 》5 || lastvalue-value 》 5){ Debug.WriteLine(“Pin A” + pin + “ is now ” + value);

var action = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() =》 {

byte num = Convert.ToByte(value / 4);

Page.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, num, num, Convert.ToByte(255 -num)));

}));

}

lastvalue = value;

}

請注意,我正在存儲我們從引腳接收到的先前值(稱為lastValue);這使我們能夠檢查該值有多少變化,并且僅在差異顯著時才作出反應(一種信號平滑)。如果它在任一方向上的變化都超過5(值的整個范圍是024,那么我們將通過更改Page元素的RGB背景顏色值來做出反應。

因為我們只有一個數(shù)字和我一起工作時,我很著急,在這里用制作R,G和B所需的3個數(shù)字對事情稍作改動。您可能會想出一些更漂亮的東西。

完成

就是這樣–運行代碼,您應該會看到類似于上面的屏幕截圖的內(nèi)容。這些按鈕將打開和關閉LED,可變電阻器將改變背景。如果遇到問題,請不要忘記完整的代碼。

責任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3702

    瀏覽量

    93997
  • 應用程序
    +關注

    關注

    38

    文章

    3344

    瀏覽量

    60248
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    196898
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    USBISP/USBasp編程器給Atmega32U4下載Arduino bootloader引導程序

    對于新出廠的ATmega32U4芯片內(nèi)部是沒有arduino引導程序的,需要用戶預先下載bootloader后才能用串口下載自己的應用程序.在某些罕見情況下舊的bootloader會導致一些bug
    的頭像 發(fā)表于 01-31 14:38 ?668次閱讀
    USBISP/USBasp編程器給Atmega32U4下載<b class='flag-5'>Arduino</b> bootloader引導<b class='flag-5'>程序</b>

    Windows10上運行vivado使用tcl文件創(chuàng)建E203項目路徑錯誤的問題

    軟件版本是vivado2020.1,開發(fā)板是MCU200T。由于習慣使用了Windows系統(tǒng)所以想在Windows創(chuàng)建vivado項目進行開發(fā)。但是由于Makefile更適合Linux系統(tǒng),所以
    發(fā)表于 10-28 07:19

    使用 LinkBoy 將程序導出為 C 語言代碼并燒錄至 Arduino ESP32 開發(fā)板

    以下是使用 LinkBoy 將程序導出為 C 語言代碼并燒錄至 Arduino ESP32 開發(fā)板的詳細步驟指南: 一、準備工作 ? 硬件需求: 項目 要求 開發(fā)板 Arduino ESP32(支持
    發(fā)表于 10-16 12:41

    學生適合使用的SOLIDWORKS 云應用程序

    隨著科技的不斷發(fā)展,計算機輔助設計(CAD)技術已經(jīng)成為現(xiàn)代工程教育的重要組成部分。SOLIDWORKS作為一款CAD軟件,其教育版云應用程序為學生提供了強大而靈活的設計平臺。本文將探討
    的頭像 發(fā)表于 09-15 10:39 ?774次閱讀
    學生適合使用的SOLIDWORKS 云<b class='flag-5'>應用程序</b>

    如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄
    的頭像 發(fā)表于 08-08 20:16 ?3566次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導<b class='flag-5'>程序</b>bootlaoder

    關于STMCubeIDE創(chuàng)建工程BUG怎么解決?

    ;quot;中,選擇選項“在應用程序啟動時不自動刷新” 適用于STM32CubeMX 1.轉到幫助&gt;連接與更新&gt;更新器設置。 2.在”數(shù)據(jù)庫自動刷新”部分
    發(fā)表于 08-08 06:59

    求助,關于CYW43455 BLE Windows斷開連接問題求解

    可以使用 Windows 中的 C# 應用程序以及 iPhone 上的AIROC?應用程序連接并訪問該設備,無需配對。 然而我無法讓它在 Windows 中配對并保持連接
    發(fā)表于 07-17 07:38

    外圍設備通過手機連接到BLE應用程序,為什么不能連接到Infineaon BLE?

    使用 ch06_ex01_periab \" le 項目創(chuàng)建了外圍設備。\" \" 使用像 LightBlue 這樣的移動應用程序,我能夠連接到這個外圍設備并更改特征值。 我已經(jīng)使用 \"
    發(fā)表于 07-07 08:06

    使用Windows Mesh客戶端應用程序來觀看CYBT-213043-MESH的環(huán)境溫度信息,如何保存溫度數(shù)據(jù)并將其傳輸?shù)絜xcel嗎?

    現(xiàn)在我正在使用Windows Mesh客戶端應用程序來觀看CYBT-213043-MESH的環(huán)境溫度信息。 我的問題是有什么方法可以保存溫度數(shù)據(jù)并將其傳輸?shù)絜xcel嗎?
    發(fā)表于 07-04 08:16

    CYBT-413061上的RFCOMM_Serial_Port SPP演示,AIROC客戶端控制應用程序不起作用,什么原因引起的?

    正常,但當啟動客戶端控制應用程序并打開串行端口時,卻什么也沒發(fā)生--所有控件都是灰色的。 然后,我還按照說明中的建議從 Windows 10 PC 上運行 BTSpy 并進行連接 - 客戶端控制
    發(fā)表于 07-02 06:05

    請問是否可以在通用Windows平臺中構建OpenVINO? GenAI C++ 應用程序

    無法在通用 Windows 平臺中構建OpenVINO? GenAI C++ 應用程序
    發(fā)表于 06-24 07:35

    如何使用GSTREAMER在Windows Appication上獲得FX3-單色直播 (y8)?

    下面的帖子幫助我用 FFMPEG 和 GSTREAMER 用Linux應用程序流式傳輸FX3的單色相機,用Windows應用程序流式傳輸 FFPMEG 。 但是現(xiàn)在,我正在嘗試在 Window
    發(fā)表于 05-29 06:27

    如何使用CYUSB3KIT-003使用GPIO訪問SRAM的應用程序

    你好。我是CYUSB3的初學者。 我想創(chuàng)建一個使用 CYUSB3KIT-003 使用 GPIO 訪問 SRAM 的應用程序。 目前我已經(jīng)在我的電腦上安裝了SDK,但是有什么參考資料嗎?
    發(fā)表于 05-14 06:51

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎知識

    ,目前最新的Arduino核心庫采用C與C++混合編程。通常所說的Arduino語言,是指Arduino核心庫文件提供的各種應用程序編程接口(Applocation Programmi
    發(fā)表于 05-13 09:28

    如何部署OpenVINO?工具套件應用程序

    編寫代碼并測試 OpenVINO? 工具套件應用程序后,必須將應用程序安裝或部署到生產(chǎn)環(huán)境中的目標設備。 OpenVINO?部署管理器指南包含有關如何輕松使用部署管理器將應用程序打包并部署到目標主機的詳細信息。 注意:Ope
    發(fā)表于 03-06 08:23