5 de des. 2016

BOMBA D'AIGUA (software)

En aquest apartat explicare com funciona el codi Arduino que hem utilitzat el meu company Adrián i jo per aconseguir moure un motor DC junt un potenciòmetre i un sensor d'infrarrojos.

Primer vam fer proves amb el sensor d'infrarrojos perque voliem que sigui una font com les modernes que cuan et detecten la ma funciona.
Codi sensor infrarrojos:

int const sensor = 7; //Pin del sensor
int lectura;

void setup()
   {
        Serial.begin(9600);
        pinMode(sensor,INPUT);
   }
void loop()
   {    
    lectura=digitalRead(sensor);
    Serial.print("SENSOR ="); 
    Serial.println(lectura);
    delay(100);
  }

Aquí tenim el codi del potenciòmetre que era per poder regular la força amb la que surt l'aigua del tub
Codi potenciòmetre:


int lectura;
const int PinSensor = A0; //Pin de conexion del sensor
void setup()
   {
        Serial.begin(9600);
        pinMode(sensor,INPUT);
   }
void loop()
   {    

    analogWrite(E1, analogRead(A0) / 4); //Dividimos la resistencia para el potenciometro
  }
 
Aqui el codi del motor DC ja que necessitem algun component amb força cinètica per donar moviment a l'aigua. 
Codi motor DC:

#define E1 10 // Habilitar Pin para motor 1
#define I1 8  // Control pin 1 para motor 1

void setup()
   {
        for (int i = 8 ; i<11 ; i++)  // Inicializamos los pines
        pinMode( i, OUTPUT);
        Serial.begin(9600);
        pinMode(sensor,INPUT);
   }
void loop()
   {    
    digitalWrite(I1, HIGH); // Arrancamos
    
    delay(100); //Paramos
    
    digitalWrite(I1, LOW);
    delay(100); //Paramos
  }

Codi final (utilitzant un motor DC):

#define E1 10 // Hablitar Pin para motor 1
#define I1 8  // Control pin 1 para motor 1
int const sensor = 7; //Pin del sensor
int lectura;
const int PinSensor = A0; //Pin de conexion del sensor

void setup()
   {
        for (int i = 8 ; i<11 ; i++)  // Inicializamos los pines
        pinMode( i, OUTPUT);
        Serial.begin(9600);
        pinMode(sensor,INPUT);
   }
void loop()
   {    
    lectura=digitalRead(sensor);
    
    if (lectura== 0){

    analogWrite(E1, analogRead(A0) / 4); // Dividimos la resistencia para el potenciometro
    digitalWrite(I1, HIGH);      // Arrancamos

    delay(100);
  }
  else{
    digitalWrite(E1, LOW);      // Paramos
    digitalWrite(I1, LOW);
    delay(100);
  }
  Serial.print("SENSOR ="); 
  Serial.println(lectura);
  delay(100);
  }

Codi final (utilitzant un component superior a 5v (en el nostre cas una bomba d'aigua)):
#define E1 10 // Enable Pin for motor 1
#define I1 8  // Control pin 1 for motor 1
int const sensor = 7; //pin del sensor
int lectura;
const int PinSensor = A0; //pin de conexio del sensor
int RELE = 12;

void setup()
   {
        Serial.begin(9600);
        pinMode(RELE, OUTPUT);
        pinMode(sensor,INPUT);
   }
void loop()
   {    
    lectura=digitalRead(sensor);
    
    if (lectura== 0){
    digitalWrite(RELE, HIGH);
    delay(100);
  }
  else{
    digitalWrite(RELE, LOW);
    delay(100);
  }
  Serial.print("SENSOR ="); 
  Serial.println(lectura);
  delay(100);
  }

Cap comentari:

Publica un comentari a l'entrada