Ayuda con este codigo porfavor! Tengo errores de compilacion

Hola lo que sucede es que estoy trtando de ejecutar el codigo que les muestro a continuacion, pero tengo estos errores:

Arduino:1.6.3 (Windows 7), Placa:“Arduino Uno”

Programacion_acumulativa_Robo_modificada.ino:95:56: error: empty character constant

Programacion_acumulativa_Robo_modificada.ino: In function ‘void loop()’:

Programacion_acumulativa_Robo_modificada.ino:52:25: error: expected ‘;’ before ‘digitalWrite’

Programacion_acumulativa_Robo_modificada.ino:95:56: error: expected ‘)’ before ‘\x0’

Programacion_acumulativa_Robo_modificada.ino:104:3: error: expected ‘}’ at end of input

Error de compilación

Este es el codigo, porfa ayudenme a solucionarlo:

int pulsador=7;
int pulsador2=8;
int variacion=5;
int brillo=0;
int motor=10;
int contar=2;
int zumbador=9;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(zumbador,OUTPUT);
pinMode(motor,OUTPUT);
pinMode(pulsador, INPUT);
pinMode(pulsador2, INPUT);
}


void loop()  
{
  
  
int foto=analogRead(A0);
int conversion= 780 - foto;


if (foto<50)
{
  
  digitalWrite(6, LOW); 
  delay(30);
  digitalWrite(zumbador,HIGH);
  delay(300);
  digitalWrite(zumbador,LOW);
  delay(30);
  
                      if (digitalRead(pulsador)==HIGH)
                      {
                        delay (30);
                        //MPO
                        digitalWrite(2,HIGH);
                        delay (400);
                        digitalWrite(2,LOW);
                        delay (400);
                        digitalWrite(3,HIGH);
                        delay(400)
                        digitalWrite(3,LOW);
                        
                        delay (400);
                        digitalWrite(4,HIGH);
                        delay (200);
                        digitalWrite(4,LOW);
                        delay(100);
                        digitalWrite(motor,HIGH);
                        delay(3000);
                        digitalWrite(motor,LOW);
                        delay(2000);
                        
                      }
                      
  
                      else
                      {
                        
                        digitalWrite(6,HIGH);
                        delay(30);
                        
                      }
  
  
  if (conversion<0)
    conversion=conversion * -1;
    Serial.print("foto:");
    Serial.print(foto);
    Serial.println("");
    
    
    
    
                    if (digitalRead(pulsador2)==HIGH)
                        {
                       delay(30);  //PNO
                       digitalWrite(5,HIGH);
                       delay (70);
                       digitalWrite(5,LOW);
                       delay (70);
                       
                       
                        }
                         if (digitalRead(pulsador)==1  '' digitalRead(pulsador2)==1)
                              
                           {
                             digitalWrite(motor,HIGH);
                             delay(200);
                          
                          digitalWrite(motor,LOW);
                           }
 
  }

Es un error de sintaxis. Te esta diciendo que en el código, en algún lugar, te faltan los siguientes caracteres ';' ')' '}'

Y como se en cual es especificamente?

Los mensajes de error, hay que leerlos, e intentar comprenderlos, ya que nos dan información del error, no solo nos dicen que hay un error.

Empecemos por el primero.

Programacion_acumulativa_Robo_modificada.ino:95:56: error: empty character constant

Nos dice que algo pasa en la línea 95. Si configuras tu ide, para que muestre líneas (Preferences/Display line numbers) puedes encontrar fácilmente el número de línea. Si usas el IDE 1.6.4, te marcará directamente la línea en la que hay el primer error, seleccionando todo el texto de esa línea. En la línea 69 nos encontramos con esto:

if (digitalRead(pulsador)==1  '' digitalRead(pulsador2)==1)

Creo que aquí, has querido poner un OR, que se pone con || no con '' , o sea, dos barras verticales. La barra vertical la encontrarás en la tecla 1, usando AltGr+1. Cambiamos esto y seguimos. Si una vez corregido este error, le das a compilar otra vez, se marcará el siguiente error.

sketch_may27a.ino: In function 'void loop()':
sketch_may27a:53: error: expected ';' before 'digitalWrite'

Nos dice que hay un error dentro del loop, y seguidamente, nos indica que se espera un ; antes del digitalWrite de la línea 53. Efectivamente, si miramos la línea anterior, la 52, nos encontramos esto:

delay(400)

Falta el ; al final de la línea. Lo añadimos y volvemos a compilar, para ver el último error.

sketch_may27a.ino: In function 'void loop()':
sketch_may27a:105: error: expected '}' at end of input
expected '}' at end of input

Esto, básicamente nos viene a decir que falta un } Si lo añadimos al final del todo, en la siguiente línea, la 106, ya nos compila correctamente, pero echa un vistazo a las {} de los if, no vaya a ser que falte algo por ahí en medio.

Muy bien explicado, Carmeloco, y muy didáctico.

Muchas gracias!

Muchas gracias Hector!!!!

Yo también te felicito por el trabajo que te tomaste. Estuve tentado de corregir el código sin mas, pero eso no hubiera servido de nada.

Saludos.

Muchas gracias PeterKantTropus!!!!! A mi también me pasa eso a veces. Ahora estoy aprendiendo a controlar ese impulso, y no corregir las cosas sin más, si no explicar el como y el por qué se corrigen.

Somos varios. Espero que se aprecie el esfuerzo que significa del otro lado.