Showing posts with label Schematic elektronika. Show all posts
Showing posts with label Schematic elektronika. Show all posts

Tuesday, July 9, 2013

Digital clock LCD with ATmega32 (Jam Digital dengan LCD ATmega32)
















Kali ini, saya membuat rangakain elektronik jam digital dan tanggal menggunakan  LCD (16x2) dengan otaknya adalah ATmega32. Rangkaian di atas adalah simulasi menggunakan software proteus.


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Monday, January 28, 2013

Running LED with 20 LEDs Schematic


Type IC (intergreted circuit) yang digunakan:
-NE555






Berikut simulasi pergerakan LED :






Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Saturday, January 26, 2013

Lampu lalu lintas berbasis Microcontroller AT89c51

Berikut disajikan contoh kecil dari cahaya proyek sederhana pengendalian lalu lintas denganmikrokontroler AT89C51 untuk empat kondisi. Contoh proyek ini dapat Anda mengembangkan menjadi tiga lampu lalu lintas dan dua tahap. Lampu lalu lintas 4 jalur atau empat tiang berartibahwa satu siklus terdiri dari empat lampu . Situasi ini lebih lampu jelas dapat dilihat pada Tabel4.1 untuk lampu output yang digunakan dUC AT89C51

Timur
Port 1.0 = lampu merah
Port 1.1 = lampu kuning
Port 1.2 = lampu Hijau


Selatan
Port 1.3 = lampu merah
Port 1.4 = lampu kuning
Port 1.5 = lampu Hijau
 


Barat::
Port 3.0 = lampu merah
Port 3.1 = lampu kuning
Port 3.2 = lampu Hijau


Utara:
Port 3.3 = lampu merah
Port 3.4 = lampu kuning
Port 3.5 = lampu Hijau


Contoh mudah menyalakan lampu Merah, Kuning dan Hijau di sisi timur jalan melihat gambar .1untuk sisi lain dari jalan adalah ide yang sama.



CATATAN:

Jika rangkaian driver lampu terlalu sensitif, basis masukan ujung resitor 4,7 K ohm pull downresistor dapat dipasang ke tanah




 
Gambar 1. Driver ke lampu LED

Traffic lights working chart four light poles are designed as follows:
Gambar 2. Arah perubahan nyala lampu

Untuk menyalakan lampu, mikrokontroler mengirimkan sinyal ke port-tinggi terkait. Di sini lampunyala membutuhkan input tinggi untuk driver lampu, karena desain driver tersebut dalam, angka4.1 transistor pertama dalam keadaan off. Jadi jika Anda mendapatkan masukan tinggi dari dasarteraliri port pendaftaran saat ini:


         Ib = (Vport-VBE) / 4,7 k ohm Ampere


Arus ini sudah cukup untuk membuat transistor kerja akan jenuh sehingga arus LED dari VCC:


         Tumpahan minyak = (Vcc-VLED) / 560ohm Ampere


Misalkan kita ingin lampu hijau timur (HT) dan semua merah lainnya, mengirim data ke port 1 =0CH (00001100b) dan port3 = 09H (00001001b)
Sehingga program ini ditulis sebagai berikut, demi kenyamanan keterlambatan tidak dihitungdalam menit yang presisi. Jika Anda ingin jam referensi lebih rinci dapat digunakan olehprogrammer di timer UC.
  
;-----------------------------------
; PROGRAM TRAFFIC LIGHT
; By : Arif Johar Taufiq
; http://guru.technosains.com
;-----------------------------------
     ORG 00H
     LJMP K1
     ORG 100H
K1:  MOV P1,#09H ; MERAH SEMUA
     MOV P3,#09H
     ACALL TUNDA
K2:  MOV P1,#0CH
     MOV P3,#09H
     ACALL TUNDA
K3:  MOV P1,#0EH
     MOV P3,#09H
     ACALL TUNDA
K4:  MOV P1,#09H
     MOV P3,#09H
     ACALL TUNDA
K5:  MOV P1,#21H
     MOV P3,#09H
     ACALL TUNDA
K6:  MOV P1,#31H
     MOV P3,#09H
     ACALL TUNDA
K7:  MOV P1,#09H
     MOV P3,#09H
     ACALL TUNDA
K8:  MOV P1,#09H
     MOV P3,#0CH
     ACALL TUNDA
K9:  MOV P1,#09H
     MOV P3,#0EH
     ACALL TUNDA
K10: MOV P1,#09H
     MOV P3,#09H
     ACALL TUNDA
