08-25-2014 09:06 PM
sebelumnya tolong di koreksi ya kalau tanggapan saya salah atau kurang tepat.. Untuk menyalakan dan mematikan LED dengan tombol berbasis mikrokontroller Atmega 8535 bisa menggunakan software Bascom AVR.
Tapi kalau alasannya ingin belajar melalui LABview, saya nyerah. Karena saya juga belum memahami Labview dan saya juga belum memiliki softwarenya.
08-26-2014 10:30 AM
software LabVIEW untuk skripsi S1 disediakan secara gratis, dapat digunakan sampai dengan 6-bulan Ferry_andika. Alasan kenapa menggunakan LabVIEW dengan mikro adalah sebagai GUI. Pakai LabVIEW Interface For Arduino, atau LIFA (sekarang sudah berganti nama lagi), karena sudah ada "framework"nya, tanpa harus menguasai kedua bahasa, LabVIEW atau C.
08-26-2014 11:06 AM
Wa'alaikumsalam wr.wb.
Saya Peserta Pasif, mau coba membantu walau sudah lama pertanyaanya.
Saya coba jawab sesuai dengan kemampuan saya, walau mungkin ada jawaban yang lebih baik lagi dari saya.
LABVIEW
Untuk membaca per bit suatu port pakai Boolean Function (mis: Toggle switch), dari masing-masing
bit dijumlahkan total untuk 1 port. Nilai dari total port kemudian di konversi ke desimal string. Dari desimal
string ini sebenarnya bisa dikirim, tetapi pengalaman data nya acak-acakan, tidak sesuai.
Untuk memastikan datanya tidak acak-acakan saya pakai Concatenate Strings untuk menyisipkan
awal data (start delimiter) dengan angka yang mudah dipahami mis: LF( Line Feed).
Kemudian data dikirim oleh VISA Serial lewat Write.
Microcontroller
Untuk microcontroller pada prinsipnya adalah bagaimana data 8bit dari port bisa diterima sesuai dengan yang
diharapkan. Data yang diterima oleh microcontroller berbentuk ASCII, karena di LABVIEW sudah di buat dlm
bentuk String. Untuk program, tidak harus pakai BASCOM, Saya pakai CVAVR ( Bahasa C).
Program micro yang saya buat, menggunakan if else. saya memanfaatkan LF ( Line Feed ) dari Labview
untuk membaca awal data, Setelah LF pasti Data. Karena Data ini terdiri dari 3 digit (max 255).
Saya menggunakan array di micro, Data di array ini kemudian di konvert ke angka (integer) menggunakan
fungsi c yang bernama atoi ( Ascii to integer ). Data integer ini kemudian di kirim ke Port yang mau diaktifkan
di micro.
Semoga bermanfaat.
08-28-2014 05:58 AM
makasih master2 semua atas jawabannya,,,segera saya coba hehe
08-28-2014 08:43 AM
Mas susilo, kalau coding di codevision AVR nya gimana mas ???
08-29-2014 12:53 PM
Ini file CVAVR nya. Saya Pakai ATmega1280. Kalau pakai tipe lain bisa juga. Karena saya pakai PORT B.
Semoga bermanfaat.
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
Project :
Version :
Date : 8/5/2014
Author : Susilo Tedjo Utomo
Company : PT GLOBAL KARYA MITRA UTAMA
Comments:
Chip type : ATmega1280
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 2048
*****************************************************/
#include <mega1280.h>
// Standard Input/Output functions
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
int i,a;
char string[3];
int sum;
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x18;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
while (1)
{
// Place your code here
a=getchar();
if(a==0x0A)
{
for(i=0;i<5;i++)
{
string=getchar();
}
sum = atoi( string );
PORTB=sum; // Lampu Port Yang akan dinyalakan //
}
else
{
}
};
}
05-17-2017 09:44 AM
mas, di avr yang di setting apa aja ?