Show Posts
Pages: [1]
1  International / Software / duda con servo y reles on: August 28, 2013, 07:39:41 am
hola de nuevo foro! espero que esteis pasando buen veranito. Tengo unas dudas acerca del codigo a emplear para un servo y salidas a rele.
Me explico un poco mejor. Tengo que hacer un inventillo...el servo actua cuando se mantiene activado un pulsador (pulsador1) y cuando se activa el pulsador2 va hacia el lado opuesto. Hasta aqui todo bien, la simulacion en Proteus y en arduino va genial..mi problema llega cuando quiero activar una salida a un rele...cuando cargo el arduino con el codigo para activar el servo y el rele, solo funciona el rele...el servo se queda quieto....necesito que cuando pulse los botones, el servo se mueva, independientemente de si esta a 1 o a 0 la salida al rele. Os dejo el codigo (use la libreria de servo, y tambien modifique la de blink):

FUNCIONA BIEN (aun no se ha añadido el rele)

#include <Servo.h>
 
 Servo myservo;  // create servo object to control a servo
 // a maximum of eight servo objects can be created

int pos = 90;    // variable to store the servo position
const int maxDeg = 160;
const int minDeg = 5;

const int leftPin = 3;
const int rightPin = 2;

const int led1Pin = 6; // indicator
const int led2Pin = 5; // indicator

const int outputPin = 9; // pwm function will be disabled on pin 9 and 10 if using servo

int leftPressed = 0;
int rightPressed = 0;

void setup()
{
myservo.attach(outputPin);  // attaches the servo on pin 9 to the servo object
pinMode(leftPin, INPUT);
pinMode(rightPin, INPUT);
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
}

void loop()
{
leftPressed = digitalRead(leftPin);
rightPressed = digitalRead(rightPin);
 
 if(leftPressed){
 if(pos < maxDeg) pos += 3;
myservo.write(pos);              // tell servo to go to position in variable ‘pos’
digitalWrite(led1Pin,HIGH);
 }
 else
digitalWrite(led1Pin,LOW);
 
 if(rightPressed){
 if(pos > minDeg) pos -= 3;
myservo.write(pos);              // tell servo to go to position in variable ‘pos’
digitalWrite(led2Pin,HIGH);
 }
 else
digitalWrite(led2Pin,LOW);
 
delay(15);                       // waits 15ms for the servo to reach the position

}


SOLO FUNCIONA EL RELE (EL SERVO NO SE MUEVE AUNQUE PULSES)

#include <Servo.h>
 
 Servo myservo;  // create servo object to control a servo
 // a maximum of eight servo objects can be created

int pos = 90;    // variable to store the servo position
const int maxDeg = 160;
const int minDeg = 5;

const int leftPin = 3;
const int rightPin = 2;

const int led1Pin = 6; // indicator
const int led2Pin = 5; // indicator

const int outputPin = 9; // pwm function will be disabled on pin 9 and 10 if using servo

int leftPressed = 0;
int rightPressed = 0;

int rele = 13;

void setup()
{
myservo.attach(outputPin);  // attaches the servo on pin 9 to the servo object
pinMode(leftPin, INPUT);
pinMode(rightPin, INPUT);
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(rele, OUTPUT);

}

