jueves, 26 de abril de 2012

MOTORE BATEN ABIADURA NEURTU

Proiektu honek egiten duena da motore baten bidez CD batek zenbat buelta emango dituen minuturo kalkulatzen ditu. Horretarako, potentziometro batekin motorearen abiadura kontrolatuko dugu. Motorearen goikaldean CD bat jarri dugu txuri kolorekoa eta franja beltz batekin eta CNY sentsoreak detektatuko du kolore bakoitza.



Beltz koloretik pasatzen den bakoitzean programak bira bat eman duela bezala egingo du eta hori jakinda kalkulatuko du zenbat erreboluzio egingo dituen minuturo CDak. Proteus programarekin simulatu dugu, horretarako Proteus 7.7 erabili dugu Arduino UNOrekin konpatiblea izateko. Hona hemen argazkia Proteusen simulatuta:


Klasean egin diseinatu eta montatu dugu. Ea zer deritzozue!

 


Horretarako Arduino UNO erabili dugu bere Sketch programarekin. Hona hemen Sketch-a:

float CNY=0;
unsigned long T,T2,DENB;
float B,Z;
float outputValue=0;
float x;
float RPM;
void setup() 
{
  pinMode(A0, INPUT);
  Serial.begin(9600); 
  CNY=analogRead(A0);  
  Serial.println(" maila  ");
  Serial.println(CNY, DEC);
  Serial.println("\t baliokoa da. ");    
    T=T2; 
    B=CNY>400;  
    Z=CNY<400;
    while(CNY<400)
    {
      CNY=analogRead(A0);
    }
    while(CNY>400)
    {
      CNY=analogRead(A0);
    } 
      T2=millis(); 
      DENB=T2-T;
      RPM=60000/(DENB);
      CNY=0;
      Serial.println(RPM);
      Serial.println("dira reboluzioak minutuko");
}
void loop() { 
    T=T2; 
    B=CNY>400;  
    Z=CNY<400;
    while(CNY<400)
    {
      CNY=analogRead(A0);    
    }
    while(CNY>400)
    {
      CNY=analogRead(A0);
    } 
      T2=millis(); 
      DENB=T2-T;
      RPM=60000/(DENB);
      CNY=0;
      Serial.println(RPM);
      Serial.println("dira reboluzioak minutuko");
}

No hay comentarios:

Publicar un comentario