女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

測試Arduino代碼示例及功能介紹

工程師兵營 ? 2018-08-15 09:52 ? 次閱讀

業界認為,物聯網 (IoT) 對緊湊型無頭微控制器板的快速增長起到了重要作用,控制器板專為傳感器和致動器等多種邊界節點設備而設計。 憑借其無線微控制器、少量 I/O和極低能耗,此此類開發板和模塊將成為眾多將數據饋送至云分析服務的設備。 許多應用都要求更多計算資源、操作員接口和連接選項。

不論是執行網關功能、聚合許多傳感器的數據,還是啟動本地控制或多種功能,都需要具有更多功能和資源的單板計算機。 制造商們在設法打造可滿足每件設備所有不同需要的嵌入式器件,他們多數會選擇一種平臺方法——使用一塊嵌入式主板并按需添加外設。 對于中小批量,在市場上大量越來越流行的開源單板計算機 (SBC) 中選擇一臺的優勢更加顯著。 這不僅可以省去大量 NRE 成本、無線監管認證和軟件啟動,還讓開發團隊可以在設計的應用程序方面快速上手,而不必對可能需要集成的各種器件進行評估、設計和原型開發。

對于許多工程團隊,IoT 的一個顯著影響是,處理新項目的方式會有根本性轉變。 團隊可能完全有能力從零開始設計嵌入式板,但在很緊湊的期限內交付工作設計才是最終目標。 對于在創建自己的開發板前使用 SBC 平臺快速評估設計的人來說,訪問所有機械文件、布局和 BOM 都很有必要。

圖 1: UDOO Neo

開發人員可能考慮使用的 SBC 的一個代表是 UDOO Neo。 UDOO Neo 分為基本版、擴展板和完整版,是一個全面的低成本系統,且均基于適合 AndroidLinux 的 Freescale i.MX6SoloX 應用處理器構建。 本文將著重探討 Neo 完整版。 此 Freescale 器件在單一芯片上嵌入一個運行頻率為 1 GHz 的強大單核 ARM? Cortex?-A9 處理器,以及一個運行頻率高達 200 MHz 的 ARM Cortex-M4 I/O 實時協處理器。 這些器件通過高速 AXI 總線連接在一起,能共享和使用大量硬件實施的功能,例如 GPIO、UARTI2C 等。 開發人員通過對可編輯進行復用,可以分配外設功能的配置由哪個內核使用。

UDOO Neo 完整版具有 1 GB 閃存,豐富的 GPIO、串行接口、完整的 Wi-Fi 802.11 b/g/n 和 BLE 連接。 此板配備有嵌入式 9 軸運動傳感器、3 軸加速度計、磁力儀和陀螺儀、LVDS、HDMI、相機和音頻接口,適合許多工業設計。

操作系統的角度看,Cortex-A9 內核可以運行 Android Lollipop 或 UDOObuntu (14.04 LTS)。 Cortex-M4 擁有完整堆棧 Arduino 環境的訪問權限,包括完整的 Arduino 擴展板排針,進一步使其成為一個非常靈活的平臺。

圖 2: UDOO Neo 完整版板的主要特性

圖 2 中顯示為紅色的外部引腳,在 GPIO 模式下默認分配給 Cortex-A9。 因此,這些引腳可直接從文件系統(Linux、Android)控制。 顯示為綠色的內部引腳由尺寸與 Arduino UNO 引腳輸出相同的 Cortex-M4 來分配和控制。

此板由單一 6 – 15 VDC 電源供電,所有的 GPIO 為 3.3 VDC。 圖 3 的示意框圖強調了基于 i.MX 應用處理器的主要組成部分和接口。

Neo 適合用作無頭計算平臺;或通過添加 LVDS 觸摸面板或 HDMI 設備,用作適合用戶控制的平臺。 如果您的預期應用不需要運動傳感器或同樣多的內存,則可以選擇 Neo 的基本或擴展版本,以節省板的成本。 對于許多遠程應用,無頭配置是可取的,通過 SSH 遠程端子或類似端子與之通信

