Selasa, 27 Desember 2016

pendeteksi jumlah detak jantung dalam 15 detik

pendeteksi jumlah detak jantung dalam 15 detik
nah di sini saya akan menunjuk kan cara membuat pendeteksi jumlah detak jantung dalam 15 detik . alat ini akan membaca jumlah detak jantung dan akan menilai anda sehat atau kurang sehat .
disini saya mengunakan kontroler arduino nano karena ukuranya yg kecill dan mudah pemprograman ya,dan display tampilan saya mengunakan LCD 16X2 agar tampilan lebih menarik dan program tidak terlalu panjang, danmeng gunakan sensor infraret satupasang untuk membaca darah yg mengalir di jari, dan beberapa kompone penguat yang mengunakan lm 324 
langsung saja kita keprogram ya
ini kopian programya

/*
Program membaca nilai ADC
dengan serial
Loki Lang
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int analogPin = A3;
int JGJ = 0;
int x= 0;
int lang = 0;
int wektu = 0;
int con= 0 ;
void setup()
{
  Serial.begin(9600);
   lcd.begin(16, 2);
}

void loop()
{atas:
 // lcd.clear();
for(x=0;x<4;x++)  
  
{

 lang = analogRead(analogPin);

 if(lang>=200)
  {JGJ++;
  
  
  }
  lcd.setCursor(0, 0);
  lcd.print("JDJ=");
  lcd.print(JGJ);
   lcd.setCursor(0, 1);
  lcd.print("DETIK.");
  lcd.print(wektu);
  delay(200);
   
  Serial.println(lang);}
   wektu ++ ;
   lcd.setCursor(0, 0);
  lcd.print("JDJ=");
  lcd.print(JGJ);
  lcd.setCursor(0, 1);
  lcd.print("DETIK.");
  lcd.print(wektu);
  delay(10);
   if(wektu>=15)
   {lcd.clear();
   eeeem: 
    if(JGJ>=15)
  { lcd.setCursor(0, 0);
  lcd.print("JDJ=");
  lcd.print(JGJ);
  lcd.print(",selamat");
  lcd.setCursor(2, 1);
  lcd.print("anda sehat");
  delay(1000);
  goto eeeem;}
  else{lcd.setCursor(0, 0);
  lcd.print("JDJ=");
  lcd.print(JGJ);
  lcd.print(",maaf anda");
   lcd.setCursor(2, 1);
  lcd.print("kurang sehat");
  delay(1000);}
  goto eeeem;}
  else{goto atas;}

}

Kamis, 24 November 2016

pemberi makan ikan otomatis


apa kah anda puya ikan pliharaan atau anda malah puya pertenakan ikan?....

wah brati anda gk bisa pergi dari rumah lebih dari 3 hari dong?

nah kali ini ane akan nunjukun cara bikin pemberimakan ikan otomatis yang agak simpel

sekarang kita siapin duru alat alatya

1. PC yang sudah terintal cvavr dan xtrimbumer
2. downloder atmega
3. atmega + minsisya
4. motor steper 9gram 90 derajat
5. kabel secukupya
6. botol air mineral 1,5L
7. botol mineral 300mL
8.bok tempat ngerakit
9.power saplay
10. 7sekmen
11. atmega 8a

nah sekarang kita donlot program di dibawah ini ke ic atmega8

#include  <mega8.h>
#include  <delay.h>

unsigned char angka[10]={0xc0,0xF9,0x0A4,0xb0,0x99,0x92,0x82,0xF8,0x80,0x90};
int x,time,X;

#define ADC_VREF_TYPE 0x40

void moto_servo()
{

for(X=0;X<100;X++) 
      {
         PORTB.0=1;//memberikan pulsa high
        delay_ms(1.5);//pulsa high diberikan selama 2 ms
        PORTB.0=0;
        delay_ms(18.5); }
      
       for(X=0;X<100;X++)
      {
        PORTB.0=1;//memberikan pulsa high
        delay_ms(2);//pulsa high diberikan selama 2 ms
        PORTB.0=0;
        delay_ms(18);  }
        
     
       for(X=0;X<200;X++)
      {
        PORTB.0=1;//memberikan pulsa high
        delay_ms(1);//pulsa high diberikan selama 2 ms
        PORTB.0=0;
        delay_ms(19);  } 

}
void tampilkan_seven_segment()
{

PORTD=angka[time];

}

void main(void)
{
PORTB=0xFF;
DDRB=0xFF;

PORTC=0x00;
DDRC=0xFF;

PORTD=0xFF;
DDRD=0xFF;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;
SFIOR=0X00;
    moto_servo();
    while (1)
      { PORTB.0=0;               
            
         detii:
         
       if(time<=9)
       { 
                 
       for(x=0;x<3600;x++)   
        {   delay_ms(2000);

        tampilkan_seven_segment();
          }
         time++;
               }
         else
         {time=0;
         
           moto_servo();
            moto_servo();
           tampilkan_seven_segment();
          goto detii; } 
          
    };
    }

nah setelah program di atas sudah di downod ke ic atmega 8 sekarang kita tingal hubungin  
pot pot ic ke 7sekmen dan motor serfo 

ini gambar 







TAMBAHAN PEMODELAN TANDON PAKAN



OTPUTAN PAKAN HARUS DIBERI KARET AGAR KLUARAN PAKAN HAMPIR SAMA SETIAP BERJALAN YA

vidio mekanik bak yang baru  lebih simpel dan gkperlu bisa microkontrol
cukup beli temer digital


Minggu, 07 Februari 2016

TERMO METER MENGUNAKAN LM35

    Pada kesempatan kali ini saya akan membagikan program,skema dan tata cara mengunakan termometer ini.termometer ini membaca huhu dalam drajat celsius dan bisa membaca 0C- 150C. termometer ini juga di lengkapi 4 relay yang bisa mengontrol atau menghidupkan kipas DLL. bisa diatur suhu  dingin atau panas untuk menghidupkan relai satu sampai relay empat.

 ini gambar skema rangkaian


ini gambar saat proteus di jalan kan di proteus

ini cara mengatur suhu untuk mengatur relay agar berfungsi 

pertama tekan tombol mode hingga kluar tulisan seperti digambar   


lalu sehabis kluar tulisan pada gambar diatas maka akan keluar tulisan seperti ini
setelah itu tombol UP atau Down seting sesuai dengan keingina,tata cara memen cat pencet terus tombol UP maka nanti dia akan terus menambah angka batas yang di inginkan dan sebalik ya


fungsi penyetel UP 1 dan UP 2 adalah apabila suhu yangkita tentukan 27C maka relay akan bekerja apabila suhu  yang dibaca sensor lebih besar dari 27C 





fungsi penyetel dn 1 dan dn 2 adalah apabila suhu yangkita tentukan 27C maka relay akan bekerja apabila suhu  yang dibaca sensor kurang dari  27C 


program dan simulator ada di ling ini silah kan unduh klik disini

ini vidio cara mengunakan ya


vidio aplikatif ya
sekian penjelasan dari saya, semoga bermanfaat.

tambahan program apabila tidak bisa di unduh di google drev

#include  <mega8.h>
#include  <delay.h>

unsigned char angka[20]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x,Y,empat,tiga,dua,satu,relay1,PILIH,relay2,relaya,relay3,relay4;

#define ADC_VREF_TYPE 0x40
 #define UP PINC.4
 #define RL PORTB.4
  #define RLL PORTB.5
  #define SW PINC.2
  #define DW PINC.3
  #define R3 PORTB.6
  #define R4 PORTB.7
 // #define DOT PORTD.7
//relay1=0;
//relay2=0;
//relay3=0;
//relay4=0;
//PILIH=0;
 
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void aditt()
{satu=0x88;
dua=0xa1;
tiga=0xf9;
empat=0x87; }
void swit()
 {
satu=0xc1;
dua=0x8c;
tiga=0xff;
empat=0xf9;
}
void swit2()
 {
satu=0xc1;
dua=0x8c;
tiga=0xff;
empat=0xa4;
}
   void swit3()
 {
satu=0xa1;
dua=0xc8;
tiga=0xff;
empat=0xf9;
}
   void swit4()
 {
satu=0xa1;
dua=0xc8;
tiga=0xff;
empat=0xa4;
}

void relay11()
{
data_temp=relaya;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10;
}

void ambil_data()
{

data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10;

}

void tampilkan_seven_segment()
{

PORTB.0=1;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=0xC6;
delay_ms(1);

PORTB.0=0;
PORTB.1=1;
PORTB.2=0;
PORTB.3=0;
PORTD=angka[satuan];
delay_ms(1);
         
PORTB.0=0;
PORTB.1=0;
PORTB.2=1;
PORTB.3=0;
PORTD=angka[puluhan];
delay_ms(1);

           
PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=1;
PORTD=angka[ratusan];
delay_ms(5);

PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=angka[ratusan];
delay_ms(1);
}

void huruf()
{
PORTB.0=1;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=empat;
 
delay_ms(1);
         
PORTB.0=0;
PORTB.1=1;
PORTB.2=0;
PORTB.3=0;
PORTD=tiga;
delay_ms(1);
           
PORTB.0=0;
PORTB.1=0;
PORTB.2=1;
PORTB.3=0;
PORTD=dua;
delay_ms(1);
           
PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=1;
PORTD=satu;
delay_ms(1);

PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTB.3=1;
PORTD=0x88;
delay_ms(1);
}

void main(void)
{


PORTB=0xFF;
DDRB=0xFF;

PORTC=0x00;
DDRC=0x00;

PORTD=0xFF;
DDRD=0xFF;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

PORTD=0XFF;
delay_ms(1);
PORTD=0XFF;
delay_ms(1);
PORTD=0XFF;
delay_ms(1);



 adit:
for (Y=0;Y<200;Y++)
      {
      aditt();
      huruf();
      }
while (1)
      {
      data=read_adc(5)*0.488+2;
     
     
      for(x=0;x<30;x++)
           {    
       
              ambil_data();
           
           
        tampilkan_seven_segment();
            if(data >= relay1)
         { RLL = 0; }
        else
        { RLL=1;}        
                 if(data>= relay2)
                 {RL = 0;}
                 else
                 {RL = 1;}
               
                 if(data <= relay3)
                    { R3 = 0; }
                   else
                    { R3=1;}        
                 if(data<= relay4)
                 {R4 = 0;}
                 else
                 {R4 = 1;}
            }
           
           
         RELAY_SATU:
            if(SW == 1)
            { PILIH++;
            delay_ms(50);
                    if(PILIH == 1)
                    {relaya=relay1;
                     for(x=0;x<100;x++)
                           {swit();                  
                             huruf();
                           }
                    goto tulis;}
                    else
                        {if(PILIH == 2)
                        {relaya=relay2;
                           for(x=0;x<100;x++)
                           {swit2();                  
                             huruf();
                           }                      
                        goto tulis;}
                         else
                         {if(PILIH == 3)
                         {relaya=relay3;
                         for(x=0;x<100;x++)
                           {swit3();                  
                             huruf();
                           }
                            goto tulis;}
                            else
                         {if(PILIH == 4)
                          {relaya=relay4;
                           for(x=0;x<100;x++)
                           {swit4();                  
                             huruf();
                           }
                             goto tulis;}
                         }
                        }
                      }
                      tulis:
                     
                 uuup:  
                   for(x=0;x<100;x++)
                    {//relaya=relay1;
                    relay11();                  
                    tampilkan_seven_segment();
                    }
                   
                    if(UP == 1)
                    { delay_ms(10) ;
                      relaya++;
                      if(relaya > 150)
                                {relaya=150;}
                                else
                                {goto uuup;} }
                     
                    else
                        { if(DW == 1)
                            {delay_ms(10) ;
                            relaya--;
                                if(relaya <= 0)
                                {relaya=0;}
                                else
                                {goto uuup;}
                            }
                        else
                        {if(SW == 1)
                         {  if(PILIH == 1)
                            {relay1=relaya;
                            goto RELAY_SATU;}

                           
                            if(PILIH == 2)
                            {relay2=relaya;
                            goto RELAY_SATU;}
                            else
                                {
                                if(PILIH == 3)
                                {relay3=relaya;
                                goto RELAY_SATU;}
                                else
                                {if(PILIH == 4)
                                    {relay4=relaya;
                                    PILIH=0;
                                    goto adit;}
                                     }
                            }
                          }
                            else
                         {goto uuup;}
                         
                            }                                                    
                                  }
         //   else
        //   { goto baca;}
       }
       

      }
     }

Sabtu, 09 Januari 2016

CARA MEMINDAHKA LAYOUT PCB DENGAN AUTAN

CARA MEMINDAHKA LAYOUT PCB DENGAN AUTAN

Pertama siapkan bahan bahan yang dibutuh kan
 1. gambar layout pcb yang sudah difotokopi di kertas hvs 80gr
 2. PCB polos (potong sesuai ukuran gambar layout)
 3. mika sampul jilit. beli difotokopian
 4. bekas kartu SIM atau yg serupa
 5. tidak ketinggalan autan/sovel yang dilarutkan dengan air 50mL
 6. serat besi(untuk mengosok pcb)

langkah pertama potong kertas layout pcb sesuai gambar dilebihkan 2cm, setelah itu potong juga pcb sesuai besar gambar layout

 sehabis itu gosok pcb dengan penggosok serat besi seperti ini

setelah itu campurkan autan dengan  air kira kira 50mL kalok ada masuk kan ke semprotan
contoh:

dan diaduk sampai merata. setelah itu oleskan cairan autan tersebut ke mika sesui lebar gambar leout pcb
setelah itu tempelkan kertas leout pcb kemika (posisi kertas yang ada tinta fotokopian diatas) ratakan

setelah itu tempelkan juga pcb yang sudah dibersihkan tadi
lalu tutup dengan mika lagi dan dibalik
lalu gosok gambar tersebut dengan koin sampai semuah gambar,berulang ulang  kurang lebih selama 2menit.setelah itu klupas perlahan lahan kertas hps dari pcb. hasil seperti ini
apabila leout ada yang putus di sambung dengan spidol permanen
itu hasil percobaan saya
ini vidio cara mentranverya

skian trimakasih semoga bermanfaan
amin
amin
amin
;D