Ajuda com projecto arduino

Podes alimentar o Arduíno através do jack diretamente a 12v porque tem internamente um regulador.

Sent from my ONE A2003 using Tapatalk
 
apenas por curiosidade porque dizes que o solenoide mecanicamente nao é tao fiavel?

Eu não disse que não é fiável, antes pelo contrário!
O que questionei foi se teria curso suficiente para abrir a tampa do fecho.

Sent from my ONE A2003 using Tapatalk
 
A alimentação é mesmo a 5v é a corrente do carro não é bem 12 volts vai variando.
Mesmo ficando todo o mecanismo tens que ter em linha de conta o que as porta bate como um todo, a força que aquilo faz é tipo martelo

Enviado do meu XT1032 através de Tapatalk
Sim amigo, a intençao nao é meter o arduino na porta da mala, apenas vais la ficar o servo motor, o arduino vou por num sitio que nao seja de dificil acesso, talvez atras de um farol para o poder tirar quando precisar.

Se a voltagem for variável pode juntar um regulador de tensão. E sim o Solenoide tem força suficiente.
Eu sei que o solenoide tem força suficiente, a questao nao é essa, apenas optei pelo arduino porque para alem de querer aprender a "brincar" com ele, tenho ideias para outras mods em que posso tirar proveito do mesmo.

Podes alimentar o Arduíno através do jack diretamente a 12v porque tem internamente um regulador.

Sent from my ONE A2003 using Tapatalk
Pelo que tenho lido é mesmo como dizes e a intençao é mesmo liga-lo a 12v, mesmo que aja um pico de corrente a passar dos 12v nao ha problema?

Eu não disse que não é fiável, antes pelo contrário!
O que questionei foi se teria curso suficiente para abrir a tampa do fecho.

Sent from my ONE A2003 using Tapatalk
Sim tem curso suficiente, ja vi alguns projectos em que optaram pelo solenoide, mas acho a abertura muito violenta, queria algo mais soft como o servo, e como ja disse, mais tarde tenho outras mods em que posso usar o arduino, assim ja fica feito.
Amigo é abusar muito da tua boa vontade se te pedir para me ajudares com a programaçao?
Quanto a ligaçao que me mostras-te esta simples e facil de compreender, so tenho de comprar as resistencias, agora falta-me a programaçao :S
 
Eu nem coloquei em questão colocarei o Arduino na mala, ficava a parecer uma caixa de pregos lol falo menos nos mecanismos, de qualquer modo é algo que depois vês

Enviado do meu XT1032 através de Tapatalk
 
amigo os mecanismos sao algo muito simples, deixo uma foto que encontrei igual ao que fiz, nao me parece que va afectar alguma coisa ou mesmo notar-se algo solto, mas depois testo bem isso :)
seat_zpsfrqxl1qr.jpg


Bem quanto aos avanços do projecto ja tenho todo o material necessario e ja fiz toda a ligaçao conforme o amigo wifi me propos no esquema, agora so falta a programaçao, vou começar umas pesquisas a ver se me safo, ou se alguem me puder dar uma ajudinha agradecia ;)
 
Ora bem deixo o ponto da situaçao, quanto as ligaçoes de hardware que o nosso amigo wifi deixou estao aprovadas, tudo ok e bastante simples, agora estou com um pequeno problema na programaçao que se me pudessem ajudar agradecia, ja queimei os neuronios nisto e ainda nao dei com o gato, o mais provavel é ser simples mas nao estou a dar com ele...
Portanto com a programaçao que deixo a seguir consigo que o servo motor rode para um lado e ao receber o sinal (marcha atras) no pino 8 ele roda em ambos sentidos uns segundos e para, aqui esta o meu problema porque supostamente so deveria de rodar para o lado oposto os graus que eu pretendo e parar, alguem me ajuda a dar com o erro???

Aqui fica o que ja desenvolvi

#include <Servo.h>

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos=0;

void setup() {
pinMode(8, INPUT);

myservo.attach(9);
}


void loop()
{
if (digitalRead(8)== HIGH)

{
for(pos = 0; pos < 90; pos += 1)
{
myservo.write(pos);
delay(5);
}

for(pos = 90; pos>=1; pos-=1)
{
myservo.write(pos);
delay(5);
}

}
}
 
Segundo o teu código, desde que o sinal ligado no pino 8 esteja no nível HIGH (5V) então o servo estará a fazer loops entre os 0 e 90º.
Acho que não é bem isso que queres!

Não tenho o hardware pelo que certamente serão necessário ajustes.
Aproveitando o teu código:

#include <Servo.h>

#define POS_MAX 90
#define POS_MIN 0

Servo myservo;

void setup()
{
pinMode(8, INPUT);
myservo.attach(9);
myservo.write(POS_MIN);
}

void loop()
{
if (digitalRead( 8 ) == HIGH)
myservo.write(POS_MAX);
else
myservo.write(POS_MIN);

delay(5);
}

Em princípio, isto será o suficiente. Em todo o caso, presumo que queiras uma abertura ainda mais lenta.
Se for o caso, então o código poderá ficar assim:

#include <Servo.h>

#define POS_MAX 90
#define POS_MIN 0

Servo myservo;
int pos;
int switch;
int old_switch;