UDOO Neo 的 i.MX6 框圖

圖 3:UDOO Neo 的 i.MX6 框圖

UDOO Neo 入門再簡單不過了。 讓開發板運行的所有必要信息及更全面的配置和代碼示例可在 Wiki-style 網站上找到。 如果您需要,此網站還提供全面的機械布局文件和 BOM 清單。

此板在供貨時未安裝任何操作系統。 不論您選擇 Linux 還是 Android,都需要容量為 8 GB 或以上的 microSD 卡。 從 Neo 的文檔網站將您選擇的操作系統下載到 PC 或筆記本電腦,然后執行解壓縮。 您還需要將 microSD 卡插入卡插槽或 USB 適配器。 訪問計算機的命令行,完整詳情見此處,并遵循指示來卸載卡及所有分區,然后再傳輸操作系統映像。 完成后,請記得,您需要同步或彈出卡以正確關閉映像寫入。

現在,將 microSD 卡插入 Neo,連接鼠標和鍵盤(通常為 USB)、HDMI 顯示器(建議最初就使用,以查看一切是否正常運行),然后再通電。 很快,開發板上綠色和黃色 LED 閃爍,假設選擇了Linux,進入 UDOO Ubuntu 桌面前屏幕上會顯示 Linux 企鵝 Tux 標志。 您可以通過這一熟悉的桌面使用 Linux 的所有普通功能及實用工具。 針對 Neo 配置的 Arduino IDE 也會在 Linux 平臺中預加載,并通過桌面現成可用。 下一步是連接 Neo 的 Web 控制面板。 執行此操作有多種方式,可以通過讓 Neo 的瀏覽器指向其 udooneo.local Web 服務器,或指向板自身的 IP 地址(如果您知道)。 請見圖 4。

圖 4: UDOO Neo Web 控制面板

可通過該控制面板充分了解 Neo 內部發生的情況。 除了提供有關有線和無線連接狀態的信息以及傳感器和板摘要信息外,還提供配置選項,用于設置并連接到無線接入點、完成地區設置和更改顯示輸出。 還提供來自加速度計、陀螺儀和磁力儀的軸與模數數據,您可以通過輕輕地四周移動開發板來測試其操作。

Web 控制面板上還提供測試 Arduino 代碼草稿示例和寫入一些簡單的代碼的功能,請見圖 5。 熟悉 Arduino UNO 等開發板的人,從圖 5(打開引腳 13)的應用示例中可以看出是個簡單的‘“”閃爍“”示例。 Neo 的紅色 LED 已連接至此引腳,因此上傳此代碼草稿會導致其閃爍。 請注意,編程應用程序中的 Ardublocky 應用程序允許以圖形、互聯邏輯塊的方式創建 Arduino 代碼草稿。

圖 5: Arduino Web IDE 和代碼草稿樣本

正如前文所述,Neo 配備有兩組 GPIO。 可從 Arduino 代碼草稿訪問的 GPIO 稱作內部排針,最內側的排針組和從 Linux 內訪問的 GPIO 則稱為外部排針。 默認情況下,所有 GPIO 都配置為輸入,但可配置為輸入或輸出,且在需要時可產生內核中斷。 引腳復用允許 MPU 向外部引腳分配更專門的任務。

可從 Linux 內訪問的 GPIO

圖 6: 可從 Linux 內訪問的 GPIO。 單擊此處查看全尺寸圖像。

可以在命令行使用以下簡單命令控制 GPIO 引腳:

echo out > /gpio/pin19/direction – 將引腳設置為輸出引腳,或

echo in > /gpio/pin19/direction – 將引腳設置為輸入引腳

指定為輸出的引腳,可使用 echo 0 > /gpio/pin19/value 設置為低,零伏;

或使用 echo 1 > /gpio/pin19/value 設置為高,+3.3 VDC

輸入引腳值可使用 cat /gpio/pin19/value 來讀取

