Estoy elaborando un proyecto escolar (robot sumo). Los componentes son:"2 motores,1 L298N,1 CNY70, 1 HC-SR04, y un arduino uno, pero al momento de subir la programación sucede un error (paso la programacion), soy nuevo en esto (llevo poco menos de 3 semanas programando)
#include <L298N.h>//Puente H
#include <HCSR04.h>// Sensor Ultrasonico
int in3 = 3;
int in4 = 4;
int in5 = 5;
int in6 = 6;
int in7 = 7;
int in8 = 8;
int in9 = 9;
int in10 = 10;
int in11 = 11;
int in12 = 12;
int in13 = 13;
long distancia;
long tiempo;
unsigned int referenciaBlanco = 100;
unsigned int referenciaSinSuperficie = 20;
unsigned int lecturaCNY70 = 0;
//funcion setup
void setup(){
Serial.begin(9600);
pinMode(in3, OUTPUT);//MOTOR D
pinMode(in4, OUTPUT);//MOTOR D
pinMode(in5, OUTPUT);//A
pinMode(in6, OUTPUT);//MOTOR I
pinMode(in7, OUTPUT);//MOTOR I
pinMode(in8, INPUT);//SENSOR ENTRADA
pinMode(in9, OUTPUT);//SENSOR SALIDA
pinMode(in10, OUTPUT);//B
pinMode(in11, OUTPUT);//ALIMENTACION ARDUINO
pinMode(in12, INPUT);//SENSOR QTR ENTRADA
pinMode(in13, OUTPUT);//SENSOR QTR SALIDA
}
//funcion loop
void loop(long distancia, long tiempo, unsigned int referenciaBlanco, unsigned int referenciaSinSuperficie, unsigned int lecturaCNY70){
delay(5000);
void CNY70();
void SENSORULTRA();
if(distancia>=30){
void BUSQUEDA();
}
if(distancia<=29){
void ADELANTE();
}
if(distancia=0){
void ADELANTE();
}
if(lecturaCNY70=referenciaBlanco){
void REVERSA();
}
}
// Sensor ultrasonico
void SENSORULTRA(long tiempo, long distancia){
digitalWrite(9,LOW);
delayMicroseconds(5);
digitalWrite(9, HIGH);
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH);
distancia=int(0.017*tiempo);
Serial.println("Distancia ");
Serial.println(distancia);
Serial.println(" cm");
delay(1000);
}
//Sensor de seguimiento de linea
void CNY70(unsigned int referenciaBlanco = 100, unsigned int referenciaSinSuperficie = 20, unsigned int lecturaCNY70 = 0){
lecturaCNY70= analogRead(A0);
if((lecturaCNY70 >= 0) && (lecturaCNY70 <= referenciaSinSuperficie)){
Serial.println("Sin Superficie");
}
else if((lecturaCNY70 > referenciaSinSuperficie) && (lecturaCNY70 < referenciaBlanco)){
Serial.println("Linea Negra");
}
else if(lecturaCNY70 >= referenciaBlanco){
Serial.println("Superficie Blanca");
}
delay(1000);
}
//Movimientos Generales
void ADELANTE(){
void MOTORDERECHA();
void MOTORIZQUIERDA();
}
void BUSQUEDA(){
void MOTORDERECHA();
}
void REVERSA(){
void MIND();
void MINI();
}
//Funtamento de los movimientos
void MOTORDERECHA(){
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
delay(2000);
}
void MOTORIZQUIERDA(){
digitalWrite(in7, HIGH);
digitalWrite(in8, LOW);
delay(2000);
}
void MINI(){ //Motor INverso Izquierda
digitalWrite(in7, LOW);
digitalWrite(in8, HIGH);
delay(2000);
}
void MIND(){//Motor INverso Derecha
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
delay(2000);
}
el mensaje de error es:
"Arduino:1.8.6 (Windows 10), Tarjeta:"Arduino/Genuino Uno"
C:\Users\cssan\AppData\Local\Temp\ccfhgRzQ.ltrans0.ltrans.o: In function `main':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compilando para la tarjeta Arduino/Genuino Uno.