K11: MOV P1,#09H
     MOV P3,#21H
     ACALL TUNDA
K12: MOV P1,#09H
     MOV P3,#31H
     ACALL TUNDA
     LJMP K1
TUNDA:  MOV R7,#00H
ULANG2: MOV R6,#00H
ULANG1: MOV R5,#00H
ULANG:  INC R5
        CJNE R5,#02H,ULANG
        INC R6
        CJNE R6,#02H,ULANG1
        INC R7
        CJNE R7,#02H,ULANG2
        RET
        END

To be more flexible in its setup delay of the light, then the program can be made like the example below, variable delay can easily be changed

;==============================================================;
; PROGRAM SIMULASI LAMPU LALULINTAS ;
; by: ARIF JOHAR TAUFIQ ;
; http://guru.technosains.com
;==============================================================;
; POSOSI LAMPU: ;
; ;
;                    BARAT ;
;                  H (P1.2) ;
;                  K (P1.1) ;
;                  M (P1.0) ;
; ;
; SEL H     K      M          M     K       H UTARA ;
; (P3.6) (P3.5) (P3.4)     (P3.0) (P3.1) (P3.2) ;
; ;
;                  M (P1.4) ;
;                  K (P1.5) ;
;                  H (P1.6) ;
;                    TIMUR ;
;==============================================================;


TD_RED      EQU 03H ;waktu tunda merah 3 dtk //dapat diubah
TD_GREEN    EQU 05H ;waktu tunda hijau 5 dtk //dapat diubah
TD_YELLOW   EQU 02H ;waktu tunda kuning 2 dtk //dapat diubah

            ORG 00H
            LJMP AWAL

;==================
;LAMPU BARAT
;==================

           ORG 100H
AWAL:      MOV R2,#00H
BARAT_1:   ACALL ALL_RED ; semua MERAH
           MOV A,#00H
AA:        ACALL TUNDA
           INC A
           CJNE A,#TD_RED,AA

BARAT_2:   MOV P1,#14H ; hijau barat
           MOV P3,#11H
           MOV A,#00H
BB:        ACALL TUNDA
           INC A
           CJNE A,#TD_GREEN,BB

BARAT_3:   MOV P1,#12H ; kuning barat
           MOV P3,#11H
           MOV A,#00H
CC:        ACALL TUNDA
           INC A
           CJNE A,#TD_YELLOW,CC

;==================
; LAMPU UTARA
;==================
UTARA_1:   ACALL ALL_RED ;semua merah
           MOV A,#00H
DD:        ACALL TUNDA
           INC A
           CJNE A,#TD_RED,DD

UTARA_2:   MOV P1,#11H ;hijau utara
           MOV P3,#14H
           MOV A,#00H
EE:        ACALL TUNDA
           INC A
           CJNE A,#TD_GREEN,EE

UTATA_3:   MOV P1,#11H ;kuning utara
           MOV P3,#12H
           MOV A,#00H
FF:        ACALL TUNDA
           INC A
           CJNE A,#TD_YELLOW,FF

;=================
; LAMPU TIMUR
;=================

TIMUR_1:   ACALL ALL_RED ;semua merah
           MOV A,#00H
GG:        ACALL TUNDA
           INC A
           CJNE A,#TD_RED,GG
TIMUR_2:   MOV P1,#41H ;hijau timur
           MOV P3,#11H
           MOV A,#00H
HH:        ACALL TUNDA
           INC A
           CJNE A,#TD_GREEN,HH
TIMUR_3:   MOV P1,#21H ;kuning timur
           MOV P3,#11H
           MOV A,#00H
II:        ACALL TUNDA
           INC A
           CJNE A,#TD_YELLOW,II
 
;==================
; LAMPU SELATAN
;==================

SELATAN_1: ACALL ALL_RED ;semua merah
           MOV A,#00H
JJ:        ACALL TUNDA
           INC A
           CJNE A,#TD_RED,JJ

SELATAN_2: MOV P1,#11H ;hijau selatan
           MOV P3,#41H
           MOV A,#00H
KK:        ACALL TUNDA
           INC A
           CJNE A,#TD_GREEN,KK

SELATAN_3: MOV P1,#11H ;kuning selatan
           MOV P3,#21H
           MOV A,#00
LL:        ACALL TUNDA
           INC A
           CJNE A,#TD_YELLOW,LL
           INC R2
           CJNE R2,#03H,MAJU
           SJMP SUS
