LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Help: kontrol LED dengan mikrokontroller Atmega 8535 dan Labview via serial rs232

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.

0 Kudos
Message 11 of 17
(1,468 Views)

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.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 12 of 17
(1,468 Views)

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.

LED Labview.PNG

0 Kudos
Message 13 of 17
(1,468 Views)

makasih master2 semua atas jawabannya,,,segera saya coba hehe

0 Kudos
Message 14 of 17
(1,468 Views)

Mas susilo, kalau coding di codevision AVR nya gimana mas ???

Message 15 of 17
(1,468 Views)

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.

http://www.hpinfotech.com

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

       {

       }

      };

}

0 Kudos
Message 16 of 17
(1,468 Views)

mas, di avr yang di setting apa aja ?

0 Kudos
Message 17 of 17
(1,354 Views)