Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Kit de Arduino de iniciación BBB + ejemplos
#1
resim

En varias ocasiones he hablado sobre los kits de Arduino, como con el que me inicie o con el que suelo recomendar. Es con este ultimo el que pasare a analizar en esta y en posteriores entradas.

El por qué de empezar con un kit es básicamente para la gente que no tiene pensado hacer nada concreto, es decir que si alguien quiere montarse un robot pues se comprara los componentes exactos y lo montara, lo mismo para cualquier otro montaje... sin embargo para el que no lo tiene claro o quiere empezar probando un poco de cada la mejor forma de hacerlo es mediante un kit ya que comprando solo eso tienes todo, o casi todo, lo necesario para empezar.

................................

Y el resto en el blog ya que el conversor de HTML a BBCODE da error con las galerías de imágenes y otras etiquetas y no tengo tiempo para realizarlo a mano :/

http://giltesa.com/2013/07/02/kit-de-ard...en-precio/


Según publique las entradas explicando los módulos las pondré por aquí también Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#2
Kit de Arduino de iniciación: Modulo relé

Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:    giltesa.com/?p=14365
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de un modulo de relé.
     Lo activa y desactiva cada 2 segundos.

     giltesa.com/wp-content/uploads/2013/07/dealextreme-ejemplo-relay.png
*/

// Se define una constante para el pin del rele:
#define pinRele 12


// Funcion principal que configura los pines:
void setup()
{
   pinMode( pinRele , OUTPUT);
}


// Funcion que itera una y otra vez el codigo de su interior:
void loop()
{
   digitalWrite( pinRele , !digitalRead(pinRele) ); // Cambia el estado del pin al estado contrario actual.
   delay(2000); // Realiza una pausa.
}





Mañana modulo Led RGB Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#3
Buen aporte, el modulo de RGB me interesa, estare atento a tu publicacion Sonrisa
Citar
#4
Giltesa, ya que te has puesto con algunas cosillas de iniciación, qué te parece si creamos una sección en el blog donde recopilar estas cosillas¿? Tenía pensado ir haciendo yo alguna cosa del estilo también, ir comentando el código, etc.. pero para mediados de mes, cuando acabe los exámenes.

P.D.: Y esa "alfombrilla" ¿?
Citar
#5
Teneis la wiki que quizas encaje mejor con esa idea. Y el blog se puede dejar para anunciar cosas generales si quereis, o temas concretos, pero info de este estilo creo que iria mejor en la wiki cuando este lista que no le falta mucho
Citar
#6
La wiki, es cierto. Es que tenemos tantas cosas que ni me acordaba, xDD
Citar
#7
jukillo escribió:Giltesa, ya que te has puesto con algunas cosillas de iniciación, qué te parece si creamos una sección en el blog donde recopilar estas cosillas¿? Tenía pensado ir haciendo yo alguna cosa del estilo también, ir comentando el código, etc.. pero para mediados de mes, cuando acabe los exámenes.

P.D.: Y esa "alfombrilla" ¿?

Es un mantel individual del ikea, es mejor que grabar la mesa rajada y agujereada xD

En cuanto a lo del blog todo el contenido tiene licencia CC BY-NC-SA 3.0 así que se puede copiar los artículos e imágenes (sin hotlink) y ponerlas por aquí, de hecho ya intento compartir las cosas interesantes Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#8
una pregunta giltesa, esos modulos reles me comentaron el otro dia que llevan ya el transistor, tb llevan octo??
Se puede conectar directamente la carga al rele y ya esta o como se deberia conectar?? asi??

resim
Citar
#9
Ergon escribió:una pregunta giltesa, esos modulos reles me comentaron el otro dia que llevan ya el transistor, tb llevan octo??
Se puede conectar directamente la carga al rele y ya esta o como se deberia conectar?? asi??

[img*]http://i43.tinypic.com/2z9fpy9.jpg[/img]

En principio es conectar y listo. Yo de electrónica no tengo mucha idea pero por error compre una vez uno con un octo de esos y lo único que note es que el comportamiento del relé cambiaba:

Mientras que un relé si el octo funciona cuando pones a HIGH/VCC su pin de "datos", y se pone a LOW cuando lo desconectas.

Con el modulo de rele que incluía el octo era: Cuando en el Arduino ponias HIGH el rele estaba en LOW, y cuando ponías el Arduino en LOW se ponía en HIGH... eso con el cable conectado, si no se ponía el cable el rele estaba siempre en LOW/apagado.

No sé si es ese su cometido o no pero yo es lo que note xD