MAJU:      LJMP BARAT_1
SUS:       MOV A,#00H
RENE:      ACALL ALL_OFF
           ACALL TUNDA
           ACALL ALL_YL
           ACALL TUNDA
           INC A
           CJNE A,#05,RENE
           LJMP AWAL


;======================
; PROSEDUR SEMUA MERAH
;======================
ALL_RED:  MOV P1,#11H
          MOV P3,#11H
          RET

;=======================
; PROSEDUR SEMUA KUNING
;=======================
ALL_YL:   MOV P1,#22H
          MOV P3,#22H
          RET

;=======================
; PROSEDUR SEMUA MATI
;=======================
ALL_OFF:  MOV P1,#00H
          MOV P3,#00H
          RET


;======================
; PROSEDUR TUNDA ; 1 detik xtal 12mhz
;======================
TUNDA:  MOV R1,#00H
WIH:    MOV R0,#0h
LAGI:   MOV TMOD,#01h
        MOV TH0,#0D8h
        MOV TL0,#0EFh
SETB    TR0
ULANG:  JBC TF0,HITUNG
        SJMP ULANG
HITUNG: INC R0
        CJNE R0,#050h,LAGI
        INC R1
        CJNE R1,#02H,WIH
        RET

Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Thursday, January 24, 2013

Runing LED (Lampu berjalan) menggunakan IC AT89s51 (x51 family)































Buat ngisi liburan kita refresing otak dulu nh!! , , schematic rangkaian system minumum berbasis AT89s51 (x51 family) ini, saya menggunakan software simulasi elektronik PROTEUS, kelebihan software ini adalah, IC Microcontroller dapat di program lansung. Format yang digunakan atau bahasa program yang di gunakan adalah .ASM (assembly) dan di rubah ke dalam format hexadesimal .HEX. . . untuk merubah Bahasa .ASM menjadi .HEX dapat menggunakan sotware ASM51 <--check this out!.... Okeh! langsung saja, berikut adalah contoh program untuk IC AT89s51...

======================C code=================================

#include <at89x51.h>
void feel1ms( )
{
int i;
for(i=0;i<150;i++);
}

void feel(int n)
{
int i;
for(i=0;i<n;i++)
feel1ms( );
}

void main( )
{
volatile unsigned char a=0x01;
while(1)
{
a=((a>>7)|(a<<1));
feel(1000);
P0=a;
}
}

===================assembly code===============================

$mod51
ORG       00H
LOOP:     MOV       A,  #0FEH
          MOV       R2, #8
OUTPUT:   MOV       P0, A
          RL        A
          ACALL     DELAY
          DJNZ      R2, OUTPUT
          LJMP      LOOP
DELAY:    MOV       R6, #0
          MOV       R7, #0
DELAYLOOP:
          DJNZ      R6, DELAYLOOP
          DJNZ      R7, DELAYLOOP
          RETI
          END


Berikut adalah hasil dari compile file .c dan .asm dengan software MIDE-51

===============================HEX code====================


:1000000074FE7A08F58023110EDAF90200007E00F2
:070010007F00DEFEDFFC3281
:00000001FF



Program HEX ini lah yang akan di masukkan atau yang digunakan sebagai perintah dari AT89s51.

Silahkan tinggalkan keritik dan saran atau pertanyaan! Di sini kita sama - sama belajar, harap di maklumi.....


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Friday, October 19, 2012

Schematic robot line folower ( Robot Mengikuti Jalur Garis )


Program IC :


#include d:\mc51\8051io.h
#include d:\mc51\8051reg.h
extern register unsigned char speedleft,speedright;
register unsigned char high,low,flag,time;

main()
{
  P1=0x40;
  P3=0xff;
  high = 80;
  low  = 30;
  flag = 0;
  time = 50;
  Start();
    while(1) {
              P3|= 0x0f;
              Run();
              }
}

Start()
{
  char exit,key;
  exit =1;
     while(exit)
      {
        key = P1;
        if((key & 0x40)==0) exit=0;
      }
}        

Run()
{
   char sensors;
   sensors = (P3 &=0x0f);

       if((sensors & 0x01)==0) {
        TurnRight();
        flag = 1;              }

 else  if((sensors & 0x08)==0) {
         TurnLeft();
         flag = 2;             }
 else  if(sensors == 0x09)    {
        Forward(high);
        flag = 0;              }

 else  if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0))
          Forward(low);

}

Forward(char speed)
{
  P1=0x64;
  speedright = speed+10;
  speedleft  = speed;
  delay(time);
}

