Los bloques “Inicar”, “Setup” y “Loop” deben incluirse en todos los proyectos.
Con el bloque “Iniciar” se inician todas las variables que utilizará el proyecto. Los nombres de estas variables no pueden ser usados como variables propias.
"Setup" define cuales pines del Arduino serán entradas y cuales serán salidas. Vincula la programación con las conexiones de la placa física.
En el bloque "Loop" es un bloque elástico donde se colocará el programa que realicemos. También establece el código para iniciar las acciones del robot. Este bloque se repetirá indefinidamente. El robot realizará una por una en forma descendente, todas las acciones que se coloquen dentro de él hasta llegar al final.
Al llegar a la última acción, iniciará nuevamente las acciones desde el principio. La única forma de interrumpir el bucle es incorporando el bloque "noRepetir".
//Inicia Proyecto Pin8
const int pin_dir1A = 7;
const int pin_dir1B = 8;
const int pin_vel1 = 9;
const int pin_dir2A = 13;
const int pin_dir2B = 12;
const int pin_vel2 = 11;
const int pin_led0 = 3;
const int pin_led1 = 5;
const int pin_led2 = 6;
const int pin_sensor0 = A0;
const int pin_sensor1 = A1;
const int pin_sensor2 = A2;
const int pin_sensor3 = A3;
const int pin_sensor4 = A4;
const int pin_sensor5 = A5;
const int pin_boton = A5;
const int pin_ultrasonico_echo = 2;
const int pin_ultrasonico_trigger = 4;
int dist_max = 100;
boolean estado_boton = 0;
boolean accion = 0;
int valor_ultrasonico = 0;
int valor_boton = 0;
void setup() {
Serial.begin(9600);
pinMode(pin_dir1A, OUTPUT);
pinMode(pin_dir1A, OUTPUT);
pinMode(pin_vel1, OUTPUT);
pinMode(pin_dir2A, OUTPUT);
pinMode(pin_dir2A, OUTPUT);
pinMode(pin_vel2, OUTPUT);
pinMode(pin_led0, OUTPUT);
pinMode(pin_led1, OUTPUT);
pinMode(pin_led2, OUTPUT);
pinMode(pin_sensor0, INPUT);
pinMode(pin_sensor1, INPUT);
pinMode(pin_sensor2, INPUT);
pinMode(pin_sensor3, INPUT);
pinMode( pin_sensor4, INPUT);
pinMode(pin_boton, INPUT);
pinMode(pin_ultrasonico_echo, INPUT);
pinMode(pin_ultrasonico_trigger, OUTPUT);
}
void loop() {
//Análisis del boton para iniciar acciones
valor_boton = analogRead(pin_boton);
if(valor_boton > 512) {
if(estado_boton == false){
analogWrite(pin_vel1, 0);
analogWrite(pin_vel2, 0);
accion = !accion;
estado_boton = true;
delay(1000);
}
} else {
estado_boton = false;
}
//Código de acciones
if(accion == true){
}
}