Thursday, November 3, 2011

pengisian/produksi ice cream *conveyor (mikrokontroler)



1. Jika push button (PB) ON di nyalakan maka lampu indicator akan menyala.
2. Secara bersamaan , mesin/motor penggerak wadah ice cream mualai bekerja pula konveyer 1.
3. Jika push button PBcoklat di nyalakan maka mesin coklat bekerja dan mesin es rasa lainnya yang lainnya mati.
4. Pada konveyor 1, wadah kosong tersebut akan terkena sensor 1 sehingga mesin kotak rasa coklat akan merespon dan wadah tersebut pun akan diisi cream rasa coklat
5. Pengisian setiap  ice cream ke wadahnya akan berlangsung selama 15detik (konveyor 1 berhenti selama 15 detik juga)
6. Setelah terisi,konveyor 1 kembali bergerak wadah pertama akan bergerak menuju sensor 5. Sensor 5 akan memeritah mesin penutup untuk meng-press / menutup wadah selama 15 detik (konveryer berhenti selama 15 detik juga).
7. Setelah 15 detik konveyer berjalan dan wadah turun ke tempat pengemasan.



Program 

#include <mega128.h>
#include <delay.h>
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTD=0x00;
DDRD=0xFF;
PORTE=0x00;
DDRE=0xFF;
while (1)
      { 
         if(PINA.0==1)   //PUSH ON
         PORTD.0=1;
          else
         PORTD.0=0;
                       
         if(PINA.2==1 || PINA.3==1 || PINA.4==1 || PINA.5==1  && PORTD.0==1)   //KONVEYER
         PORTD.1=1;
         else
         PORTD.1=0;
                 
         if(PINA.1==1)  //PUSH OFF
         PORTD.0=0;
        
         if(PINA.6==1 && PORTD.0==1)    //MOTOR KERJA
         {
         PORTD.1=0;
         delay_ms(100);
         PORTD.2=1;
         delay_ms(50);
         }
         else
         PORTD.2=0;
        
         if(PINA.7==1 && PORTD.0==1)
         {
         PORTD.1=0;
         delay_ms(100);
         PORTD.3=1;
         delay_ms(50);
         }
         else
         PORTD.3=0;
        
         if(PINB.0==1 && PORTD.0==1)
         {
         PORTD.1=0;
         delay_ms(100);
         PORTD.4=1;
         delay_ms(50);
         }
         else
         PORTD.4=0; 
        
         if(PINB.1==1 && PORTD.0==1)
         {
         PORTD.1=0;
         delay_ms(100);
         PORTD.5=1;
         delay_ms(50);
         }
         else
         PORTD.5=0;
        
         if(PINB.2==1 && PORTD.0==1)
         {
         PORTD.1=0;
         delay_ms(100);
         PORTD.6=1;
         delay_ms(50);
         }
         else
         PORTD.6=0;
        
         if(PORTD.6==0 && PORTD.0==1)
         {
         delay_ms(1000);
         PORTD.7=1;
         }
          
      };
     
}

note: masih belajar :) maaf kalo programnya cupu banget. soalnya emang pilih project yang simple. kalo ada salah boleh dibenerin kok. *terima kritik dan saran* :)