Show Posts
Pages: [1] 2
1  International / Portugues / [AJUDA] error: expected unqualified-id before numeric constant on: June 20, 2013, 08:30:42 pm
Estou fazendo um seguidor de linha e agora quando creio que ja terminei meu codigo aparece este seguinte erro ( error: expected unqualified-id before numeric constant ) ele não identifica nem um alinha so apresenta o erro. Pesquisei por esse erro mas não descobri o que ele significa e não consigo identificar o problema em meu codigo. Se alguem poder me ajudar fico grato

 
Code:
//Definições para controlar o Motores
#define enable1 12 // velocidade motor 1
#define enable2 13 // velocidade motor 2
#define A1  8  // motor 1
#define A2  9
#define B1  10 // motor 2
#define B2  11

//Definição dos pinos onde estão os sensores
#define linha1 22
#define linha2 24
#define linha3 26
#define linha4 28
#define linha5 30
#define linha6 32
void setup()
{
  //Define pinos como saída
  pinMode(enable1, OUTPUT);
  pinMode(enable2, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(B1, OUTPUT);
  pinMode(B2, OUTPUT);
}
void loop(){
int val_sensores = lesensores();
if (val_sensores == 0 || val_sensores == 10 || val_sensores == 20 )
{
  IrFrente();
}
 else if (val_sensores == 5 || val_sensores == 15 || val_sensores == 25 )
 {
 IrDireita();
 }
 else if (val_sensores == 3 || val_sensores == 13 || val_sensores == 23 )
 {
  IrEsquerda();
 }
 else if (val_sensores == 7 || val_sensores == 22 || val_sensores == 32 )
 {
 girar90grausDireita();
 }
 else if (val_sensores == 1 || val_sensores == 14 || val_sensores == 24 )
 {
 girar90grausEsquerda();
 }

 }




void IrFrente(){
    analogWrite(enable1, 255);
    analogWrite(enable2, 255);
    digitalWrite(A1, LOW);
    digitalWrite(A2, HIGH);
    digitalWrite(B1, LOW);
    digitalWrite(B2, HIGH);
    }
   
void IrEsquerda(){
      analogWrite(enable1, 255);
      analogWrite(enable2, 0);
      digitalWrite(A1, LOW);
      digitalWrite(A2, HIGH);
      digitalWrite(B1, LOW);
      digitalWrite(B2, HIGH);
      }

void IrDireita(){
      analogWrite(enable1, 0);
      analogWrite(enable2, 255);
      digitalWrite(A1, LOW);
      digitalWrite(A2, HIGH);
      digitalWrite(B1, LOW);
      digitalWrite(B2, HIGH);
      }
 
 void girar90grausDireita(){
analogWrite(enable1, 200);
analogWrite(enable2, 200);
digitalWrite(A1, LOW);
digitalWrite(A2, HIGH);
digitalWrite(B1, HIGH);
digitalWrite(B2, LOW);
delay(450);
}
 
 void girar90grausEsquerda(){
analogWrite(enable1, 200);
analogWrite(enable2, 200);
digitalWrite(A1, HIGH);
digitalWrite(A2, LOW);
digitalWrite(B1, LOW);
digitalWrite(B2, HIGH);
delay(450);
}
 


int lesensores(){
//--------------------
  int sensores = 0;
  pinMode( linha1, OUTPUT );
  digitalWrite( linha1, HIGH );
  delayMicroseconds(10);
  pinMode( linha1, INPUT );
  long time1 = micros();

  while (digitalRead(linha1) == HIGH && micros() - time1 < 3000);
  int diff1 = micros() - time1;
if (diff1 > 1600)
    sensores += 1;
   
//---------------------
  pinMode( linha2, OUTPUT );
  digitalWrite( linha2, HIGH );
  delayMicroseconds(10);
  pinMode( linha2, INPUT );
  long time2 = micros();

  while (digitalRead(linha2) == HIGH && micros() - time2 < 3000);
  int diff2 = micros() - time2;

  if (diff2 > 1600)
    sensores += 3;
//------------------------
pinMode( linha3, OUTPUT );
  digitalWrite( linha3, HIGH );
  delayMicroseconds(10);
  pinMode( linha3, INPUT );
  long time3 = micros();

  while (digitalRead(linha3) == HIGH && micros() - time3 < 3000);
  int diff3 = micros() - time3;
if (diff3 > 1600)
    sensores += 10;
//-----------------------------     
    pinMode( linha4, OUTPUT );
  digitalWrite( linha4, HIGH );
  delayMicroseconds(10);
  pinMode( linha4, INPUT );
  long time4 = micros();

  while (digitalRead(linha4) == HIGH && micros() - time4 < 3000);
  int diff4 = micros() - time4;
if (diff4 > 1600)
    sensores += 10;
//----------------------   
    pinMode( linha5, OUTPUT );
  digitalWrite( linha5, HIGH );
  delayMicroseconds(10);
  pinMode( linha5, INPUT );
  long time5 = micros();

  while (digitalRead(linha5) == HIGH && micros() - time5 < 3000);
  int diff5 = micros() - time5;
if (diff5 > 1600)
    sensores += 5;
//--------------------------   
    pinMode( linha6, OUTPUT );
  digitalWrite( linha6, HIGH );
  delayMicroseconds(10);
  pinMode( linha6, INPUT );
  long time6 = micros();

  while (digitalRead(linha6) == HIGH && micros() - time6 < 3000);
  int diff6 = micros() - time6;
if (diff6 > 1600)
    sensores += 7;
   
  return sensores;
}


Vou fazer uma breve explicação do codigo para tentar deixa-lo mais claro:

No meu codigo estabeleço um valor para cada um dos 6 sensores, pela soma total dos  valores consigo localizar a posição da linha 
os valores que estabeleci são:
sensor1 = 1
sensor2 = 3
sensor3 = 10
sensor4 = 10
sensor5= 5
sensor6 = 7

o valor de posição ideal é 20 quando a linha esta no centro do robo sobre os sensores 3 e 4.

Desta forma a cada valor de posição poso escolher a ação dos motores para corrigi-lo, ex: o valor total deu 15 isto indica que a linha esta sobre os sensores 4 (valor 10) e sobre o sensor 4 (valor 5) então a linha esta mais a direita do centro 
2  International / Portugues / Re: [Ajuda] Braço robotico on: April 14, 2013, 12:46:22 pm
Obrigado pelas respostas pessoas  smiley-grin
Optei pelo braço porque não sei exatamente o diâmetro do tubo, com um elevador poderia ocorrer dois casos extremos a altura máxima do elevador ser pouca e a câmera não chegar no centro do tubo ou a altura do elevador ser muito alta de forma que o robô nem entre no tubo, por isso a escolha por braço, se eu baixa-lo no máximo ele ficara praticamente na altura do robô e posso eleva-lo bastante.

Como disse esse braço inicial vai ser bem simples so para ter uma ideia melhor de como vai funcionar e apresentar para meu professor orientador, no braço final pretendo que mova a câmera para os lados de forma a poder ver melhor uma imperfeição no tubo.

Estou baseando meu projeto neste robô



Ja a parte de nivelação da câmera estou querendo fazer algo desta forma (a partis dos 0:18min) https://www.youtube.com/watch?v=I--AcLlFjbk

A vibração de momento não vai ser velada em conta, ja que esse é so o projeto para apresentação de ideia e também o robô vai trabalhar em um tubo liso onde creio que a vibração vai ser pouca
3  International / Portugues / [Ajuda] Braço robotico on: April 13, 2013, 11:11:21 pm
Boa noite, estou fazendo um projeto que consiste em um robô com um braço robótico onde terá uma câmera, esta câmera deve sempre esta em paralelo com o chão, e o braço serviria para regular a altura da câmera.

Este robô servira para a inspeção de um tubo, onde a câmera deve esta sempre no centro do tubo, pretendo fazer um braço bem simples de inicio, um servo na base para regular a altura do braço e outro na "mão" para regular a inclinação da câmera onde vou controlar a sua altura com dois botões, um para subir e outro para abaixar, vou posicionar o robô no inicio do tubo regular a altura do braço  através dos botões e iniciar a inspeção( o braço vai se manter na mesma posição durante a inspeção).

Estou em duvida de como fazer para que a câmera sempre se mantenha em paralelo com o solo durante a regulagem da altura, poderia controlar a posição da câmera através de botões também, mas preferia que ela se mante-se em paralelo com o solo de forma automática.

aqui uma imagem básica so para ter uma ideia melhor do robô e do braço

e este é o código do botões
Code:
/*
Sketch: Este programa ira girar o eixo de um servomotor para direita ou esquerda lendo o estado de dois botoes assim identificados.
*/

#include <Servo.h>

const int botaoDireita = 2;    // identifica o pino do botao a direita
const int botaoEsquerda = 3;   // identifica o pino do botao a esquerda
const int servo = 4;           // identifica o pino do servomotor

Servo servoMotor;              // declara um objeto tipo Servo

int angulo = 90;               // controla a posicao do eixo

void setup() {
 pinMode(botaoDireita, INPUT);
 digitalWrite(botaoDireita, HIGH);

 pinMode(botaoEsquerda, INPUT);
 digitalWrite(botaoEsquerda, HIGH);

 servoMotor.attach(servo);      // conecta o motor ao pino de controle
 servoMotor.write(angulo);      // gira o servo ate o ponto do meio
}

void loop() {
 if(digitalRead(botaoDireita) == LOW) {     // botao direita pressionado
  if(angulo < 180) {
   angulo = angulo + 1;
  }
 } else {
   if(digitalRead(botaoEsquerda) == LOW) {  // botao esquerda pressionado
    if(angulo > 0) {
     angulo = angulo - 1;
    }
   }
 }

 servoMotor.write(angulo);
 delay(5);
}
4  International / Portugues / [Ajuda] Programar 3pi com Atmel Studio on: February 20, 2013, 10:29:36 pm
Boa noite a todos, estou vindo aqui para perdi a ajuda de vocês, bem comprei um 3pi da Pololu e estou sofrendo muito para tentar programalo (não estou conseguindo fazer nada  smiley-red), os guias do site da Pololu são meio vagos me deixaram com muitas duvidas e não achei respostas a minhas duvidas no forum da Pololu .

O problema maior é que estou acostumado com a IDE do arduino(simples e intuitiva) e ao me deparar com a IDE Atmel Studio estou completamente perdido smiley-cry
não estou conseguindo saber como faz para copilar um codigo com ela, alguem poderia me ajudar? seguindo os passo do guia do site da pololu, verifico o codigo (F7 correto?) ele da ok, e depois faço o Debug(que não sei o que é) o LED do programador AVR muda de cor, mas o codigo do robô não muda  smiley-cry smiley-cry
E outra duvida quando for copilar um codigo devo coloca as pilhas no 3pi e liga-lo certo?
5  International / Portugues / [Duvidas] Mega e xbee on: December 19, 2012, 11:46:52 am
Boa tarde pessoal, vou começar a usar xbee e estou com algumas duvidas:

Vou usar o xbee no Arduino Mega, mas nas minhas pesquisas de shield xbee só encontro shield para o Uno, posso usar a shield para uno no mega?

E em minhas buscas hora vejo xbee ou zigbee, alguem poderia me dizer a diferença. Meu projeto é um hexapod controlado pelo pc, qual dele se adapta melhor ao projeto?
6  International / Portugues / Re: [Duvida] Múltiplas programações no Arduino uno on: November 10, 2012, 01:21:38 pm
Aqui so algumas fotos de como esta o robô



7  International / Portugues / Re: [Duvida] Múltiplas programações no Arduino uno on: November 10, 2012, 01:16:24 pm
Estes dias retomei a idei de selecionar a função do robô pelos botoes.
O codigo esta desta forma, onde função1 e o seguidor de linha, função2 controlado por IR e a função3 e o desvia de obstaculos (ainda não comecei este codigo)
Bem o codigo esta assim:
Code:
#include <IRremote.h>

int BOTAO1 = 0;
int BOTAO2 = 1;
int BOTAO3 = 2;

int  motor1pin1 = 5;   
int  motor1pin2 = 6;     
int  motor2pin1 = 9;   
int  motor2pin2 = 10; 

int led1 = 3;
int led2 = 4; 
int led3 = 7;


int PinoSensor1 = A0;
int PinoSensor2 = A1;
int receiver = A3;

IRrecv irrecv(receiver);
decode_results results;

boolean botao1 = false;
boolean botao2 = false;
boolean botao3 = false;

void setup() {
    // coloque aqui o que será executado logo ao ligar o Arduino

  pinMode( BOTAO1, INPUT );
  pinMode( BOTAO2, INPUT );
  pinMode( BOTAO3, INPUT );

  pinMode(motor1pin1, OUTPUT);
  pinMode(motor1pin2, OUTPUT);
  pinMode(motor2pin1, OUTPUT);
  pinMode(motor2pin2, OUTPUT);
 
  pinMode(led1, OUTPUT); 
  pinMode(led2, OUTPUT);       
  pinMode(led3, OUTPUT);   

  pinMode(PinoSensor1,INPUT);       
  pinMode(PinoSensor2,INPUT); 
  pinMode(receiver, INPUT);
   

  Serial.begin(9600);
  irrecv.enableIRIn();

}



void loop() {

    if ( digitalRead( BOTAO1 ) == HIGH ) {
        botao1 = true;
        botao2 = false;
        botao3 = false;
    } else if ( digitalRead( BOTAO2 ) == HIGH ) {
        botao1 = false;
        botao2 = true;
        botao3 = false;
    } else if ( digitalRead( BOTAO3 ) == HIGH ) {
        botao1 = false;
        botao2 = false;
        botao3 = true;
    }

    if ( botao1 ) {
        executarFuncao1();
    } else if ( botao2 ) {
        executarFuncao2();
    } else if ( botao3 ) {
        executarFuncao3();
    }
}

void executarFuncao1() {

 digitalWrite(led1, HIGH); // led sinalisador

 int sensorValor1 = analogRead(PinoSensor1);
 Serial.println(sensorValor1);
 if (sensorValor1 <=100){
 
  digitalWrite(motor1pin1,HIGH);

  }
  else {

 digitalWrite(motor1pin1,LOW);

 }
 
  int sensorValor2 = analogRead(PinoSensor2);
  if (sensorValor2  <= 350){
  Serial.println(sensorValor2);

  digitalWrite(motor2pin1,HIGH);

  }

  else { 

  digitalWrite(motor2pin1,LOW);

  }
 
}

void executarFuncao2() {

  digitalWrite(led2, HIGH); // led sinalisador

if (irrecv.decode(&results)){ 
switch(results.value){
   
            //CONTROLE
 
case 16736925:{ //  Mode
  digitalWrite(motor1pin1,HIGH);
  digitalWrite(motor1pin2,LOW);
  digitalWrite(motor2pin1,HIGH);
  digitalWrite(motor2pin2,LOW);
  Serial.println("IR - FRENTE");
  break;
}
case 16761405:{ //  >>/
  digitalWrite(motor1pin1,HIGH);
  digitalWrite(motor1pin2,LOW);
  digitalWrite(motor2pin1,LOW);
  digitalWrite(motor2pin2,HIGH);
  Serial.println(" GIRAR HORARIO ");
  break;
}
case 16720605:{ //      >//
  digitalWrite(motor1pin1,LOW);
  digitalWrite(motor1pin2,HIGH);
  digitalWrite(motor2pin1,HIGH);
  digitalWrite(motor2pin2,LOW);
  Serial.println("GIRAR ANTI-HORARIO");
  break;
}
case 16754775:{ //     VOL -
  digitalWrite(motor1pin1,LOW);
  digitalWrite(motor1pin2,HIGH);
  digitalWrite(motor2pin1,LOW);
  digitalWrite(motor2pin2,HIGH);
  Serial.println("IR - TRAS");
  break;
}
case 16712445:{ //     /<<
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  Serial.println("LIGAR LEDs");
  break;
 }
}
  delay(100);
  irrecv.resume();
  }
 }


void executarFuncao3() {
  // desvia de obstaculos
}

o problema e que assim que eu ligo o robô ele ja entra na função 1, sem ter apertado nada.
estou ligando os botoes da seguinte forma http://blog.samuelcavalcante.com/wp-content/uploads/2011/06/Acionando-o-LED-com-botao-fritzing-289x300.jpg mas com o positivo e negativo trocado para que ele envie sinal positivo quando pressionado.

sa refiz as ligações de tudo farias vezes, então se alguem poder me ajudar em onde meu codigo esta errado agradeço.
8  International / Portugues / Re: Regulagem receptor IR on: November 10, 2012, 11:40:08 am
Usar esse codigo para obter o valor do botao, ele vai le fornecer so numeros e sempre constantes
 
Code:
#include <IRremote.h> //ADICIONA A BIBLIOTECA IR

int receiver = A0; //DEFINE O PINO ANAÓGICO 0 COMO ENTRADA DOS SINAIS IR
IRrecv irrecv(receiver);
decode_results results;
void setup()
{
  Serial.begin(9600); //INICIA COMUNICAÇÃO SERIAL
  irrecv.enableIRIn(); // INICIA O RECEPTOR
}
void loop()
{
if (irrecv.decode(&results)) // DECODIFICA O SINAL DO RECEPTOR
{
Serial.println(results.value, DEC); //IMPRIME NA PORTA SERIAL OS VALORES OBTIDOS
   
   
  switch(results.value)
  {}
  delay(500);
  irrecv.resume(); // RECEBE O PRÓXIMO VALOR
  }
}

foi o que eu usei no robô controlado por controle IR e ele funciona muito bem
9  International / Portugues / Re: Robô controle IR on: October 22, 2012, 10:38:57 pm
Obrigado mmoscz pela ajuda, mas ao testa vi que ainda não é exatamente o que eu quero, no seu codigo o robô so da um pulso assim que aperta o botão, eu quero que o robô execute a função enquanto o botão estiver pressionado, ou seja se eu segurar o botão que manda ele ir para frente ele vai enquanto eu segurar o botão e ao soltar o botão ele para.

Desculpe se não expliquei direito o que queria e obrigado novamente pela ajuda
10  International / Portugues / Robô controle IR on: October 22, 2012, 09:17:20 pm
Boa noite pessoal, fiz um codigo para um robô controlado por controle IR, bem o codigo "esta correto", o robô funciona mas com um detalhe,
Por exemplo, quando aperto o botão MODE do controle que faz o robô ir para frente ele vai indo ate eu apertar outro botão, ou seja a função fica ativa mesmo depois de soltar o botão MODE.

O que eu quero e não estou conseguindo fazer, é fazer com que o robô so obedeça o comando enquanto o botão esteja apertado, quando não houver nem um botão pressionado o robô fique parado.

o meu codigo é este:
Code:
#include <IRremote.h>
 
int motor1pin1 = 3;
int motor1pin2 = 4;
int motor2pin1 = 5;
int motor2pin2 = 6;
int led1 = 8;
int led2 = 9;
int receiver = A0;

IRrecv irrecv(receiver);
decode_results results;

void setup(){
  pinMode(motor1pin1, OUTPUT);
  pinMode(motor1pin2, OUTPUT);
  pinMode(motor2pin1, OUTPUT);
  pinMode(motor2pin2, OUTPUT);
  pinMode(led1, OUTPUT); 
  pinMode(led2, OUTPUT);
  pinMode(receiver, INPUT);
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void loop(){
 
if (irrecv.decode(&results)){ 
switch(results.value){
   
            //CONTROLE
 
case 16736925:{ //  Mode
  digitalWrite(motor1pin1,HIGH);
  digitalWrite(motor1pin2,LOW);
  digitalWrite(motor2pin1,HIGH);
  digitalWrite(motor2pin2,LOW);
  Serial.println("IR - FRENTE");
   break;
}
case 16761405:{ //  >>/
  digitalWrite(motor1pin1,HIGH);
  digitalWrite(motor1pin2,LOW);
  digitalWrite(motor2pin1,LOW);
  digitalWrite(motor2pin2,HIGH);
  Serial.println(" GIRAR HORARIO ");
  break;
}
case 16720605:{ //      >//
  digitalWrite(motor1pin1,LOW);
  digitalWrite(motor1pin2,HIGH);
  digitalWrite(motor2pin1,HIGH);
  digitalWrite(motor2pin2,LOW);
  Serial.println("GIRAR ANTI-HORARIO");
  break;
}
case 16754775:{ //     VOL -
  digitalWrite(motor1pin1,LOW);
  digitalWrite(motor1pin2,HIGH);
  digitalWrite(motor2pin1,LOW);
  digitalWrite(motor2pin2,HIGH);
  Serial.println("IR - TRAS");
  break;
}
case 16712445:{ //     /<<
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  Serial.println("LIGAR LEDs");
  break;
}
case 16753245:{ //   on/off
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  Serial.println("APAGAR LEDs");
  break;
  }

}
  delay(100);
  irrecv.resume();
  }
}

E aqui um vídeo do robô caso não tenha ficado claro o meu problema
http://www.youtube.com/watch?v=LgnrWxHKbeg&feature=youtu.be
11  International / Portugues / Re: [Ajuda] Seguidor de linha on: September 23, 2012, 10:29:19 am
Obrigado Mortis smiley-grin, fiz com dois sensores pq nunca tinha feito um seguidor de linha e queria fazer o mais basico possivel para começar a entender o funcionamente, por isso do codigo tão simples sem nem usar todas as portas do sn754410

Quero mesmo é fazer um com cinco sensores que possa fazer curva de 90º *---*, mas não faço a menor ideia de como o codigo funciona  smiley-cry agora vou pesquisar mais e tentar fazer o de cinco sensores smiley-yell
12  International / Portugues / Re: [Ajuda] Seguidor de linha on: September 22, 2012, 10:35:44 pm
Obrigado pela atenção de todos, com a ajuda do haistems_por, conseguir fazer o robô funcionar direito smiley-lol smiley-lol mas caso possa ajudar alguem vou colocar mais dados do meu robo e de como fiz.

O robô é guiado por dois sensores frontais de IR o esquela obtive nesta pagina http://extremeelectronics.co.in/robotics/making-a-line-sensor-using-ir-receiver/

Para controlar os motores eu usei um SN754410, que é similar os L283d, so que mais potente.

O esquema do robô é este

Obs: os sensor sharp são so para representar os sensores ir

pode se visto aqui tambem

Obs2: como meu robo so anda em uma direção, sempre para frente, so usei duas portas do sn754410, a 2 e a 15, uma para cada motor

E o código que usei foi este

Code:
const int PinoSensor = 0;
const int PinoSensor2 = 1;

const int  motorpin1 = 3;
     
const int  motor2pin1 = 5;     
     

int ValorSensor = 0;

int ValorSensor2 = 1;

void setup(){
  Serial.begin(9600);
 
  pinMode(motorpin1,OUTPUT);       

  pinMode(PinoSensor,INPUT);       
 
  pinMode(motor2pin1,OUTPUT);     

  pinMode(PinoSensor2,INPUT);   
 }
 
 void loop(){
 int sensorValue = analogRead(PinoSensor);
 Serial.println(sensorValue);
 if (sensorValue >=100){
 

  digitalWrite(motorpin1,HIGH);
 

  }
  else {  digitalWrite(motorpin1,LOW);

 


  }
 
  int sensorValue2 = analogRead(PinoSensor2);
 if (sensorValue2  >= 350){


  digitalWrite(motor2pin1,HIGH);
 

  }
  else {  digitalWrite(motor2pin1,LOW);

 

  }
 
 
 
 
}
13  International / Portugues / [Ajuda] Seguidor de linha on: September 20, 2012, 01:40:05 pm
Estou fazendo um seguidor de linha com um arduino uno, o robô em sim ja esta quase pronto, mas estou com problema na hora de executar o codigo.

As ligações estão corretas e os sensores estão enviando os dados normalmente mas o arduino não esta enviando o sinal de nivel alto para ligar os motores, testei conectando um cabo direto de onde devia vir os sinais do arduino no polo possitivo e ele funciona, http://www.youtube.com/watch?v.....e=youtu.be

o codigo para controlar o robô é este:
Code:
const int PinoSensor = 0;
const int PinoSensor2 = 1;

const int  motorpin1 = 3; 
     
const int  motor2pin1 = 5;     
     

int ValorSensor = 0;

int ValorSensor2 = 1;

void setup(){
  Serial.begin(9600);
 
  pinMode(motorpin1,OUTPUT);       

  pinMode(PinoSensor1,INPUT);       
 
  pinMode(motor2pin1,OUTPUT);     

  pinMode(PinoSensor2,INPUT);   
 }
 
 void loop(){
 int sensorValue = analogRead(PinoSensor);
 Serial.println(sensorValue);
 if (ValorSensor >=100){
 

  digitalWrite(motorpin2,HIGH);
 

  }
  else {  digitalWrite(motorpin1,LOW);

 


  }
 
 sensorValue = analogRead(PinoSensor2);
 if (ValorSensor2  >= 350){


  digitalWrite(motor2pin1,HIGH);
 

  }
  else {  digitalWrite(motor2pin1,LOW);

 

  }
 
 
 
 
}

e para obter os valores dos sensores é este o codigo que estou usando:
Code:
void setup()
{ Serial.begin(9600); //Necessary to set up Serial port
}
void loop()
{ Serial.print(analogRead(0));
Serial.print(' ');
delay(1000); //Set the number to change frequency of readings.
}

Não estou conseguindo entender qual é o erro, se alguem poder me ajudar agradeço
14  International / Portugues / Re: [Ajuda] Robô controlado por controle IR on: August 14, 2012, 06:17:43 pm
Bem estou baseando o codigo a partir deste de autoria do robi_gremista.
 
Code:
#include <IRremote.h>
#include <Servo.h>

Servo SERVO_X;
Servo SERVO_GE;
Servo SERVO_GD;

int MOTOR_E = 5;
int MOTOR_D = 6;
int receiver = 3;
int LUZ = 2;
int led = 4;

IRrecv irrecv(receiver);
decode_results results;

void setup(){
  pinMode(led, OUTPUT);
  pinMode(MOTOR_E, OUTPUT);
  pinMode(MOTOR_D, OUTPUT);
  pinMode(LUZ, OUTPUT);
  SERVO_X.attach(9);
  SERVO_GE.attach(10);
  SERVO_GD.attach(11);
  SERVO_GE.write(5);
  SERVO_GD.write(70);
  SERVO_X.write(30);
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void pisca(){
  digitalWrite(led, HIGH);
  delay(50);
  digitalWrite(led, LOW);
}

void loop(){
 
if (irrecv.decode(&results)){ 
switch(results.value){
   
            //CONTROLE
 
case 1086259455:{ //      PLAY/PAUSE
  analogWrite(MOTOR_E, 240);
  analogWrite(MOTOR_D, 80);
  Serial.println("IR - FRENTE");
  pisca();
  break;
}
case 1086292095:{ //      CHANEL -
  analogWrite(MOTOR_E, 240);
  Serial.println("IR - MOTOR ESQ. - FRENTE");
  pisca();
  break;
}
case 1086275775:{ //      CHANEL +
  analogWrite(MOTOR_D, 80);
  Serial.println("IR - MOTOR DIR. - FRENTE");
  pisca();
  break;
}
case 1086267615:{ //      EQUALIZADOR
  analogWrite(MOTOR_E, 100);
  analogWrite(MOTOR_D, 240);
  Serial.println("IR - TRAS");
  pisca();
  break;
}
case 1086300255:{ //      VOLUME -
  analogWrite(MOTOR_E, 100);
  Serial.println("IR - MOTOR ESQ. - TRAS");
  pisca();
  break;
}
case 1086283935:{ //      VOUME +
  analogWrite(MOTOR_D, 240);
  Serial.println("IR - MOTOR DIR. - TRAS");
  pisca();
  break;
}
case 1086296175:{ //      PREVIOUS
  analogWrite(MOTOR_D, 80);
  analogWrite(MOTOR_E, 95);
  Serial.println("IR - GIRO ANT. HORARIO");
  pisca();
  break;
}
case 1086279855:{ //      NEXT
  analogWrite(MOTOR_D, 240);
  analogWrite(MOTOR_E, 240);
  Serial.println("IR - GIRO HORARIO");
  pisca();
  break;
}
case 1086263535:{ //      NUMERO 0
  analogWrite(MOTOR_E, 0);
  analogWrite(MOTOR_D, 0);
  Serial.println("IR - PARADO");
  pisca();
  break;
}
case 1086271695:{ //      NUMERO 1
  SERVO_X.write(90);
  delay(5);
  Serial.println("IR - LEVANTANDO A GARRA");
  pisca();
  break;
}
case 1086304335:{ //      NUMERO 2
  SERVO_GE.write(65);
  SERVO_GD.write(10);
  delay(5);
  Serial.println("IR - ABRINDO A GARRA");
  pisca();
  break;
}
case 1086288015:{ //      NUMERO 3
  SERVO_GE.write(5);
  SERVO_GD.write(70);
  delay(5);
  Serial.println("IR - FECHANDO A GARRA");
  pisca();
  break;
}
case 1086261495:{ //      NUMERO 4
  SERVO_X.write(30);
  delay(5);
  Serial.println("IR - BAIXANDO A GARRA"); 
  pisca();
  break;
}
case 1086294135:{ //      NUMERO 5
  pisca();
  digitalWrite(LUZ, HIGH);
  Serial.println("IR - LUZ - LIGADA");
  pisca();
  break;
}
case 1086277815:{ //      NUMERO 6
  digitalWrite(LUZ, LOW);
  Serial.println("IR - LUZ - DESLIGADA");
  pisca();
  break;
}

case 1086269655:{pisca();} //      NUMERO 7
case 1086302295:{pisca();} //      NUMERO 8
case 1086285975:{pisca();} //      NUMERO 9
case 1086265575:{pisca();} //      PICK SONG
case 1086281895:{pisca();} //      CHANEL SET
}
  delay(100);
  irrecv.resume();
  }
}

No codigo dele as funções IRrecv irrecv(receiver); decode_results results; copilam sem problema, mas no meu não smiley-cry
Sei que parece um tanto quanto preguiça da minha parte, mas se alguém pode se modificar o código para o jeito que tentei agradeceria muito, peço isso não por preguiça mas sim por esta ficando louco tentando descobri onde esta o erro  smiley-confuse
15  International / Portugues / Re: [Ajuda] Robô controlado por controle IR on: August 14, 2012, 10:25:19 am
Troquei os codigos dos botoes obtendo-os  atraves de um codigo passado pelo altor do topico de onde estou me baseando, mas o erro continua  smiley-cry o novo codigo fica assim
Code:
#include <IRremote.h>

int motor1Pin1 = 5;    // Ponte H
int motor1Pin2 = 6;    // Ponte H
int motor2Pin1 = 10;   // Ponte H
int motor2Pin2 = 11;   // Ponte H
int led = 4;
int receiver = A0

IRrecv irrecv(receiver);
decode_results results;

void setup(){
 
  // Definir os pinos outputs:
  pinMode(led, OUTPUT);
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
  irrecv.enableIRIn();
}

void pisca(){
  digitalWrite(led, HIGH);
  delay(50);
  digitalWrite(led, LOW);
}

void loop(){
 
if (irrecv.decode(&results)){ 
switch(results.value){
   
            //CONTROLE
 
case 16736925:{ //   Mode => Ir para frete
  digitalWrite(motor1Pin1, HIGH);
  digitalWrite(motor1Pin2, LOW); 
   
  digitalWrite(motor2Pin1, HIGH);   
  digitalWrite(motor2Pin2, LOW);
  break;
}
case 16754775:{ //   VOL- => Ir para traz
  digitalWrite(motor1Pin1, LOW);
  digitalWrite(motor1Pin2, HIGH); 
   
  digitalWrite(motor2Pin1, LOW);   
  digitalWrite(motor2Pin2, HIGH);
  break;
}
case 16720605:{ //  >// PAUSE => Gira para a esquerda
  digitalWrite(motor1Pin1, LOW);
  digitalWrite(motor1Pin2, HIGH); 
 
  digitalWrite(motor2Pin1, HIGH);   
  digitalWrite(motor2Pin2, LOW);
  break;
}
case 16761405:{ //  >>/ Avançar   Girar para a direita
  digitalWrite(motor1Pin1, HIGH);
  digitalWrite(motor1Pin2, LOW); 
   
  digitalWrite(motor2Pin1, LOW);   
  digitalWrite(motor2Pin2, HIGH);
  break;
}

case 16712445:{ // /<< Voltar => LED
  digitalWrite(led, HIGH);
  delay(50);
  digitalWrite(led, LOW);
}

Quando tento copilar o codigo apresenta o seguinte erro
Code:
Controle_IR:9: error: expected ',' or ';' before 'IRrecv'
Controle_IR.cpp: In function 'void setup()':
Controle_IR:20: error: 'irrecv' was not declared in this scope
Controle_IR.cpp: In function 'void loop()':
Controle_IR:31: error: 'irrecv' was not declared in this scope
Controle_IR:73: error: expected `}' at end of input
Controle_IR:73: error: expected `}' at end of input
Controle_IR:73: error: expected `}' at end of input
Pages: [1] 2