Tag Archives: labview

[LabVIEW for Arduino] 感測器的移動平均與加權平均結果

大家好,今天的小範例要告訴您如何使用 LabVIEW 的 shift register 來平滑 Arduino A0腳位上的光敏電阻值,使用的移動平均法與加權平均法取歷史的3筆資料來平均。

Front Panel 執行結果如下圖,菱形方格是光敏電阻原始值,紅線是移動平均法,黑線是加權平均法

所謂的移動平均法是指所有資料的比重相同,因此計算方式就是把所有資料相加之後除以總筆數就好。

換言之加權則代表每一筆資料的權重 (weight) 不同,您可以根據需求來調整。以本範例來說,時間愈近的資料權重愈高。

ave_03

程式畫面,上段是 Arduino 指令,可能看到我們要使用 A0 腳位上的光敏電阻值,與 Arduino IDE 不同的地方在於回傳值是 0~ 100 而非 0~1023。

中段是移動平均法,您可看到我們使用 shift register 抓到光敏電阻值的前三筆資料,相加之後除以4就好。下段是加權平均法,在此加權平均法採用 Formula node 讓畫面更簡潔,不然以下算式容易讓畫面雜亂喔

最後使用 Bundle 指令將這兩筆資料匯集以來之後丟給 Waveform chart 來顯示就可以了。

ave_01

Formula node 內容,可以看到愈久的資料權重就愈低 (0.4 > 0.3 > 0.2 >0.1),請注意權重相加需等於 1

ave_02

[成就達成] 魔動王顏色對對碰

我承認這篇真無聊,只是在玩玩具的時候,突然想到好像可以把魔動王與書的顏色搭起來,來吧!知道魔動王的朋友,應該和阿吉老師差不多年紀喔

超級火王 – LabVIEW 高階機器人教戰手冊 (第二版 EV3 + NXT)

2015-04-20 18.56.21

超級水王- LabVIEW for Arduino 控制與應用的完美結合

2015-04-19 23.01.50

超級風王:LabVIEW 高階機器人教戰手冊(初版 for NXT)

2015-04-20 18.57.57

LabVIEW 藉由滑鼠控制 MeArm (四伺服機的機械手臂)

使用LabVIEW 控制 Arduino,藉由滑鼠點選左右鍵來控制 MeArm 的單顆伺服馬達 (四伺服機的機械手臂)。能控制一顆就能夠控制四顆,但我們先從一顆伺服馬達開始。

程式如下:在 while loop 中的下段是取得滑鼠狀態,並取得滑鼠左鍵 (button 1) 與右鍵 (button 2) 的狀態。

進到上段的兩個 case structure 之後,如果左鍵被按下就讓 servo 角度累加5,如果是右鍵就累減5。藉此達到滑鼠控制的效果。當然啦,改用電玩手把的話就可以用類比搖桿來控制 servo,效果就更棒了。

更多 LabVIEW + Arduino 的教學請按我 ,別忘了 CAVEDU 的 LabVIEW for Arduino:控制與應用的完美結合 這本書喔gggg

 

最後來看影片吧

[新書出版] LabVIEW 高階機器人教戰手冊 第二版 – 針對樂高EV3/NXT機器人

[LabVIEW高階機器人教戰手冊 第二版] 來了!內容適用於樂高EV3與NXT機器人套件。如果是EV3的話,您需要使用 LabVIEW 2012以後的版本並另外安裝對應版本的 LabVIEW Module for LEGO MINDSTORMS

本書第一版是2010年10月出版的,一轉眼已經過了4年了,很高興個還能收到許多讀者的支持與肯定,我們會更努力編寫優良的教材喔

請參考 CAVEDU 實驗室 LabVIEW 說明

2014-12-24 19.35.57

書名:LabVIEW高階機器人教戰手冊:打造智能與趣味兼具的機器人(第二版)

作者: 曾吉弘、官文絢、吳維翰、謝宗翰、顏義翔、薛皓云、翁子麟
出版社:碁峰
出版日期:2014/12/24
語言:繁體中文

