arduino-based embedded data logger using labview
TRANSCRIPT
Arduino-Based Embedded Data Logger using LabVIEW
2015
Amornthep Phunsin Fb.com/LabviewEmbedded4Arduino
5/22/2015
Arduino-Based Embedded Data Logger using LabVIEWTM
āļāļĄāļĢāđāļāļ āļāļāļŠāļ
(Version 1.0.2, May 2015)
āļāļāļāļ§āļēāļĄāļāļāļ°āļ āļēāđāļŠāļāļāļāļēāļĢāļāļāļāļēāļāļāļāļĢāļ Data Logger āđāļāļĒāđāļāđāļĄāđāļāļĢāļāļāļāđāļāļĢāļĨāđāļĨāļāļĢ Arduino
āļĢāļ§āļĄāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒāļ āļēāļĐāļē LabVIEW āļŠāļēāļĄāļēāļĢāļāļāļāļāļāļŠāļāļāļēāļāļāļēāļāđāļāļāđāļāļāļĢāļ āļēāļĒāļāļāļāđāļāļŦāļĨāļēāļĒ
āļāļāļ āļāļēāļ āđāļāļāđāļāļāļĢāļāļāļŦāļ āļĄāļāļēāļāļāļāļŠāļēāļŦāļāļĢāļĢāļĄ Thermocouple āļŠāļēāļĄāļēāļĢāļāļāļāļāļāđāļ§āļĨāļē āđāļĨāļ°āļāļāđāļāļāļāļāļĄāļĨāļĨāļ
SD Card āđāļāļāļ āļēāļĄāļēāļ§āđāļāļĢāļēāļ°āļŦāļāļāļĄāļĨāļāļēāļāļāļāļĄāļāļ§āđāļāļāļĢ
āļŠāļēāļĢāļāļ
āļāļāļ āļē ................................................................................................................................................ 4
āļ āļēāļāļ§āļēāļĄāļĢāļāļ Arduino Compatible Compiler for LabVIEW ................................................................ 7
āļāļāļāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļĢāļ§āļĄāļāļāļāļāļĢāļ Arduino ............................................................... 8
āļŪāļēāļĢāļāđāļ§āļĢ Arduino āļāļĢāļāļāļĢāļāļāļēāļĢāļāļāļĄāđāļāļĨāđāļĨāļ°āļāļēāļ§āļāđāļŦāļĨāļāđāļāļĢāđāļāļĢāļĄ ......................................................... 9
āļāļēāļĢāļāļāļāļ Arduino compatible compiler for LabVIEW .................................................................... 10
āļāļēāļĢāļāļāļāļēāļĢāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino .......................................................................... 13
āđāļāļāļēāļāļ 1. āļāļēāļĢāđāļāļāļēāļāļāļāļĢāļ Digital I/O āđāļŠāļāļāļāļĨāļāļēāļ LED āđāļĨāļ° Buzzer ............................................. 17
āđāļāļāļēāļāļ 2. āļāļēāļĢāđāļāļāļēāļāļāļāļĢāļ Analog Port āļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ LM35 ................................................ 18
āđāļāļāļēāļāļ 3.āļāļēāļĢāđāļāļāļēāļāļĢāļ§āļĄāļāļ LCD 16x2 āļāļēāļāļāļāļĢāļ I2C Interface ..................................................... 20
āđāļāļāļēāļāļ 4.āļāļāļāļāļāļāļēāļĢ Compile Code āđāļĨāļ° Download āļĨāļāļāļāļĢāļ Arduino ......................................... 23
āđāļāļāļēāļāļ 5.āļāļēāļĢāđāļāļāļēāļāļāļāļāļāļ Debug Tool āđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļāļĢāļāļĒāļēāļāļĢ (RAM) ........................................ 25
āđāļāļāļēāļāļ 6. āļāļēāļĢāđāļāļāļēāļāļĢāļ§āļĄāļāļ Real-Time Clock (RTC) āļāļ§āļĒ I2C Interface ........................................ 27
āđāļāļāļēāļāļ 7. āļāļēāļĢāđāļāļĒāļāļāļāļĄāļĨ RTC āļĨāļ SD Card (SPI Interface) ........................................................... 31
āđāļāļāļēāļāļ 8. āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ Thermocouple āļāļēāļ MAX6675 āļāļēāļāļāļāļĢāļ SPI ........... 35
āđāļāļāļēāļāļ 9. āļāļēāļĢāļŠāļĢāļēāļ Thermocouple Data Logger āļāļāļāļŠāļĄāļāļĢāļ ...................................................... 38
āļāļāļŠāļĢāļ ............................................................................................................................................ 44
āļāļāļŠāļāļāļēāļĒ ........................................................................................................................................ 45
āļāļāļ āļē
āļāļāļāļāđāļĢāļāļāļāļāļĒāļāļĄāļĢāļāļ§āļēāļāļĢāļ°āđāļŠāļāļĒāļĄāđāļāļāļēāļĢāļāļāļāļēāđāļĄāđāļāļĢāļāļāļāđāļāļĢāļĨāđāļĨāļāļĢ Arduino āļāļāđāļĄāļāļāļāļāļāđāļĨāļ°
āđāļĄāļāļāđāļāļĒāļĄāļēāđāļĢāļāđāļāļāļāļāđāļĄāļāļĒāļāļĢāļāđ āđāļĄāđāļāļāļēāļ°āļāļāļāļāļāļāļāļēāđāļāļ§āļāļāļēāļĢāļāđāļĨāļāļāļĢāļāļāļāļŠāđāļāļēāļāļ āđāļāļĒāļāđāļāļĢāļŦāļĨāļēāļĒ
āđāļāļ§āļāļāļ§āļēāļāđāļāļĒāļāļāļāđāļĢāļĒāļ āļāļāļĻāļāļĐāļē āđāļĨāļ°āļ āļāļĄāđāļĄāļĄāļāļāļāļēāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ āļāļāļāļāļŦāļāļĄāļēāļŠāļāđāļāļāļāļāļĢāļ°āļāļĐāļ
āđāļāļĢāļāļāļēāļāđāļāļāļāļāļāļāļ§āđāļāļ āđāļāđāļāļĄāđāļĢāļēāļĄāļāđāļāļĒāļāļāļāļāļāļāļēāđāļĢāļĒāļāļāļĨāļĄāļāļāļāļāļāđāļāļāļ§āļē âDIYâ āđāļāļāļāļāļāļāđāļĢāļĄāļĄāļāļēāļĢāđāļ
āļ āļēāļ§āļē âMakerâ āđāļĢāļĒāļāđāļāļāļāļ§āđāļāļāļāļāļĄāļēāļāļāļ āļāļāđāļāļāđāļāļ§āļāļēāļāļāļēāļĢāļāļāļāļēāđāļāļĢāļāļāļēāļāļāļāļŠāļĄāļāļŠāļēāļāļāļāļāļāļĢāļāđāļ§āļĢ
āđāļĨāļ°āļŪāļēāļĢāļāđāļ§āļĢāđāļāļēāļāļ§āļĒāļāļ
āđāļāļāļāļāļ§āļĒāļŪāļēāļĢāļāđāļ§āļĢāđāļāđāļāļĨāļāļāļāļĢāļĄ Arduino āļĄāļĢāļēāļāļēāļāļ āđāļĨāļ°āļāļāļĢāļāđāļ§āļĢāļāđāļāļāļāļāļēāļāđāļāļāļĢ āļāļāļ āļēāđāļŦ
āļāļāļāļāđāļāļēāļāļāđāļāļĢāļāļāļĄāļāđāļāļāļēāļĢāļāļāļāļēāļāļĒāļēāļāđāļāļēāđāļāļĒāļĄāļāļ āļāļāļāļāļĄāļāđāļāļāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļŦāļĄāļāļĢāļ°āļŠāļāļāļ āļēāļ
āļĄāļēāļāļāļ āđāļāļĒāļĄāļāļāļāļāļāļ§āļĨāđāļĢāļāļāļāļāļāļāđāļāļāļēāļĢāļāļāļāļē āļāļāļ āļēāđāļŦāļāļĨāļāļāļĢāļ°āļĒāļ°āđāļ§āļĨāļēāļāļ§āļē 10 āļ āļāļāđāļāđāļāļĢāđāļāļ
Arduino āļāļāļ āļēāđāļāļāļāļāđāļĄāļāļ 2005 āļĄāļāļēāļĢāļāļāļāļēāļāļāļĒāļāļāđāļāļāļāļēāļ§āļāļĢāļ°āđāļāļ āđāļāļĒāļĄāļāļāļāļāļĢāđāļŦāļāđāļāļŦāļāļĄāļē
āļŠāļāļāļŠāļāļāļāļĒāļēāļāļĄāļēāļāļĄāļēāļĒ āļāļāļāļāđāļāļ§āļēāđāļāļāļāļēāļĢāđāļĢāļĄāļāļāļāļāļ§āļāļāļēāļĢāļāļāļāļēāđāļĄāđāļāļĢāļāļāļāđāļāļĢāļĨāđāļĨāļāļĢāđāļāļĻāļāļ§āļĢāļĢāļĐāļ 21
āđāļĨāļĒāļāđāļāļĒāļ§
āļāļ§āļĒāļāļ§āļēāļĄāļ Arduino āđāļāļāđāļāļĨāļāļāļāļĢāļĄāđāļāđāļāļāļāļāļĢāļŠāļāļāļĢāļ°āļāļ āļ āļēāđāļŦāļĄāļāļāļĨāļāļ āļēāļāļ§āļāļĄāļēāļ āđāļāļĄāđāļāļĄ
āļāļāļāļāļāļāļēāļāđāļāļāļāļāļāđāļāļāļĨāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ āđāļĨāļ°āļāļĨāļāļāļāļĢāļ Arduino āļāļāļāļāļāđāļāļāļāļāļāļĄāļēāļ āļēāļŦāļāļēāļĒ āđāļāļĒāđāļĢāļĒāļāļ§āļē
âArduino-Compatibleâ āļŦāļĢāļ âCloneâ āļāļāļĒāļāļ āļēāđāļŦāļāļēāļĢāļāļāļāļēāļāļāļĒāļāļāļāļēāļāļŪāļēāļĢāļāđāļ§āļĢāđāļāļāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāļ§
āļāļāļāļēāļāļāļāļŦāļāļāļāļāļāļāļĢāļāđāļ§āļĢāļāđāļāļāļāļāļē āļāļāđāļāđāļāļĄāļāļ°āļĄāđāļāļĒāļ Arduino IDE āļāļĢāļāļāļĢāļāļ āļēāļĐāļē C/C++
āļāļāđāļāļ Text Programming āđāļāļĒāļāļāļĒāļēāļāđāļāļĒāļ§ āļāđāļĢāļĄāļĄāļŦāļĨāļēāļĒāđāļāļĢāļĐāļāļāļāļāļē IDE āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒāļ āļēāļĐāļē
āļāļĢāļēāļāļāļ Graphical Programming āļāļĒāļēāļāđāļāļĢāļŦāļĨāļēāļĒ āļāļēāļ Ardublock, VISUINO āđāļĨāļ° LabVIEW āļāļāļāļāļ
āļāļāļāļ āļēāļĐāļēāđāļāļāļāļĢāļēāļāļāļāļāļ āđāļĢāļĒāļāļĢāđāļāļĢāļ§āļāđāļĢāļ§ āļ āļēāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļāđāļāļāļēāļĒ āļ āļēāđāļŦāļ āđāļĢāļĄāļāļāļĻāļāļĐāļē Arduino āđāļāļ
āđāļĢāļāļāļāļāļēāļĒāļāļāđāļāļāļ
āļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļĢāļēāļāļāļāļŠ āļēāļŦāļĢāļ Arduino
LabVIEW āļāļ āļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄāļāđāļāļĒāļāđāļāļĢāļāđāļāļāļāļĢāļēāļāļāļ (Graphical Programming Language)
āļāļāļĄāļāļ§āļēāļĄāđāļāļāļāļēāļāļāļēāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄāļāļ§āđāļāļāđāļāļĒāļāļāļ§āļĒāļāļāļāļ§āļēāļĄ (Text Programming Language) āđāļāļĒ
āļāļāđāļĢāļĄāļāļāļāļāļ LabVIEW āļāļāļŠāļĢāļēāļāļāļāļĄāļēāđāļāļāļāļāļāđāļāļāļĒāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļāļāļāļ§āļāļāļĄāļāļāļāļĢāļāđāļāļĢāļāļāļĄāļāļ§āļ
āđāļĨāļ°āļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāđāļāļāļēāļāļ§āļĻāļāļĢāļĢāļĄ āđāļāļĒāļĄāđāļāđāļāļĒāļ§āļēāđāļŦāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļāļĢāļĒāļāđāļāļāļāđāļāļĢāļāļāļĄāļāļ§āļāđāļŠāļĄāļāļ
āļāļāļāļāļĄāļāļ§āđāļāļāļĢ (Virtual Instruments) āđāļāļĒāļāđāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāļ§āļāļāļĄāļāļēāļĢāļ āļēāļāļēāļāđāļāļĢāļāļāļĄāļāļ§āļāđāļāļāļēāļ
āļāļāļĄāļāļ§āđāļāļāļĢ āļāļēāļāļāļāđāļāļāļāđāļāļāļ āļēāļĐāļēāļāļĢāļēāļāļāļāđāļāļĒāļāđāļĢāļāđ āļāļāļĄāļāļēāļĢāļāļāļāļēāļāļĒāļēāļāļāļāđāļāļāļ āļāļāļ āļēāđāļŦāļĄāļāļēāļĢāđāļ
āļāļēāļāđāļāļĢāļŦāļĨāļēāļĒāđāļāļŦāļĨāļēāļĒāđāļāļāļŠāļēāļŦāļāļĢāļĢāļĄ āļāļāđāļāļāļāļāļēāļĢāļāļāļāļēāđāļāļĢāļ°āļāļāļŠāļĄāļāļāļāļĨāļāļāļāļ§āđāļāļŪāļēāļĢāļāđāļ§āļĢāļāļāļēāļāđāļĨāļ
āļāļēāļ Arduino āļāļāđāļĢāļēāļāļ°āđāļāļēāļ°āļĨāļāļ§āļāļāļēāļĢāđāļāļāļēāļāļāļĢāļāļĄāļāļ§āļāļĒāļēāļāđāļāļāļāļĨāđāļāļāļ Data Logger āđāļāļāļēāļ
āļāļāļŠāļēāļŦāļāļĢāļĢāļĄāđāļāļāđāļāļāļēāļāļāļĢāļāđāļāļāļāļāļ§āļēāļĄāļ
āđāļāļāļāļāļ§āļēāļĄāļāļ āđāļāļĒāļāđāļāļāļāļĢāļāđāļ§āļĢ LabVIEW āđāļāļāļāļāļĢāļāđāļ§āļĢāļŦāļĨāļāļĢāļ§āļĄāļāļ Toolkit āļāļāļāļāļĢāļĐāļ
Aledyne-TSXperts āļāļāļ§āļē âArduinoâĒ Compatible Compiler for LabVIEWâ (āļāļāļĒāļāļāļ ACC4LV) āļāļ
āđāļāļāļāļāļĢāļāđāļ§āļĢāļĒāļāļĒāļāļ āļēāļŦāļāļēāļāđāļāļĨāļāđāļāļ LabVIEW āđāļŦāđāļāļāļ āļēāļĐāļēāļĢāļ°āļāļāļĨāļēāļāļāļŠāļēāļĄāļēāļĢāļāđāļāļĢāđāļāļĢāļĄāļĨāļāļāļ
āļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāđāļāļĒāļāļĢāļ āļāļāđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāđāļĄāļāļāļāļĄāļāļ§āļēāļĄāļĢāļāļēāļāļ āļēāļĐāļē C/C++ āđāļĨāļĒāđāļĄāđāļāļāļāļĒ āļāļāđāļāļ§āļē
āđāļāļāļāļēāļĢāļāļāļ§āļāļ§āļāļāļēāļĢāļāļāļāļāļāļē LabVIEW āđāļāļāļēāļāļĢāļ°āļāļāļŠāļĄāļāļāļāļĨāļāļāļāļ§āļāļāļēāļāđāļĨāļ āļāļ āļēāđāļŦāļāļāļāļāļāļēāđāļĢāļĒāļāļĢ
LabVIEW āđāļāļĒāļāļ āļēāļĐāļēāđāļāļĒāļ§āļāļŠāļēāļĄāļēāļĢāļāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļāļāļēāļāļĢāļ°āļāļ Embedded-Based āđāļĨāļ° PC-
Based āđāļāļāļĢāļāļĄāđāļāļ
āļŦāļāļēāļāļēāļāđāļāļĢāđāļāļĢāļĄ âArduinoâĒ Compatible Compiler for LabVIEWâ
āļĢāļēāļĒāļāļēāļĢāļŪāļēāļĢāļāđāļ§āļĢ āđāļĨāļ°āļāļāļāļĢāļāļāđāļāđāļāļāļāļāļ§āļēāļĄāļ āļāļĢāļ°āļāļāļāđāļāļāļ§āļĒ
āļāļāļĢāļ Arduino-Compatible Uno R3 āđāļĄāđāļāļĢāļāļāļāđāļāļĢāļĨāđāļĨāļāļĢ
āļāļāļĢāļ Data Logger Shield āļāļĢāļ°āļāļāļāļāļ§āļĒ SD Card āđāļĨāļ° Real-Time Clock (RTC)
āļāļāļĢ LCD Display 16x2 āđāļāļāļĄāļāļāđāļāļ I2C
āļāļāļĢāļ MAX6675 Thermocouple Type-K Module
āļĢāļēāļĒāļāļēāļĢāļāļāļĢāļāđāļ§āļĢāļāđāļāļāļāļāļēāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļāļ§āļēāļĄāļ āļāļĢāļ°āļāļāļāđāļāļāļ§āļĒ
LabVIEW āđāļ§āļāļĢāļāļ 2014
NI-VISA Driver āđāļ§āļāļĢāļāļ 14.0.1
ArduinoâĒ Compatible Compiler for LabVIEW āđāļ§āļāļĢāļāļ 1.0.0.15
Arduino IDE āđāļ§āļāļĢāļāļ 1.6.4
āđāļāļĒāļāļāļĢāļŠāđāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļŦāļĄāļāđāļāļāļāļāļ§āļēāļĄāļ āļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāļēāļ§āļāđāļŦāļĨāļāļāļĢ āļāļēāļāđāļ§āļāđāļāļ
http://support.qwavesys.com āļŦāļĢāļ FB: âLabVIEW Embedded for Arduinoâ āđāļāļāļāļĄāļāļāļāļāļāļāļāļē
LabVIEW āļĢāļ§āļĄāļāļāļŪāļēāļĢāļāđāļ§āļĢāđāļāļĨāļāļāļāļĢāļĄ Arduino āļāļāļēāļāļ āđāļāļĒāļāđāļāļŠāļĢāļēāļāļāļāļĄāļēāđāļāļāļĢāļāļāļĢāļāļāļāļāļāļāļē
LabVIEW āđāļāđāļĄāļāļāđāļāļĒāđāļāđāļĨāļāđāļāļĨāļĒāļāļāļ§āļēāļĄāļĢāļāļāļāļĢāļ
āļ āļēāļāļ§āļēāļĄāļĢāļāļ Arduino Compatible Compiler for LabVIEW
Arduino Compatible Compiler for LabVIEW āđāļāļ Toolkit āļāļāļāļāļāđāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļāļĒāļĄāļāļāļāļāļāļāļāļāļēāļāļāļāļ LabVIEW āđāļĨāļ°āļāļāļāļāļāļāđāļĻāļĐ āļĄāļēāļāļāļ§āļē 100+ āļāļāļāļāļāļāđāļĢāļĒāļāđāļāļāļēāļāđāļ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļāļĄāđāļāļĨāđāļāļ LabVIEW āđāļĨāļ°āđāļāļĢāđāļāļĢāļĄāļĨāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āļĢāļāļāļāļāļāļāļĢāļāđāļāđāļāļĒāļāļĢāļ āļāļāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļ āļēāđāļāđāļāļĒāļāļēāļĒ āđāļĨāļ°āđāļāļāļēāļāđāļāļāļēāļāļŦāļāļēāļāļēāļāļŦāļĨāļāļāļāļ LabVIEW āļĄāđāļāļĒāļ 3 āļāļāļāļāļāļāļāļāļāđāļāļ
āļāļāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒ Arduino Compatible Compiler for LabVIEW
āđāļāļĒāđāļāļāļāļĨāđāļāļāļāļāļāļāļāļēāļāļ§āļĒ âArduino compatible compiler for LabVIEWâ āļāļ°āļ āļēāļāļēāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāļ Standalone āđāļŦāļĄāļāļāļāļāļāļēāļĢāļāļāļāļēāđāļāļāļāļ§āđāļ āļāđāļāļĒāļāđāļāļāļāļ§āļĒāļ āļēāļĐāļē C/C+ āļāļēāļāļāļēāļ Arduino IDE āļāļāļāļāļāļēāļĢāđāļāļĒāļ LabVIEW āđāļāļ§āļāļāļāļ°āđāļŦāļĄāļēāļ°āļāļāļāļēāļāđāļāļĢāļ°āļāļ Embedded System āđāļāļĢāļēāļ°āļāļāļāļēāļāļ§āļĒāļ āļēāļĐāļēāļāđāļĢāļĒāļāļĢāđāļāļāļēāļĒ āļĄāļāļāļāļāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļĄāļēāļāļĄāļēāļĒāļāļāđāļāļāļāļāđāļāļāļāļāļ LabVIEW āļāļĒāđāļĨāļ§ āļāļāđāļŦāļĄāļēāļ°āļāļāļāļāļāļāļāļēāļĄāļāđāļŦāļĄ āļāļāļāļāļāļēāļĢāđāļĢāļĒāļāļĢāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒ LabVIEW āļĢāļ§āļĄāļāļāļŪāļēāļĢāļāđāļ§āļĢ
āļĢāļēāļāļēāđāļĄāđāļāļāļāļ āļŠ āļēāļŦāļĢāļāļ āļāļĄāļāļāļāļēāļ LabVIEW āļĄāļēāļāļēāļāđāļĨāļ§āļāļāļ°āļ āļēāđāļŦāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļāļāļēāļ Embedded System āđāļāļĢāļ§āļāđāļĢāļ§āļāļ
āļāļēāļĒāļāļāđāļāļŦāļĨāļēāļĒāļāļāļāļ āļāļĢāļĐāļ National Instruments āļāļāđāļāļāļāļĢāļĐāļāđāļĄāļāļāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļ
āđāļāļĒāļāļāļāļē Toolkit āļāļāļāļ§āļē âNI LabVIEW Embedded Module for ARM Microcontrollersâ āđāļ§āļāļĢāļāļāļŠāļāļāļēāļĒāļāļ 2012 āļāļāļāļĄāļēāļ āļēāļŦāļāļēāļĒ āđāļāļāđāļĄāđāļāļĢāļāļāļ§āļēāļĄāļāļĒāļĄāđāļāļāļēāļāđāļāļĢāļŦāļĨāļēāļĒāļāļ āđāļāļĢāļēāļ°āļāļāļāļāļŦāļēāļāļāļāļāļāļāļēāļāļāļāļāļēāļĒāļāļē License Software āļ āļēāļāļāļ āļāļēāļ LabVIEW , RealView MDK Keil uVision āđāļĨāļ°āļāļāļāļĄāļŪāļēāļĢāļāđāļ§āļĢ Keil ULINK2 USB-JTAG adaptor āđāļāļāļ āļēāļāļēāļĢāđāļāļĢāđāļāļĢāļĄ āļāļĢāļ°āļāļāļāļāļāļĄāļāļāļ āļēāļāļāđāļĢāļāļāļāļāļĢāļ Microcontroller āļāļĢāļāļāļĢāļāļĄāļ āļēāļāļ§āļāļāļāļĒ āđāļĨāļ°āļĢāļēāļāļēāļŠāļ āļāļāđāļĄāđāļŦāļĄāļēāļ°āļāļāļāļāļāļēāļĄāļāđāļŦāļĄ āļāļāđāļĢāļĒāļ āļāļāļĻāļāļĐāļēāļāļāļāļāļāļēāļĢāļĻāļāļĐāļēāđāļĢāļĒāļāļĢ
āļāļāļāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļĢāļ§āļĄāļāļāļāļāļĢāļ Arduino
āļ āļēāļĐāļē LabVIEW āđāļĢāļĒāļāļĢāđāļāļāļēāļĒ āļ āļēāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļĢāļ§āļāđāļĢāļ§ āļ āļēāđāļŦāļĨāļāđāļ§āļĨāļē āđāļĨāļ°āļāļāļāļāđāļāļāļēāļĢāļāļāļāļēāđāļ
āļāļ§āļĒāļāļ§āļēāļĄāļāđāļāļāļ āļēāļĐāļēāđāļāļāļāļĢāļēāļāļāļ āļŠāļēāļĄāļēāļĢāļāļāļĢāļāđāļāļ āļāļāđāļāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļēāļĒ āļ āļēāđāļŦāļĨāļāļāļāļāļāļāļēāļĢ Maintenance Code āđāļāļĢāļ°āļĒāļ°āļĒāļēāļ§āđāļ
āļāļāļāļāļŪāļēāļĢāļāđāļ§āļĢāļ āļē āđāļāļĢāļēāļ°āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļāļĢāļ§āļĄāļāļāļāļāļĢāļ Arduino āđāļĨāļ°āļĢāļāļāļĢāļ ArduinoâĒ Shields āļāļāļāļĢāļ°āđāļ āļ
āļŠāļēāļĄāļēāļĢāļāļāļāļāļēāļŪāļēāļĢāļāđāļ§āļĢ Arduino-Compatible āļāļāļāļāļāđāļāļāļāļĢāļāļāļĢāļ LabVIEW āđāļ
āļĄāļāļāļāļāļ LabVIEW API āđāļĨāļ°āļāļāļāļāļāļĒāļāļĒ āļāļēāļāđ āđāļŦāđāļĢāļĒāļāđāļāļāļēāļāđāļāļāļāļāļĄāļēāļāļ§āļē 100+ VIs āļāļĢāļāļĄāļāļ§āļāļĒāļēāļāļāļŠāļēāļĄāļēāļĢāļāļ āļēāđāļāļāļēāļāđāļāļāļāļ
āļĄ LabVIEW āđāļĨāļāļēāļĢāļāļāļāļāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāļĒāļāļĢāļ āđāļāļ Digital I/O, PWM, Analog I/O, SPI,I2C,SD Card āđāļĨāļ°āļāļāđ
āđāļāļ LabVIEW āļŦāļĨāļāļāļēāļĢāļāļāļĄāđāļāļĨāđāļāļāđāļāļĢāđāļāļĢāļĄāļĨāļ Arduino āļāļāļāļāļ Memory āļāļāļāļāļĢāļāļāļāļĒāļĄāļēāļ āđāļāļĒāļāđāļāļēāļāļāļāļēāļĢāđāļāļĒāļāļāļ§āļĒāļ āļēāļĐāļē C/C++ āđāļāļĢāļēāļ°āļāļ§āļāļāļĄāđāļāđāļĨāļāļĢāļĄāļāļĨāļāļāļĢāļāļĄāļāļāļāļēāļĢ Memory āļāļĄāļāļ§āļēāļĄāļāļĨāļēāļāļāļĢāļāđāļāļĨāļĒāļāđāļāļāļēāļĄāļŠāđāļāļāļāļāļāļāļāļĢāļ Arduino āļāđāļāļāļēāļ
āļāļāļāļāļĢāļēāļāļēāļāļāļĢāļāđāļ§āļĢ LabVIEW āđāļĨāļ° Arduino compatible compiler for LabVIEW āļĄāļĢāļēāļāļēāļ āļēāļĄāļēāļ āļāļĢāļ°āļĄāļēāļ 3 āļāļāļāļēāļ āđāļāļĒāđāļāļāļēāļ°āđāļ§āļāļĢāļāļ Home Edition
āļŪāļēāļĢāļāđāļ§āļĢ Arduino āļāļĢāļāļāļĢāļāļāļēāļĢāļāļāļĄāđāļāļĨāđāļĨāļ°āļāļēāļ§āļāđāļŦāļĨāļāđāļāļĢāđāļāļĢāļĄ
āđāļāđāļ§āļāļĢāļāļāđāļĢāļāđāļāļāļāļāļāļĄāđāļāđāļĨāļāļĢāļĢāļāļāļĢāļāļŪāļēāļĢāļāđāļ§āļĢāļāļēāļāđ āļāļēāļĄāļĢāļēāļĒāļāļēāļĢāļāļāļāļāđāļāļ āđāļāđāļāļāļāļāļēāļāļ§āļē
āļāļāļĢāļāļĢāļāļāļēāļāđāļāļāļ Arduino āļŠāļ§āļāđāļŦāļāđāļāļāļ AVR āļĢāļāđāļāļĒāļ§āļāļ āļāļāļ āļēāđāļŦāļāļāļāļāļāļēāļŠāļēāļĄāļēāļĢāļāļāļāļĨāļāļāļāļāļĄāđāļāļĨ
āđāļāļāđāļāļāļāļāļŠāļāļāļāļĢāļāļĒāļēāļāļĢāļāđāļāđāļ āđāļāļĒāļāđāļĄāļĢāļāļāļĢāļāļāļēāļĢāđāļāļĢāđāļāļĢāļĄāļĨāļāļāļāļāļāļĢāļāļāļāđāļāļāļāđāļŦāļāļāļāļēāļāļĢāļēāļĒāļāļēāļĢ
āļāļēāļāļĨāļēāļ āļāļāđāļāļāļāļēāļāļāļāļ°āļāļāļāļĄāļāļēāļĢāļĢāļāļāļĢāļāļŪāļēāļĢāļāđāļ§āļĢāđāļāļĄāđāļāļĄāļāļāđāļĢāļāļĒāđāļāļĒāļēāļāđāļāļāļāļ
ArduinoâĒ Uno
ArduinoâĒ Mega
ArduinoâĒ Due
ArduinoâĒ Nano
ArduinoâĒ Yun
ArduinoâĒ Leonard
āļāļāļĢāļ Arduino āđāļ§āļāļĢāļāļāļāļēāļāđ āļāļĢāļāļāļĢāļāđāļāļĒ Arduino compatible compiler for LabVIEW
āļāļēāļĢāļāļāļāļ Arduino compatible compiler for LabVIEW
āļĢāļēāļĒāļāļēāļĢāļāļāļĢāļāđāļ§āļĢāđāļĨāļ°āđāļāļĢāđāļ§āļāļĢāđāļ§āļāļĢāļāļāļāļēāļāđāļāļ āļēāđāļāļāļāļāļāđāļāļāļ§āļāļāļāļ Arduino compatible compiler for LabVIEW āļĄāļāļāļāļāđāļāļ
1. LabVIEW 2014 āļŦāļĢāļāļŠāļāļāļ§āļē 2. NI-VISA Driver āđāļ§āļāļĢāļāļāļĨāļēāļŠāļ 3. ArduinoâĒ IDE version 1.5.7 āļŦāļĢāļāļŠāļāļāļ§āļē 4. Windows āļāđāļāđāļāļāļēāļĢāļāļāļāļēāļĢāļāļāļĢāļ Windows 7 āļāļāđāļ āđāļĄāļĢāļāļāļĢāļ Windows XP
āđāļāļĒāđāļĄāļāļĨāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļĢāļĒāļāļĢāļāļĒāđāļĨāļ§ āđāļŦāđāļāļāđāļāļĢāđāļāļĢāļĄāļĒāļāļĒāļāļāļāļ§āļē âVI Package Managerâ
āļāļāļĄāļēāđāļāļāļāļāļŦāļē Toolkit āļāļāļāļ§āļē âArduino compatible compiler for LabVIEWâ āđāļāļĒāļāđāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāļāļĨāļāļāđāļāļāļĢ 7 āļ§āļ āđāļāļĒāļĄ 2 āđāļ§āļāļĢāļāļāļāļ Home Edition āļŠ āļēāļŦāļĢāļāļāļēāļĢāļĻāļāļĐāļē āđāļĨāļ° Standard Edition āļŠ āļēāļŦāļĢāļāļāļēāļĢāđāļāļāļēāļāđāļāļāļāļēāļāļāļĒ āđāļŠāļāļāļāļāļĢāļāļāļēāļāļĨāļēāļ
āļāļēāļĢāļāļāļāļāđāļāļĢāđāļāļĢāļĄ Arduino compatible compiler for LabVIEW
āđāļĄāļāļāļāļāļāđāļāļāļāđāļĢāļĒāļāļĢāļāļĒ āļŠāļēāļĄāļēāļĢāļāđāļĢāļĒāļāđāļāļāļēāļāđāļāļāļēāļ âTools>Arduino compatible compiler for LabVIEWâ āđāļŠāļāļāļāļāļĢāļ
āļāļēāļĢāđāļĢāļĒāļāđāļāļāļēāļ Arduino compatible compiler for LabVIEW
āđāļĄāļāđāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļĄāļēāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļĨāļāļāļāļāļĢāļ Arduino āļāļāļāļāļāļēāļĢāđāļāļāļēāļāđāļāļāļēāļ âTools>Boardâ
āļāļēāļāļĢāļāļāļēāļāļĨāļēāļāļ āđāļāļĒāļāļāļāļĨāļāļāđāļĨāļāļ Arduino Uno āđāļāļāļĄāļāļāļāļāļāļĢāļ COM1
āļāļēāļĢāđāļĨāļāļāļāļāļĢāļ Arduino āļāļāļāļāļāļēāļĢāđāļāļāļēāļ
āđāļĄāļāđāļāļ Block Diagram āđāļŦāļāļĨāļāļāļ§āļē āļāļēāļāļāļāđāļĨāļāļ âAddons > Arduino compatible compiler
for LabVIEWâ āļāļāļ°āļāļāļāļāļāļāļāļāļēāļāđāļĄāļēāļāļĄāļēāļĒ āļāļŠāļēāļĄāļēāļĢāļāđāļāļĒāļāđāļĨāļ°āđāļāļĢāđāļāļĢāļĄāļĨāļāļāļāļĢāļ Arduino āđāļŠāļāļāļāļāļĢāļ
āļāļāļāļāļāļāļēāļāđāļāļāļ Arduino compatible compiler for LabVIEW
āđāļĢāļēāļĨāļāļāļĄāļēāļāļāļ§āļāļĒāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļāļāļāļĢāļ āđāļāļāļĢāļāļāđāļāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļĢāļ°āļāļĢāļāļ Digital
Output Port 13 āļāļāđ 100 ms āļāļāļāļ°āđāļŦāļāđāļāļ§āļē āļĨāļāļĐāļāļ°āđāļāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļāļēāđāļāđāļ
āļāļāļ āļāļāđāļĄāļ§āļēāļāļāļēāļāļāļ°āđāļĄāđāļāļĒāļĄāļāļāļāļēāļ LabVIEW āļĄāļēāļāļāļ āđāļŠāļāļāļāļāļĢāļāļāļēāļāļĨāļēāļāļāļĢāļ
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļĢāļ°āļāļĢāļāļ Digital Out Port 13
āļāļēāļĢāļāļāļāļēāļĢāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino
āđāļāļāļāļāļ§āļĒāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļāļ PC āđāļāļĒāļāļ§āđāļ āļāļāļāļāļāļēāđāļāļāļāļ°āđāļĄāļāļāļāļ āļēāļāļāļāļāļāļēāļĢ
āļāļāļāļēāļĢ Memory Allocation āđāļĨāļĒāđāļĄāđāļāļāļāļĒ āđāļāļĢāļēāļ°āļ§āļē LabVIEW āļĄāļāļ§āļēāļĄāļāļĨāļēāļāđāļĨāļ°āļ āļēāļŦāļāļēāļāļāļāļŠāļĢāļĢ
āļ āļēāđāļŦāļāļāļāļāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļŪāļēāļĢāļāđāļ§āļĢāđāļŦāļāļāļŦāļĄāļ āļĒāļāļāļēāđāļāļāļēāļ PC Based āļāļĄāļāļĢāļ°āļŠāļāļāļ āļēāļāļŠāļāļāļĒāđāļĨāļ§
āļĒāļāđāļĄāļāļāļĒāđāļāļāļāļāļŦāļēāđāļāļĒāļ§āļāļ Memory āļĄāļēāļāļāļ āđāļāļāļēāđāļāļāļ āļēāļĐāļē Text Programming āļāļ§āđāļāđāļāļ āļ āļēāļĐāļē
C/C++ āļŠāļ§āļāđāļŦāļāđāļĨāļ§āđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāļāļāļāļĢāļ°āļāļ āļēāđāļŦāļāļāļāļēāļĢāļāļēāļāļāļ Address āļāļāļāļāļāļāļ§āđāļāļĢāļāļāļāļ§āļ§āļēāļāļĒāđāļ
āļ āļēāđāļŦāļāļāđāļāļāļāļ Memory āđāļĢāļĒāļāļ§āļēāļāļāļ Memory Allocation āđāļāļāļāļāļŦāļĄāļ
āļāļāļ āļēāđāļŦāļāļēāļĢāļāļāļāļēāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļāļ PC Based āđāļĨāļ° Embedded Based āļāļāđāļāļāļāļēāļ
āđāļāļāļāļĒāļēāļāļĄāļēāļ āđāļāļĢāļēāļ°āļĄāļāļāļ āļēāļāļāļāļēāļāļāļĢāļ°āļŠāļāļāļ āļēāļāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ āļĒāļāļāļēāđāļāļ Embedded Target āļāļ
āđāļāļĨāļāļāļāļĢāļĄ Arduino āđāļĨāļ§ āļĒāļāļ āļēāđāļŦāļāļēāļĢāļāļāļāļēāļĢāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļŪāļēāļĢāļāđāļ§āļĢ Memory Allocation āđāļāļāđāļĢāļāļ
āļŠ āļēāļāļāļāļāļāļāļ āļēāļāļāļāļāđāļāļāļāļāļāļāļāļāđ
āļĨāļāļāļāļāļ āļēāļāļāļŠāļāļĢāļ āļāļāļāđāļāļĒāļ LabVIEW āļāļ PC āļāļĄ CPU Intel i7 4GHz āļĢāļāļāļ Windows
32/64-bit āđāļāļĢāļĒāļāđāļāļĒāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ Arduino Embedded Target āļāļĄ CPU AVR 8-bit
16MHz āđāļĄāļĄ OS āļāļāļŪāļēāļĢāļāđāļ§āļĢ āđāļŦāļāđāļŦāļĄāļāļĢāļāļ§āļēāļāļēāļāļāļāļĢāļēāļ§āļāļēāļāļāđāļŦāļ§ āļāļāļāļāļāļēāļĢāļāļāļāļēāđāļāļĒāđāļāļ āļēāļĐāļē
LabVIEW āļāļāđāļāļ Graphical System Design āļāļ Arduino āđāļĢāļāļ Memory Management &Memory
Optimization āđāļāļāđāļĢāļāļāļāļāļāļāļāļāļēāļ āļēāđāļāļāļāļāļāļĢāđāļĨāļ°āđāļāļēāđāļāļāļĢāļ
āļāļēāļĢāļāļāļāļēāļĢāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļ Arduino āđāļāļĨāļāļāļāļĢāļĄ
āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļ Microcontroller Arduino āđāļāļāļāļāļāđāļāļ 4 āļŠāļ§āļāļāļāļ
1. āļāļāļāđāļāļāđāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄ Code Area āļāļāļāļāļēāļāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļāļāđāļāļāļāļāļĒāļāļ āļāļ§āļēāļĄ
āļāļāļāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāđāļāļĒāļ āđāļāļĒāļāļ°āđāļāļāļāļĒāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļēāļ§āļĢāđāļāļ Flash Memory āļāļāļŠāļēāļĄāļēāļĢāļ
āļĨāļāđāļĨāļ°āđāļāļĢāđāļāļĢāļĄāļ āļēāđāđāļ āļĒāļāļāļ§āļāļĒāļēāļāļāļāļĢāļ Arduino Uno āļĄ Flash Memory āļ āļēāļāļ§āļ 32 KB (*āļĄ
āļāļāļēāļāđāļŦāļāļāļ§āļēāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ RAM āļŦāļĨāļēāļĒāđāļāļēāļāļ§)
2. āļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ Global Area āļāļĒāđāļ RAM āļāļ°āđāļāļāļāļ§āđāļāļĢāļāļāļĢāļ°āļāļēāļĻāđāļāļ Global āļāļāļĄāļāļēāļĢ
āđāļĢāļĒāļāđāļāļāļēāļāļ āļēāđāđāļ āļāļĢāļ°āļāļēāļĻāļāļ§āđāļāļĢāļāļĢāļāđāļāļĒāļ§ āļŠāļēāļĄāļēāļĢāļāđāļĢāļĒāļāđāļāļāļēāļāđāļāļāļāļŠāļ§āļāļāļāļāđāļāļĢāđāļāļĢāļĄ āđāļāļĒāļāđāļĄ
āļāļāļāļāļāļāļāļāļāļāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļŦāļĄ āļ āļēāđāļŦāļāļāļēāļāļāļāļāļāļāļāđāļ Global Area āļāļāđāļĄāđāļāļĄāļāļāļāļāļ°
Rum-time āđāļāļāļ°āđāļāļĄāļāļēāļĄāļ āļēāļāļ§āļāļāļāļāļāļ§āđāļāļĢāļāļāļĢāļ°āļāļēāļĻāđāļāļēāļāļ āđāļāļĒāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļĢāđāļāļāļĒāļēāļāđāļāļāļāļāļēāļ
āļāļĨ Compiled Code āļ§āļēāļāļ°āļāļāļāđāļāļāļāļāđāļ Global Area āđāļāļāļ āļēāļāļ§āļāđāļāļēāđāļ āļāļāđāļŠāļāļāđāļāļĢāļāļāļāļāđāļ
3. āļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ Stack āļāļĒāđāļ RAM āđāļāļāļāļāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļāđāļāļāļāļ§āđāļāļĢāļāļāļ Local
Variable āļāļāļĢāļ°āļāļēāļĻāđāļāļāļēāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļāļŦāļĄāļ āđāļĨāļ°āđāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāđāļāļāļāļ Calling Sub-
Function āļŦāļĢāļ SubVIs āļāļāļŦāļĄāļāļāļāļāđāļāļĢāđāļāļĢāļĄ āđāļāļĒāđāļāļāļāļ°āļāđāļĢāļĒāļāđāļāļāļēāļāļāļāļ°āļĄāļāļāļēāļāđāļāļĄāļāļ (*āđāļāđāļĄ
āđāļāļāļāļ§āļēāļāļāļāļāļāļāļāļāļāđāļ§) āļŦāļĨāļāļāļēāļāđāļāļāļēāļāļāļāļ°āļāļāļāļē (Released) āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļĨāļāđāļ āđāļāļ
āļāļĢāļ°āļŦāļĒāļāļāļāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē āđāļāļĒāļāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļāļēāļāļāļāļ Stack āđāļāļŦāļĨāļāļāļēāļāļāļēāļĢ Compiled
Code āđāļāļĢāļēāļ°āļāļ§ Complier āļāļ°āļāļĢāļēāļāļ§āļēāđāļāđāļāļĢāđāļāļĢāļĄāļāļāļāđāļĢāļēāļāļāļĄ Local Variable āļŦāļĢāļ SubVIs āđāļāļ
āļ āļēāļāļ§āļāđāļāļēāđāļ āļāļēāļāļāļāļāļ āļēāļāļ§āļāļāļāļāļāđāļāļāļēāļāđāļāļāļ āļēāļāļāļāļāļāđāļ§āđāļ RAM āđāļŠāļāļāļāļāļĢāļāļāļāđāļ
4. āļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ Heap āļāļĒāđāļ RAM āđāļāļāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāđāļāļāļāļ§āđāļāļĢāđāļāļ Array āđāļĨāļ°
Sting āļāļāļāļāļāđāļāļāļāļāļĄāļēāļ āđāļāļĒ Heap āđāļāļāļāļāļāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĢāļēāļāđāļāđāļāļāļāļ§āļēāļĄāļāļāļēāļāđāļāļēāđāļ
āđāļāļāļāļāļēāļāđāļāļ Rum-time Memory āļāļāļŠāļĢāļĢāđāļāļ Dynamic āļāļāļāļ°āļŠāļĢāļēāļāļāļāļ āđāļĨāļ°āļāļāļāļēāļāļĨāļāđāļĄāļ
āļŠāļāļŠāļāļāļēāļĢāđāļāļāļēāļ āļāļāļ Heap āļāļ āļēāđāļŦāđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāļāļ§āļāļŦāļ§āļāļāļĄāļēāļāļāļāļāļāļ āđāļāļĒāļāļēāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ
āđāļĄāļāļāļ°āļ āļēāđāļŦāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļ Heap āļĄāļ āļēāļāļ§āļāļĄāļēāļāļāļāđāļĢāļāļĒāđ āļāļāļāļāđāļŦāđāļāļāļāļēāļāļēāļĢ Crash āļŦāļĢāļ
Hang āđāļāļĢāļ°āļŦāļ§āļēāļāļ āļēāļāļēāļāđāļāļĒāļāđāļĄāļāļĢāļēāļāļŠāļēāđāļŦāļ āļāļŠ āļēāļāļ Debug āļŦāļēāļāļāļāļāļāļāļāļāļāļŦāļēāđāļāļĒāļēāļāļĄāļēāļ
āļāļ§āļāļĒāļēāļāļāļĨāļāļēāļĢāļāļāļĄāđāļāļĨ VI āđāļāļāđāļāļĢāđāļāļĢāļĄāļĨāļāļāļ Arduino
āļāļāļāļāļāļāļāļāļēāđāļĄāļāļāļĒāļāļ°āļĄāļāļāļŦāļēāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ Flash āļĄāļēāļāļāļ āđāļāļĢāļēāļ°āđāļāļāļāļāļāļāļāļēāļāđāļŦāļ
āļŠāļēāļĄāļēāļĢāļāđāļāļĒāļāđāļāļāđāļāļĄāļēāļāļāļēāļĄāļāļāļāļāļāļēāļĢ āđāļāļāļāļāļ§āļĒāļāļāļ āļēāļāļāļāļēāļĄāļŠāļāļēāļāļāļĒāļāļĢāļĢāļĄ Microcontroller AVR āđāļĢāļēāļāļ
āļĄāļāļāļāļāļāļŦāļēāđāļāļĒāļ§āļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ RAM āļāļĒāļāļāļĒāļāļĢāļ āļāļāđāļāļāļāļāļāļ āļēāļāļ āļĢāļ°āļāļāđāļĄāļ KB āđāļāļēāļāļ āđāļāļāļē
āđāļāļāļāļāļĢāļ Arduino Due āļāļāđāļāļ ARM Cortex-M3 āļāļ°āļĄāļāļāļ RAM āļŠāļāļĄāļēāļ āđāļŦāļĄāļēāļ°āļāļāļāļēāļĢāđāļāļāļēāļāđāļāļĢāļ°āļāļ
āđāļāļāļāļĨāđāļāļāļāļŠāļāđ āđāļāđāļĨāļĒ āļāļāđāļĢāļēāļĨāļāļāļĄāļēāļāļāļēāļĢāļēāļāđāļāļĢāļĒāļāđāļāļĒāļ Memory āļāļāļāļāļĢāļ Arduino āđāļāļĨāļ°āļĢāļāđāļāļ
āđāļĨāļāļāđāļāļāļēāļāļāļēāļĄāļāļ§āļēāļĄāđāļŦāļĄāļēāļ°āļŠāļĄāļāļāļāļĢāļ
āļāļēāļĢāļēāļāđāļāļĢāļĒāļāđāļāļĒāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļāļāļāļĢāļ Arduino āđāļāļĨāļ°āļĢāļ
āļāļ°āđāļŦāļāđāļāļ§āļēāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļāļāđāļāļ Graphic Programming āļ āļēāļ āļēāđāļŦāļāļāļāļāļāđāļ
āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļĄāļēāļāļāļ§āļē āļāļēāļĢāļāļāļāļēāļāļ§āļĒāļ āļēāļĐāļē C/C++ āļāļ§āđāļāļāļĒāļāļāļŦāļāļāļĒ āđāļāđāļāļāļāļāļ§āļĒāļāļāļ āļēāļāļāđāļĢāļāļ
Memory āļāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāļĒāđāļāļāļēāļ° SRAM āļ āļēāđāļŦāļāļāļāļāļāļēāļāļāļāļ āļēāļāļ§āļēāļĄāđāļāļēāđāļāļāļēāļĢāļāļāļāļēāļĢ
āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē (Memory Allocation) āđāļāļāļāļĢāļāļāļĢāļāđāļāļĢāđāļāļĢāļĄāđāļŦāļāļāļāļāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļĒāļāļŠāļ āļ§āļāļāļēāļĢ
āļŦāļāļāļāļāļ āļĨāļāļāļēāļĢāđāļāļāļ§āđāļāļĢāļāļāļ Array āđāļĨāļ° String āļāļāļāļāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļ Heap āđāļĒāļāļ°āļĄāļēāļ āļŦāļĢāļāđāļĄāļ
āļāļāļāđāļĨāļāļāđāļāļāļēāļāļāļāļĢāļ Arduino Due āļāļĄ SRAM āļŠāļāļāļ 96 KB āļāļĢāļ
āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļāļāļāļāļāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāļāļāļāļ
āđāļāļāļēāļāļ 1. āļāļēāļĢāđāļāļāļēāļāļāļāļĢāļ Digital I/O āđāļŠāļāļāļāļĨāļāļēāļ LED āđāļĨāļ° Buzzer
āļāļēāļĢāđāļāļāļĄāļāļ LED āđāļĨāļ° Buzzer āđāļāļēāļāļāļāļĢāļ Digital Out
āđāļĨāļāļēāļĢāļāđāļāļāļēāļāļĢāļ§āļĄāļāļ Digital I/O
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļĢāļ°āļāļĢāļ āļŦāļĢāļāļŠāļāļŠāļāļāļēāđāļŠāļĒāļāļāļāļ Buzzer āļāļĒāļēāļāļāļēāļĒ
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļāļēāļĒāđāļāļāļāļ āļāļāļ§āļāļāļēāļĢāļāļēāļāđāļāļāļāļ°āļāļēāļāļāļēāļāļāļēāļĒāđāļāļāļ§āļēāļāļĢāļ
1. āļ āļēāļŦāļāļ Port āļāļāļāļāļāļēāļĢāđāļāļāļĄāļāļ āļāļĢāļāļāļāļ Digital Output Port 13 (āļŦāļĢāļāļāļāļĢāļāļāļāđāļāđāļāļāļĄāļāļāđāļ§) 2. āļ āļēāļŦāļāļāđāļŦāđāļāļĢāđāļāļĢāļĄ āļ āļēāļāļēāļāļāļāđāļāļāļ āļĢāļāđāļāļ Loop Continuously 3. āđāļāļĒāļ Logic High â5Vâ āđāļāļ Digital Out Port 4. Timing VI āļ āļēāļŦāļāļāđāļŦ Wait āļŦāļĢāļ Delay 100ms 5. āđāļāļĒāļ Logic Low â0Vâ āđāļāļ Digital Out Port 6. Timing VI āļ āļēāļŦāļāļāđāļŦ Wait āļŦāļĢāļ Delay 100ms
āđāļāļāļēāļāļ 2. āļāļēāļĢāđāļāļāļēāļāļāļāļĢāļ Analog Port āļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ LM35
āļāļēāļĢāđāļāļāļĄāļāļāļāļāđāļāļāđāļāļāļĢāļāļāļŦāļ āļĄ LM35 āđāļāļēāļāļāļāļĢāļ Analog
āđāļĨāļāļēāļĢāļāđāļāļāļēāļāļĢāļ§āļĄāļāļ Analog I/O
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļāļāļāļĢāļ A0 āļĄāļāļāļāļāļāđāļāļĢāļĒāļāđāļāļĒāļ āđāļĨāļ°āđāļŠāļāļāļāļĨāļāļēāļ COM Port
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļēāļĒāđāļāļāļāļ
1. āļ āļēāļŦāļāļ Port āļāļāļāļāļāļēāļĢāđāļāļāļĄāļāļ āļāļĢāļāļāļāļ Digital Output Port 13 (āļŦāļĢāļāļāļāļĢāļāļāļāđāļāđāļāļāļĄāļāļāđāļ§) 2. āđāļĢāļĒāļāļāļāļāļāļ âAnalog Readâ āđāļāļāļāļēāļāļāļēāļŠāļāļāļēāļ Analog āļāļāļāļĢāļ A0 āļāļēāļāļāļāļ āļēāļāļēāļĢāđāļāļĨāļāļāļē
āđāļāđāļāļāļāļāļŦāļ āļĄāļāļēāļĄāļŠāļāļĢ (Temp C = ((5/1024)*Analog Input*1000)10)) 3. āļŠāļĢāļēāļāđāļāļāļāđāļāđāļāļĢāļĒāļāđāļāļĒāļāļāļĒāļēāļāļāļēāļĒ āđāļāļĒāļ āļēāļŦāļāļāļ§āļē āļāļēāļāļāļŦāļ āļĄāļŠāļāļāļ§āļēāļāļē âTemp Thresholdâ āļ
āļ āļēāļŦāļāļāđāļ§ (āđāļāļāļĢāļāļāļāļāļĨāļāļāļ āļēāļŦāļāļāđāļ§āļ 30 āļāļāļĻāļē) āđāļŦāļŠāļāļāļēāļāļāļāļ Digital Out
4. āđāļāļĨāļāļāļēāļāļāļŦāļ āļĄāļāļēāļāļāļ§āđāļĨāļāđāļāđāļāļāļāļ§āļāļāļĐāļĢāđāļāļāđāļŠāļāļāļāļĨāļāļāļāļāļēāļ COM Port āļāļ§āļĒ âDebug Tool.viâ
5. āđāļāļĒāļāļāļē Digital Output āļāļāļāļ Port 13 āļāļŠāļĢāļēāļāđāļāļāļāđāļāļāđāļāļĢāļĒāļāđāļāļĒāļ 6. āļ āļēāļŦāļāļāđāļŦāđāļāļĢāđāļāļĢāļĄ āļ āļēāļāļēāļāļāļāđāļāļāļ āļĢāļāđāļāļ Loop Continuously āđāļĄāļĄāļ§āļāļŠāļāļŠāļ
āđāļāļāļēāļāļ 3.āļāļēāļĢāđāļāļāļēāļāļĢāļ§āļĄāļāļ LCD 16x2 āļāļēāļāļāļāļĢāļ I2C Interface
āļāļēāļĢāđāļāļāļĄāļāļ LCD 16x2 (I2C) āđāļāļēāļāļāļāļāļĢāļ Arduino Uno
āļāļ§āļāļĒāļēāļāļāļāļ°āđāļŠāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āđāļāļāđāļŠāļāļāļāļĨāļāļāļāļāļēāļ LCD āđāļāļĒāļāļ°āļ āļēāđāļĨāļāļēāļĢ
LCD āļāļāļāļāļāļĄāļēāđāļŦāđāļĢāļĒāļāļĢāļāļĒāđāļĨāļ§āļĄāļēāđāļāļāļēāļ āđāļāļĒāļāļāļāđāļĨāļ§ LCD 16x2 āļāļ°āļĄāļāļāļĢāļāđāļāļāļĄāļāļāđāļāļ Parallel āļāļāļāļ°
āļ āļēāđāļŦāļāļēāļĢāļāļāļŠāļēāļĒāļāļāļāļāļĢāļ Arduino āđāļāļāđāļĢāļāļāļĒāļāļĒāļēāļ āļāļāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļŦāļēāļāļāļĢāļ LCD I2C Adapter āļĄāļē
āđāļāļĨāļāļāļēāļĢāđāļāļāļĄāļāļāļāļēāļ Parallel āđāļāļ I2C āļāļāļāļ°āļ āļēāđāļŦāļŠāļēāļĒāļŠāļāļāļēāļāđāļŦāļĨāļāđāļāļĒāļ 2 āđāļŠāļ SDL āđāļĨāļ° SCA āļāļ
āļāļēāļĢāđāļāļāļēāļāļāļāļāļĢāļ°āļ Address āļāļāļāļāļāļĢāļ I2C āļāļāļāļāļ°āđāļ Address āļĄāļēāļāļĢāļēāļāļēāļāļāļ 0x27 (39)
āđāļĨāļāļēāļĢ I2C_LCD āļāļĢāļāļĄāđāļāļāļēāļ
āļāļēāļĢāđāļāļāļĄāļāļ LCD āđāļāļēāļāļāļāļāļĢāļ Arduino āļ āļēāđāļāđāļāļĒ āļāļāļāļāđāļĢāļāļāļāđāļŦāļĨāļāļāļēāļĒāđāļ +5V āđāļĨāļ° GND
āđāļāļēāļāļāļāļāļĢāļ āļāļēāļāļāļāļāļāļŠāļēāļĒ SDA āđāļāļēāļāļāļāļāļĢāļ A4 āđāļĨāļ°āļāļāļŠāļēāļĒ SCL āđāļāļēāļāļāļāļāļĢāļ A5
āđāļāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļāđāļāļāļāļāļāļāļ LCD 16x02 āļāļāļāļāļāļēāļ I2C Interface
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļēāļĒāđāļāļāļāļ
1. āđāļĢāļĒāļ âLiquidCrystal_I2C.viâ āļāļāļĄāļēāđāļāļ Initial LCD āļāļ§āļĒāļāļēāđāļĢāļĄāļāļ āđāļāļĒāļāļāļāļāđāļāļāļ°āļ āļēāļŦāļāļ
Address āļāļāļ I2C āļāļāļĢāļāđāļāļēāļāļ āļŠāļ§āļāļāļēāļāļāđ āļāđāļāļ Pin Configuration āđāļŦāļāļāđāļ§āļāļēāļĄāļāļēāđāļĢāļĄāļāļ
āđāļĨāļ°āļ āļēāļŦāļāļ Characters = 16 āđāļĨāļ° Lines =2 āļāļāļāļĢāļāļāļāļāļāļāļāļāļ LCD āļāļ 16 āļāļ§āļāļāļĐāļĢ āļ āļēāļāļ§āļ 2
āđāļāļ§
2. āđāļĢāļĒāļ âLiquidCrystal_I2C set backlight pin.viâ āđāļāļāļ āļēāļŦāļāļāļāļāļĢāļ backlight āļāļāļ LCD
āđāļāļĒāļāļ§āđāļāļāļ°āļ āļēāļŦāļāļāđāļ§āļ Pin=3
3. āđāļĢāļĒāļ âLiquidCrystal_I2C set backlight.viâ āļāļāļĄāļēāđāļāļāļāļēāļāļāļāļ āļēāļŦāļāļ âTrueâ āđāļāļāđāļāļāļāļēāļĢāđāļāļāļēāļ
backlight āļāļāļāļāļĢāļ LCD
4. āđāļĢāļĒāļ âLiquidCrystal_I2C home.viâ āđāļāļāļ āļēāļŦāļāļāļāļēāļĢāđāļŠāļāļāļāļĨāđāļĢāļĄāļāļāļāļ āļēāđāļŦāļāļ Home āļāļāļ LCD
āļāļāļāļāļ āļāļēāļāļāļēāļĒāļŠāļ āđāļāļ§āđāļĢāļāļāļāļāļ LCD
5. āđāļĢāļĒāļ âLiquidCrystal_I2C write String.viâ āđāļāļāđāļāļĒāļāļāļēāļāļ§āļāļāļĐāļĢāļ LCD āļāļēāļĄāļ āļēāđāļŦāļāļāļāļ āļēāļŦāļāļāđāļ§
āđāļāļāļāļāļāļĨāļāļāđāļāļĒāļāļ āļēāļ§āļē âLabVIEW-Arduinoâ āđāļāļāļāļĢāļĢāļāļāļāļāļŠāļāļāļāļāļāļ LCD
6. āđāļĢāļĒāļ âLiquidCrystal_I2C set cursor.viâ āđāļāļāļ āļēāļŦāļāļāļ āļēāđāļŦāļāļāļāļēāļĢāđāļŠāļāļāļāļĨāđāļŦāļāļĒāļāļāļ§āļāļāļĐāļĢāđāļĢāļ
āđāļāļ§āļāļŠāļāļāļāļāļ LCD āđāļāļĢāļēāļ°āđāļāđāļāļĢāđāļāļĢāļĄāļāļāļ°āļ āļēāļāļēāļĢāļāļāđāļāļāļāļēāļāļēāļĢāļāļāļāļāļ Loop āļāļēāļĢāļ āļēāļāļēāļāđāļāļ
āļāļĢāļĢāļāļāļĨāļēāļāļāļāļ LCD
7. āđāļĢāļĒāļ âLiquidCrystal_I2C write String.viâ āļāļāļĄāļēāļāļāļāļĢāļāļŦāļāļ āđāļāļāđāļāļĒāļāļāļē âCount:â + âāļ āļēāļāļ§āļ
Loop āļāđāļāļĢāđāļāļĢāļĄāļ āļēāļāļēāļâ āđāļāļĒāļāļ°āļŠāļāđāļāļāđāļŦāļāļ§āļēāļĄāļāļāļāļāļ âNumber To Fractional Stringâ āđāļāļ
āđāļāļĨāļāļāļ§āđāļĨāļ (Integer) āđāļāđāļāļāļāļ§āļāļāļĐāļĢ (String) āđāļāļāļĢāļāļāļ āļēāļŦāļāļāļāļāļāļĻāļāļĒāļĄ 3 āļ āļēāđāļŦāļāļ āđāļāļāđāļŦ
āđāļŠāļāļāļāļĨāļāļ LCD
āđāļāļĒāđāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļĒāđāļ âWhile Loopâ āļāļ°āļ§āļ Loop āļāļēāļĢāļ āļēāļāļēāļāđāļāđāļĢāļāļĒ āđāļāļĒāļ āļēāļŦāļāļāđāļ§āļĨāļēāļāļēāļĢ
āļ āļēāļāļēāļāđāļāļĨāļ° Loop āđāļ§āļ 100ms āđāļĨāļ°āļāļ°āļ āļēāļāļēāļāđāļāļāļāļāđāļāļāļāđāļĄāļŠāļāļŠāļ āđāļāļĢāļēāļ°āļ āļēāļŦāļāļāļāļē âFalseâ āđāļŦāļāļ
Loop Condition āļāļĄāļĄāļĨāļēāļāļāļēāļĒāļāļāļāđāļāļĢāđāļāļĢāļĄ
āļāļĨāļāļēāļĢāļāļāļŠāļāļāļāļēāļĢāđāļāļĒāļāđāļāļ LabVIEW āđāļŠāļāļāļāļĨāļ LCD 16x2 (I2C)
āđāļāļāļēāļāļ 4.āļāļāļāļāļāļāļēāļĢ Compile Code āđāļĨāļ° Download āļĨāļāļāļāļĢāļ Arduino
1. āđāļĨāļāļāļāļāļĢāļ Arduino āļāļāļāļāļāļēāļĢāđāļāļāļĄāļāļ āđāļāļāļĢāļāļāļāļĄāđāļĨāļāļāđāļāļ Arduino Uno
2. āđāļĨāļāļāļāļāļĢāļāļāđāļāļāļĄāļāļ āđāļāļāļĢāļāļāļāļĄāđāļāļāļāļāđāļ§āļ COM4 (*āļāļēāļāļāļēāļāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļĨāļāļāļāļāļĢāļāđāļāļāļēāļāđāļ
āđāļāļāļāļāļāļāļāđāļŠāļāļāļ§āļē āļāļāļĢāļ Arduino āļĒāļāđāļĄāđāļāļĨāļ USB-Driver āļŦāļĢāļāļĒāļāđāļĄāđāļāļĨāļ NI-VIA Driver)
3. āđāļāļāđāļāļāđāļāļĢāđāļāļĢāļĄ VI āļāļāļāļāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļĄāđāļāđāļĨāļāļĢ āđāļāļĒāđāļĨāļāļ âLoad a VIâ
4. āļāļĨāļāļāļ āļĄ âCompile (Verify) Onlyâ āđāļāļāļāļāļŠāļāļāļāļēāļĢāļāļāļĄāđāļāļĨāđāļāļ āļ§āļēāđāļāļĢāđāļāļĢāļĄāļāđāļāļĒāļāļāļāļāļāļāļĢāļ
āļĒāļēāļāļēāļĢāļāļ Flash āđāļĨāļ° RAM āđāļāļāļ āļēāļāļ§āļāđāļāļēāđāļ āđāļĨāļ°āļĄ Error āđāļāļāļāļāļŦāļĢāļāđāļĄ
5. āđāļĄāļāļāļĨāļāļēāļĢāļāļāļĄāđāļāļĨāļāļēāļāđāļĨāļ§ āļāđāļŦāļāļĨāļāđāļĨāļāļāļ âCompile and Downloadâ āļĢāļāļŠāļāļāļĢ āļāļāļĄāđāļāđāļĨāļāļĢāļ
āļāļ°āđāļāļĢāđāļāļĢāļĄāđāļāļ LabVIEW āļĨāļāļāļāļāļāļĢāļ Arduino Uno āļāļēāļĄāļāļāļĢāļāļāļ āļēāļŦāļāļāđāļ§
āđāļāļĒāļāļĨāļāļēāļĢāļāļāļĄāđāļāļĨāđāļŠāļāļāļāļĨāļāļēāļāļĨāļēāļ āđāļāļāļĢāļāļāļāļ°āđāļŦāļāļ§āļē āđāļāļĢāđāļāļĢāļĄāđāļŠāļāļāļāļĨāļāļēāļ LCD āļāđāļāļĒāļ
āļāļāļĄāļēāļāļ āļāļ°āđāļāļāļāļāļāļ Flash āļāļĢāļ°āļĄāļēāļ 7.6kB āļāļāđāļāļ 23% āļāļēāļāļāļāļŦāļĄāļ 32 KB āļāļāļāļāļāļĢāļ Uno āđāļĨāļ°
āļāļāļāļāļ RAM āđāļāļāļēāļāđāļāļĒāļ 289 bytes āļāļāđāļāļ 14% āļāļēāļāļāļāļŦāļĄāļ 2 KB āļāļāļāļāļĢāļ Arduino Uno
āđāļāļāļēāļāļ 5.āļāļēāļĢāđāļāļāļēāļāļāļāļāļāļ Debug Tool āđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļāļĢāļāļĒāļēāļāļĢ (RAM)
āļāļēāļĢ Debug āđāļāļĢāđāļāļĢāļĄāđāļāļāļŠāļāļŠ āļēāļāļāļŠ āļēāļŦāļĢāļāļāļāļāļāļāļē āđāļāļĢāļēāļ°āļ§āļēāļāļāļŦāļēāļŠāļ§āļāđāļŦāļāļĄāļāđāļāļāļāļāđāļāļāļāļ°
Run-time āļāļāļāļāļ§āļēāđāļāļāļāļēāļĢ Debug āļāļĒāļēāļāļāļŠāļ āļāļēāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļĄāļ āļāļ°āļ āļēāđāļŦāđāļĄāđāļāļāļĨāļĨāļāļāļāļēāļĄāļāļ āļēāļŦāļāļ
āļāļāļāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄ āļŦāļĢāļ IDE āļāļ āļāļāļāļĄāđāļāļĢāļāļāļĄāļāļāļēāļāļāļĒāļēāļāļāļāļ°āļāļ§āļĒāđāļŦāļāļāļāļāļāļēāļŠāļēāļĄāļēāļĢāļ Debug
āđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ° Runtime āđāļāļāļĢāļ
āđāļāļāļāļāđāļĢāļēāļāļ°āđāļāļāļāļāļāļāļāļēāļĢ Debug Tool āļāļŠāļēāļĄāļēāļĢāļāļŠāļāļāļēāļāļ āļēāļŦāļāļ āļāļāļāļĄāļēāļ COM āļāļāļĢāļāđāļ āļāļ
āļ āļēāđāļŦāđāļĢāļēāļāļĢāļēāļāđāļāļ§āļē āļāļāļ° Run-time āđāļāļĢāđāļāļĢāļĄāļ āļēāļāļēāļāļāļĒāļēāļāđāļĢ āļāļĨāļēāļĒāđ āļāļāļāļāļāļāļ printf() āđāļāļ āļēāļĐāļē C/C++
āļāļāļ Arduino IDE āļāļĢāļ āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļĨāļāļāļāļāļāļāļāļāđāļāļāļēāļ âUtilities>Debug Toolâ āļāļēāļĄāļ āļēāļ
āđāļĨāļāļēāļĢāđāļāļĒāļ§āļāļāļāļēāļĢ Debug āđāļĨāļ°āļāļēāļĢāļāļāļāļēāļĢāļāļ§āđāļ
āļ§āļāļāļēāļĢāđāļāļāļēāļāđāļĢāļēāļāļ°āļāļāļāđāļāļĢāļ âDebug Tool.viâ āđāļāļāđāļāļāļāđāļĢāļēāļāļāļāļāļēāļĢ Debug āđāļāļĒāļāļēāļāļāļāļāļāļēāļĢ
āđāļŠāļāļāļāļĨāļāļāļāļāļēāļ COM port āļāļ°āļāļāļāđāļāļāļāļ§āđāļāļĢāļāļāļāļāļ§āļāļāļĐāļĢ (String) āđāļāļēāļāļ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāđāļĨāļāļāđāļāļāļ§āļĒāļ§āļē
āļāļāļāļāļēāļĢāđāļŦāđāļŠāļāļāļāļĨ āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē RAM āļāđāļŦāļĨāļāļāļĒāđāļāļāļāļ°āļāļāļŦāļĢāļāđāļĄ (āļŦāļāļ§āļĒāđāļāļ Bytes) āđāļāļāļĢāļāļāļ āđāļāļĒāļ
āđāļāđāļ āļāđāļĨāļĒāļ āļēāļāđāļ Loop āđāļŦāđāļāļ 1 āļ§āļāļēāļ āđāļāļāđāļŦāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļŦāļāļāļēāļĢāđāļāļĨāļĒāļāđāļāļĨāļāđāļāļāļēāļĒāļāļāļāļĢāļ āđāļŠāļāļāļāļ
āļ āļēāļ
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļāļāļĄāļĨāđāļāđāļŠāļāļāļāļĨāļāļāļ LCD
āļāļēāļāļāļāļāļĨāļāļĄāļēāļ IDE āđāļāļāđāļĨāļāļ âSerial Monitorâ āļāļāļĄāļēāđāļāļāļēāļ āđāļŠāļāļāļāļāļ āļēāļ
āļāļēāļĢāđāļāļāđāļāļĢāđāļāļĢāļĄāļĒāļāļĒ Serial Monitorâ
āđāļĄāļāđāļāļāđāļāļĢāđāļāļĢāļĄ âSerial Monitorâ āļāļāļĄāļēāļāļ°āđāļŦāļāđāļāļ§āļēāļāļāļĢāļ Arduino āļāļ°āļ āļēāļāļēāļĢāļāļāđāļāļāļāļēāļāđāļĢāļē
āļ āļēāļŦāļāļāđāļ§āļāļāđ 1 āļ§āļāļēāļ āđāļāļ âCount: 15.000:1348â āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļē āļāļāļ°āļāđāļāļĢāđāļāļĢāļĄāļ āļēāļĨāļāļ āļēāļāļēāļāļ Loop
āļ 15 āđāļĨāļ°āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē RAM āļāđāļŦāļĨāļ (Free Memory) āļāļāļ°āļāļāļ 1.348 KB
āļāļĨāļāļēāļĢāļāļēāļāļāļēāđāļŠāļāļāļāļĨāļāļāļāļāļēāļ COM Port
āđāļāļāļēāļāļ 6. āļāļēāļĢāđāļāļāļēāļāļĢāļ§āļĄāļāļ Real-Time Clock (RTC) āļāļ§āļĒ I2C Interface
āļāļāļĢāļ Data Logger Shiled āđāļĨāļ°āļāļāļĢāļāļāđāļāļāļĄāļāļāļāļ Arduino Uno
āļāļ§āļāļĒāļēāļāļāļāļ°āđāļŠāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļāļāļē āđāļĨāļ°āļāļēāļ Real-Time Clock āđāļāļāļĢ DS1307 āļāļāđāļ
āļāļāļāļ§āļēāļĄāļāļ āđāļāļĒāļāđāļāļŪāļēāļĢāļāđāļ§āļĢāļāļāļĢāļ Data Logger Shield āđāļ§āļāļĢāļāļ 1.0 āļāļāļĄāļĢāļēāļāļēāđāļĄāđāļāļāļāļ āđāļĨāļ°āļĄāļēāļāļĢāļāļĄ
āļāļ SD Card Slot āđāļāļāļĄāļāļāļāļēāļāļāļāļĢāļ (A4 āđāļĨāļ° A5 āđāļāļāđāļāļāļēāļ I2C Interface) āđāļĨāļ°āļĄāļāļāļāļ§āļēāļāđāļāļāļŠāļĢāļēāļ
āļ§āļāļāļĢāļāļāļāļāļ§āđāļāļ āļāļ°āđāļŦāļĄāļēāļ°āļāļāļāļēāļĢāļ āļēāđāļāļāļāļĨāđāļāļāļāļāļāļāļāđāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļ āđāļĨāļ°āļāļāļāļāļĨāļ SD Card
āđāļĨāļāļēāļĢāđāļāļĒāļ§āļāļāļāļēāļĢāļāļāļāļāļāļēāļāļāļēāļ I2C
āļāļēāļĢāđāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļāļāļāļāļ RTC āļāļāļāļ°āđāļāđāļĨāļāļēāļĨ I2C āļāļāļāļāļāļĄāļēāļāļĢāļāļĄāļāļ āļāļāļĄāđāļāđāļĨāļāļĢ
Toolkit āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļāđāļāļāļāļ āđāļāļĒāļāļēāļĢāļāļāļāļē I2C Address āļāļāļ RTC āđāļāļāļāļĢāļ Data Logger Shield āļāļ°
āļ āļēāļŦāļāļāđāļ§āļ 0x68 āđāļāļĒāđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļāļāđāļāļāđāļāļāļēāļāđāļāđāļāļāļēāļāļāļāļ°āļĄ 2 āđāļāļĢāđāļāļĢāļĄāļāļ
1. SET DS1307 Real Time Clock.vi
2. READ DS1307 Real Time Clock.vi
āđāļāļĒāđāļāļĢāđāļāļĢāļĄ âSET DS1307 Real Time Clock.viâ āļāļ°āļāļēāļ§āļāđāļŦāļĨāļāļĨāļāđāļāđāļ RTC āđāļāļĒāļāļāļĢāļāđāļĢāļ
āļāļĢāļāđāļāļĒāļ§āđāļāļāļ āļēāļŦāļāļāđāļ§āļĨāļēāļāļāļāļāļ āļŦāļĨāļāļāļēāļāļāļāļāļ°āļāļāļāļāļēāļ§āļāđāļŦāļĨāļāđāļāļĢāđāļāļĢāļĄ âREAD DS1307 Real
Time Clock.viâ āđāļāļāļāļāļŠāļāļāļāļēāļĢāļāļēāļāļāļē RTC āļ COM Port
4.1 āļ āļēāļŦāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāđāļŦ RTC (SET DS1307 Real Time Clock.vi)
āļāļēāļĢāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāļēāļĢāđāļāļĒāļāļĨāļāļāļ RTC āļāļĢāļāđāļĢāļāļāļĢāļāđāļāļĒāļ§
āđāļāļāļēāļĢāđāļāļāļēāļāļāļĢāļāđāļĢāļ āđāļĢāļēāļāļāļāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāđāļŦāļāļ RTC āđāļāļĒāļāļāļāđāļāļĨāļāļāļē Date/Time āđāļāđāļāļ
āļāļ§āđāļĨāļāđāļāļāļēāļĨ āđāļāļāđāļāļĒāļāļĨāļāđāļāđāļāļĢāļāļāđāļāļāļĢāļāļāļ RTC āđāļŦāļāļāđāļ§āļĨāļēāļāļēāļĄāļāļ āļēāļŦāļāļ āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļ āļēāļŦāļāļāđāļ§āļĨāļē
āļāļāļāļāļāđāļāļāļēāļāļāļēāļĢāļāļāļāļēāļāļ§āđāļĨāļāđāļāļŦāļāļē Front Panel āļāļāļāđāļāļĢāđāļāļĢāļĄ āđāļāļĒāļāļāļāļĢāļāđāļāļāļāļāļĢāļ
āđāļāļĢāđāļāļĢāļĄāļāļēāļĢāļāļāļāļēāđāļ§āļĨāļēāđāļŦāļāļ RTC DS1307 āļāļāļāļāļĢāļ Data Logger Shield
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ âSET DS1307 Real Time Clockâ āļāļāļāļēāļĒāđāļāļāļāļ
1. āđāļĢāļĒāļ âI2C Open.viâ āđāļāļāļāļāļāļēāđāļĢāļĄāļāļāļāļēāļĢāđāļāļāļĄāļāļāļāļ RTC DS1307 āļāļēāļāļāļāļĢāļ I2C
2. āđāļĢāļĒāļ âI2C Write (Byte).viâ āđāļāļāđāļĢāļĄāļāļāđāļāļĒāļāļāļē Date/Time āđāļāļĒāļāļĢāļāļāđāļāļāļĢāļāļāļ RTC āđāļāļĒāļāļāļ
āļ āļēāļŦāļāļāļ āļēāđāļŦāļāļāđāļĢāļĄāļāļāļāļāļāļāļāļēāļĢāđāļāļĒāļāđāļāļāļāļāļ āđāļŦāđāļĢāļĄāļāļĢāļāļāđāļāļāļĢ â0â āļāļāļāļāļāļāļēāļāļēāļ§āļāļēāļ
āļāļāđāļāļ
3. āđāļĢāļĒāļ âI2C Write (Array).viâ āđāļāļāđāļĢāļĄāļāļāļāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāđāļŦāļāļ RTC āđāļāļĢāļāđāļāļ
âMM/DD/YYYY HH:MM:SSâ
4. āđāļĢāļĒāļāļāļāļāļāļ âBinary to BCDâ āđāļāļāđāļāļĨāļāļāļē Date/Time āđāļāđāļāļāđāļāļāļēāļĨāļ RTC āđāļāļēāđāļāđāļāļāļāļ
āļāļēāđāļ§āļĨāļē
4.2 āļāļēāļĢāļāļēāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāļāļēāļ RTC (READ DS1307 Real Time Clock.vi)
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļēāļ RTC āđāļŠāļāļāļāļĨāļāļāļāļāļēāļ COM Port āļāļĒāļēāļāļāļēāļĒ
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄ âREAD DS1307 Real Time Clockâ āļāļāļāļēāļĒāđāļāļāļāļ
1. āđāļĢāļĒāļ âI2C Open.viâ āđāļāļāļāļāļāļēāđāļĢāļĄāļāļāļāļēāļĢāđāļāļāļĄāļāļāļāļ RTC DS1307 āļāļēāļāļāļāļĢāļ I2C
2. āđāļĢāļĒāļāļāļāļāļāļ âRead RTC Time and Format.viâ āļāļāđāļāļ Sub-VI āļāļāļēāļāļāļēāđāļ§āļĨāļēāļāļēāļāļāļāļĢāļ I2C
āđāļĨāļ°āđāļāļĨāļāļāļēāđāļāļāļāļ§āđāļĨāļāļāđāļĢāļēāđāļāļēāđāļāđāļŦāļāļāđāļāļĄāļ āđāļāļĒāļāļ°āļāļĒāđāļāļĢāļāđāļāļ âMM/DD/YYYY HH:MM:SSâ
3. āđāļĢāļĒāļāļāļāļāļāļ Debug Tool āđāļāļāļ āļēāļāļēāļĢāļŠāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāļāļāļāļāļāļāļĢāļ COM Port
4. āļ āļēāļŦāļāļ Loop āđāļ§āļĨāļēāļāļēāļĢāļāļēāļāļāļē āļāļāđ 1 āļ§āļāļēāļ
5. āļ āļēāļŦāļāļāđāļŦ Loop āļ āļēāļāļēāļāđāļāļāđāļĄāļĄāļŠāļāļŠāļ āđāļāļĒāļ āļēāļŦāļāļāļāļē âFalseâ āđāļŦāļāļ Conditional Terminal āļ
āļĄāļĄāļĨāļēāļāļāļ§āļēāļāļāļ While Loop
āļāļĨāļāļēāļĢāđāļŠāļāļāļāļĨāļāļēāļ COM Port āļāļ°āđāļŦāļāļ§āļēāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļēāđāļāļāļāļāļāļ
āļāļēāļāļāļāđāļāļ Serial Monitor āļāļāļ°āđāļŦāļāļ§āļēāļāļēāđāļ§āļĨāļēāļāļāļāļāļāđāļŠāļāļāļāļĨāļāļāļāļĄāļēāļ COM Port āļāļāđ 1 āļ§āļāļēāļ
(*āđāļāļāļĢāļāļāđāļ§āļĨāļēāđāļĄāļāļĢāļ āļāļāļāļāļĨāļāđāļāļāļāđāļ§āļĨāļēāđāļŦāļĄāļāļ§āļĒ âSET DS1307 Real Time Clockâ)
āđāļāļāļēāļāļ 7. āļāļēāļĢāđāļāļĒāļāļāļāļĄāļĨ RTC āļĨāļ SD Card (SPI Interface)
āļāļāļĢāļ Data Logger Shield āļāļĄ Slot SD Card āļĄāļēāđāļŦāļāļĢāļāļĄāđāļāļāļēāļ
āđāļāļāļēāļāļāļāļ°āđāļāļāļāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļĒāļāļāļāļĄāļĨāđāļ§āļĨāļēāļāļāļēāļāļĄāļēāļāļēāļ RTC āļāļāļāļāļĨāļ SD Card āđāļāļĒāļāļēāļĢ
āđāļāļāļĄāļāļāļāļ SD Card āļāļ°āđāļ SPI Bus āđāļāļĒāļāļāļĢāļāļāđāļāļāļĄāļāļāļāļāļ āļēāļŦāļāļāđāļ§āđāļĨāļ§āđāļāļĒ Data Logger Shield
āđāļŠāļāļāļāļāļ
CK = D13
MISO = D12
MOSI =D11
CS = D10
āļāļēāļĢāđāļāļāļēāļāļāļ°āđāļĢāļĒāļāļāļāļāļāļāļāļēāļ SD Card āđāļĨāļāļēāļĢ āđāļŠāļāļāļāļāļĢāļ *āļāļāļāļ°āļĢāļāļāļĢāļ SD Card āļ Format
āđāļāļ FAT16 āļŦāļĢāļ FAT32 āđāļāļēāļāļ
āđāļĨāļāļēāļĢāđāļāļĒāļ§āļāļ SD Card āļĄāļāļāļāļāļāđāļŦāđāļĢāļĒāļāđāļāļāļēāļāđāļāļāļāļ
āđāļāļĒ SD Card āđāļĨāļāļēāļĢ āļāļēāļāļāļāļāļēāļāļĄāļēāļāļĢāļēāļāļēāļ âSD Library 8.3 Filenameâ āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļēāļŠāļēāļĄāļēāļĢāļ
āļāļāļāļāđāļāļĨāđāļāļŠāļāļŠāļ 8 āļāļ§āļāļāļĐāļĢ āđāļĨāļ°āļāļēāļĄāļŠāļāļĨāļāļāļāđāļāļĨ 3 āļāļ§āļāļāļĐāļĢ āđāļāļēāļāļ āđāļĨāļ°āļāļāđāļāļĨāļāļ°āđāļāļāļāļ§āļāļāļĐāļĢāļāļ§
āđāļŦāļāļāļāļŦāļĄāļ āļāļ§āļāļĒāļēāļāđāļāļ âDATALOG.CSVâ
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļēāļ RTC āļāļēāļāļāļāļāļāļāļāļāļāļĄāļĨāļĨāļ SD Card āđāļĨāļ°āđāļŠāļāļāļāļĨāļāļēāļ COM Port
āđāļĢāļēāļĨāļāļāļĄāļēāļāļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāđāļŠāļāļāļāļāļĢāļ āđāļāļĒāļāļāļāļēāļĒāļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļ
1. āđāļĢāļĒāļ âI2C Open.viâ āđāļāļāļāļāļāļēāđāļĢāļĄāļāļāļāļēāļĢāđāļāļāļĄāļāļāļāļ RTC DS1307 āļāļēāļāļāļāļĢāļ I2C
2. āđāļĢāļĒāļ âRead RTC Time and Format.viâ āđāļāļāļāļēāļāļāļēāđāļ§āļĨāļēāļāļāļāļāļāļāļēāļ RTC
3. āđāļĢāļĒāļ âSD Data Logger.viâ āđāļāļāļāļāļāļāļāļāļĄāļĨāļĨāļ SD Card āļāļēāļĢāđāļāļāļēāļāļāļēāļĒāļĄāļēāļ āđāļāļĒāļāļ āļēāļŦāļāļ āļāļ
āđāļāļĨ = âdatalogâ,CS Pin = 10 āđāļĨāļ°āļ āļēāļŦāļāļāļāļāļĄāļĨāļāļāļāļāļāļēāļĢāļāļāļāļāđāļāļ Array āļāļāļāļāļ§āđāļĨāļ āļāļēāļāļāļ
āļāļāļāļāļāļāļāļ°āļāļāļāļāļāļāļĄāļĨ āđāļāļāđāļāļĨ .CSV āđāļŦāļāļāđāļāļĄāļ
4. āļāļāļĨāļāļāļŠāļĢāļēāļāļāļēāļāļ§āđāļĨāļ āļāļēāļĄāļ āļēāļāļ§āļ Loop āļāļ āļēāļāļēāļ āđāļāļĒāļāļ°āđāļāļĄāļāļĢāļāļĨāļ° 1 āđāļāđāļāļĨāļ° Loop *āđāļāļāļāļāļ§āļĒ
āđāļāļāļāļēāļāļ§āđāļĨāļāļāļāļ DBL āļ āļēāđāļŦāļāļāļāđāļāļāļāļāļāļ Build Array āđāļāļāđāļāļĨāļāļāļ§āđāļĨāļāđāļāļāļāļāļĄāļĨ Array āļŠāļ
āđāļŦāļāļ SD Data Logger.vi
5. āđāļĢāļĒāļāļāļāļāļāļ Debug Tool āđāļāļāļ āļēāļāļēāļĢāļŠāļāļāļēāļāļāļāļāļāļĨāļ SD Card āļāļāļāļāļēāļ COM Port āđāļāļ
āđāļŠāļāļāļāļĨ
āļāļĨāļāļēāļĢāđāļŠāļāļāļāļĨāļ COM Port āļāļ°āđāļŦāļāļ§āļēāļāļāļĄāļĨāļāļ°āļāļĒāđāļ CSV format āđāļŦāļĄāļāļāļāļāļāđāļāļĒāļāļĨāļ SD Card
āļāļēāļāļāļāđāļāļ Serial Monitor āļāļāļ°āđāļŦāļāļ§āļēāļāļāļĄāļĨāļāļāļāļāļāđāļŠāļāļāļāļĨāļāļāļāļĄāļēāļ COM Port āļāļāđ 1 āļ§āļāļēāļ (*
āđāļāļāļāļāļēāļāļ§āļēāļāļēāļĢāļāļāļāļāļāļāļĄāļĨāļĨāļ SD Card āļāļ°āđāļāđāļ§āļĨāļēāļāļĢāļ°āļĄāļēāļ 250ms āļāļāļāļāļ§āļēāļāļēāļāļāļŠāļĄāļāļ§āļĢ āļāļāļāļāļāļāļ
āļ āļēāļāļāļāļāļāļēāļĢāļ āļēāļŦāļāļāđāļ§āļĨāļē Timing āđāļāļāļēāļĢāļāļāļāļāļāļāļĄāļĨāļāļ§āļĒ āļāļ§āļĢāļŦāļĨāļāđāļĨāļĒāļāđāļāļāļāļŦāļāļ§āļāđāļ§āļĨāļēāđāļāļāļēāļĢāļāļāļāļ āđāļĨāļ°
āļāļēāļāļāļ°āļāļāļāļ āļēāļŦāļāļāđāļ§āļĨāļē Delay āļāļāļ Loop āđāļŦāļāļāļĒāļĨāļ āđāļāđāļāļāļāļĨāđāļāļāļāļŠāļ§āļāđāļŦāļāļāļāļāļāļāļāļāļĄāļĨāļāļāđ 1 āļ§āļāļēāļ
āļāđāļāļāļēāļāđāļāļāļāļ)
āđāļāļāļēāļāļ 8. āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ Thermocouple āļāļēāļ MAX6675 āļāļēāļ
āļāļāļĢāļ SPI
āļāļāļĢāļ MAX667 āļŠ āļēāļŦāļĢāļāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ Thermocouple āļāļāļ K-Type
āđāļāđāļāļāļēāļāļāđāļĢāļēāļāļ°āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ MAX6675 āļāļāđāļāļ Thermocouple K-Type
āđāļĨāļāļēāļĢ SPI āļŠ āļēāļŦāļĢāļāļāļāļāļāļāļāļāļāļāļĢāļāļāļēāļāđ āđāļāļāļāļ
āđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļēāļāļāļŦāļ āļĄāļāļēāļ MAX6675 āļāļēāļāļāļŠ SPI
āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļēāļĒāđāļāļāļāļ
1. āđāļĢāļĒāļ âSPI Open Express.viâ āđāļāļāđāļĢāļĄāļāļāļāļēāļĢāļāļāļāļāļāļ SPI Bus āđāļāļĒāļāļāļāļ āļēāļŦāļāļ CS Pin āđāļāļāļĢāļ
āļāļāļĄāđāļāļāļĄāļāļ CS Pin āđāļ§āļāļ Digital Pin = â9â āđāļĨāļ°āđāļāļāļ§āļāļĒāļēāļāļāđāļ SPI Clock Speed = 2MHz
āļāļāļāļāļāļāļāļ āļēāļŦāļāļ Clock Divider = 5 āļŦāļĄāļēāļĒāļāļ āļāļ°āļ āļē Clock āļāļāļāļāļĢāļāļŦāļēāļĢāļāļ§āļĒ 8 āđāļāļāļĢāļāļāļāļĄāđāļ
āļāļāļĢāļ Arduino Uno āļāļĄāļŠāļāļāļēāļāļāļēāļāļāļē 16MHz āļāļāļāļ Clock āđāļāļāļēāļĢāđāļāļāļēāļ SPI āļāļāđāļāļēāļāļ 16/8
= 2MHz
2. (āļāļēāļĢāļ āļēāļŦāļāļāļāļē Clock Divider āļāļēāļāļāļāļāļēāļ Help āļāļāļāļēāļĒāđāļāļāļāļāļāđāļāļ = 0 āļŦāļēāļĢāļāļ§āļĒ 4, =1 āļŦāļēāļĢ
āļāļ§āļĒ 16, =2 āļŦāļēāļĢāļāļ§āļĒ 64, =3 āļŦāļēāļĢāļāļ§āļĒ 128, =4 āļŦāļēāļĢāļāļ§āļĒ 2, =5āļŦāļēāļĢāļāļ§āļĒ 8 āđāļĨāļ° = 6 āļŦāļēāļĢāļāļ§āļĒ 32,
āļāļēāđāļĢāļĄāļāļāļāļ°āļ āļēāļŦāļāļāđāļ§āļ Clock Divider = 0 āļāļāļāļ°āļ āļēāļŦāļāļ Clock āđāļāļāļēāļāđāļ§āļ 4MHz āļāļāļāļāđāļ
āļāļāļĢāļ Uno 16MHz/4 = 4MHz)
3. āđāļĢāļĒāļ âSPI Transfer.viâ āđāļāļāļāļēāļāļāļāļĄāļĨāļ āļēāļāļ§āļ 1 āđāļāļ (8 āļāļ) āļāļēāđāļĢāļĄāļāļāļāļ°āļ āļēāļŦāļāļāđāļŦāļāļēāļāļāļēāļ
MSB
4. āđāļĢāļĒāļ âSPI Transfer.viâ āļāļāļāļĢāļāļŦāļāļ āđāļāļāļāļēāļāļāļāļĄāļĨāļ āļēāļāļ§āļ 1 āđāļāļ (8 āļāļ) āđāļāļāļĢāļāļāļ āļēāļŦāļāļāđāļŦāļāļēāļ
LSB
5. āļ āļēāļāļēāļĢāđāļāļĨāļāļāļēāļāļāļĄāļĨāđāļŦāđāļāļāļāļēāļāļāļŦāļ āļĄāļāļēāļĄ Format āđāļ Datasheet āļāļāļ MAX6675 āļāļāļāļāļāļēāļĒ
āđāļāļĄāđāļāļĄāđāļāļāļāļĢāļ
6. āļ āļēāļāļēāļĢāđāļāļĨāļāļāļēāļāļāļŦāļ āļĄāļāļāļēāļāļĄāļēāđāļāđāļŦāļāļĒāđāļāļĢāļāļāļāļāļ§āļēāļĄ āđāļāļ 36.75âC āļāļ°āđāļŠāļāļāļāļĨ = âTemp:
36.75C,â
7. āđāļĢāļĒāļāļāļāļāļāļ Debug Tool āđāļāļāļ āļēāļāļēāļĢāļŠāļāđāļŠāļāļāļāļĨāļāļāļāļāļēāļ COM Port
8. āļ āļēāļŦāļāļāđāļ§āļĨāļēāļāļēāļĢāļ āļēāļāļēāļāļāļāļ Loop = 250ms āđāļāļāļāļāļēāļ MAX6675 āļāļ°āđāļāđāļ§āļĨāļēāđāļāļāļēāļĢāļāļēāļāļāļāļĄāļĨ
220ms āļāļēāļĄāļāļ āļēāļŦāļāļāđāļ Datasheet
āļāļĨāļāļāļŠāļāļāļāļēāļĢāļāļēāļāļāļēāđāļŠāļāļāļāļĨāļāļēāļ COM Port āļāļ°āđāļāļāļāļĄāļĨāļāļāļŦāļ āļĄāļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāđāļāļāļāļāļāļ
āđāļāļāļēāļāļ 9. āļāļēāļĢāļŠāļĢāļēāļ Thermocouple Data Logger āļāļāļāļŠāļĄāļāļĢāļ
āļāļēāļāđāļāļāļēāļāļāļāļāļŦāļāļēāļ āļāļāļāļāļēāļāļāļāđāļāđāļĢāļĒāļāļĢāļāļēāļĢāđāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļĢāļ§āļĄāļāļ Arduino āđāļĨāļ°āļāļāļāļĢāļ
āļāļēāļāđāđāļāđāļāļāļāļāļāđāļĢāļĒāļāļĢāļāļĒāđāļĨāļ§ āđāļāļāļāļāđāļĢāļēāļāļ°āļĄāļēāļŠāļĢāļēāļ Data Logger āļāļŠāļĄāļāļĢāļāđāļāļĒāļāļēāļĢāļ āļēāļāļ§āļēāļĄāļĢāļāļēāļāļāļēāļĢ
āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļŠāļ§āļāļāļēāļāđāļĄāļēāļāļĢāļ°āļāļāļāļāļāđāļŦāđāļāļāđāļāļāļāļĨāđāļāļāļ Thermocouple Data Logger āđāļāļĒāļĄāļāļāļāļāļ
Alarm āđāļĄāļāļāļāļŦāļ āļĄāļŠāļāļāļ§āļēāļāļēāļāļ āļēāļŦāļāļāđāļ§ āđāļŠāļāļāļāļĨāļāļāļāļāļēāļ LED āļāļāļāļāļĢāļ āđāļĨāļ°āļŠāļāļŠāļāļāļēāļāđāļŠāļĒāļāđāļāļāļ
āļāļāļāļāļēāļ Buzzer āļĢāļēāļĒāļāļēāļĢāļŪāļēāļĢāļāđāļ§āļĢāđāļĨāļ°āļāļāļāļĢāļāļāđāļāđāļāđāļāļāļēāļāļāļāļĢāļ°āļāļāļāđāļāļāļ§āļĒ
āļāļāļĢāļ Arduino-Compatible Uno R3 āđāļĄāđāļāļĢāļāļāļāđāļāļĢāļĨāđāļĨāļāļĢ
āļāļāļĢāļ Data Logger Shield āļāļĢāļ°āļāļāļāļāļ§āļĒ SD Card āđāļĨāļ° Real-Time Clock (RTC)
āļāļāļĢ LCD Display 16x2 āđāļāļāļĄāļāļāđāļāļ I2C
āļāļāļĢāļ MAX6675 Thermocouple Type-K Module
āļāļāļĢāļ Data Logger Shield āļāļāļāļāļ MAX6675 āđāļĨāļ° Buzzer āļāļ Prototype Area
āđāļāļĒāđāļāļĢāđāļāļĢāļĄāļāļāļāļāļēāļāļāļāļ°āđāļāļāđāļāļ 2 āļŠāļ§āļāļŦāļĨāļāđ āļāļ āļŠāļ§āļāđāļĢāļāļāļ āļāļēāļĢāļāļāļāļēāđāļĢāļĄāļāļāļāļēāļāđāđāļŦāļāļĢāļāļĄ
āđāļāļāļēāļ āđāļĨāļ°āļŠāļ§āļāļāļŠāļāļāļāļ āđāļāļāļāļāļĒāđāļ Loop āļāļāļāļ°āļ āļēāļāļēāļāļ§āļāļ āļēāđāđāļāđāļĢāļāļĒ āđāļāļāļāļēāļāļāļēāđāļĨāļ°āđāļŠāļāļāļāļĨāļāļēāļ LCD
āļŦāļāļēāļāļēāļāļāļēāļĢāļāļāļāļē Address āđāļĨāļ°āļāļēāļāļāļāļāļēāļāđ āļāļāļ Front Panel
āļāļĨāļāļēāļĢāļāļāļĄāđāļāļĨāđāļāļĢāđāļāļĢāļĄāļāļ°āļāļāļāļāļāļāļ Flash āļāļĢāļ°āļĄāļēāļ 25KB (78%) āđāļĨāļ°āļāļāļāļāļ RAM āļāļĢāļ°āļĄāļēāļ 1.11
KB (54%) āđāļĄāļāđāļāļĒāļāļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāļāļāļŦāļĄāļāļāļāļāļāļĢāļ Arduino Uno
āđāļāļĢāđāļāļĢāļĄāđāļāļŠāļ§āļāļāļāļ Initial Haradware āļāļāļŦāļĄāļ
āđāļāļĢāđāļāļĢāļĄāđāļāļŠāļ§āļāļŦāļĨāļāļāļāļēāļāļāļē āļāļāļāļ āđāļŠāļāļāļāļĨ āđāļĨāļ°āđāļāļĢāļĒāļāđāļāļĒāļāļāļ Temp Alarm
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļŠāļāļāļāļĨāļāļāļāļāļēāļ LCD āļāļāļāļ°āļĄāļāļēāđāļ§āļĨāļē āļāļāļŦāļ āļĄ āđāļĨāļ° Alarm (*āđāļāļāļĢāļāļ 45 āļāļ āļāļāļŦāļ āļĄ
Alarm āļāļ āļēāļŦāļāļāđāļ§ āļāļēāļāļāļŦāļ āļĄāļāļāļāļāļāļŠāļāļāļ§āļēāļāļāļ°āļĄāđāļŠāļĒāļāđāļāļāđāļāļāļāļāļēāļ Buzzer)
āļāļāļāļĢāļ Arduino-Based Embedded Data Logger āļāļāļāļŠāļĄāļāļĢāļ
āđāļĄāļāļ āļē SD Card āđāļāđāļāļāđāļāļāļāļĄāļāļ§āđāļāļāļĢāļāļ°āđāļŠāļāļāļāļēāļāļāļĄāļĨāļāļāļāļāļāđāļ§ āļāļāļĄ 3 āļāļāļĄāļĨ āļāļāđāļ§āļĨāļē āļāļāļŦāļ āļĄ āđāļĨāļ°
āļŠāļāļēāļāļ° Alarm Status
āļāļĨāļāļēāļĢāļāļĨāļāļāļāļĢāļēāļāđāļāđāļāļĢāđāļāļĢāļĄ Excel āļāļēāļāļāļāļĄāļĨāđāļ SD Card
āļāļāļŠāļĢāļ
āļ āđāļāļĒāļāļĄāļāļŦāļ§āļāđāļŦāļāļāļāļ§āļēāļĄāļāļ āļēāđāļŠāļāļāļāļēāļĢāļāļāļāļē Embedded Data Logger āļāļ§āļĒāļ āļēāļĐāļē LabVIEW
āļāļāđāļāļāļ āļēāļĐāļēāļāļēāļāđāļĨāļāļāļāļāļāđāļŦāļāļāļāļēāļāļ āļēāļĐāļē C/C++ āļāļāļĒāļĄāđāļāļāļēāļāļāļāđāļāļāļāļāļāļ āļ āđāļāļĒāļāđāļĨāļāđāļŦāļāļ§āļē
LabVIEW āđāļāļāļ āļēāļĐāļēāļāļāļāļāļēāđāļāļāļēāļĒ āđāļĨāļ°āļ āļēāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļāđāļāļĢāļ§āļāđāļĢāļ§ āļ āļēāđāļŦāļāļāļāļāļēāļŠāļēāļĄāļēāļĢāļāļĄāļāđāļāļāđāļāļ
āļāļēāļĢāđāļāļĄāļāļĢāļ°āļŠāļāļāļ āļēāļāļāļāļāđāļāļāļāļĨāđāļāļāļ āļĄāļēāļāļāļ§āļēāļāļ°āļāļāļāļāļāļ§āļĨāđāļĢāļāļāđāļāļĢāļāļāļĄāļ āļŦāļĢāļāļ āļēāļĐāļēāđāļāļāļēāļĢāļāļāļāļē
āđāļāļŠāļ§āļāļāļāļ âArduino compatible compiler for LabVIEW (ACC4LV)â āļāļāļ§āļēāđāļāļāđāļāļĢāđāļāļĢāļĄāļāļ āļē
āđāļŦāļāļ§āļēāļĄāļāļāļāļāļāļāļāļāļāļāļē LabVIEW āđāļāļāļāļ§āļēāļĄāļāļĢāļ āđāļāļāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāđāļāļĢāđāļāļĢāļĄāđāļāļ LabVIEW āļĨāļ
āļŪāļēāļĢāļāđāļ§āļĢāļĢāļēāļāļēāļāļāļāļĒāļēāļ Arduino āđāļ āđāļĨāļ°āđāļĨāļāļēāļĢāļāļĒāļāļŦāļĒāļāđāļŦāđāļāļĒāļāđāļāļāđāļāļāļĄāļāļāļāļāļāļāļĢāļāđāļŠāļĢāļĄ Shields
āļ āļēāļĒāļāļāļāđāļ āļāļēāļ āļāļēāļāļāļŠ UART,I2C āļŦāļĢāļ SPI āđāļ āđāļāļĒāđāļāļāļāļāļāļāđāļāļĨāļāļāļāļĢāļĄ Arduino āļĄāļāļāļĢāļ Shields
āļ āļēāļāļ§āļāļĄāļēāļāļŦāļĨāļēāļĒāļŦāļĨāļēāļĒāļāļāļ āļ āļēāđāļŦāļāļēāļĢāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāļāļ§āļĒ LabVIEW āļŠāļēāļĄāļēāļĢāļāļ āļēāđāļāđāļāļāļēāļāđāļ
āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļāļāđāļ Home Application āđāļāļāļāļāļāļāļēāļāđāļāļāļāļŠāļēāļŦāļāļĢāļĢāļĄ āļāļĢāļ°āļāļāļāļāļāļāļāļāļāļēāļāļāļāđāļāļ
āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāļāļāļāļāļāļĄāđāļāđāļĨāļāļĢāļāļĒāđāļĢāļāļĒāđ āļāļēāļāļāļāļāļēāļāđāļĢāļĄāļāļāļĻāļāļĐāļē āļ āļ§āļāļ āđāļāļāļāļēāļāļāļ āđāļāļĒāļāļĄāļāļāļ§āļēāļāļ°āļ āļē
āđāļŦāļŠāļēāļĄāļēāļĢāļāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāļāļēāļāđāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāļ§āđāļāļāļāļ
āđāļāļŠāļ§āļāļāļāļ Hardware āļāļāļāļĢāļāļāļāļāļāđāļāļāļāļāļ§āļēāļĄāļāļāļāļ āļēāļāļāđāļāļāļāļĢāļ°āļāļāļāļāļēāļĢāđāļĢāļĒāļāļĢāđāļāļēāļāļ āļ āđāļāļĒāļ
āļĄāđāļāļāļĢāļāđāļāļāđāļāļāđāļāļāļēāļāđāļāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāļāļĢāļ āļāļēāļ āļĨāļāļŠāļāļāļēāļāļĢāļāļāļ§āļ āļāļĢāļāļāļ§āļēāļĄāļāļāļāļāļāļāļāļāļāļāļŦāļ āļĄāļ
āļāļēāļāđāļ āđāļĨāļ°āļāļāļāļāļāļāļāđ āļāļāļāļ āļāļēāļāļāļēāļāļāļāļāļāļēāļĢāļ āļēāđāļāļēāļāļāļāļĢāļ Data Logger āđāļĨāļ°āđāļāļ LabVIEW āļāđāļāļĒāļ
āļāļāđāļāļāļāļāļ§āļēāļĄāļāđāļāđāļāļāļēāļāļāļĢāļ āļāļāļēāļāļāļāļāļāļĢāļāļāļĢāļāđāļāļāđāļŦāđāļŦāļĄāļēāļ°āļāļāļŠāļ āļēāļāđāļ§āļāļĨāļāļĄāđāļāļāļēāļĢāļ āļēāđāļāđāļāļāļ§āļĒāļāļāđāļāļ
āļāļāļŠāļāļāļēāļĒ
āļāļāļāļ§āļĢāļĢāļāļāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒ Arduino Compatible Compiler for LabVIEW
āđāļāļĒāļāļāļāļāļēāļĢāđāļāļĒāļ LabVIEW āļĄāļāļāļ°āđāļāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļāļĨāļāļĐāļāļ° PC Based Application āļ
āļĢāļāļāļ Windows āļāļāļāļāļāļāļŪāļēāļĢāļāđāļ§āļĢāļāļēāļ Bus āļāļēāļāđ āļāļēāļ RS-232, USB, GPIB āļŦāļĢāļ Ethernet āļāļāļĄāļāļāļ°āđāļĄ
āļāļāļāļāļŦāļēāļāļāļ āļēāļāļāļāļēāļ Hardware āđāļāļēāđāļāļāļ āđāļāļāļāļāļēāļ PC āđāļāļ Hardware āļāļĄāļāļĢāļ°āļŠāļāļāļ āļēāļāļŠāļ āđāļāļ CPU
āļĄāļāļ§āļēāļĄāđāļĢāļ§ āļĢāļ°āļāļ GHz āđāļĨāļ° āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē RAM āļŠāļāļāļāļĢāļ°āļāļ GB
āđāļāļāļēāļĢāđāļāļĒāļ LabVIEW āđāļāļāđāļāļāļēāļāđāļāļ Embedded Application āļāļāđāļāļāļāļēāļāļāļĒāļēāļāļĄāļēāļ
āđāļāļĒāđāļāļāļēāļ°āļāļĒāļēāļāļĒāļāļāļēāđāļāļāļēāļāļĢāļ§āļĄāļāļ Arduino Platform āļāļāļĄāļāļāļ āļēāļāļāļāļēāļāļŪāļēāļĢāļāđāļ§āļĢāļ āļēāļāļ§āļāļĄāļēāļ āđāļāļĢāļēāļ°āđāļāļ
Microcontroller āļāļāļēāļāđāļĨāļ āļĄāļāļāļ āļēāļāļāļāļēāļ CPU āđāļĨāļ° āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē āļĒāļāļāļ§āļāļĒāļēāļāđāļāļ āļāļāļĢāļ Arduino Uno
āļĄ CPU 8-bit āļ āļēāļāļēāļāļ 16MHz āļĄāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļ Flash 32kB āđāļĨāļ° āļĄāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļē RAM āđāļāļĒāļ 2kB
āđāļāļēāļāļ āļāļāļāļāļ§āļēāļāļāļĒāļĄāļēāļāđ (*āđāļ âArduino Compatible Compiler for LabVIEWâ
āļāļāļĢāļāļāļĢāļāļāļāļĢāļāļĢāļēāļāļēāļāļāļāļĒāļēāļ Arduino Uno āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļē Compile āļĄāļāļ§āļēāļĄāļāļĨāļēāļāđāļĨāļ°āļāļāļāļēāļĢ
āļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļāļĢāļ°āļāļ Low Level āđāļāļāđāļĒāļĒāļĄ)
āļāļāļāļāļāļēāļĢāļāļāļāļē LabVIEW āđāļāļāđāļāļāļēāļāļĢāļ§āļĄāļāļāļāļāļĢāļ Arduino āļāļāļĄāļāļāđāļāļāļāļēāļāļāļēāļāļāļĢāļ°āļāļēāļĢāļ
āļāļāļāļāļāļēāļ āļēāđāļāļāļāļāļāļĢ āļāļāļāļāļāļ°āļāļēāļĢāđāļĢāļĄāļāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ āļāļĄāļāļāļŠāļĢāļāļĄāļēāđāļŦāđāļāļ 10 āļŦāļ§āļāļ āļāļāļāļāđāļāļāļāļĢāļ
1.āļāļēāļĢāđāļĢāļĒāļāđāļāļāļēāļ âArduino Compatible Compiler for LabVIEWâ
āđāļāļŦāļāļēāļāļēāļ âBlock Diagram āđāļŦāļāļĨāļāļāļ§āļē > āđāļĨāļāļ Addons > Arduino Compatible Compiler
sub-paletteâ āđāļŠāļāļāļāļāļĢāļ āļāļ°āđāļŦāļāđāļāļ§āļēāļāļāļāļāļāļāļāļāļāļĒāđāļ âArduino Compatible Compilerâ āļŠāļēāļĄāļēāļĢāļ
āđāļāļĢāđāļāļĢāļĄāļĨāļāđāļ Arduino āđāļāļāļ VIs (*āļāļāļāļēāļāļāļ°āļĄāļāļāļāļāļāđāļāļĄāđāļāļĄāļāļāđāļāļāļāļēāļāļ) āđāļāļāļāļāļāļāļāļāđ
āļāļāļāđāļŦāļāļāļāļēāļāļŦāļāļēāļāļēāļāļ āļāļ°āđāļāļāļēāļāđāļāđāļāļāļēāļ°āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļŠ āļēāļŦāļĢāļ Host PC āđāļāļēāļāļ āđāļĨāļ°āļāļēāļĢāđāļāļĒāļ
āđāļāļĢāđāļāļĢāļĄāļŠāļēāļĄāļēāļĢāļāļŠāļĢāļēāļāļāļēāļ Main VI āđāļāđāļĨāļĒ āđāļĄāļāļāļāļŠāļĢāļēāļāđāļāļ Project āđāļāļĢāļēāļ°āļ§āļēāđāļĢāļēāđāļĄāļāļāļ Build .exe āđāļāļĨ
āđāļāļŦāļāļēāļāļēāļ Project Explorer
Arduino Compatible Compiler for LabVIEW sub-Palette
2.āļĒāļāđāļ Concept āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ Dataflow Programming
āļāļ§āļēāļĄāđāļāļāļāļēāļāļŦāļĨāļāļāļāļ LabVIEW āđāļĄāļāđāļāļĒāļāļāļāļ āļēāļĐāļēāļāļāđāļāļāļ āļāļēāļĢāļ āļēāļāļēāļāđāļāļ âDataflowâ āļāļāļĄ
āļāļāļāļāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļāļ āđāļĨāļ° Debug āđāļāļĢāđāļāļĢāļĄāđāļāļāļēāļĒ āļāļāļāđāļāļĢāđāļāļĢāļĄāļāļ°āļ āļēāļāļēāļāđāļāļāļāļēāļĒ-āđāļāļāļ§āļē āđāļāļĒāļĄ
Error In-Out āđāļāļāļāļ§āļ āļēāļŦāļāļāļĨ āļēāļāļāļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļ āļāļēāļāļĢāļ āļāļ°āđāļŦāļāļ§āļēāļĄāļāļēāļĢāđāļ âError Inâ āđāļĨāļ° âError
Outâ āđāļāļāļāđ āļāļāļāļāļ
āļĢāļāđāļāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ Dataflow Programming
āļŠ āļēāļŦāļĢāļāļāļāļāļāļāļāđāļĄāļĄ Error In-Out āđāļŦāđāļāļāļĄāļāļ āļāļāļāļāļŠāļĢāļēāļāļāļāļĄāļēāđāļāļ āļāļēāļ āđāļāļāļĢāļāļāđāļĢāļēāļāļāļāļāļēāļĢ
āļ āļēāļŦāļāļ Error In-OutāđāļŦ âWait 100 msâ āļāļāļāļāđāļĢāļēāļāļāļāļŠāļĢāļēāļ âFlat Sequence Structureâ āđāļāļāđāļŦāļĄ Node
āđāļāļāļĄāļāļ Error In-Out āļāļāļĢāļ
āļāļēāļĢāļŠāļĢāļēāļ Error In-Out āđāļŦāļāļ âWait 100 ms
3.Error Cluster āđāļāđāļāļāļ āļēāļŦāļāļāļĨ āļēāļāļāļāļēāļĢāļ āļēāļāļēāļ (Dataflow) āđāļāļēāļāļ (*āđāļĄāļĄāļāļēāļĢāļŠāļāļāļēāļāļēāļĢāļēāļĄāđāļāļāļĢāđāļāđāļāļēāļ
Error Cluster)
āļāļāļāļāļāļāļāļēāļĢāđāļāļāļĄāļāļ Error In-Out āļāļāļāļāļēāļĢāļ āļē âError Handlingâ āļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļē āļāļē Sub-VI āđāļāđ
āđāļāļ Error āļāļ āļāļē âStatusâ āļāļāļ âError Outâ āļāļāļ°āļŠāļāļāļēāđāļāļ âTrueâ āđāļāļāļāļāļ Process āļāļāđāļāļ§āļē āļāļāļāļŦāļāļēāļ
āļĄ Error āđāļāļāļāļ āļ āļēāđāļŦ Process āļāļāđāļāđāļĄāļāļāļāđāļŠāļĒāđāļ§āļĨāļēāđāļāļāļēāļĢāļĢāļāđāļāļ (*āļāļāļāļ°āđāļŠāļĒāđāļ§āļĨāļēāđāļāļĒāđāļāđāļŦāļ) āđāļāļĢāļēāļ°āļāļē
āļāļāđāļ āļāļāļŦāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄ Error āļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļŦāļĄāļāļāļāļ§āļĢāļāļ°āļŦāļĒāļāļāļēāļĢāļ āļēāļāļēāļ āđāļāļāđāļāļāđāļŦāļāļ User
āļāļĢāļēāļāđāļāļĒāđāļĢāļ§āļāļŠāļ
āļāļ§āļāļĒāļēāļāļāļē āļāļēāļĢāļēāļĄāđāļāļāļĢāđāļ Error Cluster
āļāļāļāļāļēāđāļĢāļēāđāļāļĒāļāđāļāļ LabVIEW āļāļ PC āđāļĢāļēāļĄāļāļāļ°āļ āļēāļāļēāļĢ âError Handingâ āđāļāļĒāļŠāļĢāļēāļ âCase
Structureâ āļĢāļ§āļĄāļāļ âError In-Outâ āļāļāļĢāļ (*Case Structure āļāļĢāļāļāļŠāđāļāļĒāļ§ āđāļĨāļ°āļŠāđāļāļ) āđāļāđāļāļāļĨāļāļĐāļāļ°āļāļāļ°
āđāļĄāļŠāļēāļĄāļēāļĢāļāļĢāļāđāļāđāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļāļĒāđāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļĢ Compile āļāļāļ°āļĄ Error āđāļāļāļāļ
āļāļĨāļēāļ§āđāļāļĒāļŠāļĢāļāļāļāļ Error Cluster (In-Out) āđāļāđāļāļāļ āļēāļŦāļāļ Flow āļāļēāļĢāļ āļēāļāļēāļāļāļāļāđāļāļĢāđāļāļĢāļĄāđāļāļēāļāļ āđāļĄ
āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļāđāļāļāđāļāļ âError Handlingâ āđāļāđāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āđāļ
āđāļāļĄāđāļāļĄ âError Clusterâ āđāļāļ Cluster āļāļāļāđāļāļĒāļ§āļāļāļēāļāđāļāļĢāđāļāļĢāļĄāļĒāļāļĄāđāļŦāļŠāļĢāļēāļāđāļ āļāļāļāđāļŦāļāļāļāļēāļāļ
āđāļāļ User Define Cluster āļāļŠāļĢāļēāļāļāļāļĄāļēāđāļāļ āļāļ°āļ āļēāđāļŦ Compile āđāļāļĢāđāļāļĢāļĄāđāļĄāļāļēāļ
āļāļēāļĢāđāļāļĒāļ âError HandlingâāđāļāļĒāļŠāļĢāļēāļ Case āļāļāļāļ§āļē âErrorâ āđāļĨāļ° âNo Errorâ
āļāļēāļĢāđāļāļĒāļāđāļāļāļāļāļ°āļ āļēāđāļŦ Compile āđāļĄāļāļēāļ
4.āđāļĄāļāļāļāļāļĢāļ Control Typedefs (.ctrl) āļāļŠāļĢāļēāļāļāļāļĄāļēāđāļāļāļāļāļāļāļ (*āļĒāļāđāļ§āļāđāļ Typedefs āļāđāļāļ Input āļāļē
āđāļĢāļĄāļāļāļāļāļāļāļāļāļāļāļāđāļŦāļĄāļēāđāļ Arduino API)
āļāļ§āļāļĒāļēāļāļāļēāļĢāļŠāļĢāļēāļ Typedefs āļāļāđāļĄāļāļāļāļēāļāđāļŦāđāļāđāļ Arduino Compatible Compiler for LabVIEW
(*āļāļēāļ āļēāļĄāļēāđāļāļāļēāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļ°āļ āļēāđāļŦ Compile āđāļĄāļāļēāļ)
āļāļēāļĢāļŠāļĢāļēāļ Control Typedefs āļāđāļāļāļāļēāđāļĢāļĄāļāļāļāļāļ Arduino API āļāļāđāļāļāļēāļāđāļ
āđāļāļĢāļēāļ°āđāļāļāļāļāļĒāļāđāļ§āļāļāļāļ Compiler
5.āđāļĄāļĢāļāļāļĢāļāļāļēāļĢāļ āļēāļāļēāļāđāļāļ Parallel Loops āđāļĨāļ° Multi Threading
āļāļāđāļāļāļāļāļ LabVIEW āļāļĄāđāļŦāļāļāļāļ§āļēāļ āļēāļĐāļēāļāļāđāļāļāļŦāļāļāļāļĒāļēāļ āļāļāļāļāļēāļĢāļ āļēāļāļēāļāđāļāļ Parallel Loops
āļāļāļāļāļāļ§āļē CPU āļāđāļāļāđāļāļ Multi-Core āđāļāļĢāđāļāļĢāļĄ LabVIEW āļāļĒāļāļŠāļēāļĄāļēāļĢāļāļ āļēāļŦāļāļāđāļāļ§āļē Loop āđāļāļ āļēāļāļēāļāļāļ
Processor Core āđāļāđāđāļāļāļāļāļ§āļĒ
āđāļāļāļēāļĢāļāļāļāļēāđāļāļāļāļĨāđāļāļāļāđāļāļ Embedded Systems āđāļāļĒāđāļāļāļēāļ°āļāļāļŪāļēāļĢāļāđāļ§āļĢ Arduino āļāļāđāļāļ
Microcontroller āļāļāļēāļāđāļĨāļ āđāļĨāļ°āđāļĄāļĄāļĢāļ°āļāļāļāļāļāļāļāļēāļĢāļĢāļāļāļĒāļāļāļŪāļēāļĢāļāđāļ§āļĢ āļāļāļ āļēāđāļŦāļ āļēāļāļēāļāđāļāļ Parallel
Loops āđāļāļāđāļāđāļāļāļāļ°āđāļĄāđāļāđāļĨāļĒ (*āđāļĄāđāļāļāļ°āļāļĢāļ āđāļāļāļāļēāļāļāļāļ§ Compiler āļāļēāļāļāļ°āļāļĨāļēāļāļāļ āđāļĨāļ° Optimize
Low level āđāļāļāđāļŦāđāļĢāļēāđāļāļāļēāļāđāļ)
āđāļĢāļēāļĨāļāļāļĄāļēāļāļāļ§āļāļĒāļēāļāļāļĢāļ°āļāļāļāļāļ§āļēāļĄāđāļāļēāđāļāļāļāļāļĢāļ āļāļēāđāļĢāļēāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļāļĄ While Loop āļ āļēāļāļ§āļ 2
Loop āļāļāļĢāļāļ āļāļāđāļŦāļāđāļāļ§āļēāļāļēāļĢāļ āļēāļāļēāļāļāļāļāļāļāļŠāļāļ Loop āļāļ°āļ āļēāļŦāļāļēāļāđāļāļĄ/āļĨāļ āļ āļēāļāļ§āļāļāļ (+1 āđāļĨāļ° -1)āđāļ
āđāļĢāļāļĒāđ āđāļĨāļ° Loop āļāļ°āļĢāļāđāļāļāļāļāđāļāļāļāđāļĄāļŠāļāļŠāļ (Infinite Loop)
āļāļ§āļāļĒāļēāļāđāļāļĢāđāļāļĢāļĄāđāļāļ Parallel Loops āļāļāđāļĄāļĢāļāļāļĢāļāļāļāļĄāđāļāđāļĨāļāļĢāđāļ§āļāļĢāļāļāļāļāļāļāļ
āđāļāļāļāļāļēāļāļ§āļē âArduino Compatible Compiler for LabVIEWâ āđāļĄāļāļāļāļāļĢāļ Multi Threading āđāļ
āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļāļ°āļŠāļēāļĄāļēāļĢāļ Compile āļāļēāļ āđāļāđāļĄāļ Download āđāļĨāļ°āļĢāļāļāļāļŪāļēāļĢāļāđāļ§āļĢ āđāļāļĢāđāļāļĢāļĄāļāļ°
āļ āļēāļāļēāļāđāļāļāļāļēāļāđāļāļēāđāļĄāđāļāļāļĢāļ āđāļāļĢāļēāļ°āđāļĄāļĢāļ§āļē Loop āđāļŦāļāļāļ°āļ āļēāļāļēāļāļāļāļāļŦāļĨāļ āļāļēāļ Concept āļāļēāļĢāļ āļēāļāļēāļāđāļāļ
Dataflow āļāļāļāļ Loop āđāļĢāļāļāļ āļēāļāļēāļ āļāļ°āļāļāļāļĢāļāļāļāđāļŠāļĢāļāļŠāļāļāļāļ āđāļĨāļ§ Loop āļāļŠāļāļāļāļāļāļ°āđāļĢāļĄāļāļāļ āļēāļāļēāļ āđāļ
āļāļēāļāđāļāļĢāđāļāļĢāļĄāļāđāļĢāļēāļāļĢāļēāļāļāļĒāđāļĨāļ§āļ§āļē āđāļāļĨāļ° Loop āļāļ°āļ āļēāļāļēāļāđāļāļāđāļĄāļĄāļŠāļāļŠāļ āļāļāļāļ Loop āļāļŠāļāļāļāļ°āđāļĄāļĄāđāļāļāļēāļŠ
āđāļāļ āļēāļāļēāļāđāļĨāļĒāļāļĢāļ
āļŠāļĢāļāļāļāļ āļāļ§āļĢāļŦāļĨāļāđāļĨāļĒāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ Parallel Loops āđāļāļĢāļēāļ°āļāļ§ Compiler āļĒāļāđāļĄāļĢāļāļāļĢāļ
āļāļēāļĢāļ āļēāļāļēāļāđāļāļ Multi Threading āļāļ Arduino (*āļāļĄāđāļāļāļ§āļēāđāļāđāļ§āļāļĢāļāļāļāļāđāđāļāļāļ°āđāļāļĢāļāļāļēāļĢāļāļāļāļēāļāļ
āļŠāļēāļĄāļēāļĢāļāđāļāļĒāļāđāļāđāļāļĢāļĄāđāļāļ Multiple Loop āđāļ)
6. āļŦāļēāļĄāđāļ āļŠāļāļĨāļāļĐāļ "/" āđāļĨāļ° "\" āđāļāļāļāļāļāļ Controls āđāļĨāļ° Indicators
āđāļāļĢāļēāļ°āđāļāļāđāļāļĢāļāļāļŦāļĄāļēāļĒāļāđāļāļāļēāļāđāļāļāļēāļ°āļāļāļ âArduino Compatible Compiler for LabVIEWâ āđāļ
āļĢāļ°āļŦāļ§āļēāļāļāļēāļĢ Compile āđāļāļĢāđāļāļĢāļĄ āļāļēāđāļāļāļēāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļŠāļĢāļēāļāļāļāļāļ°āļ āļēāđāļŦāļāļāļĄāđāļāļĨāđāļĄāļāļēāļ
7. āļŦāļēāļĄāđāļ Case Structure Default Values
āļāļēāđāļāļĢāļāđāļāļĒāđāļ LabVIEW āđāļ§āļāļĢāļāļāđāļŦāļĄāđ āļāļ°āļāļĢāļēāļāļāļ§āļēāļāļēāđāļĢāļēāļĄ âCasesâ āļŦāļĨāļēāļĒāđāđāļāļŠ āđāļĢāļēāđāļĄāļāļāļāđāļāļē
āđāļāđāļāļāļāđāļāļŠ āđāļāļ Wiring āļāļāđāļāļāļĄāļāļ Output āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļĨāļāļāļ§āļē āļ Node āđāļāļāļĄāļāļ āđāļĨāļ§āđāļĨāļāļ âUse
Default if Unwiredâ āđāļŠāļāļāļāļāļĢāļāļ āļāļāļāļēāļĢāļ āļēāļĨāļāļĐāļāļ°āļāļāļ°āđāļāļāļāļāļŦāļēāļĄāļāļāļ âArduino Compiler for
LabVIEWâ āļāļāļāļ°āļ āļēāđāļŦ Compile āđāļĄāļāļēāļāļāļ°āļāļĢāļ
āļāļēāļĢāļ āļēāļŦāļāļ âUse Default if Unwiredâ āđāļŦāļāļ Case āļāļāļāļāļĄāđāļāđāļĨāļāļĢāđāļĄāļĢāļāļāļĢāļ
āļ§āļāļāļāļāļāļāļāļāļāļ āđāļĢāļēāļāļāļāļ āļēāļŦāļāļāļāļēāđāļĢāļĄāļāļ āļāļēāļāļāļ°āđāļāļ Constant āđāļāļ âInitial value = 0â āđāļŦāļāļ
Node Output āļāļāļāđāļāļŠ āđāļŠāļāļāļāļāļĢāļāļāļāđāļ
āļ§āļāļāļēāļĢāļāļāļāļāļāļ āđāļāļ āļēāļŦāļāļāļāļē âInitial valueâ āđāļŦāļāļ Case Output Node
8. āđāļĄāļāļāļāļāļĢāļ āļāļēāļĢāļ āļēāļŦāļāļ Password āđāļ SubVIs
āļāļēāđāļāļĢāļāļāļāļ°āļāļ Password āđāļ SubVIs āļŦāļĢāļāđāļĄāđāļ Main āļāļ°āļ āļēāđāļŦ Compile āđāļĄāļāļēāļāļāļĢāļ
9. āļŦāļēāļĄāđāļāļāļĄāļāļ Array Type āļāđāļĄāļāļĢāļāļāļ (*āļāļāļāļ°āļ āļēāđāļŦāđāļāļĨāļāļ RAM āļĄāļēāļāđāļĢāļĢāļ°āļŦāļ§āļēāļāļĢāļāđāļāļĢāđāļāļĢāļĄ)
āļāļēāđāļāļĢāđāļāļĒāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ LabVIEW āļĄāļēāļāļāļ āļāļēāļāļāļĢāļāļāļēāļāļ°āđāļāļĒāđāļŦāļāļāļāđāļāļāđ (Coersion Dot) āļāļĢāļ Node Input āļŦāļĢāļ Output āļāļāļĄāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļ§āļē āļāļēāļĢāđāļāļāļĄāļāļāļĢāļ°āļŦāļ§āļēāļ Data Type āļāļāļŠāļāļāļāļ§āđāļāļāļāļāļĨāļ°āļāļāļāļāļāļāļĢāļ āđāļāļ āļāļēāđāļĢāļēāđāļāļāļĄāļāļāļāļ§āđāļāļĢāļ āļēāļāļ§āļāđāļāļĄ âInteger I32 -> āļāļ§āđāļāļĢāļ āļēāļāļ§āļāđāļāļĄ DBLâ āļāļāļ°āļĄāļāļāļŠāđāļāļāđ āđāļāļāļāļ
āļāļāļāļāļ LabVIEW āļĒāļāļĒāļāļĄāđāļŦāđāļĢāļēāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļāļĢāļ āđāļāļĢāļēāļ° LabVIEW āļāļ°āđāļāļĨāļ Datatype āđāļŦāļāļĢāļāļāļāđāļ Background āļāļĢāļ
āļŠ āļēāļŦāļĢāļ âArduino Compiler for LabVIEWâ āļāļ°āđāļĄāļĒāļāļĒāļāļĄāđāļŦāđāļĢāļēāļ āļēāđāļāļāļāļāļ āļāļ§āđāļāļĢāļāđāļāļ Array āļāļĢāļ āļāļāļāļ°āļ āļēāđāļŦ Compile Error āđāļāļŠ āļēāļŦāļĢāļāļāļ§āđāļāļĢāļāđāļāļ Scalar āļŦāļĢāļ āļāļ§āđāļĨāļ (Integer), āļāļ§āļāļāļĐāļĢ (String) āļŦāļĢāļ Boolean āļāđāļĄāđāļ Array āļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļāđāļāļāļĢāļ āđāļāļĢāļēāļ° Compiler āļāļ°āđāļāļĨāļ Datatype āđāļŦāļāļĢāļāļāļāļāļāļāļāđāļĢāļē Compile āđāļāļāļāļĢāļ
āđāļŠāļāļ āļāļāđāļāļāđ (Coersion Dot) āđāļāļāļāļāļēāļāđāļāļāļĄāļāļ Array Datatype āļāļāļĨāļ°āļāļāļāļāļ
āļāļēāđāļāļāļāļ§āđāļāļĢ Array āļāļāļāđāļāđāļ Datatype āđāļŦāļāļĢāļāļāļāđāļāļēāļāļ āđāļŠāļāļāļāļāļĢāļāđāļĄāđāļāļāļāļāļāļ° Compile āđāļĄāļāļēāļ
10. āļŦāļĨāļāđāļĨāļĒāļāļāļēāļĢāđāļ Array āđāļĨāļ° String Data type āļĄāļēāļāđāļāļāļāļ§āļēāļĄāļ āļēāđāļāļ
āđāļāļĢāļēāļ° Data Type āļŠāļāļāļāļāļāļ āļāļ°āļāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļĒāļāļ°āļĄāļēāļāļāļĢāļ āļāļāļāļ°āđāļāļāļēāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļ āļēāđāļ RAM āļāļĄāļ āļēāļāļāļāļĒāđāļĨāļ§ (*āđāļāļĒāđāļāļāļēāļ°āļāļāļĢāļ Arduino Uno āļāļĄ RAM āđāļāļĒāļ 2 kBytes) āļāļēāļāļāļ°āļ āļēāđāļŦāđāļāļĢāđāļāļĢāļĄ Crash āļĢāļ°āļŦāļ§āļēāļ Run-Time āđāļāļāļĢāļ
āļŠāļāļāļēāļĒāļāļŦāļ§āļāļ§āļēāļāļāļāļ§āļēāļĄāļāļāļ°āđāļāļāļāļĢāļ°āđāļĒāļāļāļāļāļāļāļēāļāđāļāļāļēāļ
āđāļĨāļ§āļāļāļāļāđāļ FB: âLabVIEW Embedded for Arduinoâ