Site icon Elektrologi

Perbandingan Kecepatan I/O Digital pada Arduino

Dalam percobaan ini dibandingkan kecepatan I/O digital untuk beberapa board Arduino dan Arduino compatible sebagai berikut:

Berbagai board Arduino yang diuji

Pengujian adalah dengan mengukur frekuensi output dari program Blink dari Arduino dengan delay dan tanpa delay.

Berikut ini program Blink asli dengan delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);              // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(1000);              // wait for a second
}

Berikut ini program Blink asli tanpa delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
}

Compiler yang digunakan adalah Intel-Arduino versi 1.6.0 untuk Intel Galileo dan Arduino ver 1.5.8 untuk board lainnya. Source code yang digunakan sama persis untuk semuanya. Pemrograman dilakukan di komputer berbasis Windows.

Pengukuran dilakukan dengan mengukur frekuensi sinyal di pin 13. Alat ukur frekuensi yang dipakai adalah multimeter Kyoritsu model 1009.

Pengukuran frekuensi I/O pada Nuvoton NuEdu-UNO

Berikut ini rangkuman hasil pengukurannya:

Board Arduino Prosesor Clock CPU
Dengan delay Tanpa delay
Arduino UNO ATmega328 16 MHz 499.1 Hz 93.9 kHz
Arduino Due Atmel SAM3X8E ARM Cortex-M3 (AT91SAM3X8E) 84 MHz 499.9 Hz 145.4 kHz
Arduino Nano clone ATmega328 16 MHz 499.9 Hz 94.1 kHz
Nuvoton NuEdu-UNO ARM Cortex-M0 NUC131SD2AE 50 MHz max 500.0 Hz 384.2 kHz
Intel Galileo Intel® Quark SoC X1000 400 MHz max 498.6 Hz 220.1 Hz

Analisis

Exit mobile version