Todavia no habia subido el codigo del proyecto que nos llevo a ganar la Hackathon de Zaragoza, patrocinada por www.cooking-hacks.com. Aqui teneis algunas cosillas que he podido rescatar.
Presentacion del proyecto: PDF
Codigo despues del salto.
Codigo de la oruga:
//Arduino PWM Speed Control:
#define IRpin_PIN PIND
#define IRpin 2
int orangeLedPin = 7;
int E1 = 9;
int M1 = 8;
int E2 = 10;
int M2 = 11;
int value1, value2, on;
int val;
void setup()
{
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(12, INPUT);
pinMode(orangeLedPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
while (IRpin_PIN & (1 << IRpin)) {
delay(100);
digitalWrite(orangeLedPin, LOW);
}
digitalWrite(orangeLedPin, HIGH);
Serial.print('H');
delay(1000);
if (Serial.available()) {
val = Serial.read();
if (val == 'C') {
getDrink();
}
}
}
void getDrink() {
digitalWrite(M1,HIGH);
digitalWrite(M2, LOW);
analogWrite(E1, 100);
analogWrite(E2, 100);
delay(3000);
analogWrite(E1, 0);
analogWrite(E2, 0);
delay(10000);
digitalWrite(M1,LOW);
digitalWrite(M2, HIGH);
analogWrite(E1, 100);
analogWrite(E2, 100);
delay(3000);
analogWrite(E1, 0);
analogWrite(E2, 0);
}
Codigo del dispensador:
#include <Servo.h>
Servo servoR;
int servoPinR = 8;
int val;
void setup()
{
servoR.attach(servoPinR);
Serial.begin(9600);
}
void loop() {
servoR.write(0);
if (Serial.available()) {
val = Serial.read();
if (val == 'H') {
delay(20);
Serial.print('C');
rotate();
}
}
}
void rotate() {
delay(5000);
for(int i=0; i<160; i++){
servoR.write(i);
delay(20);
}
delay(1400);
for(int i=160; i>=0; i--){
servoR.write(i);
delay(20);
}
}
No hay comentarios:
Publicar un comentario