定價:450元

內容簡介

  .使用LabVIEW高階圖形化程式環境,程式功能強大且指令豐富,可以讓您設計出各種不同的機器人。.支援最新的樂高EV3機器人平台,也向下相容樂高NXT機器人。

.適用LabVIEW 2009之後的版本。

.第二版新增:資料擷取與分析、Kinect 體感互動等專章介紹。

.包含了92個核心程式範例與4個進階專題,如:人機介面設計、影像辨識追蹤與高階機器人行為模式等,您可從中學習諸多重要技巧與概念。

.您將學到可運用哪些設備讓機器人更厲害,包含:Kinect 體感感測器、光感測器陣列與視覺處理模組等。

.本書作者群為LabVIEW專業教學團隊,實戰經驗豐富,帶領您從無到有建立起圖形化程式設計的基礎以及機器人技術,不僅適合機器人玩家閱讀,亦可做為機電整合、訊號分析量測與自動控制課程之先導教材。

.範例程式檔與本書更多

名人推薦

淡江大學電機系暨機器人研究所 翁慶昌教授
南台科技大學機器人研究中心 謝銘原主任
國家發展儀器股份有限公司 大中華區行銷總經理 郭皇志  聯合推薦!

作者介紹

作者簡介曾吉弘

CAVEDU教育團隊技術總監
Robocon雜誌國際中文版 專欄作者

官文絢

臺北市立大學物化系助理教授
國立交通大學電子物理博士

吳維翰(John)

學歷:美國麻省 Tufts University: 機械工程系學士、碩士(2002,2004)
現職:國家發展儀器股份有限公司

目錄

chapter 01 LabVIEW 緒論
chapter 02 樂高機器人發展發與零件介紹
chapter 03 LabVIEW 初體驗與撰寫準則
chapter 04 機器人初體驗與控制結構
chapter 05 機器人動作控制
chapter 06 感測器原理與應用
chapter 07 數值運算
chapter 08 其他 EV3 功能
chapter 09 直接控制模式
chapter 10 資料擷取與分析
chapter 11 LabVIEW 的延伸應用
chapter 12 終極循跡機器人
chapter 13 機器視覺
chapter 14 向經典致敬 – 圖靈機
chapter 15 Kinect 體感互動
appendix A 範例機器人組裝說明
appendix B LabVIEW 的 NXT/EV3 介面
appendix C LabVIEW 的其他樂高機器人周邊
appendix D 取得 LEGO MindStorms LabVIEW Module
appendix E 參考文獻

[新書預告] LabVIEW 高階機器人教戰手冊 – 第二版搭配樂高 EV3 機器人

2010 年我們出版了 LabVIEW 搭配樂高 NXT 機器人的書籍,過了四年也就是EV3上市之後,我們就開始改版了,本書預計年底出版,算是忙碌 2014 一個相當好的總結。

本書特別邀請台北市立大學官文絢教授編撰[資料擷取與分析]專章,說明 LabVIEW 在 data aquiring 方面到底可以幫我們多少忙,以及為什麼要理解資料?從資料裡面可以判讀出哪些有趣的資訊呢?這對於機器人玩家(也可擴大到所有工程領域)來說,是非常重要的技能喔!

另外還加入了 Kinect 體感裝置,您可以揮動手臂來控制機器人的動作了。Kinect 的深度(depth)資料可以幫機器人解決很多視覺辨識上的問題。

基本 CMYK

章節列表如下:

0如何使用本書
1LabVIEW概述
2LEGO Mindstorms EV3概述
3LabVIEW初體驗
4迴圈
5運動
6感測器原理與應用
7數值運算
8其他EV3功能
9直接控制模式
10資料擷取與分析
11LabVIEW概述
12Lineleader
13NXTCam
14圖靈機
15Kinect 視覺辨識
附錄A基本車體組裝
附錄BLabVIEW的EV3程式集
附錄CLabVIEW的其它機器人平臺
附錄D取得LEGO MindStorms NXT Module
附錄E參考書籍與線上資源

