Show Posts
Pages: [1]
1  International / Software / Re: Declaracion de varios pines como salida on: January 23, 2013, 08:24:53 am
Igual me explique mal, lo que queria era simplificar el codigo para no tener que hace bucles for en cada secuencia, de forma que la variable palabra1 estuviera formada por los pimeros 5 pines, y asi al activar la salida con el write encender todos los led a la par.

Con bucles for, lo tengo hecho y funcionando ya segun el codigo siguiente:

Code:
[size=8pt]
void setup() {
 for(int i=0;i<=13;i++){ //SE INICIALIZAN TODOS LOS PINES COMO SALIDA
  pinMode(i, OUTPUT);
 }
}
 /*  APAGAR:     APAGA TODO                  SECUENCIA1: ENCIENDE TODO               
     SECUENCIA2: ENCIENDE UNO APAGA OTRO     SECUENCIA3: ENCENDIDO ACUMULADO
     SECUENCIA4: COCHE FANTASTICO            PALABRA1:   ENCIENDE PRIMERA PALABRA
                                             PALABRA2:   ENCIENDE SEGUNDA PALABRA
*/
void loop() {
    apagar();secuencia1();delay(1000);
    apagar();palabra1();palabra2();palabra1();palabra2();palabra1();palabra2();
    apagar();secuencia2();delay(200);secuencia2();delay(200);secuencia2;
    apagar();secuencia3();delay(300);apagar();secuencia3();delay(300);apagar();secuencia3();delay(300);
    apagar();secuencia4();secuencia4();secuencia4();delay(300);
}
void apagar(){
 for (int i=0; i<=13; i++){
  digitalWrite(i-1,LOW);
 }
}
void secuencia1(){
 for (int i=0; i<=13; i++){
  digitalWrite(i, HIGH);
 }
}
void secuencia2(){
 for (int i=0; i<=13; i++){
  digitalWrite(i, HIGH);
  digitalWrite(i-1,LOW);
  delay(200);
 }
}
void secuencia3(){
 for (int i=0; i<=13; i++){
  digitalWrite(i,HIGH);
  delay(50);
 }
}
void secuencia4(){
 for (int i=0; i<=13; i++){
  digitalWrite(i,HIGH);
  delay(30);
 }
 for (int i=13; i<=0; i++){
  digitalWrite(i,LOW);
  delay(30);
 }
}
void palabra1(){
 for (int i=0; i<=5; i++){
  digitalWrite(i,HIGH);
 }
 delay(300);
  for (int i=0; i<=5; i++){
  digitalWrite(i,LOW);
 }
}
void palabra2(){
 for (int i=6; i<=13; i++){
  digitalWrite(i,HIGH);
 }
 delay(300);
  for (int i=6; i<=13; i++){
  digitalWrite(i,LOW);
 }
}
[/size]
2  International / Software / Declaracion de varios pines como salida on: January 22, 2013, 06:26:55 pm
Estoy liado con un codigo para hacer unos efectos de cara al carnaval y me esta volviendo loco el temita con una secuencia de leds.
El proyecto final es un cartel con dos palabras una sobre otra y en cada letra un grupo de leds
PALABRA1
PALABRA2
Tengo hechos varios efectos ya, pero ahora estoy con que alternen el encendido pero no consigo hacerlo bien, el codigo que tengo es este:

void setup(){
 int palabra1[]={0,1,2,3,4,5};
 int palabra2[]={6,7,8,9,10,11,12};
 pinMode(palabra1, OUTPUT);
 pinMode (palabra2, OUTPUT);
}
void loop(){
  alternar();
}
void alternar(){
  digitalWrite(palabra1, HIGH);
  delay(500);
  digitalWrite(palabra1,LOW);
  digitalWrite(palabra2,HIGH);
  delay(500);
}


Y al verificar me da el error

sketch_jan23a.ino: In function 'void setup()':
sketch_jan23a:4: error: invalid conversion from 'int*' to 'uint8_t'
sketch_jan23a:4: error: initializing argument 1 of 'void pinMode(uint8_t, uint8_t)'
sketch_jan23a:5: error: invalid conversion from 'int*' to 'uint8_t'
sketch_jan23a:5: error: initializing argument 1 of 'void pinMode(uint8_t, uint8_t)'
sketch_jan23a.ino: In function 'void alternar()':
sketch_jan23a:11: error: 'palabra1' was not declared in this scope
sketch_jan23a:14: error: 'palabra2' was not declared in this scope


¿Alguien me dice porque es y como tendria que declarar un array para poder usarlo de esa forma?

Gracias
3  International / Español / Re: Dudas con pines 0,1 y 13 de Arduino Uno. on: February 26, 2012, 06:44:16 am
He probado cambiando simplemente el ejemplo del led 13 y no hace nada...

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {               
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(A5, OUTPUT);     
}

void loop() {
  digitalWrite(A5, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(A5, LOW);    // set the LED off
  delay(1000);              // wait for a second
}
4  International / Español / Rele de 12v en arduino. Diodos a usar. on: February 26, 2012, 05:36:39 am
Buenas, tengo que gobernar una serie de reles con el arduino y voy a aprovechar que tengo de otro proyecto varios reles de 12v ralux, los esquemos que veo suelen usar un 1N4007, pero en casa tengo varios 1N4148 y en las dos tiendas de la ciudad se han quedado sin stock del 4001 al 4007 casi una semana ¿podria utilizar estos como diodos de proteccion?
5  International / Español / Re: Dudas con pines 0,1 y 13 de Arduino Uno. on: February 25, 2012, 04:15:45 am
¿Seria algo asi para el inicio del codigo?
===============================================
int rpin=14:  //Define pin analogico A1 como 15 para salida
int rpin=15;  //Define pin analogico A2 como 16 para salida
              //A0 es el pulsador para cambio de secuencia
void setup() {
for(int i=2;i<=15;i++){ //indicamos los pines de salida. Del 2 al 13 digital y los dos analogicos.
pinMode(i, OUTPUT);
}
}
===============================================
6  International / Español / Re: Dudas con pines 0,1 y 13 de Arduino Uno. on: February 24, 2012, 07:27:49 pm
¿Los pines analogicos no son solo de entrada ?
7  International / Español / Re: Dudas con pines 0,1 y 13 de Arduino Uno. on: February 24, 2012, 10:53:40 am
Es que es para controlar justamente 13 reles para encendido ciclico de grupos de leds, asi que hare las pruebas con los pines del 2 al 12 y luego añadire los otros tres una vez que este todo probado.

¿Para activar el rele mediante un BC548 tendre intensidad suficiente en el pin 13?
8  International / Español / Dudas con pines 0,1 y 13 de Arduino Uno. on: February 23, 2012, 07:27:19 pm
Buenas, he estado mirando pero no lo acabo de encontrar con certeza.

Los pines digitales 0 y 1 (Tx y Rx) los puedo configurar como salida normal como otro cualquiera o estan reservados?
Y por otro lado el pin 13 entrega solo 1.7V podria de alguna forma excitar la bobina de un rele de 5v solo con esa señal, para los otros 12 ya he visto esquemas pero no se si para ese podria adaptarlo
Pages: [1]