Monthly Archives: June 2015


Using Arduino Libraries in Atmel Studio

Pada artikel ini, akan ditunjukkan bagaimana cara menggunakan Arduino libraries untuk pemograman dengan Atmel Studio. Pemrograman yang dimaksud disini bukan pemrograman dengan ino file, melainkan dengan cpp.

Tahap awal yang harus dilakukan adalah install Atmel Studio dan Arduino IDE. Arduino IDE diperlukan untuk diambil librarynya saja. Pada artikel ini, yang digunakan adalah Arduino 1.6.4 dan Atmel Studio 6.2.

Buat project baru

Buka Atmel Studio, kemudian buat project baru.
File > New > Project.

Buat structure file

Buka Solution Explorer, kemudian lakukan langkah-langkah berikut:

Hapus Arduino.cpp

Buat folder dengan struktur sebagai berikut:

src
- arduino
- - avr
- - -  cores
- - - - arduino
- - - libraries
- - - variants
- - - - standard
- ProjectFiles

Buka folder instalasi Arduino 1.6, kemudian copy semua file yang ada di folder berikut:

“arduino-1.6.0\hardware\arduino\avr\cores\arduino” ke “src\arduino\avr\cores\arduino”
“arduino-1.6.0\hardware\arduino\avr\libraries” ke “src\arduino\avr\libraries” (opsional).
“arduino-1.6.0\hardware\arduino\avr\variants\standard” ke “src\arduino\avr\variants\standard”.

Tambahkan file-file yang sudah dicopy, ke dalam project, sehingga menjadi seperti pada gambar berikut ini:

Buat project file

Buat file “ProjectMain.cpp” dan “ProjectMain.h” di “ProjectFiles”. Berikut adalah contoh program sederhana yang dibuat.

ProjectMain.h

/*
 * ProjectMain.h
 *
 * Created: 16/06/2015 20:58:47
 *  Author: Akhal
 */ 


#ifndef PROJECTMAIN_H_
#define PROJECTMAIN_H_

#include 




#endif /* PROJECTMAIN_H_ */

ProjectMain.cpp

/*
 * ProjectMain.cpp
 *
 * Created: 16/06/2015 20:59:16
 *  Author: Akhal
 */ 

#include "ProjectMain.h"

void setup()
{
	pinMode(13, OUTPUT);
	
}

void loop()
{
	
	  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
	  delay(5000);              // wait for a second
	  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
	  delay(5000);              // wait for a second
}

Seting properties

Buka project properties dengan cara: Project > Arduino Properties (Alt+F7).

Lihat pada bagian AVR/GNU C Compiler > Symbols, kemudian tambahkan F_CPU=16000000UL.

Lihat pada bagian AVR/GNU C Compiler -> Directories, kemudian tambahkan path file yang telah dicopy sebelumnya.

../src
../src/arduino
../src/arduino/avr
../src/arduino/avr/cores
../src/arduino/avr/cores/arduino
../src/arduino/avr/libraries
../src/arduino/avr/variants
../src/arduino/avr/variants/standard
../src/ProjectFiles

Lihat pada bagian AVR/GNU C++ Compiler -> Symbols, kemudian tambahkan F_CPU=16000000UL.

Lihat pada bagian AVR/GNU C++ Compiler -> Directories, kemudian tambahkan path file yang telah dicopy sebelumnya.

../src
../src/arduino
../src/arduino/avr
../src/arduino/avr/cores
../src/arduino/avr/cores/arduino
../src/arduino/avr/libraries
../src/arduino/avr/variants
../src/arduino/avr/variants/standard
../src/ProjectFiles

Build program

Build -> Build Solution (F7), dan lihat outputnya.

........
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Program Memory Usage 	:	3010 bytes   9,2 % Full
Data Memory Usage 		:	217 bytes   10,6 % Full
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "Arduino.cppproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.2\Vs\Avr.common.targets" from project "Q:\KYU\Atmel\Arduino\Arduino\Arduino.cppproj" (entry point):
Done building target "Build" in project "Arduino.cppproj".
Done building project "Arduino.cppproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========