void loop()
{
  digitalWrite(rele, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(4000);               // wait for a second
  digitalWrite(rele, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);


leftPressed = digitalRead(leftPin);
rightPressed = digitalRead(rightPin);
 
 if(leftPressed){
 if(pos < maxDeg) pos += 3;
myservo.write(pos);              // tell servo to go to position in variable ‘pos’
digitalWrite(led1Pin,HIGH);
 }
 else
digitalWrite(led1Pin,LOW);
 
 if(rightPressed){
 if(pos > minDeg) pos -= 3;
myservo.write(pos);              // tell servo to go to position in variable ‘pos’
digitalWrite(led2Pin,HIGH);
 }
 else
digitalWrite(led2Pin,LOW);
 
delay(15);                       // waits 15ms for the servo to reach the position

}

perdon por el ladrillo, espero que me ayudeis, es urgente.

Muchas gracias
2  International / Español / Re: proyecto pedalera para guitarra con arduino on: May 14, 2012, 11:08:10 am
muchisimas gracias nayma, todo correcto, la simulacion perfecta a la primera, gracias a tu ayuda y a la del foro podre presentar mi proyecto a tiempo! para cualquier cosa estare por aqui! muchas gracias de nuevo y un saludo
3  International / Español / Re: proyecto pedalera para guitarra con arduino on: May 13, 2012, 01:56:45 pm
nadie dice nada? nadie se anima? gracias de antemano smiley-roll-blue
4  International / Español / simulando con dos pulsadores pero falla... on: May 10, 2012, 01:56:13 pm
hola de nuevo, estoy simulando con un solo pulsador y todo correcto...pero al querer meter mas, en vez de el led quedarse fijo, parpadean, y los pulsadores no gobiernan bien los led's, puedo apagar o encender los dos led con un mismo pulsador..algo muy raro..no se que puede fallar.gracias de antemano.saludos

const int buttonPin = 2;
const int ledPin =  13;
int buttonState = 0;

const int buttonPin2 = 4;
const int ledPin2 =  12;
int buttonState2 = 0;
boolean LED_ON;
boolean FLAG_PULSE;

void setup() {
  pinMode(ledPin, OUTPUT);     
  pinMode(buttonPin, INPUT);
  pinMode(ledPin2, OUTPUT);     
  pinMode(buttonPin2, INPUT);
  LED_ON = false;
  FLAG_PULSE = true;
}

void loop(){
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH && LED_ON == false && FLAG_PULSE == true)
    {     
    digitalWrite(ledPin, HIGH); 
    LED_ON = true;
    FLAG_PULSE = false;
    }
  else if (buttonState == HIGH && LED_ON == true && FLAG_PULSE == true)
    {
    digitalWrite(ledPin, LOW);
    LED_ON = false;
    FLAG_PULSE = false;
    }
  else if (buttonState == LOW && FLAG_PULSE == false)
    {
    FLAG_PULSE = true; 
    }

   
  buttonState2 = digitalRead(buttonPin2);
  if (buttonState2 == HIGH && LED_ON == false && FLAG_PULSE == true)
    {     
    digitalWrite(ledPin2, HIGH); 
    LED_ON = true;
    FLAG_PULSE = false;
    }
  else if (buttonState2 == HIGH && LED_ON == true && FLAG_PULSE == true)
    {
    digitalWrite(ledPin2, LOW);
    LED_ON = false;
    FLAG_PULSE = false;
    }
  else if (buttonState2 == LOW && FLAG_PULSE == false)
    {
    FLAG_PULSE = true; 
    }
}   
5  International / Español / Re: proyecto pedalera para guitarra con arduino on: May 09, 2012, 04:26:31 pm
he conseguido (siguiendo el tutorial descrito en esta pagina por Diablet69) simular con proteus lo que os pedía...ahora bien, mi duda es hacerlo con varios leds..nunca estarían los doce luciendo, como máximo seria 7, pero no me deja ampliar el contenido. Yo creo que usare Arduino mega, por el tema de que tiene mas salidas. Muchísimas gracias por haceros participes de mis dudas, os adjunto el proceso a seguir(de momento solo con un pulsador)


const int buttonPin = 2;
const int ledPin =  13;
int buttonState = 0;
boolean LED_ON;
boolean FLAG_PULSE;

void setup() {
  pinMode(ledPin, OUTPUT);      
  pinMode(buttonPin, INPUT);    
  LED_ON = false;
  FLAG_PULSE = true;
}

void loop(){
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH && LED_ON == false && FLAG_PULSE == true)
    {    
    digitalWrite(ledPin, HIGH);  
    LED_ON = true;
    FLAG_PULSE = false;
    }
  else if (buttonState == HIGH && LED_ON == true && FLAG_PULSE == true)
    {
    digitalWrite(ledPin, LOW);
    LED_ON = false;
    FLAG_PULSE = false;
    }
  else if (buttonState == LOW && FLAG_PULSE == false)
    {
    FLAG_PULSE = true;  
    }
}
6  International / Español / proyecto pedalera para guitarra con arduino on: May 09, 2012, 01:56:44 pm
Hola arduino forum, soy francisco y soy nuevo por aqui, muchas gracias a todos por hacer posible esto, vamos con la duda:

mi duda es la siguiente, me estoy haciendo una pedalera para guitarra y consta de 12 pulsadores iluminados, pero no consigo diseñar un circuito(mis nociones de electronica son escasas) que deje iluminados los pulsadores aunque no esten pulsados, es decir, selecciono el pulsador del efecto 1, y cuando suelte se sigue quedando encendido, y cuando vuelva a pulsar se apague, algo asi como esto:

Pulsador off-led off(partimos de que esta apagado)
pulsador on-luz on( se pulsa el boton, el led se enciende)
pulsador off-luz on(se suelta el boton, el led sigue luciendo)
pulsador on-luz off(se pulsa para volver a apagar, el led se apaga)

lo intento simular pero no lo consigo


a pesar de que la pedalera lleve 12 botones, con que lo consigamos con uno me es suficiente.para cualquier cosa de la pedalera me podeis preguntar y os paso planos etc...gracias a todos!
Pages: [1]