Cercallum v2

Despres d’una pila d’anys, reneix el Cercallum.

20130428_094543

Material:

  • Arduino UNO
  • Motor de Lego
  • Sevo motor (SM-S2309S)
  • Mosfet
  • Fotoresistència
  • Resistència 10KΩ
  • Diode
  • Peces de Lego

Circuit:

Fritzing del Cercallum

Fritzing del Cercallum

Programa:

#include <Servo.h>
Servo myServo;

int led = 13;
int motorPin = 11;
int sensorValorMax = 0;
int sensorValor;

int angle_maxim = 140;
int pas = 4;
int angle_inc = pas;

int angle_actual = 90;
int angle_avansa = 0;
int valorPot = 0;
String  funcio = "calibra";

void setup() {
  pinMode(led, OUTPUT);
  pinMode(motorPin, OUTPUT);

  myServo.attach(9);
  Serial.begin(9600);

}

void loop() {
  sensorValor = analogRead(A1);
  valorPot =  analogRead(A0);

   if(funcio=="calibra")
   {
     myServo.write(angle_actual);
     funcio="cerca";
     delay(5000);
   }

   if(funcio=="cerca")
   {
     if (sensorValor>=sensorValorMax)
     {
       angle_avansa = angle_actual;
       sensorValorMax = sensorValor;
     }

     if(angle_actual>(90+angle_maxim/2))
     {
       angle_inc = -pas;
       funcio="situa";
     }

     if( angle_actual<(90-angle_maxim/2))
     {
       angle_inc = pas;
       funcio="situa";
     }

     if(funcio != "situa")
     {
      angle_actual += angle_inc;
      myServo.write(angle_actual);
     }
   }
   delay(25);

   if((funcio=="situa") )
   {
     digitalWrite(led, HIGH);
     delay(100);
     digitalWrite(motorPin, LOW);
     myServo.write(angle_avansa);
     delay(300);
     analogWrite(motorPin, 200);
     delay(500);
     funcio="cerca";
     sensorValorMax = 0;
     digitalWrite(motorPin, LOW);
     delay(100);
     //resitua
     if(angle_avansa>=90)
     {
       angle_actual = 90+angle_maxim/2;
       angle_inc = -pas;
     }
     else
     {
       angle_actual = 90-angle_maxim/2;
       angle_inc = pas;
     }
     myServo.write(angle_actual);
     delay(10);
     digitalWrite(led, LOW);
   }
}

Tracte fet

Hola,
Ja podeu anar preparant el material.
Ens veiem el 11 de Maig.
Serem 3 persones per muntar la Prusa.
Així, no cal venir el divendres, oi?
Hem de venir amb un portatil?
Be, ja concretarem l’hora.
Salut
J.