nada que no hay forma no me deja subir el video
Hola taper,
Al menos puedo que pudes subir fotografias. Recuerda que el tamano maximo por documento anexado es de 4 mega por lo que subir video impica que deben ser muy breves o comprimidos. Peo no te preocupes, si puedes puedes hacer referencia a videos de youtube como el que te dejo:
Saludos y garcias por tu informacion.
taper:
que os parecen estos motores se podrian controlar con arduino?
Correcto! Son motores "paso a paso" (step) Si buscas "28byj-4 arduino" en google encontrarás multitud de información al respecto.
Yo me "apañé" con esta por ejemplo: 4tronix Arduino
Un saludo!
joder palliser esa maqueta es tuya si yo soy un pequeño y e insignificante modelista .............y tu me pides consejo a mi ?
jukar dices que se podria hacer lo mismo con un pulsador ?
taper:
jukar dices que se podria hacer lo mismo con un pulsador ?
El mismo ejemplo de la web que te he pasado con alguna modificación te serviría. Pruebalo tal cual y veras como lo sacas fácil.
Un saludo
de momento he conseguido bajar la velocidad y el angulo de giro haber si me aclaro con lo del boton , aver si me deja subir el video
VID_20131024_202435.mp4 (713 KB)
jukar en el codigo del sero tenia tres cables ,pero ahora cuento con cuatro y dos de corriente + y - esto me va a llever mas tiempo
//declare variables for the motor pins
int motorPin1 = 8; // Blue - 28BYJ48 pin 1
int motorPin2 = 9; // Pink - 28BYJ48 pin 2
int motorPin3 = 10; // Yellow - 28BYJ48 pin 3
int motorPin4 = 11; // Orange - 28BYJ48 pin 4
// Red - 28BYJ48 pin 5 (VCC)
int motorSpeed = 1200; //variable to set stepper speed
int count = 0; // count of steps made
int countsperrev = 512; // number of steps per full revolution
int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};
aqui tego la conexion de los cables , la velocidad de giro y los pasos que quiero que de el motor yo lo tengo que va desde 0º a 45º
este es el codigo que estoy intentando, pero se queda bloqueado , el pin 7 lo tengo conectado al botton con el 5+v que he hecho mal porque al verificar me dice que esta bien,
int BUTTON = 7;
int motorPin;
int val = 0;
int old_val = 0;
int state = 0;
int motorSpeed = 5000;
int count = 0;
int countsperrev = 50;
int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};
void setup()
{
for(motorPin = 8; motorPin <=11;motorPin++ )
{
pinMode(motorPin,OUTPUT);
pinMode(BUTTON, INPUT);
}
}
void loop()
{
val = digitalRead(BUTTON);
if((val ==HIGH) && (old_val == LOW)){
state = 1 -state;
}
old_val = val;
if (state == 1){
for(motorPin = 8; motorPin <=11;motorPin++ )
{
digitalWrite(motorPin,HIGH);
digitalWrite(motorPin,LOW);
}
}
}
por favor alguien podria explicarme por que cuando verifico me da error en ( state = 1 -state; ) en este codigo , que estoy haciendo mal , lo que yo quiero es q al pulsar el boton al mismo tiempo encienda un led verde y cuando vuelvas a pulsar lo apague y encienda una rojo como un semaforo, me explico ...pulsas el boton mueve el servo de 0º a 45º pero al mismo tiempo apaga el led rojo y enciende el verde dando paso a una via y prohibiendo el paso a la otra via , de momento me estoy peleando con el verde y no hay forma............gracias
#include <Servo.h>
const int LED = 4;
Servo myservo;
const int SERVO = 9;
const int BUTTON = 7;
int val = 0;
int old_val = 0;
int estate = 0;
int pos = 0;
void setup()
{
pinMode(LED, OUTPUT);
myservo.attach(SERVO);
pinMode(BUTTON,INPUT);
myservo.write(45);
}
void loop(){
val = digitalRead(BUTTON);
if((val ==HIGH) && (old_val == LOW)){
state = 1 -state;
}
old_val = val;
if (state == 1){
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
val = digitalRead(BUTTON);
if ((val == HIGH) && old_val)
{
if (estate)
{
estate = 0;
for(pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(20);
}
}
else
{
estate = 1;
for(pos = 45; pos>=1; pos-=1)
{
myservo.write(pos);
delay(20);
}
}
old_val = 0;
}
if (val == LOW)
{
old_val = 1;
}
}
¿Podría ser porque state no está definida? Creo que has definido la variable con el nombre estate; no veo definido state por ningún lado.
Saludos.
perdon a que te refieres definir?
Me refiero a que no está declarada. Has definido una variable int estate (con e al principio), pero luego utilizas state (sin e al principio) si se trata de la misma corrigela. Si son dos variables distintas te falta declarar state.
Porque state =0 si que esta definida al principio, tengo que poner tambien state =1 ?
si pongo int state =1, me da error
#include <Servo.h>
Servo myservo;
const int LED = 4;
const int SERVO = 9;
const int BUTTON = 7;
int val = 0;
int old_val = 0;
int estate = 0;
int estate = 1;
int pos = 0;
void setup(){
pinMode(LED, OUTPUT);
myservo.attach(SERVO);
pinMode(BUTTON,INPUT);
myservo.write(45);
}
void loop()
{
val = digitalRead(BUTTON);
if ((val == HIGH) && old_val)
{
if (estate)
{
estate = 0;
for(pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(20);
}
}
else
{
estate = 1;
for(pos = 45; pos>=1; pos-=1)
{
myservo.write(pos);
delay(20);
}
}
old_val = 0;
}
if (val == LOW)
{
old_val = 1;
}
}
No. Has declarado estate=0 (con e inicial). No state=0.
ahora la he visto , si que carga lo q pasa es que a veces pulsas y cambia de posicion y enciende el verde pero aveces pulsas hace la funcion y vuelve a la posicion cero
mira el video lo q hace
VID_20131031_131856.mp4 (1.47 MB)