PD:
Por cierto, termine quitandole el octo para que se comportara normal xD
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#10
La funcion de un octoacoplador es separar fisicamente circuitos o bloques. Con este componente tienes separacion galvanica y por tanto te sirve como medida de proteccion. Es bastante frecuente verlo en montajes con una parte de potencia y una electronica de control. Por ejemplo, podemos verlo en electronicas de control de motores PAP.
Citar
#11
Kit de Arduino de iniciación: Modulo led RGB

Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:    giltesa.com/?p=14367
   License:    CC BY-NC-SA 3.0

   Description:
      Ejemplo de uso de un modulo de LED RGB.
      Cambia el color cada 1 segundo entre 7 colores posibles.

      giltesa.com/wp-content/uploads/2013/07/dealextreme-ejemplo-rgb.png
*/


#define ledRojo  9
#define ledVerde 10
#define ledAzul  11
#define pause    1000


void setup()
{
   // Configura tres pines como salida, uno para cada pin del Led:
   pinMode(ledRojo, OUTPUT);
   pinMode(ledVerde, OUTPUT);
   pinMode(ledAzul, OUTPUT);

   // Genera una semilla para crear numeros "aleatorios" a partir de una lectura del pin analogico:
   randomSeed(analogRead(0));
}


void loop()
{
   // Genera un numero aleatorio del 0 al 6, dependiendo del numero se
   // enciende uno/unos leds a un brillo especifico para generar el color deseado:

   int numAleatorio = random(7);

   switch( numAleatorio )
   {
      // Rojo
      case 0:
         analogWrite(ledRojo, 204);
         break;

      // Verde:
      case 1:
         analogWrite(ledVerde, 255);
         break;

      // Azul:
      case 2:
         analogWrite(ledAzul, 255);
         break;

      // Amarillo:
      case 3:
         analogWrite(ledRojo, 160);
         analogWrite(ledVerde, 255);
         break;

      // Cian:
      case 4:
         analogWrite(ledRojo, 168);
         analogWrite(ledAzul, 255);
         break;

      // Magenta:
      case 5:
         analogWrite(ledVerde, 255);
         analogWrite(ledAzul, 255);
         break;

      // Blanco:
      case 6:
         analogWrite(ledRojo, 100);
         analogWrite(ledVerde, 255);
         analogWrite(ledAzul, 255);
         break;
   }

   // Realiza una pausa y apaga todos los Leds:
   delay(pause);
   analogWrite(ledRojo, 0);
   analogWrite(ledVerde, 0);
   analogWrite(ledAzul, 0);

}





Mañana pulsadores, resistencias y led controlador por PWM para encenderlo, apagarlo y ajustarle el brillo Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#12
Kit de Arduino de iniciación: resistencias, leds y pulsadores

Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:     giltesa.com/?p=14371
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de los pulsadores y un led por PWM
     El codigo permite cambiar el brillo y encender y apagar un led.

     giltesa.com/wp-content/uploads/2013/07/dealextreme-ejemplo-button-led.png
*/

#define btnMenos 4
#define btnMas   2
#define btnOnOff 3
#define led      7
#define salto    2

boolean estadoLed = true;
byte brillo = 100;


void setup()
{
  pinMode( btnMenos , INPUT  );
  pinMode( btnMas   , INPUT  );
  pinMode( btnOnOff , INPUT  );
  pinMode( led      , OUTPUT );
}


void loop()
{
  // Baja el brillo:
  if( digitalRead(btnMenos) && brillo > salto)
  {
    brillo = brillo - salto;
    delay(20); // Retarda el cambio del brillo para que no pase del maximo al minimo demasiado deprisa
  }
  // Sube el brillo:
  else if( digitalRead(btnMas) && brillo < 255-salto)
  {
    brillo = brillo + salto;
    delay(20);
  }
  // Enciende y apaga el led:
  else if( digitalRead(btnOnOff) )
  {
    while(digitalRead(btnOnOff)){} // Espera hasta que se suelte el boton
    delay(20);
    estadoLed = !estadoLed;
  }

  if( estadoLed )
    analogWrite( led , brillo );
  else
    digitalWrite( led , LOW );
}



giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#13
Ergon escribió:una pregunta giltesa, esos modulos reles me comentaron el otro dia que llevan ya el transistor, tb llevan octo??
Se puede conectar directamente la carga al rele y ya esta o como se deberia conectar?? asi??

resim