除了從 /sys/class/gpio 目錄創建鏈接外,UDOObuntu Linux 中預安裝的 udoo-gpio-export 軟件包還負責導出所有 GPIO 作為輸入。 有關這類高級要求的更多信息,請見 UDOO 文檔。

Cortex-A9 和 Cortex-M4 內核之間通過雙向虛擬化串行引腳進行通信,使用共享內存交換數據。 可以在 Linux 中通過使用 /dev/ttyMMC 來讀取,例如 minicom –D /ttyMCC;或使用 Serial0 對象在 Arduino 代碼草稿內讀取。

UDOO Neo 完整版板擁有三個運動傳感器。 14 位加速度計和 16 位磁力儀位于相同封裝(一種 Freescale FXOS8700CQ 器件內。 加速度計擁有三個可動態選擇的滿量程范圍:+/-2 g、+/- 4 g 或 +/- 8g。

3 軸陀螺儀是 Freescale FXAS21002C。

它們被連接至 I2C 總線,請見圖 7,并可通過任一內核訪問。

圖 7: 顯示傳感器和器件配置的 I2C 總線

在命令行,它們可以使用

echo 1 > /sensors/accelerometer/enable 或 echo 1 > /sensors/gyroscope/enable 來啟用,并可使用 cat /sensors/magnetometer/data 等命令來讀取一次性的值。

嵌入式應用當然可以通過相關 I2C 寄存器直接從它們讀取。 加速計和磁力儀使用地址 0x1E,陀螺儀使用 0x20。

也可以通過更高級的語言(例如 Python)來訪問傳感器。 在使用任何新開發板的早期,您都會希望開發板設計具備開源與社區性質。 關于這方面的一個很好例子是 GitHub 上的 Neo.GPIO Python 庫,該庫提供在 Cortex-A9 上運行的 Python 應用程序的傳感器接口代碼。 Python 已包含在 UDOObuntu 發行版中,因此,使其成為在 Neo 上進行開發的必然選擇。 使用前,您需要從 GitHub 下載 .ZIP 文件,然后將其解壓縮到將要創建 Python 應用程序所在的目錄。 在 .ZIP 文件中還包括了多個代碼示例,圖 8 中顯示了其簡化版本。

圖 8: 讀取陀螺儀并顯示其中數據的 Python 程序

要在命令行運行圖 8 中顯示的 Python 代碼,您必須以 root 的身份運行。 如果您使用的是如上所述的 UDOO Neo,您的用戶帳戶為 udooer,那么您需要按以下方式使用 GyroExample.py 程序。 請見圖 9。

echo udooer | sudo –S su –c ‘python GyroExample.py’

圖 9: GyroExample.py 代碼運行的截屏

UDOO Neo 是全面且強大的 SBC,可以用作工業 IoT 應用的理想開發平臺。 通過使用 Neo,您可極快運行初始應用,并以最具時間和成本效益的方式讓產品上市。

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

    關注

    134

    文章

    9310

    瀏覽量

    375116
  • 物聯網
    +關注

    關注

    2927

    文章

    45900

    瀏覽量

    388196
  • Arduino
    +關注

    關注

    189

    文章

    6492

    瀏覽量

    190133
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    《ESP32S3 Arduino開發指南》第二章 Arduino基礎知識

    迭代,不斷完善,示例代碼功能也越來越健全。使用Arduino IDE進行開發,由于驅動庫是相互兼容的,很多代碼不需要修改就可以直接使用,這就
    發表于 05-13 09:28

    (開源代碼版)手把手教學:DVP攝像頭拍照&上傳功能示例

    通過本開源示例即可完成DVP攝像頭的拍照、圖像預處理及云端上傳全流程。示例代碼包含完整工程、硬件配置說明及調試技巧,從環境搭建到功能實現,一步步帶你構建穩定可靠的圖像數據采集與傳輸系統
    的頭像 發表于 04-21 15:23 ?239次閱讀
    (開源<b class='flag-5'>代碼</b>版)手把手教學:DVP攝像頭拍照&amp;上傳<b class='flag-5'>功能</b><b class='flag-5'>示例</b> !

    如何獲取SMBus示例代碼

    想找一個用硬件SMBus外設的示例代碼,但是在網上找到的很多都是HAL庫的版本,我目前的代碼是用的標準庫,想知道ST官方有沒有相關的示例代碼
    發表于 03-10 07:16

    用于 SPI 絕對編碼器的 Arduino 示例代碼

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代碼教程旨在為用戶提供一個堅實的起點,以便通過串行外設接口
    的頭像 發表于 01-26 21:35 ?736次閱讀
    用于 SPI 絕對編碼器的 <b class='flag-5'>Arduino</b> <b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    I2C總線與Arduino的接口示例

    在現代電子設計中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設備共享同一通信線路,從而節省空間和成本。Arduino,作為一個多功能的微控制器平臺,自然也支持I2C通信。 I2C總線
    的頭像 發表于 01-17 15:34 ?1372次閱讀

    HAL庫在Arduino平臺上的使用

    ,適合于快速原型開發和教育。HAL(硬件抽象層)庫是一種在Arduino平臺上使用的軟件庫,它提供了一種標準化的方式來訪問硬件功能,使得開發者可以編寫更通用、更可移植的代碼。 1. 什么是HAL庫 HAL庫是硬件抽象層庫的簡稱,
    的頭像 發表于 12-02 14:04 ?1461次閱讀

    LP589x和TLC698x示例代碼用戶指南

    電子發燒友網站提供《LP589x和TLC698x示例代碼用戶指南.pdf》資料免費下載
    發表于 11-13 15:57 ?0次下載
    LP589x和TLC698x<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    TPS929xxx-Q1示例代碼

    電子發燒友網站提供《TPS929xxx-Q1示例代碼.pdf》資料免費下載
    發表于 11-13 14:59 ?2次下載
    TPS929xxx-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    LP5891-Q1示例代碼用戶指南

    電子發燒友網站提供《LP5891-Q1示例代碼用戶指南.pdf》資料免費下載
    發表于 11-12 14:08 ?1次下載
    LP5891-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    白嫖篇:4G 模組 MQTT 通信功能

    今天我們白嫖的是4G 模組 MQTT 通信功能!以AIR708E開發板為例 從MQTT介紹,演示功能概述,準備硬件環境,準備軟件環境,代碼示例
    的頭像 發表于 10-30 14:53 ?2071次閱讀
    白嫖篇:4G 模組 MQTT 通信<b class='flag-5'>功能</b>!

    BQ40Z80量產校準代碼示例

    電子發燒友網站提供《BQ40Z80量產校準代碼示例.pdf》資料免費下載
    發表于 09-27 09:34 ?1次下載
    BQ40Z80量產校準<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    MSP代碼保護功能

    電子發燒友網站提供《MSP代碼保護功能.pdf》資料免費下載
    發表于 09-21 09:14 ?0次下載
    MSP<b class='flag-5'>代碼</b>保護<b class='flag-5'>功能</b>

    展示TIC2000? CLA的獨特功能的軟件示例

    電子發燒友網站提供《展示TIC2000? CLA的獨特功能的軟件示例.pdf》資料免費下載
    發表于 09-02 09:54 ?0次下載
    展示TIC2000? CLA的獨特<b class='flag-5'>功能</b>的軟件<b class='flag-5'>示例</b>

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    。 HID-Project 庫有許多非常有趣的功能,因此我建議你查看 Github 頁面上的各種示例。 當你將代碼編寫或粘貼到 Arduino IDE 中后,你可以將
    發表于 08-19 17:02

    怎樣用Arduino測試鋰電池容量

    本文詳細介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼
    的頭像 發表于 07-30 09:14 ?1526次閱讀
    怎樣用<b class='flag-5'>Arduino</b><b class='flag-5'>測試</b>鋰電池容量