141112 LabVIEW for Arduino @台北市立大學物化系

本學期許多學校都找 CAVEDU 去辦理 LabVIEW for Arduino 的研習,看來當年決定寫這本怪書還算是有一點遠見啦(自賣自誇)。

說真的,牽涉到硬體的時候就會比單純執行 LabVIEW  程式來的複雜多了,要檢查 Arduino COM port,程式有沒有執行,線有沒有接對…  太多要考量的問題了啦。這也是我們期待在課堂中教給學生的實務觀:

口說無憑,會動再說!

延伸閱讀:http://lab.cavedu.com/l4a

2014-11-12 14.55.11

同學們從買零件開始通通自己來,(光華商場是大家的好朋友)。絕大部份的 Arduino 基礎教學範例中的硬體都會在課堂中涵蓋到,可以打下不錯的基礎

2014-11-12 14.09.03

這是一個使用滑鼠右鍵來控制 LED 亮滅的範例,純 Arduino 不太好做到的事情,結合 LabVIEW 就簡單多了。

 

2014-11-12 14.08.30

再進步到控制兩顆 LED,之後就能開始玩七段顯示器與 LED Matrix 了!

 

 

2014-11-12 14.27.52

 

 

系上有 NI ELVIS 好幾套呢,老師用它來做許多物理實驗。這一套可相當不便宜啊

2014-11-12 14.51.56

 

大家就是用這種期待又怕受傷害的眼神在看著 Arduino ,歡迎來到 Arduino 這個有趣的世界~
2014-11-12 14.55.18

141015 LabVIEW + Arduino@修平科技大學電機系

本學期在修平科技大學電機系有為期四次的 LabVIEW 結合 Arduino 的技職再造計畫業師課程。課程內容是讓大一的同學接觸實際上用於業界的 LabVIEW 高階圖形化軟體,搭配 Arduino 作為資料擷取平台,進行各類基礎的機電整合應用。目標是讓同學能從大一開始就有機會接觸實務導向的課程,積極培養業界需要的人才。感謝大力促成此事的系主任與歐教授。

上課用的教材是 CAVEDU 的[LabVIEW for Arduino 控制與應用的完美結合]

2014-10-15 14.37.42

2014-10-15 14.05.51

上課用的機電教室,這些日後都可以藉由 NI 的 ELVIS 教學板連到 LabVIEW 來控制,教室整體設備大升級啊!

2014-10-15 14.15.41

每位同學都有一套 Arduino 與 CAVEDU 出版的[LabVIEW for Arduino 控制與應用的完美結合]可以用耶,真的是很完整耶!每盒中都是本書的完整設備,當然也會有一片 Arduino UNO 開發板。

2014-10-15 14.16.02 2014-10-15 14.31.21

會後的專家會議,大家一起討論怎樣讓課程更完整,讓同學更快上手。

2014-10-15 17.43.11

[預計年底出版] LabVIEW 高階機器人教戰手冊 – 適用樂高EV3與NXT機器人平臺

我們在 2010 年末出版了 [LabVIEW 高階機器人教戰手冊],使用樂高NXT機器人作為硬體平台,經過了四年之後,要改版到 EV3 機器人也可以用囉。預計年底出版,敬請期待。

您可以先下載 LabVIEW 2012 之後版本的試用版再加上 LabVIEW Module for LEGO MINDSTORMS 就可以了。

請參考:

1. [EV3 + LabVIEW]LabVIEW Module for LEGO MINDSTORMS 可以下載了

2. CAVEDU LabVIEW研究室 

9-11    9-17a

章節如下,新增了 Ch10資料擷取與分析與 Ch15 Kinect 視覺辨識與體感互動,內容更全面囉:

1

LabVIEW概述

2

LEGO Mindstorms EV3概述

3

LabVIEW初體驗

4

迴圈

5

運動

6

感測器原理與應用

7

數值運算

8

其他EV3功能

9

直接控制模式

10

資料擷取與分析

11

LabVIEW概述

12