void setup()
{
pinMode(8, INPUT);
myservo.attach(9);
myservo.write(POS_MIN);
switch=digitalRead( 8 );
old_switch=switch;
}

void loop()
{
switch = digitalRead( 8 );
if ( switch != old_switch)
{
old_switch=switch;
if(switch=HIGH)
for(pos=POS_MIN; pos<=POS_MAX; pos++)
{
myservo.write(pos);
delay(5);
}
else
for(pos=POS_MAX; pos>=POS_MIN; pos--)
{
myservo.write(pos);
delay(5);
}
}
delay(5);
}

Ambos os códigos têm um bug (que não é bug) quando desligas o carro, tens que o fazer sem a marca-a-trás ligada, caso contrário vais ficar com o sistema aberto, a menos que a mola do sistema de abertura tenha força suficiente para mover o motor para trás quando é desligada a alimentação.
O que tens a fazer é montar tudo e ajustar os valores limites de pos_max e pos_min e os delays que estão dentro dos "for" que me parecem pequeninos para fazer uma abertura suave.
 
Falta acrescentar que fiz o código diretamente aqui e nem sequer compilei... por isso pode haver erros de compilação!
 
Segundo o teu código, desde que o sinal ligado no pino 8 esteja no nível HIGH (5V) então o servo estará a fazer loops entre os 0 e 90º.
Acho que não é bem isso que queres!

Não tenho o hardware pelo que certamente serão necessário ajustes.
Aproveitando o teu código:

#include <Servo.h>

#define POS_MAX 90
#define POS_MIN 0

Servo myservo;

void setup()
{
pinMode(8, INPUT);
myservo.attach(9);
myservo.write(POS_MIN);
}

void loop()
{
if (digitalRead( 8 ) == HIGH)
myservo.write(POS_MAX);
else
myservo.write(POS_MIN);

delay(5);
}

Em princípio, isto será o suficiente. Em todo o caso, presumo que queiras uma abertura ainda mais lenta.
Se for o caso, então o código poderá ficar assim:

#include <Servo.h>

#define POS_MAX 90
#define POS_MIN 0

Servo myservo;
int pos;
int switch;
int old_switch;

void setup()
{
pinMode(8, INPUT);
myservo.attach(9);
myservo.write(POS_MIN);
switch=digitalRead( 8 );
old_switch=switch;
}

void loop()
{
switch = digitalRead( 8 );
if ( switch != old_switch)
{
old_switch=switch;
if(switch=HIGH)
for(pos=POS_MIN; pos<=POS_MAX; pos++)
{
myservo.write(pos);
delay(5);
}
else
for(pos=POS_MAX; pos>=POS_MIN; pos--)
{
myservo.write(pos);
delay(5);
}
}
delay(5);
}

Ambos os códigos têm um bug (que não é bug) quando desligas o carro, tens que o fazer sem a marca-a-trás ligada, caso contrário vais ficar com o sistema aberto, a menos que a mola do sistema de abertura tenha força suficiente para mover o motor para trás quando é desligada a alimentação.
O que tens a fazer é montar tudo e ajustar os valores limites de pos_max e pos_min e os delays que estão dentro dos "for" que me parecem pequeninos para fazer uma abertura suave.
Amigo ja te respondi ;)
Master pá

Enviado do meu XT1032 através de Tapatalk
Master é a favor, esta coisa do arduino é muito engraçada e da para fazer muita coisa mas é para quem sabe, apesar de que com algumas pesquisas e umas ajudas como o amigo wifi esta a dar em alguns projectos começa-se a perceber como programar e como funciona este brinquedo :)
Falta acrescentar que fiz o código diretamente aqui e nem sequer compilei... por isso pode haver erros de compilação!
Sim amigo, como ja te disse por mp o primeiro esta bem compilado, é so copiar colar, o segundo é que ficou deformado a colar aqui no forum, quanto ao primeiro codigo, o problema que te falei penso que nao seja da programaçao mas sim do sinal de marcha atras que entra no pino 8 porque o servo tanto faz o que pretendo como de repente começa a fazer loops sozinho se deixar o sinal conectado ao pino 8 por algum tempo.... :S
 
Sim amigo, como ja te disse por mp o primeiro esta bem compilado, é so copiar colar, o segundo é que ficou deformado a colar aqui no forum, quanto ao primeiro codigo, o problema que te falei penso que nao seja da programaçao mas sim do sinal de marcha atras que entra no pino 8 porque o servo tanto faz o que pretendo como de repente começa a fazer loops sozinho se deixar o sinal conectado ao pino 8 por algum tempo.... :S

Eheh... isto de fazer código sem o compilar, era de esperar asneira!
Neste caso, asneira óbvia! switch é uma palavra reservada que não pode ser usada para nome de variável!!
Segue por email o código corrigido.
 
Ponto da situação, este rapaz é impecável :)
Programação feita, instalação eléctrica feita e tudo testado, agora é fazer a instalação como manda a lei e começar a montar tudo no carro, mal tenha tudo pronto faço um DIY e claro que será mencionado que todo mérito é do amigo wifi, mais uma vez muito obrigado por todo o trabalho e paciência que tiveste comigo :)
 
Back
Top