• Welcome to LusoRobótica - Robótica em Português.
 

Erro de programação - acelerômetro + Arduino+ Servo motor

Started by megamartinelle, 22 de September de 2014, 04:38

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

megamartinelle

Boa noite!! Very Happy

Bem pessoal, vou logo adiantando o problema, que sou eu :\, sou inciante na plataforma Arduíno não sei muito bem programar. Mas, maiorias das vezes que programo algo é sempre usando logica e parte de outras programações. Resolvi fazer uma programação do que eu já sei e de um projeto meu, vou colocar logo a baixo a programação. Onde eu errei?

#include <AcceleroMMA7361.h>
#include <Servo.h>

Servo servo;

AcceleroMMA7361 accelero;
int x;
int y;
int z;

void setup()
{
  servo.attach(9);
  servo.attach(10);
  servo.attach(11); 
}

void loop()
{
  int val = digitalRead(9);(10);(11);
  x = accelero.getXRaw();
  y = accelero.getYRaw();
  z = accelero.getZRaw();
  val =  map(val,0,1023,0,179);
  servo.write(val);
  delay(15);
}

metRo_

É demasiado óbvio e ao passar os olhos pelo código à Porcia de mais alguma explicação tua reparei caso contrato nem ia analisar o código. O que pretende com isso: int val = digitalRead(9);(10);(11); ?

Primeiro devias ter dito qual o teu objectivo com o projecto e depois dizer qual o problema que estavas a ter se não fica difícil de ajudar.

megamartinelle

Pretendo fazer um braço robótico e com o acelerômetro na minha mãe acoplado em uma luva. Aparte da mão já fiz, que foi usando sensor flex 4,5 polegadas, a questão agora é que a programação esta toda errada eu reconheço isso, só que não reconheço onde estou errando!! :|

senso

 int val = digitalRead(9);(10);(11);

É suposto fazer o quê?
É que até ao primeiro ; até está correcto, mas depois disso nem por isso.

Depois estás a fazer um map a um valor digital que ou é 0 ou 1.
Provavelmente falta código para meter o acelerómetro a funcionar..
Avr fanboy

megamartinelle

  int val = digitalRead(9);(10);(11);
  x = accelero.getXRaw();
  y = accelero.getYRaw();
  z = accelero.getZRaw();
  val =  map(val,0,1023,0,179);
  servo.write(val);
  delay(15);

Isto está errado eu percebi isso agora. No caso o  int val = digitalRead(9);(10);(11); Pensei que tipo colocando isso as leituras do acelerômetro iria para o servo do pino 9, 10 e 11. Mas errei porque não tem o código que faça a leitura do acelerômetro e passe a leitura ele para a posição os servos, é isso?


megamartinelle

Obrigado Araujo!!
Vou aguardar minha impressora para poder imprimir. Mas como voltando ao código que eu fiz meio louco kk onde eu estou errando e como posso corrigir? Desculpa, mas tenho conhecimento limitado por em quanto, mas pretendo dominar em um futuro próximo :D

senso

Seria preciso explicar-te isso linha a linha, basicamente tens erros por tudo quanto é sitio, e não é só de sintaxe, mas sim de COMO se programa, aconselho a seguir uns tutoriais sobre arduino antes de fazeres mais alguma coisa.
Avr fanboy

megamartinelle

Beleza. obrigado Senso!! Valeu gente, ou tentar aqui alguma coisa e daqui a uma semana ou menos comento o resultado.