Lineleader 終極軌跡車

13

NXTCam  機器人視覺

14

圖靈機

15

Kinect 視覺辨識與體感互動

附錄A

基本車體組裝

附錄B

LabVIEW的EV3程式集

附錄C

LabVIEW的其它機器人平臺

附錄D

取得LEGO MindStorms NXT Module

附錄E

參考書籍與線上資源

140619 Arduino習作工坊動力之夜@Makerbar Taipei

今天照片沒有很多, 因為忙著幫學員們接線…   抱歉沒有作品的特寫,不過您可以參考我們 3/19 上一場動力之夜的課程介紹

如果您手邊沒有Arduion 或伺服馬達,可以用 123D Circuit 的 Arduino 伺服馬達範例來體驗一下, 馬達會在0~180之間來回擺動. 按下 play 鍵即可執行

[iframe width=”725″ height=”448″ src=”http://123d.circuits.io/circuits/151247-servo_sweep/embed” frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no”]

好,來看看上課的情形吧,宗翰老師向學生介紹它的Arduino 手套,可以遙控另一隻手掌與手指的動作。使用 LabVIEW 來製作,手指則是用3D列印。宗翰老師今年即將赴美國卡內基美隆(Carnegie Mellon University) 攻讀碩士,也是機器人相關。大家一起祝它早日歸國吧~

DSC_0118

今天晚上的內容是使用 Arduino 來控制常見的馬達: 包括直流馬達、步進馬達與伺服馬達等等。其中前兩者需要馬達控制晶片。伺服馬達則可直接接上 Arduino PWM 腳位。

掌握了這個方法之後,只要去模型店買 Tamiya 的各類輪式或履帶底盤組就能用 Arduino 來控制,這樣您的移動式機器人已經完成一半囉. 如下圖就是附有減速齒輪組的履帶底盤。

http://imgs.inkfrog.com/pix/captainhobby/TA_70108_a.jpg

DSC_0121

大家都很認真啊!加油加油

DSC_0119

[LabVIEW] 單字小幫手

以前小時候在背單字時,老師常常會建議學生做單字卡,然後現今科技進步,人手一隻智慧型手機,有許多技術也可以用在背單字上。以我為例,我喜歡用 Evernote 來整理單字,Evernote 就等於是我的數位單字卡,可以隨身攜帶且不占空間。

EvernoteEXAMPLE

 

筆者習慣用Evernote來協助記憶單字,左邊的圖取自 Homeroad.net.

在背單字時,我習慣加入一些例句,這樣會比較知道這個字要怎麼用,我通常會使用  Yahoo字典Cambridge 字典以及 Merriam-Webster 字典,然而在複製它們的註解或是例句到 Evernote 上時,會連格式一起複製,這樣看起來就很亂。

layout

從字典貼上文字時會連格式一起貼上,看起來很亂

雖然 Evernote 本身有去除格式的功能,但是除了要去掉格式外,我還需要在例句前面加上 – 的符號,且還要確保每一句都有句號(請參考第一張圖)。因此,我用 LabVIEW 寫了一個分析字串的程式,除了可以去除格式,它還會自動找出句子的開頭跟結尾(透過分析大小寫)來加上我要的符號。

VolPlusEx-e1373821904823

此程式可以去除格式並整理成我要的格式

程式的介面則如下圖:

VolPlusProgram

程式介面

在操作上,使用者只需要把例句貼到字串輸入欄中,並按下 OK,程式就會自動整理格式並複製到剪貼簿上,要利用LabVIEW實現複製到剪貼簿的功能,可以參考此討論串。同時還有一個欄位可以輸入同義字,也一樣會整理成我想要的格式。

最後附上此程式,有興趣的朋友們可以下載來玩玩看喔!

1. 複製到剪貼簿: http://ppt.cc/RbqW

2. 字串分析程式: http://ppt.cc/yCVc

PROGRAM_volplus

Maker Faire 結束了, 接著是 CAVEDU六月的研習喔

未命名

 

Maker Faire 結束了, 是不是心中也躍躍欲試想要做些什麼呢? 歡迎參加  CAVEDU 六月份的研習

一共有4場, 另外在 MakerBar 也會有 Arduino 實作工坊與電子實作超入門, 歡迎報名喔!!

06/07 Raspberry Pi – Linux 嵌入式電腦研習營 – 台中場@【享實做樂 Good work!】

06/08 Scratch for Arduino 趣味工作坊

06/15 Raspberry Pi – Linux 嵌入式電腦研習營

06/22 Intel Galileo Linux 嵌入式電腦研習營

這張圖是我們到 9月 CAVEDU day 之前的所有活動(請給我們好天氣與健康的身體), 也是在 Maker Faire 現場的DM, 您有拿到嘛?

1234

[EV3 + LabVIEW]LabVIEW Module for LEGO MINDSTORMS 可以下載了

LabVIEW 的 EV3 模組出來了,真是望穿秋水。那咱們的 LabVIEW 高階機器人教戰手冊就要準備改版囉。

也請到 CAVEDU 實驗室來看看各種有趣的 LabVIEW / 樂高機器人結合的應用

image-1

請到 NI 官網下載: LabVIEW Module for LEGO MINDSTORMS 2013/ 2012,檔案約 144MB。

請先安裝 LabVIEW 2012, 2013 32位元版本,才能安裝本模組。一定要 32位元才可以喔!(LabVIEW 2011以前版本沒有測試)

安裝好之後就可以看到 MINDSTORMS Robotics 選單,下面有 Programming、 I/O 與 Behaviors 等三個子選單。

lv009

 

Programming 子選單、 I/O 與 Behaviors 等三個子選單。

lv010

I/O 子選單:主要的動作指令都在這,包含馬達、感測器、等候、螢幕顯示、資料記錄進階指令等等。

lv012

Behaviors 子選單:以下的動作是直接可執行的動作模組。快速開發很好用

lv011

 

另外在 Tools 選單下面的功能也有一些調整,分別有:

1. NXT/EV3 Application Browser

lv001

2. NXT/EV3 Preferences,包含連線上的設定。

lv004lv002 lv003

3. NXT/EV3 Terminal。在此連線到 NXT/EV3主機、檢視主機資訊、更新韌體以及上傳下載檔案。

lv005

來看看兩個簡單的範例:

1. AB馬達前進1秒後停止。由此可以看到 Constant 選單有一點不一樣。

lv006

 

2. 把感測器值更新到 Front Panel 上。由下圖可看到 EV3 的 陀螺儀、超音波與紅外線感測器值都可用不同的方式來更新在面板上。

lv008     lv007

[作品分享] 居家防盜 – LabVIEW 動作偵測

跟各位分享一個之前用 LabVIEW 寫的小程式:居家防盜系統。

當初會寫這個程式主要是用來防範學校實驗室過年時被侵入,本程式透過讀取 webcam 影像,偵測畫面中是否有物體移動,若是有的話就會寄 email 到筆者的信箱,並附上照片。

由於相關的功能在網路上已經有非常多範例,所以在網路上大概搜尋一下就可以找到許多現成的工具,在 NI Developer Community 中,DOC-4717 這篇文章就說明如何實做將連續影像相減並偵測畫面中是否有物體在移動。這是動作偵測最簡單的方法之一,考慮到我的環境是在室內,而且過年期間本來就不會有人,所以也不需要再做人臉辨識之類的,因此這個範例程式就已經非常符合我的需求。若是環境是在室外,環境較為複雜,就沒有這麼容易了。

MDBlockDiagram

圖一  在 NI Developer Community 中,文章 DOC-4717  說明如何讀取webcam並相減連續影像以偵測動作。

另外一個實用的工具則是在文章 DOC-2041 中提到如何實做 Gmail 登入、附加檔案並傳送的程式。電子郵件是基於 Simple Mail Transfer Protocol (SMTP) 運作,而 LabVIEW 本身也有提供 SMTP 的指令,當初想說自己寫就好,後來才發現沒這麼簡單,LabVIEW 本身的指令並不直接支援需要帳號登入的 email 提供者,所以要在 LabVIEW 中呼叫 System.SmtpClient 這個 class 來用才行。好在也有人寫好了,所以我要做的就只有整理這些程式碼以符合我的需求而已。

gmail

圖二  DOC-2041 這篇文章則說明如何呼叫 System.SmtpClient 來實做 Gmail 應用。

結合這兩個程式,我設計了我自己的程式:LabSecurity,我使用的是羅技 C120 攝影機,當初購買時價錢為 500元。

C120

圖三  我使用羅技C120攝影機 (圖片出自 http://www.logitech.com/zh-tw/product/6065?crid=34)。

程式執行的流程為:迴圈中持續相減前後兩張影像,將相減的結果乘上一個增益值(gain),並設一個閾值(threshold),當計算結果超過閾值時,警報就會響起,同時攝影機會連拍20張相片,並將其中的第 1、5、15、20張照片寄到我的 Gmail 信箱,如下圖所示:

demo

圖四  偵測到入侵者後程式會將影像傳送到筆者的 Gmail。

以下則為實際的測試影片:


本文原文可至 http://robinhsieh.com/?p=345 閱讀。

140110 LabVIEW機器人課程

今天上課的主題是讓 LabVIEW取得電腦鍵盤與滑鼠的狀態,並藉此控制機器人。

LabVIEW可以將鍵盤的按鍵以整數陣列回傳,因為有可能同時按下多個按鍵(例如 Ctrl + alt + del)。滑鼠則是回傳滑鼠坐標以及按鍵狀態,資料形態分別為整數與 boolean。

或者您家如果有 USB遊戲手把也可用來控制機器人,只要Windows抓得到,LabVIEW就抓得到。請參閱以下三篇文章,也有程式碼可以下載喲!

 

2014-01-10 20.48.22 2014-01-10 20.48.32 2014-01-10 20.48.44

這位同學很堅持機器人一定要長這樣,alright,看起來很兇猛

2014-01-10 20.51.01

[LabVIEW for Arduino] 使用可變電阻控制LED漸明漸暗

http://lab.cavedu.com/l4a_potentio_led <- 範例程式在此下載。
本範例使用一個可變電阻控制LED漸明漸暗,軟體為 LabVIEW 2009以後的版本,並搭配Arduino控制板。本範例使用 LabVIEW 2012編寫。
 
資源:

Lesson_1 BlinkM三色LED閃爍
Lesson_2 改寫Arduino經典範例Blink

 
硬體:請將可變電阻兩側的腳,一邊接到5V,一邊接GND,中間請接在 Arduino 的 A0 類比輸入腳。
 
接著將 LED 長腳接在 Arduino D13腳位,短腳接 GND,如下圖:

軟體:本範例使用 LabVIEW for Arduino 中的 Analog Read Pin 範例修改而成。執行畫面如下,圖中的紅色指針會隨著您轉動可變電阻而左右移動。
 
請注意:只要 Arduino 接電之後,所有的類比輸入腳位都可量到約 1.5V的電壓,加裝可變電阻是讓您將電壓的變化情形看得更清楚。
 
 
程式邏輯:使用 Analog Read Pin指令取得 A0 腳位的電壓之後,乘以40。接著將計算結果送給 PWM Write Pin 指令對 D13 LED 進行寫入。
 
程式指令簡述:
左一:Init:初始化LabVIEW與 Arduino的 serial communication,Arduino型號為 Mega 2560,通訊方式為 USB,COM port為60。這些資訊都要正確否則無法通訊。
左二:Set Digital Pin Mode:設定 D13腳位為輸出,因為我們在這接了LED。
左三:Analog Read Pin:讀取類比腳位電壓,在此為 A0。
右二:PWM Write Pin:對指定腳位 D13 寫入 0~255的值。在此為了避免數值超過上限,我們只乘以40,因此最大值不會超過255。
右一: Close:關閉 LabVIEW與 Arduino的 serial communication