No veo la ventaja de comprarte una placa con circuito para 8 reles, y que necesites un hilo para cada rele, mas la tierra y la alimentacion del circuito. Para eso te compras los reles sueltos y los conectas directamente, y como mucho le pones un diodo en paralelo para evitar la corriente inversa, y te ahorras la mitad del precio sino mas.

Con esta capacidad de expansion no me extrañaria que acabaras con un arduino mega. Meparto
Citar
#14
OverCraft escribió:
Ergon escribió:una pregunta giltesa, esos modulos reles me comentaron el otro dia que llevan ya el transistor, tb llevan octo??
Se puede conectar directamente la carga al rele y ya esta o como se deberia conectar?? asi??

[img*]http://i43.tinypic.com/2z9fpy9.jpg[/img]

No veo la ventaja de comprarte una placa con circuito para 8 reles, y que necesites un hilo para cada rele, mas la tierra y la alimentacion del circuito. Para eso te compras los reles sueltos y los conectas directamente, y como mucho le pones un diodo en paralelo para evitar la corriente inversa, y te ahorras la mitad del precio sino mas.

Con esta capacidad de expansion no me extrañaria que acabaras con un arduino mega. Meparto

El modulo de reles no son solo reles, tienen mas componentes: leds, resistencias, transistores, optoacopladores, conectores de conexión...

Por 6€ gi que cuesta la placa con 8 reles yo no me complicaba.
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#15
Kit de Arduino de iniciación: Motor paso a paso y su driver

Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:    [url]http://giltesa.com[/url]
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de un driver y motor paso a paso.
     Hace girar el eje del motor en una direccion u otra segun la constante "dir"

     Los pines se conectan: IN1, IN2, IN3 y IN4 con D8, D9, D10 y D11 respectivamente.
*/

#define Pin0 8
#define Pin1 9
#define Pin2 10
#define Pin3 11
#define dir true
int step = 0;


void setup()
{
   pinMode(Pin0, OUTPUT);  
   pinMode(Pin1, OUTPUT);  
   pinMode(Pin2, OUTPUT);  
   pinMode(Pin3, OUTPUT);  
}


void loop()
{
   // Aumenta, disminuye o resetea la variable step
   // Para que el motor gire paso a paso:
   if(dir)
      step++;
   else
      step--;
  
   if(step>7)
      step=0;
  
   if(step<0)
      step=7;
      

   switch(step)
   {
      case 0:  motor( LOW , LOW , LOW , HIGH );  break;  
      case 1:  motor( LOW , LOW , HIGH , HIGH ); break;  
      case 2:  motor( LOW , LOW , HIGH , LOW );  break;  
      case 3:  motor( LOW , HIGH , HIGH , LOW ); break;  
      case 4:  motor( LOW , HIGH , LOW , LOW );  break;  
      case 5:  motor( HIGH , HIGH , LOW , LOW ); break;  
      case 6:  motor( HIGH , LOW , LOW , LOW );  break;  
      case 7:  motor( HIGH , LOW , LOW , HIGH ); break;  
      default: motor( LOW , LOW , LOW , LOW );   break;  
   }
  
   delay(1);
}


// Para no repetir codigo se usa una funcion que se llama en cada opcion del switch:
void motor( boolean s1, boolean s2, boolean s3, boolean s4)
{
   digitalWrite(Pin0, s1);  
   digitalWrite(Pin1, s2);
   digitalWrite(Pin2, s3);
   digitalWrite(Pin3, s4);
}



giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#16
Kit de Arduino de iniciación: Servo

Código:
#include <Servo.h>

Servo miServo;

int pos = 0;

void setup()
{
  miServo.attach(2);
}


void loop()
{

  for( pos = 0 ; pos < 180 ; pos++ )
  {
    miServo.write(pos);
    delay(5);
  }

  for( pos = 180; pos>=1; pos-- )
  {
    miServo.write(pos);
    delay(5);
  }

}



giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#17
giltesa, veo que pones mucho código, podías probar el resalto de código que tenemos, lo eliges en el combo de 'Lenguaje' según cual sea. A ver que te parece. Lo hemos vuelto a activar hoy por que se había ocultado sin saber por qué.

Por ejemplo:
Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:    [url]http://giltesa.com[/url]
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de un driver y motor paso a paso.
     Hace girar el eje del motor en una direccion u otra segun la constante "dir"

     Los pines se conectan: IN1, IN2, IN3 y IN4 con D8, D9, D10 y D11 respectivamente.
*/

#define Pin0 8
#define Pin1 9
#define Pin2 10
#define Pin3 11
#define dir true
int step = 0;


void setup()
{
   pinMode(Pin0, OUTPUT);  
   pinMode(Pin1, OUTPUT);  
   pinMode(Pin2, OUTPUT);  
   pinMode(Pin3, OUTPUT);  
}


void loop()
{
   // Aumenta, disminuye o resetea la variable step
   // Para que el motor gire paso a paso:
   if(dir)
      step++;
   else
      step--;
  
   if(step>7)
      step=0;
  
   if(step<0)
      step=7;
    

   switch(step)
   {
      case 0:  motor( LOW , LOW , LOW , HIGH );  break;  
      case 1:  motor( LOW , LOW , HIGH , HIGH ); break;  
      case 2:  motor( LOW , LOW , HIGH , LOW );  break;  
      case 3:  motor( LOW , HIGH , HIGH , LOW ); break;  
      case 4:  motor( LOW , HIGH , LOW , LOW );  break;  
      case 5:  motor( HIGH , HIGH , LOW , LOW ); break;  
      case 6:  motor( HIGH , LOW , LOW , LOW );  break;  
      case 7:  motor( HIGH , LOW , LOW , HIGH ); break;  
      default: motor( LOW , LOW , LOW , LOW );   break;  
   }
  
   delay(1);
}


// Para no repetir codigo se usa una funcion que se llama en cada opcion del switch:
void motor( boolean s1, boolean s2, boolean s3, boolean s4)
{
   digitalWrite(Pin0, s1);  
   digitalWrite(Pin1, s2);
   digitalWrite(Pin2, s3);
   digitalWrite(Pin3, s4);
}

Y por cierto, muchas gracias, te estás pegando un buen curro. Cuando leas esto borro el mensaje para no 'ensuciar'.
Citar
#18
Y se acabo lo que se daba:


Sensor de luz y buzzer:




Código:
/*
   Author:     Alberto Gil Tesa
   WebSite:    [url]http://giltesa.com[/url]
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de un sensor de luz o LDR y un buzzer
     [url]http://giltesa.com/wp-content/uploads/2013/07/ldr-buzzer.jpg[/url]
*/

#define ldr        0
#define ledBuzzer 13


void setup()
{
  pinMode( ledBuzzer , OUTPUT );
}


void loop()
{
  byte val = map( analogRead(ldr) , 0 , 1023 , 0 , 255 );
  analogWrite(13, val);
}



Sensor de inclinación:





Código:
?/*
   Author:     Alberto Gil Tesa
   WebSite:    [url]http://giltesa.com[/url]
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de un sensor de inclinacion.
     [url]http://giltesa.com/wp-content/uploads/2013/07/sensor-inclinacion.jpg[/url]
*/

#define sensor    3
#define led      13


void setup()
{
  pinMode( sensor , INPUT  );
  pinMode( led    , OUTPUT );
}


void loop()
{
  digitalWrite( led , digitalRead(sensor) );
}



Resistencia variable o potenciómetro:





Código:
?/*
   Author:     Alberto Gil Tesa
   WebSite:    [url]http://giltesa.com[/url]
   License:    CC BY-NC-SA 3.0

   Description:
     Ejemplo de uso de una resistencia variable.
     El codigo lee desde una entrada analogica un
     valor de 0 a 1023 y con la funcion map lo pasa
     a uno de 0 a 255 para cambiar el brillo del LED
     de la placa. Esto solo funciona con un Arduino Mega,
     con el resto no se puede ajustar el led de la placa.

     [url]http://giltesa.com/wp-content/uploads/2013/07/potenciometro.jpg[/url]
*/

#define regulador 0
#define led       13


void setup()
{
  pinMode( led , OUTPUT );
}


void loop()
{
  byte val = map( analogRead(regulador) , 0 , 1023 , 0 , 255 );
  analogWrite(13, val);
}
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#19
hectorri escribió:giltesa, veo que pones mucho código, podías probar el resalto de código que tenemos, lo eliges en el combo de 'Lenguaje' según cual sea. A ver que te parece. Lo hemos vuelto a activar hoy por que se había ocultado sin saber por qué.

Si, si lo use desde el principio pero ayer entre y vi que no funcionaba así que cambie todos los códigos a las etiquetas simples para que se cargaran :/
Lo pongo de nuevo en color que queda mejor, gracias Mola
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#20
Esto nos viene genial a los que estamos empezando con arduino.

Muchas gracias.
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Kit de iniciacion davidluab 2 591 13-11-2016, 11:49 PM
Último mensaje: Lepes
  ¿Arduino MEGA o Arduino ADK? igargi 7 1,178 25-08-2013, 04:58 PM
Último mensaje: cansi22