s MIKROKONTROLLER AVR

Rangkaian Mikrokontroller

Rangkaian ini adalah rangkaian mikrokontroller, rangkaian yang bisa diprogram denga codevisionAVR. Download rangkaian di Tab Downloads :)

Rangkain Transistor Photo

Rangkaian ini biasa di gunakan untuk sensor halangan, setiap ada yang menghalangi infrared ke photo transistor, maka data yang akan dikeluarakan berubah.

PCB Mikrokontroler

Model PCB ini dicetak untuk dibuat modul mikrokontroller.

USB AVR910

USB ini support denga codevisionAVR, sangat baik untuk pelajar yang ingin mempelajari Mikrokontroller AVR.

7 Segment by POV Ray

PCB yang kita desain dengan Eagle, maka PCB ini bisa kita tampilkan dengan 3D dengan software eagle3D dan POV Ray .

Selasa, 09 April 2013

pengontrollan kecepatan tetes infus dengan ATMEGA8535 Bag II

Assalamu'alaikum...
Hi teman2, hari ini saya akan memaparkan bagaimana kelanjutan cara membuat alat pengontrollan kecepatan tetes infus,.
Alat ini sudah saya buat pada tahun 2010. yah sudah lama sih...
Alat ini akan bekerja seperti berikut...
Ketika kita tekan angka 3 pada keypad, maka kecepatan tetes infus akan menjadi 3 tetes/detik. system yang di buat ini akan terus mempertahankan agar kecepatan tetes infus sesuai dengan angka yang kita tekan di keypad. Sebagai pengongtrol kecepatan tetes infusnya, saya gunakan motor stepper untuk menutup dan membuka selang infus, cara kerjanya adalah membengkokkan selang infus.
Ketika air infus habis, maka buzzer akan berbunyi...
heheh sederhana kan.... ops... hampir lupa,.. Untuk membaca tetes infus, saya gunakan transistor photo dan infrared super...
Yuk kita lihat rangkainnya di bawah ini:


Programnya adalah sebagai berikut:
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
#define ir PIND.7

unsigned char keypad();
void baca_keypad(void);
unsigned char data;
void baca_tetes(void);
void kiri (void);
void kanan (void);
void buzer (void);

int data1,ulang;
long int hitung;

void main(void)    
{
// Declare your local variables here

PORTA=0xff;
DDRA=0x0F;
PORTB = 0X03;
DDRB = 0X8F; 
PORTD.7 = 1;
DDRD.7 = 0;

// LCD module initialization
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("test keypad");
ulang =0;
while (1)
      {
      // Place your code here
      baca_keypad(); 
      if ( data1 == 1 ) kiri();
      if ( data1 == 2 ) kanan();
      if (data1 == 3 ) baca_tetes();          
      };
}
flash unsigned char keypad()
{
    PORTA = 0b11111110;               //aktifkan baris1 (memberi logika 0 ke baris1)
    delay_ms(10);
    if(PINA.7==0) return (10);
    if(PINA.6==0) return (11);
    if(PINA.5==0) return (12);
    if(PINA.4==0) return (13);
    //========================
    PORTA = 0b11111101;               //aktifkan baris2
    delay_ms(10);    
    if(PINA.7==0) return (3);
    if(PINA.6==0) return (6);
    if(PINA.5==0) return (9);
    if(PINA.4==0) return (15);
    //========================
    PORTA = 0b11111011;               //aktifkan baris3
    delay_ms(10);    
    if(PINA.7==0) return (2);
    if(PINA.6==0) return (5);
    if(PINA.5==0) return (8);
    if(PINA.4==0) return (0);
    //========================
    PORTA = 0b11110111;               //aktifkan baris4
    delay_ms(10);    
    if(PINA.7==0) return (1);
    if(PINA.6==0) return (4);
    if(PINA.5==0) return (7);
    if(PINA.4==0) return (14);
}

void baca_keypad(void)
{
    unsigned char buf[16];   
      data = keypad();
      if ( data != 0)
      {
      buzer();
      data1 = data; 
      sprintf(buf,"%-i",data1);
      lcd_gotoxy(14,1);
      lcd_puts(buf);
      }       
}
      
void kiri (void)
{
    PORTB = 0X01; delay_ms(5);
    PORTB = 0X03; delay_ms(5);
    PORTB = 0X02; delay_ms(5);
    PORTB = 0X06; delay_ms(5);
    PORTB = 0X04; delay_ms(5);
    PORTB = 0X0C; delay_ms(5);
    PORTB = 0X08; delay_ms(5);
    PORTB = 0X09; delay_ms(5);
    PORTB = 0X01; delay_ms(5);
}

void kanan (void)
{
   PORTB = 0X01; delay_ms(5);
   PORTB = 0X09; delay_ms(5);
   PORTB = 0X08; delay_ms(5);
   PORTB = 0X0C; delay_ms(5);
   PORTB = 0X04; delay_ms(5);
   PORTB = 0X06; delay_ms(5);
   PORTB = 0X02; delay_ms(5);
   PORTB = 0X03; delay_ms(5);
   PORTB = 0X01; delay_ms(5);
}