TurnRight()
{
  P1=0x68;
  speedright = low+5;
  speedleft  = low;
  delay(time);
}

TurnLeft()
{
  P1=0x54;
  speedright = low+5;
  speedleft  = low;
  delay(time);
}

Reverse(char speed)
{
  P1=0x58;
  speedright = speed;
  speedleft  = speed+5;
  delay(time);
}


Asebler :


*#cpu 8051 Tiny
*
* DDS MICRO-C 8031/51 Startup Code & Runtime library for TINY model
*
* Copyright 1991-1999 Dave Dunfield
* All rights reserved.
*
        ORG    $0000         $0800  CODE Starts here (Normally in ROM)
        LJMP   START

        ORG    $0003
        LJMP   SERVICE_EX0

        ORG    $000B
        LJMP   SERVICE_TIMER0_INTERRUPT


* Fixed memory locations for alternate access to the R0-R7 register bank.
* If you are NOT useing BANK 0, these equates must be adjusted.
?R0 EQU 0 Used for "POP" from stack
?R1 EQU ?R0+1 Used to load index indirectly
?R2 EQU ?R0+2 "" "" "" ""
?R3 EQU ?R0+3 Used by some runtime lib functions
?R4 EQU ?R0+4
?R5 EQU ?R0+5
?R6 EQU ?R0+6
?R7 EQU ?R0+7
*
* Startup code entry point
*
* If you are NOT using interrupts, you can reclaim 50 bytes
* of code space by removing the following TWO lines.
*        AJMP    *+$0032         Skip interrupt vectors
*        DS      $0032-2         Reserve space for interrupt vectors
*
START   EQU     *
MOV SP,#?stk-1 Set up initial stack
        ORL  TMOD,#000001    set timer 0 to be counter 16 bit
        SETB    IE.7            $AF  EA
        SETB    IE.1            $A9  ET0 Enable timer 0 interrupt
        SETB    TCON.4          start timer 0


LCALL main Execute program
        SJMP    *               JUMP HERE

* EXIT to MON51 by calling the 'timer1' interrupt vector ($001B).
* This causes MON51 to think that a single-step operation has just
* completed, and therefore it saves the user registers, and performs
* a context switch back to the monitor.
*
* When using 2K addressing (CC51: -Z option, ASM51: -A option) this LCALL
* may fail "Out of range" because it gets translated to ACALL, and $001B
* may not be in the same 2K block as your program. Since 2K devices cannot
* support a debugger, change the ORG to $0000, and ...<continue below>...
*
* If you are NOT using MON51 (or MONICA which works the same), you will
* need to change this to whatever action you desire when main() returns.
* Suggestions: 1:freeze (SJMP *) 2:Restart (SJMP *&$FF00)
exit LCALL $001B Call Timer-1 interrupt
SJMP exit Incase he go's again

==============assembly code============================

SERVICE_TIMER0_INTERRUPT   EQU *
   PUSH ACC
   PUSH PSW
   MOV  TH0,#$FF      reload timer 0 for ms
   MOV  TL0,#$00
   INC  tick

   MOV  A,tick
   CJNE A,#100,RIGHT
   MOV  tick,#0

RIGHT
   CLR  C
   SUBB A,speedright
   JC   ON_RIGHT
   CLR  P1.0
   SJMP LEFT

ON_RIGHT
   SETB P1.0

LEFT
   MOV  A,tick
   CLR  C
   SUBB A,speedleft
   JC   ON_LEFT
   CLR  P1.1
   SJMP EXIT_I

ON_LEFT
   SETB P1.1

EXIT_I
   POP  PSW
   POP  ACC
   RETI

SERVICE_EX0 EQU *
   INC  cputick
   RETI


$SE:1
*#map1 Segment 1, initialized variables
$SE:2
*#map2 Segment 2, internal "register" variables
ORG $0008 Internal ram ALWAYS starts here

tick         DS  1
speedright   DS  1                                                
speedleft    DS  1
cputick      DS  1


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Schematic Smoke detector (asap rokok)



Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Schematic Plip Plop variasi


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Shematic sirine police


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

Schematic Sensor Tepuk

Rangkaian ini menggunakan MIC sebagai sensornya. jika ada suara tepukan tangan satu kali maka sensor akan mendeteksi dan menjadi saklar untuk menghidupkan output (lampu), begitupun sebaliknya jika ingin mematikan lampu tepuk sekali, maka lampu akan mati.


Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed