domingo, 24 de enero de 2016

led + Bluetooth

#include <SoftwareSerial.h>
SoftwareSerial bt(2,3); //(TX;RX)
int led=13;
int rojo=6;

void setup()

{
      pinMode(13,OUTPUT); // configuramos el pin 13 como salida
      pinMode(6,OUTPUT);
      digitalWrite(led,HIGH);
      digitalWrite(rojo,HIGH);
      bt.begin(9600);// Iniciamos el puerto serie
      bt.print("conectado");
      delay(1000);
}

void loop()
{

      while (bt.available())
            {
              char dato= bt.read();
              if (dato=='a')
              {
                  digitalWrite(led,LOW);
                 
              }
              if (dato=='b')
              {
                  bt.write(dato);
                  dato=0;
                  digitalWrite(led,HIGH);
              }
              if (dato=='r')
              {
                  bt.write(dato);
                  dato=0;
                  digitalWrite(rojo,HIGH);
              }
              if (dato=='R')
              {
                  bt.write(dato);
                  dato=0;
                  digitalWrite(rojo,LOW);
              }
            }

}




HC-05 + Bluetooth

#include <SoftwareSerial.h>

SoftwareSerial BT1(10, 11); // RX | TX
void setup()
   { pinMode(8, OUTPUT);      
     pinMode(9, OUTPUT);    
     digitalWrite(9, HIGH);
     delay (500) ;          
     Serial.begin(9600);
     Serial.println("Levantando el modulo HC-05");
     digitalWrite (8, HIGH);  
     Serial.println("Esperando comandos AT:");
     BT1.begin(57600);
   }

void loop()
   {  if (BT1.available())
            Serial.write(BT1.read());
      if (Serial.available())
            BT1.write(Serial.read());
   }


lm35 + lcd + ultrasonidos

#include <Ultrasonic.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(7,8,9,10,11,12);
int sensorPin= 0;

Ultrasonic ultrasonic (4,5);
int distancia = 5;

void setup()
{
  //Serial.begin(9600);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.write("Hola");
  delay(2000);
  lcd.clear();
 
 
}


void loop()
{
  int value = analogRead(sensorPin);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = millivolts / 10;
  lcd.write("Temp: ");
  lcd.print(celsius);
  lcd.write(" C");
  distancia = ultrasonic.Ranging(CM);
  lcd.setCursor(0,1);
  lcd.write("Dist: ");
  lcd.print(distancia);
  lcd.write(" cm");
  lcd.clear();

}


En este montaje, el sensor de temperatura lm35 y el sensor ultrasonidos mide la distancia en cm y envia el dato a la pantalla lcd. El potenciómetro sirve también para variar el contraste de la pantalla lcd.

lm35 + lcd

#include <LiquidCrystal.h>

LiquidCrystal lcd(7,8,9,10,11,12);
int sensorPin= 0;

void setup()
{
  //Serial.begin(9600);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.write("Hola");
  delay(2000);
  lcd.clear();



}


void loop()
{
  int value = analogRead(sensorPin);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = millivolts / 10;
  lcd.write("Temp: ");
  lcd.print(celsius);
  lcd.write(" C");
  delay(2000);
  lcd.clear();
  //Serial.print(celsius);
 // Serial.println(" C");
}




Este montaje, consiste en que el sensor de temperatura lm35 recoge el dato de la temperatura, y lo envía a la lcd.Y el potenciómetro sirve para variar el contraste de la pantalla lcd.

jueves, 7 de enero de 2016

SENSOR TEMPERATURA

Especificaciones:
- Alimentación: 2.7V a 5.5V DC
- Rango de medidas: -50ºC a 125ºC
- Salida: Analogica
Pines: (Mirando la cara plana y con las patillas abajo)
- Pin 1: Alimentación
- Pin 2:Salida analógica
- Pin 3: GND
- Encapsulado: TO-92

Programa:
const int sensorPin= 0;
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  int value = analogRead(sensorPin);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = millivolts / 10;
  Serial.print(celsius);
  Serial.println(" C");
  delay(1000);
}






SENSOR PIR MOVIMIENTO IR ARDUINO

Fabricante: Adafruit
Vendedor: Cetronics
Información del sensor: AQUÍ
Especificaciones:
Detector de movimiento por IR compatible con Arduino con un rango de detección de 7 metros y un ángulo operativo de 120º.

- Distancia de Detección: 7 metros
- Angulo de Detección: 110º
- Alimentación:5V a 16V DC
- Salida Analógica: 3.3V (High) 0V (Low)
- Distancia de Detección: 7 metros
- Angulo de Detección: 120º
- Retardo: Ajustable
- Temperatura Operativa: -20ºC a 70ºC
- Dimensiones: 3.2x2.4x2.4cm
- Incluye cable de conexión.
Pines: (Mirando la cara plana y con las patillas abajo)
- Pin 1: Alimentación
- Pin 2:Salida analógica
- Pin 3: GND
SENSOR PIR DE MOVIMIENTO IR ROBOX ARDUINO
Programa:
int ledPin = 13;
int EntradaPin = 2;
int estado = LOW;
int valor = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(EntradaPin, INPUT);
Serial.begin(9600);
}
void loop()
{
valor = digitalRead(EntradaPin);
if (valor == HIGH)
{
digitalWrite(ledPin, HIGH);
if (estado == LOW)
{
Serial.println("PIR ACTIVADO");
estado = HIGH;
}
}
else
{
digitalWrite(ledPin, LOW);
if (estado == HIGH)
{
Serial.println("PIR DESACTIVADO");
estado = LOW;
}
}
}

HALL A3144

¿QUÉ ES UN SENSOR HALL?

Un sensor Hall es un dispositivo que nos permite realizar mediciones de campo magnético.
Los sensores Hall son ampliamente utilizados. Por ejemplo, en la industria del automóvil se usan para funciones tan dispares como para el accionamiento de los cinturones de seguridad, o la medición de la posición del árbol de levas. También se usan para medir velocidades de fluidos, detección de metales, factores de inducción, entre otras muchas aplicaciones.
Una ventaja importante de los sensores Hall es que realizan la medición a distancia, sin necesidad de contacto físico. Aunque su alcance es limitado (típicamente pocos centímetros) esto supone que apenas presentan desgaste mecánico. Además son inmunes a ruidos y polvo. Esto los convierte en sensores fiables y duraderos.
En general, encontramos dos tipos de sensores Hall:
  • Analógicos. Generan una salida proporcional a la intensidad del campo magnético. Empleados para medir la intensidad de un campo magnético
  • Digitales. Proporcionan un valor Alto en presencia de campo magnético, y bajo en ausencia del mismo. Por tanto, son empleados para detectar la existencia de campos magnéticos. A su vez se dividen en,
    • Switch, se activan al acercar el polo, y se desactivan al retirar el polo
    • Latch, se activan al acercar un polo, y mantienen su valor hasta que se acerca un polo contrario
En esta entrada emplearemos un sensor Hall A3144, de tipo digital Switch. Podemos emplear este sensor para detectar la presencia de un objeto, al que previamente habremos colocado un pequeño imán, o para fabricar tacómetros (contadores de revoluciones) simplemente acoplando un pequeño imán de neodimio al eje.

PRECIO

Los sensores Hall A3144 son realmente baratos. Podemos encontrar 10 dispositivos A3144 por 1€ en vendedores internacionales en Ebay o Aliexpress.

int HALLPin = 5;
int LEDPin = 13;
 
void setup() {
  pinMode(LEDPin, OUTPUT);
  pinMode(HALLPin, INPUT);
}
 
void loop() {
  if(digitalRead(HALLPin)==HIGH)
  {
    digitalWrite(LEDPin, HIGH);  
  }
  else
  {
    digitalWrite(LEDPin, LOW);
  }
}

DIODO LASER

Características Importantes


  • Potencia de salida: 2-5mW
  • Longitud de onda: 650nm
  • voltaje de funcionamiento: 3v-5v
  • Corriente de funcionamiento: menos de 40 ma
  • forma de láser: dot
  • temperatura de trabajo: -10 ℃ ~ +40 ℃
  • vivienda: cobre
  • dimensiones: 6,5 x 18 mm
  • Especificaciones

    TipoAccesorios
    Usado ParaUniversal
    Función de los AccesoriosComponente
    Dimensiones (cm)1.5 x 0.5 x 0.5
    Peso neto (kg)0.002




Joystick PS2

Especificaciones

TipoMódulo
Usado ParaUniversal
Función del MóduloJoytick
ModeloKY-023
Dimensiones (cm)3 x 3.5 x 2.5
Peso neto (kg)0.016

PROGRAMA
int ledPin = 12;
 int joyPin1 = 0;               
 int joyPin2 = 1;               
 int value1 = 0;                  
 int value2 = 0;                 

 void setup() {
  pinMode(ledPin, OUTPUT);   
  Serial.begin(9600);
 }

 int treatValue(int data) {
  return (data * 9 / 1024) + 48;
 }

 void loop() {
  value1 = analogRead(joyPin1);   
  delay(100);             
  value2 = analogRead(joyPin2);   

  digitalWrite(ledPin, HIGH);           
  delay(value1);
  digitalWrite(ledPin, LOW);
  delay(value2);
  Serial.print('J');
  Serial.print(treatValue(value1));
  Serial.println(treatValue(value2));
 }
Módulo Joystick Playstation2