void buzer (void)
{
 PORTB.7 = 1;
 delay_ms(100);
 PORTB.7 = 0;
 }

void baca_tetes(void)
{
int i;
unsigned char buf[16];

 for ( i = 0; i <= 200; i++)
      {
      
            if (ir == 1 && ulang ==0)
            {
             ulang = 1;
             hitung ++;
            }
            if ( ir == 0)ulang = 0;
            delay_ms(5);      
       } 
       sprintf(buf,"data: %-i Tts/S",hitung);
       lcd_gotoxy(0,1);
       lcd_puts(buf);
       hitung = 0;  


Silahkan kembangkan ya system ini;
Semoga Bermanfaat.....

                




Minggu, 07 April 2013

SIMULASI STEPPER DENGAN PROTEUS

Assalamu'alaikum....
Hiii Guys, untuk yang sudah mahir mensimulasikan pretus, harap maklum ya,... hehe Kali ini kita akan coba membahas sedikit tentang penggunaan simulasi stepper dengan SOFTWARE UNIK yaitu proteus, Motor Stepper memiliki 2 type, yaitu motor stepper bipolar dan unipolar, untuk penjelasanya bisa anda lihat-lihat di mbah google, apa itu perbedaan stepper bipolan dengan unipolar. Untuk pengendalian stepper Bipolar dapat Kita lihat gambar di bawah ini:
  Sedangkan programnya stepper bipolarnya adalah: 

#include <mega16.h>


#include <delay.h>
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
void main(void)
{
PORTD = 0X00;
DDRD = 0XFF;
PORTB = 0XFF;

DDRB = 0X00;


// LCD module initialization

lcd_init(16);
lcd_gotoxy(1,0);
lcd_putsf("stepper bipolar  ");
while (1)
      {
      // Place your code here
      if (PINB.7 == 0)
      { 
      lcd_gotoxy(1,1);
      lcd_putsf("Putar Kiri.");
      
      PORTD = 0X01;
      delay_ms(10);
      PORTD = 0X02;
      delay_ms(10);
      PORTD = 0X04;
      delay_ms(10);
      PORTD = 0X08;
      delay_ms(10);
      }   
        
      if (PINB.6 == 0)
      {
       lcd_gotoxy(1,1);
      lcd_putsf("Putar Kanan.");
       PORTD = 0X08;
       delay_ms(10);
       PORTD = 0X04;
       delay_ms(10);
       PORTD = 0X02;
       delay_ms(10);
       PORTD = 0X01;
       delay_ms(10);   
            
      }
    
      };
}

Untuk Stepper UNIPOLAR dilihat di bawah

programnya mirip dengan program yang di atas


#include <mega16.h>
#include <delay.h>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
void main(void)
{
PORTD = 0X00;
DDRD = 0XFF;

PORTB = 0XFF;
DDRB = 0X00;

// LCD module initialization
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("stepper unipolar");

while (1)
      {
      // Place your code here
      if (PINB.7 == 0)
      { 
      lcd_gotoxy(0,1);
      lcd_putsf("Putar Kanan");      
      PORTD = 0X01;
      delay_ms(10);
      PORTD = 0X02;
      delay_ms(10);
      PORTD = 0X04;
      delay_ms(10);
      PORTD = 0X08;
      delay_ms(10);
      }         
      if (PINB.6 == 0)
      {
       lcd_gotoxy(0,1);
      lcd_putsf("Putar Kiri.");
       PORTD = 0X08;
       delay_ms(10);
       PORTD = 0X04;
       delay_ms(10);
       PORTD = 0X02;
       delay_ms(10);
       PORTD = 0X01;
       delay_ms(10);         
      
      }
    };
}

dan file programnya :

Terimakasih ya,... :) semoga bermanfaat







Selasa, 26 Juni 2012

TRAFIC LIGHT


Assalamu'alaikum....
dah lama juga gak update blog ini...
oke, kali ini kita akan coba merancang pembuatan lampu lalulintas. sederhana sih pembuatannya, tapi saya yakin tulisan ini akan dapat dikembangkan untuk penyempuraan sistem yang selanjutnya...
Langkah yang harus kita lakukan adalah sebagai berikut: 

1. BLOG DIAGRAM RANCANGAN
pada bagian ini sangat lah penting, karena dengan seperti ini maka perancangan akan lebih terinci dan terencana. menganalisa kerja alat juga akan semakin mudah.

ini blog diagram yang akan kita buat..

setelah kita sudah merancang blognya,..(duh kayak buku tulis di sekolah gitu ya...semoga tidak membosankan ^-^),. kita akan merancang jalur trafic light nya dengan autocad...
gambar jalurnya seperti berikut..



Share

Twitter Delicious Facebook Digg Stumbleupon Favorites