manual de sensores arduino con codigos de programacion

1
Introducción: Este es un sensor Magnéco de Inducción. Nota la presencia de materiales magnécos dentro de un rango de 3cm. El rango de detección y la fuerza son directamente proporcionales. La salida es un on/odigital. Este sensor usa el conmutador SFE Reed -Sensor Campo Magnéco. 1. Sumario: Este es un kit educav o Arduino con sensores desarrollado por NETWAY. Reunimos 36 sensores y módulos juntos, para facilitar el proceso de aprendizaje. En su interior, podrán encontrar sensores analógico y digitales, módulos especiales como el de ultrasonidos, bluetooh, aceleróm , etro, etc. Para cada módulo existe una clara conexión indicada en el diagrama. Por eso, aunque usted no esté iniciado, podrá comenzar y acostumbrarse de una forma sencilla. Los programas de muestra para este kit están basados en Arduino debido a que esta e s una plataforma abierta y sencilla. Si usted es bueno en esto, podrá aplicar los conocimientos que adquiera en otros kits basados en MCU, del eslo de 51, STM32, Raspberries Pi. El principio elemental es más o menos el mismo. Sin más, vamos a empezar con el fascinante mundo de ARDUINO y aprendamos juntos! 2. Lista Sensores KIT 1: (ks0017)Proyecto de módulo de luz LED blanco Digital 2: (ks0016)Módulo Luz LED Piranha 3: (ks0010)Módulo 3W LED 4: (ks0032)Módulo RG LED 5: (ks0033)Sensor Analógico temperatura 6: (ks0028) Sensor fotosensible 7: (ks0035)Sensor Analógico Sonido 8: (ks0014)Sensor Analógico rotación 9: (ks0019)Módulo Pasivo Timbre 10:(ks0018)Módulo Digital Timbre 11: (ks0029)Botón Digital Push 12: (ks0025)Sensor Digital Inclinación 13: (ks0009)Modulo interruptor foto 14. (ks0031)Sensor capacivo presión 15: (ks0024)Modulo sensor golpe 16: (ks0020)Sensor Magnéco Pasillo 17: (ks0050)Sensor de seguimiento Línea 18: (ks0051)Sensor Infrarojos Evitar Obstáculos 19: (ks0052)PIR Sensor de Movimiento 20: (ks0036)Sensor llama 21: (ks0037)Sensor Vibración 22: (ks0040)Sensor Analógico Gas 23: (ks0041)Sensor Analógico alcohol 24: (ks0027)Módulo Digital Transmisor IR 25: (ks0026)Módulo Digital Recepción IR 26: (ks0013)Modulo codicador de rotación 27: (ks0022)LM35 Sensor Temperatura 28: (ks0023)18B20 Sensor Temperatura 29: (ks0012)ADXL345 Módulo Aceleración 3 Axis 30: (ks0034)DHT11 Sensor Temperatura y Humedad 31: (ks0055)Módulo Bluetooth 32: (ks0056)sensor luz ambiente TEMT6000 33: (ks0097)HC-SR04 Sensor Ultrasónico 34: (ks0008)Módulo Joysck 35: (ks0039)DS3231Módulo Reloj 36: (ks0011)Módulo Relay 5V 3. Detalles de Proyectos: Proyecto 1: Módulo LUZ LED Introducción: Este módulo LUZ LED ene un color brillante, ideal para los que empiezan en Arduino. Puede ser fácilmente conectado a un escudo IO o sensor. Especicaciones: Tipo: Digital PH2.54 zócalo Módulo Luz LED blanco Permite la interacción con proyectos relacionados con luz. Tamaño: 30*20mm Peso: 3g Diagrama Conexión: Código ejemplo: int led = 3; void setup() { pinMode(led, OUTPUT); //Set Pin3 as output } void loop() { digitalWrite(led, HIGH); //Turn on led delay(2000); digitalWrite(led, LOW); //Turn oled delay(2000); } Proyecto 2: Módulo Luz LED Piranha Introducción: Este es un módulo especial. Una vez coenctado a la placa de desarrollo ARDUINO, después de programarlo, emirá una bonita luz. Por supuesto, podrá controlarlo usando PWM. Será algo parecido a luciérnagas por la noche. ¿No es bonito? Podrá además ser combinado con otros sensores para realizar bonitos e interesantes experimentos. Especicaciones: Tipo Módulo: digital Voltaje Operavo: 5v Distancia entre pins: 2.54mm Tamaño: 30*20mm Peso: 3g Diagrama de conexión: Código ejemplo: int led = 3; void setup() { pinMode(led, OUTPUT); //Set Pin3 as output } void loop() { digitalWrite(led, HIGH); //Turn oled delay(2000); digitalWrite(led, LOW); //Turn on led delay(2000); } Proyecto 3: Módulo LED 3W Introducción: Este módulo es de alto brillo debido a que la lámpara incluida es de 3W. Podemos usar este módulo en proyectos Arduino. Por ejemplo, robots inteligentes pueden usar este módulo para iluminar. Por favor, tenga en cuenta que la luz LED no puede ser expuesta directamente al ojo humano para evitar problemas de seguridad. Especicaciones: Temperatura Color: 6000~7000K Flujo Lumínico: 180~210lm Corriente: 700~750mA Potencia: 3W Ángulo lumínico: 140 degree Temperatura operava: -50~80'C Temperatura almacenaje: -50~100'C Módulo LED de alta potencia, controlado por puerto micrcontrolador IO Ideal para Robots y para aplicaciones plataforma Search and Rescue Tipo IO: Digital Voltaje: 3.3V to 5V Tamaño: 40x28mm Peso: 6g Diagrama de Conexión: Código Ejemplo: // la función de ajuste se acve cuando acve o apague la placa void setup() { //inicialice pin 13 digital como salida pinMode(13, OUTPUT); } // the loop funcon runs over and over again forever void loop() { digitalWrite(13, HIGH); // enciende la luz LED delay(1000); // espera un segundo digitalWrite(13, LOW); // apaga la luz LED delay(1000); // espera un segundo } Introducci ón: Este es un módulo LED color que conene los 3 colores básicos –rojo, verde y azul. Pueden ser usadas de forma separada. Una vez programado, podemos encenderlo y apagarlo de forma secuencial. Se podría usar una salida PWM analógico para mezclar los col ores y generar otros nuevos. Especicaciones: Colores: rojo, verde y azul Brillo: Alto Voltaje: 5V Entrada: Nivel digital Tamaño: 30 * 20mm Peso: 3g Diagrama de conexión: Código Ejemplo int redpin = 11; //seleccione el pin para ROJO int bluepin =10; // seleccione el pin para AZUL int greenpin =9;// seleccione el pin para VERDE int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); } void loop() {for(val=255; val>0; val--) {analogWrite(11, val); analogWrite(10, 255-val); analogWrite(9, 128-val); delay(1); } for(val=0; val<255; val++) {analogWrite(11, val); analogWrite(10, 255-val); analogWrite(9, 128-val); delay(1); }} Proyecto 5: Sensor Temperatura Analógico Introducción: Este modulo está basado en el principio de thermistor (la Resistencia varias con los cambios en la temperature ambiente). Puede detectar cambios en la temperatura alrededor y enviar la información al IO analógico en la placa Arduino. Lo único que se necesita es converr la información de salida del sensor en grados Celsius mediante un programa y mostrarlo. Es conveniente y efecvo. Está ampliamente usado en jardinería, alar mas doméscas y otros disposivos. Especicación: Tipo interfaz: analógica Voltaje operavo: 5V Rango temperatura: -55℃~315Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: void setup() {Serial.begin(9600); } // la runa corre una y otra vez para siempre: void loop() {int sensorValue = analogRead(A0); Serial.println(sensorValue); delay(1); } Podemos ver como el valor va cambiando segúnla temperature ambiente lo hace. Pero esto es tan abvio. Miremos de solventarlo usando la sig uiente ecuación. El valor leido desde noe el Puerto serie es similar a la temperature normal. Ejemplo, la temperature ahora es de 30 grados. #include <math.h> double Thermister(int RawADC) { double Temp; Temp = log(((10240000/RawADC) - 10000)); Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // Convert Kelvin to Celcius return Temp; } void setup() {Serial.begin(9600); } void loop() { Serial.print(Thermister(analogRead(0))); // display Fahrenheit Serial.println("c"); delay(500); } Proyecto 6: Sensor fotosensible Introducción: Fotosensible es comúnmente usado en el día a día, principalmente en conmutadores inteligentes, y en diseños electrónicos comunes. Para hacerlo aún más sencillo y efecvo, suministramos los módulos correspondientes. Es un semiconductor. Sus caracteríscas son la de alta sensibilidad, rápida respuesta, caracteríscas espectrales, consistencia valor R, altamente estables y seguras en ambientes como altas temperaturas, alta humedad, etc. Es comúnmente usada en cámaras, luces para jardinería, relojes de cuarzo, cajas de regalo, luces de noche, conmutadores de control, etc. Especicaciones: Tipo interfaz: analógica Voltaje operavo: 5V Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: int sensorPin =A0 ; int value = 0; void setup() { Serial.begin(9600); } void loop() { value = analogRead(sensorPin); Serial.println(value, DEC); delay(50); } Proyecto 7: Sensor Sonido Analógico Introducción: El Sensor Sonido Analógico es picamente uasdo en la detección de ruido en ambientes. Arduino puede recoger su señal de salida imitando la entrada. Puede usarlo en aplicaciones donde se podrá interactuar por voz. Especicaciones: Voltaje: 3.3V to 5V Intensidad de detección de sonido Interfaz: Analógico Tamaño: 30*20mm Peso: 4g Diagrama de Conexión: Código Ejemplo: void setup() { Serial.begin(9600); // abrir el puerto serie, ajustar los baudios a 9600 bps } void loop() { int val; val=analogRead(0); //conectar el sensor de micro al Análogo 0 Serial.println(val,DEC);//Imprimir el valor sonido por el puerto serie delay(100); } Proyecto 8: Sensor Rotatorio Analógico Introducción: Este Sensor Rotatorio Analógico es compable con Arduino. Está basado en un potenciómetro. Su voltaje puede ser dividido en 1023, y es fácilmente conectable a Arduino con el sensor escudo. Combinado con otros sensores, permite realizar interesantes proyecto combinándolo con otros sensores y leyendo la información obtenida por el puerto IO. Especicaciones: Voltaje: 3.3V to 5V Interfaz: Analógica Tamaño: 30*20mm Peso: 8g Diagrama de Conexión: Código Ejemplo: ///Arduino Sample Code void setup() { Serial.begin(9600); //Ajustar la tasa de baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea el sensor de rotación desde el Analógico 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie delay(100); } Introducción: Podemos usar Arduino para construir trabajos interacvos, de los cuales los más communes son proyectos ópco- acúscos. Todos los experimentos previos pueden producir sonido. Normalmente, el experimento se realiza con un Vibrador o altavoz. El vibrador suele ser más sencillo de usar. No puede ser accionado por si mismo. El que estamos explicando es pasivo. Es acvado por pulsaciones de frecuencias externas. Diferentes frecuencias produ cen diferentes sonidos. Podemos usar Arduino para codicar una melodía de una canción, lo que es sencillo y diverdo. Especicaciones: Voltaje operavo: 3.3-5v Tipo interfaz: digital Tamaño: 30*20mm Peso: 4g Diagrama Conexión: Código Ejemplo: int buzzer=8;//Ajustar IO digital al vibrador void setup() { pinMode(buzzer,OUTPUT);// ajustar patron digital IO, SALIDA para ser salida } void loop() { unsigned char i,j;//denir variable while(1) { for(i=0;i<80;i++)// sacar a sonido frecuencia { digitalWrite(buzzer,HIGH);// sonido delay(1);//delay1ms digitalWrite(buzzer,LOW);//sin sonido delay(1);//ms delay } for(i=0;i<100;i++)// sacar una frecuencia sonido { digitalWrite(buzzer,HIGH);// sonido digitalWrite(buzzer,LOW);//sin sonido delay(2);// 2ms delay } } } Después de descargar el programa, el experiemento de vibración se dará por nalizado. Proyecto 10: Módulo Vibrador Digital Introducción: Este es el módulo de sonido más simple. Puede usar el nivel alto o bajo para usarlo. Cambiando la frecuencia sus vibraciones pueden producir diferentes sonidos. Este módulo es habitualmente usado en aplicaciones de uso diario como PC, refrigeradores, teléfonos, etc. Puede crear diferentes y muy interesantes proyectos interacvos con este pequeño pero úl módulo. Pruebelo! Le parecerán fascinantes los sonidos que crea. Especicaciones: Voltaje operavo: 3.3-5v Tipo interfaz: digital Tamaño: 30*20mm Peso: 4g Diagrama de Co nexiones: Código Ejemplo: int buzzPin = 3; //Conecte al vibrador al pin digital 3 void setup() { pinMode(buzzPin, OUTPUT); } void loop() { digitalWrite(buzzPin, HIGH); delay(1); digitalWrite(buzzPin, LOW); delay(1); } Introducción: Este es un módulo de aplicación básica. Sencillamente, conéctelo a un escudo IO para tener su primer contacto con Arduino. Ventajas: Rango de voltaje desde 3.3V hasta 5V Estructura de ensamblaje estándar (dos agujeros de 3mm de diámetro con múlple de 5mm equidistante del centro) Sensores con interfaz fácilmente reconocibles (A para analógico y D para digital) Los iconos muestras las funciones del sensor de forma clara Conectores de Alta Calidad Supercie sumergida en Oro Especicación: Voltaje: 3.3V hasta 5V Fácil de conectar y usar Botón de gran tamaño y de gran calidad Logre trabajos interesantes e interacvos Interfaz: Digital Tamaño: 30*20mm Peso: 4g Diagrama de Conexión: Sample Code /* # When you push the digital buon, the Led 13 on the board will turn on. Otherwise,the led turns o. */ int ledPin = 13; // elija el pin para el LED int inputPin = 3; // Conecte el sensor a la entrada pin 3 void setup() { pinMode(ledPin, OUTPUT); // declare el LED como salida pinMode(inputPin, INPUT); // declare el botón como entrada } void loop(){ int val = digitalRead(inputPin); // lea el valor de entrada if (val == HIGH) { // revise que la entrada es HIGH digitalWrite(ledPin, LOW); // apague el LED } else { digitalWrite(ledPin, HIGH); // encienda el LED }} Proyecto 12: Sensor Inclinación Digital Introducción: El sensor Inclinación es un conmutador digital de Inclinación. Puede ser simplemente usado como un conmutador de inclinación. Conéctel o a su Sensor IO; podrá realizar proyectos interacvos impresionantes. Con este sensor dedicado y Arduino podrá conseguir trabajos interesantes e interacvos. Especicación: Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g Diagrama de Co nexión: Código Ejemplo: int ledPin = 13; // Conecte LED a pin 13 int switcher = 3; // Conecte el sensor inclinación al pin 3 void setup() { pinMode(ledPin, OUTPUT); // Ajuste el pin digital 13 a modo salida pinMode(switcher, INPUT); // Ajuste el pin digital 3 a modo entrada void loop() { if(digitalRead(switcher)==HIGH) //lea el valor del sensor { digitalWrite(ledPin, HIGH); // Encienda el LED cuando el sensor se incline } else { digitalWrite(ledPin, LOW); // Apague el LED cuando el sensor no esté acvado } } Introducción: En la parte superior derecha ene un emisor de infrarrojos y en el otro lado un detector de infrarrojos. Emiendo un haz de luz infrarroja de un lado a otro se convierte en un detector de movimiento por infrarrojos. El sensor podrá detector un objeto cuando pase a través del haz. Tiene muchas aplicaciones, entre ellas conmutador ópco limitado, detección general de objetos, etc. Especicaciones: Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Sample code // Módulo foto interruptor int Led = 13 ;// dena interfaz LED int buonpin = 3; // dena la interfaz del sensor interruptor foto int val ;// dena valor númerico variable void setup () { pinMode (Led, OUTPUT) ;// dena LED como interfaz de salida pinMode (buonpin, INPUT) ;// dena el sensor interruptor foto como interfaz salida } void loop () { val = digitalRead (buonpin) ;// interfaz digital será asignada a valor de 3 para leer val if (val == HIGH) // cuando el sensor de luz detecte una interupción, el LED flasheará. { digitalWrite (Led, HIGH); } else { digitalWrite (Led, LOW); } } Introducción: ¿Está cansado de hacer click sobre un botón mecánico? Pruebe con el sensor tácl capacivo. Este es un po de sensor que es posible encontrar en una innidad de disposivos. Este pequeño sensor puede “senr” a la gente, el toque metálico y responder con volta je alto/bajo. Incluso en el caso de aislarlo con ropa o papel, podrá aun senr el toque. Su sensibilidad se reduce en tanto en cuanto aumenta el grosor de la capa aislante. Para un uso más detallado, consulte la wiki. Para un correcto uso y experiencia de l mismo, hemos realizado las siguientes mejoras. Especicaciones: Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: int ledPin = 13; // Conecte el LED al pin 13, o use el onboard 1 int KEY = 2; // Conecte el sensor Toque al pin digital 2 void setup(){ pinMode(ledPin, OUTPUT); // Ajustar el pinLED al modo salida pinMode(KEY, INPUT); //Ajuste el pin sensor toque a modo entrada } void loop(){ if(digitalRead(KEY)==HIGH) { //Lea la seañl del Sensor Toque digitalWrite(ledPin, HIGH); // Si el sensor Toque es HIGH, entonces, ENCENDER } else{ digitalWrite(ledPin, LOW); //Si el sensor Toque está BAJO, APAGUE el LED. } } Introducción: Este módulo es un sensor de toque. Cuando es tocado, envía una señal momentánea. Se puede combinar con Arduino para hacer al gunos experimentos interesantes, como por ejemplo un tambor electrónico. Especicación: Voltaje: 5V Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: CODIGO EJEMPLO: int Led=13;//Denición Interfaz LED int Shock=3//Denición interfaz sensor golpe ;int val;//Denición valor variable digital void setup() { pinMode(Led,OUTPUT);//Denición LED como interfaz salida pinMode(Shock,INPUT);//Denición sensor golpe como interfaz salida } void loop() { val=digitalRead(Shock);//lea el valor de interfaz 3 y evaluarlo con el de val if(val==HIGH)//cuando el detector de golpe detecte una señal, el LED asheará. { digitalWrite(Led,LOW); } else { digitalWrite(Led,HIGH); } } Especicación: Detectar Campos Magnécos Rango detección: up to 3cm Salida: digital on/oRango detección y la fuerza del campo magnéco son proporcionales. Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: int ledPin = 13; // elija el pin para el LED int inputPin = 3; // Conecte el sensor de entrada al pin 3 int val = 0; // variable para leer el estado del pin void setup() { pinMode(ledPin, OUTPUT); // declaración LED como salida pinMode(inputPin, INPUT); // declaración botón como entrada } void loop(){ val = digitalRead(inputPin); // leer valor de entrada if (val == HIGH) { // chequear si la entrada es HIGH digitalWrite(ledPin, LOW); // apagar el LED } else { digitalWrite(ledPin, HIGH); // turn LED ON } } Introducción: Este sensor de seguimiento de Línea puede detector líneas blancas en fondo negro y líneas negras en fondos blancos. Esta señal proporciona una señal de salida estable TTL para una gesón más estable y segura. Opciones de mulcanal pueden ser fácilmente conseguibles instalando sensores de seguimiento línea de robots. Especicaciones: Potencia: +5V Corriente operava: <10mA Rango operava de temperatura: 0°C ~ + 50°C Interfaz salida: interfaz 3 cables (1 - señal, 2 - potencia, 3 – potencia negava) Nivel Salida: TTL Nivel Tamaño: 41.7*10.7mm Peso: 3g Diagrama Conexión Código Ejemplo ///Código Ejemplo Arduino void setup() { Serial.begin(9600); } void loop() { Serial.println(digitalRead(3)); // imprimir la información del sensor delay(500); } Obstáculo Introducción: El Sensor Infrarrojo Evitar Obstáculos viene equipado con un Sistema de ajuste de distancia y está especícamente diseñado para robots con ruedas. Este sensor ene un fuerte adaptabilidad luz ambiente y es de alta precisión. Conene un par de tubos receptores y transmisores infrarrojos. Cuando el haz infrarrojo es lanzado y encuentra un obstáculo (es reejado), este vuelve rebotado al receptor de infrarrojos; la salida es una señal digital. Se puede ajustar la distancia de detección mediante el potenciometro (distancia efecva: 2~40 cm, voltaje operavo: 3.3V~5V). Gracias a un completo rango de voltaje, es indicado para su uso combinado con varios micro -controladores, controladores Arduino y controladores BS2. Un robot que incluya este sensor podrá notar cambios en su entorno. Especicaciones Voltaje Operavo: DC 3.3V-5V Corriente Operava: ≥20mA Temperatura Operava: 1050Distancia de detección: 2 -40cm Interfaz IO: 4 cables interfaz (-/+/S/EN) Señal salida: TTL voltaje Modo acomodo: Regulación Mul-circulo de Resistencia. Ángulo Efecvo: 35° Tamaño: 41.7*16.7mm Peso: 5g Diagrama de Conexión Código Ejemplo const int sensorPin = 2; // el número del pin del sensor const int ledPin =13; // el número del pin del LED int sensorState = 0; // variable para leer el estado del sensor void setup() { pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); } void loop(){ // leer el estado del valor del sensor: sensorState = digitalRead(sensorPin); // si es así, el estado del sensor es HIGH: if (sensorState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }} Proyecto 19: Sensor Movimiento PIR Introducción: El Sensor de Movimiento Piroeléctrico por Infrarrojos puede detector señales infrarrojas de una persona en movimiento o un animal, y sacar una señal conmutada. Puede ser aplicado a una serie de ocasiones para detectar movimientos del cuerpo humano. Los sensores convencionales requieren de chips profesionales, circuitería compleja. Es decir tamaños más grandes de circuitería. Este nuevo sensor está especialmente diseñado para Arduino. Integra un sensor de movimiento piroeléctrico por infrarrojos especialmente diseñado para Arduino. Tiene un tamaño más pequeño, alta seguridad, bajo consume y circuitería simple. Especicaciones: Voltaje entrada: 3.3 ~ 5V, 6V Máximo Corriente Operava: 15uA Temperatura Operava: -20 ~ 85 Voltaje salida: High 3V, bajo 0V Salida empo retraso (Alto Nive): Sobre 2.3 hasta 3 segundos Ángulo de detección: 100 ° Distancia de detección: 7 metros Indicador LED salida (cuando sale HIGH, se encenderá) Corriente Límite Pin: 100mA Tamaño: 30*20mm Peso: 4g Conexión Diagrama: Código Ejemplo: byte sensorPin = 3; byte indicator = 13; void setup() { pinMode(sensorPin,INPUT); pinMode(indicator,OUTPUT); Serial.begin(9600); } void loop() { byte state = digitalRead(sensorPin); digitalWrite(indicator,state); if(state == 1)Serial.println("Hay alquien aquí!"); else if(state == 0)Serial.println("Nadie!"); delay(500); Introducción: Este sensor de llama puede ser usado para detectar fuego u ondas cuya longitud oscilen entre los 760nm ~1100 nm. En el juego de Robots Bomberos, la llama juego un importante rol. Podría ser usado en los ojos del robot para buscar fuego. Especicación: Voltaje: 3.3V to 5V Rango detección: 20cm (4.8V) ~ 100cm (1V) Rango de Espectro de Ancho de banda: 760nm to 1100nm Temperatura Operava: -25to 85Interfaz: digital Tamaño: 44*16.7mm Peso: 4g Diagrama de Conexión: Código Ejemplo: const int amePin = 2; // el número pin de la llama const int ledPin = 13; // el número del pin LED // variables cambiarán: int State = 0; // variable para leer el estado void setup() { //inicializa el pin LED como salida: pinMode(ledPin, OUTPUT); // inicializa el botón como entrada: pinMode(flamePin, INPUT); } void loop(){ // lea el estado del valor: State = digitalRead(amePin); if (State == HIGH) { // encienda el LED: digitalWrite(ledPin, HIGH); } else { // apagaue el LED: digitalWrite(ledPin, LOW); } } Proyecto 21: Sensor Vibración Introducción: ¿Cuál es la forma más sencilla de chequear vibración? Use este sensor. Podrá conectarlo en el sensor Arduino V5, hágalo vibrar, y Arduino recibirá la señal, facilitando la comunicación. A pesar de su simplicidad, podrá usarlo en muchas formas diferentes, como contabilizar pasos, avisos luminosos, etc. Especicación: Tipo IO: Digital Voltaje: 3.3V to 5V Tamaño: 40.7*16.7mm Peso: 5g Diagrama de Conexión: Código Ejemplo : #dene SensorLED 13 #dene SensorINPUT 3 //Conecte el sensor digital al pin 3 el cual es interrups 1. unsigned char state = 0; void setup() { pinMode(SensorLED, OUTPUT); pinMode(SensorINPUT, INPUT); aachInterrupt(1, blink, FALLING);// Disapre la función parpadeo cuando un riesgo es detectado} void loop() { if(state!=0) { state = 0; digitalWrite(SensorLED,HIGH); delay(500); } else digitalWrite(SensorLED,LOW); } void blink()//Interrumpe la función { state++; } Introducción: Este sensor analógico Gas – MQ2 es usado en la detección de fugas de gas en ED y mercados industriales. Es úl en la detección de LPF, I-Butano, propano, metano, alcohol, Hidrógeno y humo. Es de alta sensibilidad y respuesta. Además, su sensibilidad puede ser ajustada mediante un potenciometro. Especicaciones: Potencia: 5V Tipo Interfaz: Analog Amplio rango de detección Rápida respuesta y alta sensibilidad De uso sencillo Estable y de larga vida Tamaño: 49.7*20mm Peso: 8g Diagrama de Conexión: Código Ejemplo: ///Código Ejemplo Arduino void setup() { Serial.begin(9600); //Ajustar tasa baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea valor GAS desde Analógico 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie delay(100); } Introducción: Este sensor analógico de gas –MQ3 es perfecto para la detección de alcoholes. Puede ser usado con el aliente. De alta sensibilidad al alcohol y baja sensibilidad con Bencinas. La sensibilidad se puede ajustar mediante un potenciómetro. Especicaciones: Potencia: 5V Tipo Interfaz: Analógica Rápida respuesta y alta sensibilidad Circuito simple Estable y de larga duración Tamaño: 49.7*20mm Peso: 6g Diagrama de Conexión: Código Ejemplo: ///Código Ejemplo Arduino void setup() { Serial.begin(9600); //Ajuste tasa baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea valor Gas desde analógo 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie. delay(100); } Proyecto 24: Módulo Digital Transmisor IR Introducción: El modulo Transmisor IR está diseñado para comunicaciones IR. Este po de comunicaciones son ampliamente usadas para operar televisores desde un rango de distancia corto. Como este po de remotos usan luz, requieren de una línea directa de visión para poder ser usado. La señal, de todas formas, puede ser reejada por espejos como cualquier otro po de luz. Si en el caso de un proyecto concreto no hubiera línea directa de visión, por ejemplo al controlar en otra habitación o que están dentro de un chasis, existen en el mercado muchas y diferentes marcas de extensores IR. La mayoría de ellos enen receptores de señal que imita la IR transformándola en una onda. Además, los receptores IR enden a tener un ángulo de uso limitado que depende de las caracteríscas técnicas del fototransistor. Sin embargo, es posible mejorar el ángulo de visión ulizando un objeto mate transparente en frente del receptor. Especicaciones: Potencia: 3-5V Frecuencia Infrarrojos: 850nm-940nm Ángulo emisión Infrarrojos: sobre los 2Distancia emisión Infrarrojos: sobre 1.3m (5V 38Khz) Zócalo: JST PH2.0 Agujero de mont aje: diámetro interior 3.2mm, distancia 15mm Tamaño: 35*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: int led = 3; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } En la oscuridad del entorno, verá una luz que parpadea de color azul en la pantalla del teléfono cuando esté usando la cámara para fotograar con el LED infrarrojo. Remoto/comunicación infrarroja: Lista de hardware UNO R3 x2 Receptor Digital IR x1 Módulo Transmisor IR x1 Consiga la líbrería Arduino-IRremote e instálela. Diagrama de Conexión: Transmisor IR: mismo que el anterior. Atención: Arduino-IRremote solo permite como transmisor D3. Receptor IR: conéctelo al Puerto D11. Cargue el código al UNO conectado con el transmisor IR: #include <IRremote.h> IRsend irsend; void setup() {} void loop() { irsend.sendRC5(0x0, 8); //send 0x0 code (8 bits) delay(200); irsend.sendRC5(0x1, 8); delay(200); } Cargue el código al UNO conectado por el receptor IR: #include <IRremote.h> const int RECV_PIN = 11; const int LED_PIN = 13; IRrecv irrecv(RECV_PIN); decode_results results; void setup() {Serial.begin(9600); irrecv .enableIRIn(); // Arranque el receptor } void loop() {if (irrecv .decode(&results)) { if ( results.bits > 0 ) { int state; if ( 0x1 == results. value ) { state = HIGH; } else { state = LOW; } digitalWrite( LED_PIN, state ); } irrecv .resume(); // prepárese para recibir el siguiente valor }}f) Resultado La "L" LED de la pantalla conectada con el receptor IR parpadeará cuando el receptor IR se enfrenta a transmisor IR. Introducción: La tecnología IR es ampliamente usada en controles remotos. Con este receptor IR, proyecto Arduino es capaz de recibir comandos desde cualquier control remoto IR si ene el decodicador adecuado. Además, será muy sencillo hacer su propio control remoto usando el Especicación: Potencia: 5V Interfaz: Digital Frecuencia Modulada: 38Khz Zócalo Interfaz:JST PH2.0 Tamaño: 30*20mm Peso: 4g Diagrama Cableado La siguiente imagen muestra la conexión sugerida. Puede usar tanto un IO digital que no se esté usando para otro n. NOTA: en el código ejemplo de más abajo, el pin 11 digital está siendo usado, puede elegir otra forma de conexión o simplemente cambiar el código. Diagrama de Conexión Código Ejemplo: #include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv .enableIRIn(); // Arranca el receptor } void loop() { if (irrecv .decode(&results)) { Serial.println(results. value, HEX); irrecv .resume(); // Recive el siguiente valor } La libería incluye algunos ejemplos de emisión y recepción. https://github.com/shirriff/Arduino-IRremote Proyecto 26: Módulo codificador rotatorio Introducción: El codicador rotatorio puede contar el número de pulsos de salida durante el proceso de rotación tanto en el sendo de las agujas del reloj como en el contrario. Su capacidad de contar es ilimitada. Puede volver a ser congurado al estado inicial para empezar a contar a Especicaciones: Potencia: 5V Interfaz: Digital Tamaño: 30*20mm Peso: 7g Diagrama de Conexión: Código Ejemplo: const int interruptA = 0; const int interruptB = 1; int CLK = 2; // PIN2 int DAT = 3; // PIN3 int BUTTON = 4; // PIN4 int LED1 = 5; // PIN5 int LED2 = 6; // PIN6 int COUNT = 0; void setup() { aachInterrupt(interruptA, RoteStateChanged, FALLING); // aachInterrupt(interruptB, buonState, FALLING); pinMode(CLK, INPUT); digitalWrite(2, HIGH); // Esrar resistencia Alta pinMode(DAT, INPUT); digitalWrite(3, HIGH); // Esrar Resistencia Alta pinMode(BUTTON, INPUT); digitalWrite(4, HIGH); // Esrar Resistencia Alta pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); Serial.begin(9600); } void loop() { if (!(digitalRead(BUTTON))) { COUNT = 0; Serial.println("STOP COUNT = 0"); digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); delay (2000); } Serial.println(COUNT); } //------------------------------------------- void RoteStateChanged() // Cuando CLK caída lectura DAT { if (digitalRead(DAT)) // Cuando DAT = ALTA ES EL SIGUIENTE { COUNT++; digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); delay(20); } else // Cuando DAT = BAJO está rotando { COUNT--; digitalWrite(LED2, HIGH); digitalWrite(LED1, LOW); delay(20); } } Introducción: Sensor Temperatura Lineal LM35 está basado en un semiconductor. Puede ser usado para detectar la temperatura ambiente. Este sensor ofrece un rango funcional entre 0 y 100º Celsius. La sensibilidad es de 10mV por grado Celsius. El voltaje de salida es proporcional a la temperature. Este sensor es comunmente usado como sensor de temperature. Incluye termopares, resistencias de planium, chips semiconductores de resistencia y temperatura. El chip es comúnmente usado en termopares para la medición de temperaturas extremas. La resistencia de planium se usa para la medición de hasta 800º Celsius, mientras que la resitencia termal y el sensor semiconductor de temperatura es aconsejable para medir la temperatura entre 100- 200º o por debajo. Aplicaciones en las que un simple sensor semiconductor de temperatura es adecuado en linealidad y alta sensibilidad. El sensor de pueden ser fácilmente combinables. Especicaciones: Básado en el sensor semiconductor de temperatura LM35 Puede ser usado para detectar temperaturas ambiente Sensibilidad: 10mV por grado Celsius Rango Funcional: 0º Celsius hasta 100º Celsius Tamaño: 30*20mm Peso: 3g Diagrama de Conexión Código Ejemplo: void setup() { Serial.begin(9600);//Set Baud Rate to 9600 bps } void loop() { int val; int dat; val=analogRead(0);//Conectar LM35 a Análogo 0 dat=(500 * val) /1024;; Serial.print("Temp:"); //Mostar la temperatura en el monitor Serie Serial.print(dat); Serial.println("C"); delay(500); } Proyecto 28: Sensor Temperatura 18B20 Introducción: El sensor digital de temperatura DS18B20 de DALLAS U.S. puede ser usado para testear la temperature ambiente. El rango de temperatura va desde los -55º~+125ºC. La resolución de la temperatura es de 0.5ºC. Permite, además, red mulpunto. Tres sensores pueden ser usado en tres líneas para medir temperaturas en modo mulpunto. Tiene tambi én 9-12 bit salida serie. Especicaciones: Voltaje: 3.3V to 5V Rango Temperatura: -55 °C ~ +125 °C Interfaz: Digital Tamaño: 30*20mm Peso: 3g Diagrama de Conexión: Código Ejemplo: // http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip #include <OneWire.h> int DS18S20_Pin = 2; //Señal DS18S20 pin en digital 2 //Temperatura chip i/o OneWire ds(DS18S20_Pin); // en digital pin 2 void setup(void) { Serial.begin(9600); } void loop(void) { oat temperature = getTemp(); Serial.println(temperature); delay(100); // justo aquí reducir el ujo de salida para facilitar su lectura } oat getTemp(){ //devolver la temperatura desde un DS18S20 en grados Celsius byte data[12]; byte addr[8]; if ( !ds.search(addr)) { //no más sensores en cadena, resetear cada uno ds.reset_search(); return -1000; } if ( OneWire::crc8( addr, 7) != addr[7]) { Serial.println("CRC no es válido!"); return -1000; } if ( addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Disposivo no reconocido"); return -1000; } ds.reset(); ds.select(addr); ds.write(0x44,1); // empezar la conversion, con potencia parásita al nal byte present = ds.reset(); ds.select(addr); ds.write(0xBE); // Leer el bloc for (int i = 0; i < 9; i++) { // Necesitamos 9 bytes data[i] = ds.read(); } ds.reset_search(); byte MSB = data[1]; byte LSB = data[0]; oat tempRead = ((MSB << 8) | LSB); //ulizando el complemente a dos oat TemperatureSum = tempRead / 16; return TemperatureSum; } Proyecto 29: Módulo Aceleración 3 Ejes ADXL345 Introducción: El ADXL345 es un pequeño, no, de baja potencia, acelerómetro de 3 ejes MEMS de alta resolución (13 bits) de hasta +/-16g. La información de salida está en formatdo 16 -bits y es accesible tanto por SPI (3 o 4 cables) o por 12C interfaz digital. El ADXL345 es aconsejable para medicar la aceleración estáca de la gravedad en aplicaciones de sensor-inclinación, así como la aceleración dinámica resultado del movimiento o de un coche. Su alta resolución (4 mg/LSB) permite medir ca mbios en la inclinación de menos de 1.0º. 68 Especicaciones: 2.0-3.6VDC Voltaje Potencia Ultra Baja: 40uA en modo medida, 0.1uA en espera@ 2.5V Detección de golpe/ doble golpe Detección caída libre Interfaz SPI y I2C Tamaño: 30*20mm Peso: 3g Diagrama de Con exión: Código Ejemplo: /* The circuit: VCC: 5V GND: ground SCL: UNO SLC SDA: UNO SDA Este ejemplo es de dominio público. */ #include <Wire.h> // Registers for ADXL345 #dene ADXL345_ADDRESS (0xA6 >> 1) // dirección para el disposivo es de 8 bits pero 69 // justo por 1 para hacer 7 bits debido a que // libería cableada solo usa 7 bits de dirección #dene ADXL345_REGISTER_XLSB (0x32) int accelerometer_data[3]; // vacio ya que solo le dice al chip enviar información al registro de salida // escribe información en el buer esclavo void i2c_write(int address, byte reg, byte data) { // enviar dirección registro salida Wire.beginTransmission(address); // Conectar al disposivo Wire.write(reg); // enviar información Wire.write(data); //low byte Wire.endTransmission(); } // vacio ya que se usan punteros // microcontrolador lee información desde el registro del sensor de entrada void i2c_read(int address, byte reg, int count, byte* data) { // Usado para leer la información recibida int i = 0; // Enviar dirección registro entrada Wire.beginTransmission(address); // Conectar al disposivo Wire.write(reg); Wire.endTransmission(); // Conectar al disposivo Wire.beginTransmission(address); // Solicitar información desde el esclavo // Cuenta los números de bytes necesitados Wire.requestFrom(address, count); while(Wire.available()) // el esclavo puede enviar menos que los pedidos { char c = Wire.read(); // recibir un byte como carácter data[i] = c; i++; } Wire.endTransmission(); } void init_adxl345() { byte data = 0; i2c_write(ADXL345_ADDRESS, 0x31, 0x0B); // 13-bit mode +_ 16g i2c_write(ADXL345_ADDRESS, 0x2D, 0x08); // Registro Energía i2c_write(ADXL345_ADDRESS, 0x1E, 0x00); // x i2c_write(ADXL345_ADDRESS, 0x1F, 0x00); // Y i2c_write(ADXL345_ADDRESS, 0x20, 0x05); // Z // Check to see if it worked! i2c_read(ADXL345_ADDRESS, 0X00, 1, &data); if(data==0xE5) Serial.println("Éxito"); else Serial.println("Fallo"); } void read_adxl345() { byte bytes[6]; memset(bytes,0,6); // Leer 6 bytes desde ADXL345 i2c_read(ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6, bytes); // Desempaquetar información for (int i=0;i<3;++i) { accelerometer_data[i] = (int)bytes[2*i] + (((int)bytes[2*i + 1]) << 8); } } //Iniciarlizar y empezar todo void setup() { Wire.begin(); Serial.begin(9600); for(int i=0; i<3; ++i) { accelerometer_data[i] = 0; } init_adxl345(); } void loop() { read_adxl345(); Serial.print("ACCEL: "); Serial.print(oat(accelerometer_data[0])*3.9/1000);//3.9mg/LSB scale factor in 13-bit mode Serial.print("\t"); Serial.print(oat(accelerometer_data[1])*3.9/1000); Serial.print("\t"); Serial.print(oat(accelerometer_data[2])*3.9/1000); Serial.print("\n"); delay(100); } Proyecto 30: Sensor Temperatura y Humedad DHT11 Introducción: Este Sensor de Temperatura y Humedad DHT11 provee de salida digital calibrada con un complejo sensor de temperature y humedad. Su tecnología asegura fiabilidad y una excelente estabilidad. Un microcontrolador de 8 bits está conectado. Este sensor incluye un elemento resisvo y disposivo de medida de temperatura NTC. Tiene excelente calidad, respuesta rápida, caracterísca an interferencia y ventajas de funcionamiento de precio elevado. Cada sensor DHT11 ofrece información extremadamen te precisa de calibración. Los coecientes de calibración almacenados en la memoria del programa OTP, sensores internos detectan señales en el proceso y podemos llamar a estas calibraciones coecientes. El sistema de interfaz cableado serie está integrad o para producir rápido y fácilmente. Cualidades del tamaño pequeño, baja energía y 20 metros distancia de señal de transmisión lo hace perfecto para una amplia serie de aplicaciones. Sencilla conexión, paquetes especiales pueden ser suministrados de acuerdo con las necesidades de los clientes. Especicaciones: Voltaje: +5 V Rango Temperatura: 0-50 °C error of ± 2 °C Humedad: 20-90% RH ± 5% RH error Interfaz: Digital Tamaño: 30*20mm Peso: 4g Diagrama de Conexión: Código Ejemplo: Please download the DHT11Lib rstly.Or,see the website #include <dht11.h> dht11 DHT; #dene DHT11_PIN 4 void setup(){ Serial.begin(9600); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT11LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)"); } void loop(){ int chk; Serial.print("DHT11, \t"); chk = DHT.read(DHT11_PIN); // LEER INFORMACION switch (chk){ case DHTLIB_OK: Serial.print("OK,\t"); break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break; default: Serial.print("Unknown error,\t"); break; } // DISPLAT DATA Serial.print(DHT.humidity,1); Serial.print(",\t"); Serial.println(DHT.temperature,1); delay(1000); } Proyecto 31: Módulo Bluetooth Introducción: Este módulo BT puede recibir fácilmente transmisiones de información inalámbricas. Su frecuencia operava está entre las más populares 2.4GHz ISM (por ejemplo, en industria, medicina, usos ciencos, etc). Uso el estándar Bluetooth 2.1+EDR. En este protocol, el empo de transferencia de la información es de 0.5 segundos de intervalo para de esa forma reducir la carga de trabajo del chipset. Este módulo se ajusta mediante una interfaz serie. La cuál es de fácil uso reduciendo los ciclos de desarrollo y uso. EspecicacionesProtocolo B luetooth: Estándar Bluetooth 2.1+ EDR Protocolo USB: USB v1.1/ 2.0 Frecuencia Operava: 2.4GHz ISM frecuencia de banda. Modo Modulación: Gauss frequency ShiKeying Potencia de Transmisión: 4dBm, second stage Sensibildiad: -84dBm at 0.1% Tasa error bit Velocidad de transferencia: 2.1Mbps(Max)/160 kbps(Asíncrona) 1Mbps/1Mbps(Síncrona) Seguridad: Autencación y encriptación Conguraciones Soportadas: Puerto Serie BLUETOOTH (mayor y menor) Voltaje: +3.3 VDC 50mA Temperatura Operava: -20 to 55Tamaño: 36.5*16mm Peso: 4g Diagrama de Conexión: Código Ejemplo int val; int ledpin=13; void setup() { Serial.begin(9600); pinMode(ledpin,OUTPUT); } void loop() { val=Serial.read(); if(val=='a') { digitalWrite(ledpin,HIGH); delay(250); digitalWrite(ledpin,LOW); delay(250); Serial.println("geeetech"); }} Proyecto 32: sensor luz ambiente TEMT6000 Introducción: En algún punto querrá medir la luz ambiente con mayor precisión que con el foto receptor sin añadir mayor complejidad a su Proyecto. Cuando ese momento llegue, use el sensor TEMT6000. El TEMT6000 se supone que está adaptado a la sensibilidad del ojo humano, pero puede funcionar algo por debajo en condiciones de baja luz. Por otro lado, funciona muy bien en el caso de pequeños cambios en el rango de brillo. Como imita al ojo humano, no funciona bien a infrarrojos o luz ultravioleta. Asegúrese no usarlo en proyectos que necesiten de este sensor. Es una pieza re almente sencilla. Solo necesita de conectar potencia y toma de erra y conectarlo al pin de entrada analógica y ya estará. El sensor mostrará el voltaje analógico de salida. Subirá cuando sea mas brillante. Podrá alimentarlo con 3.3v si lo considera neces ario, la salida será menor. Especicaciones Voltaje: +5VDC 50mA Tamaño: 36.5*16mm Peso: 4g Diagrama de conexión: Código ejemplo int temt6000Pin = 0; void setup() { Serial.begin(9600); } void loop() { int value = analogRead(temt6000Pin); Serial.println(value); delay(100); //permite leer mejor la salida } Proyecto 33: Sensor Ultrasónico HC - SR04 Introducción: El sensor ultrasónico HC -SR04 es un sensor de proxim dad/distancia asequible que ha sido usado en muchos proyectos robócos de evitación de obstáculos. Proporciona ojos / Atención especial y previene al robot de caer o golpearse contra obstáculos. Suele ser usado también en aplicaciones de torreta, niveles de agua, sensors de aparcamiento. Este sencillo proyecto usa el sensor junto con Arduino y otros sensores para proporcionar interacvidad a través de la pantalla de su equipo. Especicaciones Voltaje operavo: DC 5V Corriente operava: 15mA Frecuencia operava: 40Hz Rango Max: 4m Rango Min: 2cm Ángulo de Medida: 15º Señal Disparador Entrada: 10μS TTL pulso Señal de salida de la señal de eco palanca de entrada TTL y el rango en proporción Tamaño: 46*20.4mm Peso: 9g Diagrama de Conexión: Código Ejemplo: VCC a arduino 5v GND a arduino GND Echo a Arduino pin 7 Trig a Arduino pin 8 #dene echoPin 7 // Echo Pin #dene trigPin 8 // Trigger Pin #dene LEDPin 13 // Onboard LED int maximumRange = 200; // Rango máxima necesitado int minimumRange = 0; // Rango mínimo necesitado long duraon, distance; // duración usada para calcular distancia void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(LEDPin, OUTPUT); // Use indicador LED (si necesario) } void loop() { /*El siguiente ciclo trigPin/echoPin es usado para determiner la distancia al objeto más cercano mediante ultra sonidos y su rebote. */ digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds (10); digitalWrite(trigPin, LOW); duraon = pulseIn(echoPin, HIGH); //Calcula la distancia en cm basado en la velocidad del sonido. distance = duraon/ 58.2; if (distance >= maximumRange || distance <= minimumRange){ /* Send a negave number to computer and Turn LED ON to indicate "out of range" */ Serial.println("-1"); digitalWrite(LEDPin, HIGH); } else { /*Envie la distancia al equipo usando el protocolo serie y apague el indicador LED para una lectura sasfactoria. */ Serial.println(distance); digitalWrite(LEDPin, LOW); } //Retrase la siguiente lectura 50ms. delay(50); } Introducción: Muchos de los proyectos necesitan de un joysck. Este módulo proporciona una solución asequible. Conectando simplemente dos entradas analógicas, el robot quedará bajo sus órdenes mediante ejes X e Y. También ene un conmutador conectado a un pin digital. Este módulo joysck puede ser fácilmente conectado a Arduino por un escudo IO. Este módulo es compable con Arduino (5V) con cables incluidos. Especicaciones: Voltaje: 3.3V hasta 5V Interfaz: Analógico x2, Digital x1 Tamaño: 40*28mm Peso: 12g Diagrama de Conexión: Código Eje mplo: int JoySck_X = 0; //x int JoySck_Y = 1; //y int JoySck_Z = 3; //key void setup() { pinMode(JoySck_Z, INPUT); Serial.begin(9600); // 9600 bps } void loop() { int x,y,z; x=analogRead(JoySck_X); y=analogRead(JoySck_Y); z=digitalRead(JoySck_Z); Serial.print(x ,DEC); Serial.print(","); Serial.print(y ,DEC); Serial.print(","); Serial.println(z ,DEC); delay(100); } Introducción: DS3231 viene equipado con TXCO integrado y con cristal lo que hace de él un reloj barato y de alta precision. El disposivo incorpora una pila, para que aunque se desconecte, puede seguir manteniendo la hora. El oscilador integ rado asegura su exáctud a largo plazo reduciendo el número de components. DS3231 provee tanto de rangos de temperaturas comerciales e industrials y es compable con paquetes de 16 pins (300 mil). El modulo puede auto adaptarse al sistema en el que se in tegra, desde los 3,3V hasta los 5V sin depender de ningún interruptor. Especicaciones: Rango Temperatura: - 40 hasta +85; Exactud: ± 5ppm (±0.432 segundos / día) Pila incorporada para mantenimiento connuo de la hora Bajo consumo de energía Disposiv o y funciones compables con DS3231 La función complete de calendario de reloj incluye minutos, horas, semanas, meses y años hasta el año 2100 Dos reloj calendario Salida: 1Hz y 32.768kHz Salida reset y Reset output and entrada rebote botón Alta Velocidad (400kHz), I2C bus serie Voltaje: +3.3V hasta +5.5V Sensor de temperatura digital con precisión de ±3Temperatura operava: -40 ~ C hasta +85 ~ C Paquete Salida 16 pins (300mil) Cercado por la UL Tamaño: 30*20mm Peso: 4g Diagrama de Conexión: Este modulo adopta el método de testeo IIC, por lo que solo es necesario conectar “SDA” a Arduino A4, “SCL a A5” “+” a VCC y “-“ a GND como sigue: Código Ejemplo: #include <Wire.h> #include "DS3231.h" DS3231 RTC; //Create the DS3231 object char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; //año, mes, fecha, hora, min, seg, y días de la semana (empezando de 0 hasta 6) //escribiendo cualquier fecha no existente puede interferir con el funcionamiento normal del RTC. //Cuidado con los días de la semana también DateTime dt(2011, 11, 10, 15, 18, 0, 5);//abra el puerto serie y podra ver la hora o cambiarlo según sea necesario. void setup () { Serial.begin(57600);//ajuste tasa baudios a 57600 Wire.begin(); RTC.begin(); RTC.adjust(dt); //Ajuste hora-fecha como se dene “dt” encima } void loop () { DateTime now = RTC.now(); //consiga la fecha-empo actual Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.date(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); Serial.print(weekDay[now.dayOfWeek()]); Serial.println(); delay(1000); } Antes de compilar el código, será major que ponta DS3231 library dentro de una carpeta en Arduino. Cuando los pasos anteriores estén realizados , podrá subir el código a Arduino abrir el monitor y obtener los resultados siguientes: Proyecto 36: Módulo Relé 5V Introducción: Este módulo Relé puede ser usado en proyectos interacvos. Este módulo usa SONGLE 5v con relé de alta calidad. Puede ser usado para controlar luces, equipos electrícos y de otro po. El diseño modular hace sencillo su expansion con la placa Arduino (no incluida). La salida del relé es mediante un diodo que emite luz. Puede ser controlado a través de unp uerto IO, del po de solenoids, lámparas, motores u otros disposivos de alto o bajo voltaje. Especicaciones: Tipo: Digital Corriente: 10A (NO) 5A (NC) Voltaje máximo: 150VAC 24VDC Interfaz Digital Señal de control: nivel TTL Carga: 8A 150VAC (NO) 10A 24VDC (NO), 5A 250VAC (NO/NC) 5A 24VDC (NO/NC) Potencia Máxima: AC1200VA DC240W (NO) AC625VA DC120W (NC) Tiempo reacción: 10ms Tamaño: 40*28mm Peso: 15g Diagrama de Conexión: Código Eje mplo: int Relay = 8; void setup() { pinMode(13, OUTPUT); //Ajuste Pin 13 como salida digitalWrite(13, HIGH); //Ajuste Pin 13 Alto pinMode(Relay, OUTPUT); //Ajuste Pin 13 como salida } void loop() { digitalWrite(Relay, HIGH); //Apague el relé delay(2000); digitalWrite(Relay, LOW); //Encienca el relé delay(2000); } Proyecto 4: Módulo LED RGB Proyecto 9: Módulo Vibrador Pasivo Proyecto 11: Botón Presión Digital Proyecto 13: Módulo Interruptor Foto Proyecto 14: Sensor Tácl Capacivo Proyecto 15: Módulo Sensor Toque Proyecto 16: Sensor Magnéco de Pasillo Proyecto 17: Sensor Seguimient o Línea Proyecto 18: Sensor infrarrojos Evitar Proyecto 20: Sensor Llama Proyecto 22: Sensor Analógico Gas Proyecto 23: Sensor Analógico Alcohol equipos situados Proyecto 25: Módulo Digital Receptor IR transmisor IR. parr de 0. Proyecto 27: Sensor Temperatura Lineal LM35 temperatura lineal LM35 y el sensor especíco Arduino cambia Ingenium Starter Kit Kit de Iniciación 36 en 1 para Arduino Kit de Sensores para Arduino Basado en hardware Open - source 36 sensores diferentes en una sola caja Haz proyecto interesantes diferentes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 84 Proyecto 34: Módulo Joysck Proyecto 35: Módulo R eloj DS3231

Upload: carlos-llivisaca

Post on 11-Jul-2016

73 views

Category:

Documents


13 download

DESCRIPTION

arduino sensor

TRANSCRIPT

Page 1: Manual de Sensores Arduino Con Codigos de Programacion

Introducción: Este es un sensor Magnético de Inducción. Nota la presencia de materiales magnéticos dentro de un rango de 3cm. El rango de detección y la fuerza son directamente proporcionales. La salida es un on/off digital. Este sensor usa el conmutador SFE Reed - Sensor Campo Magnético.

1. Sumario: Este es un kit educativ o Arduino con sensores desarrollado por NETWAY. Reunimos 36 sensores y módulos

juntos, para facilitar el proceso de aprendizaje. En su interior, podrán encontrar sensores analógico y

digitales, módulos especiales como el de ultrasonidos, bluetooh, aceleróm , etro, etc. Para cada módulo

existe una clara conexión indicada en el diagrama. Por eso, aunque usted no esté iniciado, podrá comenzar

y acostumbrarse de una forma sencilla. Los programas de muestra para este kit están basados en Arduino

debido a que esta e s una plataforma abierta y sencilla. Si usted es bueno en esto, podrá aplicar los

conocimientos que adquiera en otros kits basados en MCU, del estilo de 51, STM32, Raspberries Pi. El principio

elemental es más o menos el mismo. Sin más, vamos a empezar con el fascinante mundo de ARDUINO y

aprendamos juntos!

2. Lista Sensores KIT

1: (ks0017)Proyecto de módulo de luz LED blanco Digital

2: (ks0016)Módulo Luz LED Piranha 3: (ks0010)Módulo 3W LED 4: (ks0032)Módulo RG LED 5: (ks0033)Sensor Analógico temperatura 6: (ks0028) Sensor fotosensible 7: (ks0035)Sensor Analógico Sonido 8: (ks0014)Sensor Analógico rotación 9: (ks0019)Módulo Pasivo Timbre 10:(ks0018)Módulo Digital Timbre 11: (ks0029)Botón Digital Push 12: (ks0025)Sensor Digital Inclinación 13: (ks0009)Modulo interruptor foto 14. (ks0031)Sensor capacitivo presión 15: (ks0024)Modulo sensor golpe 16: (ks0020)Sensor Magnético Pasillo 17: (ks0050)Sensor de seguimiento Línea 18: (ks0051)Sensor Infrarojos Evitar Obstáculos 19: (ks0052)PIR Sensor de Movimiento 20: (ks0036)Sensor llama 21: (ks0037)Sensor Vibración 22: (ks0040)Sensor Analógico Gas 23: (ks0041)Sensor Analógico alcohol 24: (ks0027)Módulo Digital Transmisor IR 25: (ks0026)Módulo Digital Recepción IR 26: (ks0013)Modulo codificador de rotación 27: (ks0022)LM35 Sensor Temperatura 28: (ks0023)18B20 Sensor Temperatura 29: (ks0012)ADXL345 Módulo Aceleración 3 Axis 30: (ks0034)DHT11 Sensor Temperatura y Humedad 31: (ks0055)Módulo Bluetooth 32: (ks0056)sensor luz ambiente TEMT6000 33: (ks0097)HC-SR04 Sensor Ultrasónico 34: (ks0008)Módulo Joystick 35: (ks0039)DS3231Módulo Reloj 36: (ks0011)Módulo Relay 5V

3. Detalles de Proyectos:

Proyecto 1: Módulo LUZ LED

Introducción: Este módulo LUZ LED tiene un color brillante, ideal para los que empiezan en Arduino. Puede ser fácilmente conectado a un escudo IO o sensor.

Especificaciones:

Tipo: Digital PH2.54 zócalo Módulo Luz LED blanco Permite la interacción con proyectos relacionados con luz.

Tamaño: 30*20mm

Peso: 3g

Diagrama Conexión:

Código ejemplo: int led = 3; void setup() { pinMode(led, OUTPUT); //Set Pin3 as output } void loop() { digitalWrite(led, HIGH); //Turn on led delay(2000); digitalWrite(led, LOW); //Turn off led delay(2000); }

Proyecto 2: Módulo Luz LED Piranha

Introducción: Este es un módulo especial. Una vez coenctado a la placa de desarrollo ARDUINO, después de programarlo, emitirá una bonita luz. Por supuesto, podrá controlarlo usando PWM. Será algo parecido a luciérnagas por la noche. ¿No es bonito? Podrá además ser combinado con otros sensores para realizar bonitos e interesantes experimentos.

Especificaciones: Tipo Módulo: digital Voltaje Operativo: 5v Distancia entre pins: 2.54mm

Tamaño: 30*20mm

Peso: 3g

Diagrama de conexión:

Código ejemplo:

int led = 3; void setup() { pinMode(led, OUTPUT); //Set Pin3 as output } void loop() { digitalWrite(led, HIGH); //Turn off led delay(2000); digitalWrite(led, LOW); //Turn on led delay(2000); }

Proyecto 3: Módulo LED 3W

Introducción: Este módulo es de alto brillo debido a que la lámpara incluida es de 3W. Podemos usar este módulo en proyectos Arduino. Por ejemplo, robots inteligentes pueden usar este módulo para iluminar.

Por favor, tenga en cuenta que la luz LED no puede ser expuesta directamente al ojo humano para evitar problemas de seguridad.

Especificaciones: Temperatura Color: 6000~7000K

Flujo Lumínico: 180~210lm Corriente: 700~750mA Potencia: 3W Ángulo lumínico: 140 degree

Temperatura operativa: -50~80'C Temperatura almacenaje: -50~100'C Módulo LED de alta potencia, controlado por puerto micrcontrolador IO

Ideal para Robots y para aplicaciones plataforma Search and Rescue

Tipo IO: Digital Voltaje: 3.3V to 5V Tamaño: 40x28mm

Peso: 6g

Diagrama de Conexión:

Código Ejemplo: // la función de ajuste se active cuando active o apague la placa void setup() { //inicialice pin 13 digital como salida pinMode(13, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(13, HIGH); // enciende la luz LED delay(1000); // espera un segundo digitalWrite(13, LOW); // apaga la luz LED delay(1000); // espera un segundo }

Introducci ón:

Este es un módulo LED color que contiene los 3 colores básicos –rojo, verde y azul. Pueden ser

usadas de forma separada. Una vez programado, podemos encenderlo y apagarlo de forma secuencial. Se podría usar una salida PWM analógico para mezclar los col ores y generar otros nuevos.

Especificaciones: Colores: rojo, verde y azul Brillo: Alto Voltaje: 5V Entrada: Nivel digital

Tamaño: 30 * 20mm Peso: 3g

Diagrama de conexión:

Código Ejemplo int redpin = 11; //seleccione el pin para ROJO int bluepin =10; // seleccione el pin para AZUL int greenpin =9;// seleccione el pin para VERDE int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); } void loop() {for(val=255; val>0; val--) {analogWrite(11, val);

analogWrite(10, 255-val); analogWrite(9, 128-val); delay(1);

} for(val=0; val<255; val++) {analogWrite(11, val); analogWrite(10, 255-val); analogWrite(9, 128-val); delay(1); }}

Proyecto 5: Sensor Temperatura Analógico

Introducción:

Este modulo está basado en el principio de thermistor (la Resistencia varias con los cambios en la temperature ambiente). Puede detectar cambios en la temperatura alrededor y enviar la información al IO analógico en la placa Arduino. Lo único que se necesita es convertir la información de salida del sensor en grados Celsius mediante un programa y mostrarlo. Es conveniente y efectivo. Está ampliamente usado en jardinería, alar mas domésticas y otros dispositivos.

Especificación:

Tipo interfaz: analógica Voltaje operativo: 5V Rango temperatura: -55℃~315℃ Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

Código Ejemplo:

void setup() {Serial.begin(9600); } // la rutina corre una y otra vez para siempre: void loop() {int sensorValue = analogRead(A0); Serial.println(sensorValue);

delay(1); } Podemos ver como el valor va cambiando segúnla temperature ambiente lo hace. Pero esto

es tan abvio. Miremos de solventarlo usando la sig uiente ecuación. El valor leido desde

noe el Puerto serie es similar a la temperature normal. Ejemplo, la temperature ahora es de 30 grados.

#include <math.h> double Thermister(int RawADC) { double Temp; Temp = log(((10240000/RawADC) - 10000)); Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // Convert Kelvin to Celcius return Temp; } void setup() {Serial.begin(9600); } void loop() { Serial.print(Thermister(analogRead(0))); // display Fahrenheit Serial.println("c"); delay(500); }

Proyecto 6: Sensor fotosensible

Introducción: Fotosensible es comúnmente usado en el día a día, principalmente en conmutadores inteligentes, y en diseños electrónicos comunes. Para hacerlo aún más sencillo y efectivo, suministramos los módulos correspondientes. Es un semiconductor. Sus características son la de alta sensibilidad, rápida respuesta, características espectrales, consistencia valor R, altamente estables y seguras en ambientes como altas temperaturas, alta humedad, etc. Es comúnmente usada en cámaras, luces para jardinería, relojes de cuarzo, cajas de regalo, luces de noche, conmutadores de control, etc.

Especificaciones: Tipo interfaz: analógica Voltaje operativo: 5V Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

Código Ejemplo: int sensorPin =A0 ; int value = 0; void setup() { Serial.begin(9600); } void loop() { value = analogRead(sensorPin); Serial.println(value, DEC);

delay(50); } Proyecto 7: Sensor Sonido Analógico

Introducción: El Sensor Sonido Analógico es tipicamente uasdo en la detección de ruido en ambientes. Arduino puede recoger su señal de salida imitando la entrada. Puede usarlo en aplicaciones donde se podrá interactuar por voz.

Especificaciones: Voltaje: 3.3V to 5V Intensidad de detección de sonido Interfaz: Analógico Tamaño: 30*20mm

Peso: 4g

Diagrama de Conexión:

Código Ejemplo: void setup() { Serial.begin(9600); // abrir el puerto serie, ajustar los baudios a 9600 bps } void loop() { int val; val=analogRead(0); //conectar el sensor de micro al Análogo 0 Serial.println(val,DEC);//Imprimir el valor sonido por el puerto serie delay(100); }

Proyecto 8: Sensor Rotatorio Analógico

Introducción: Este Sensor Rotatorio Analógico es compatible con Arduino. Está basado en un potenciómetro. Su voltaje puede ser dividido en 1023, y es fácilmente conectable a Arduino con el sensor escudo. Combinado con otros sensores, permite realizar interesantes proyecto combinándolo con otros sensores y leyendo la información obtenida por el puerto IO.

Especificaciones: Voltaje: 3.3V to 5V

Interfaz: Analógica Tamaño: 30*20mm Peso: 8g

Diagrama de Conexión:

Código Ejemplo: ///Arduino Sample Code void setup() { Serial.begin(9600); //Ajustar la tasa de baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea el sensor de rotación desde el Analógico 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie delay(100); }

Introducción:

Podemos usar Arduino para construir trabajos interactivos, de los cuales los más communes son proyectos óptico- acústicos. Todos los experimentos previos pueden producir sonido. Normalmente, el experimento se realiza con un Vibrador o altavoz. El vibrador suele ser más sencillo de usar. No puede ser accionado por si mismo. El que estamos explicando es pasivo. Es activado por pulsaciones de frecuencias externas. Diferentes frecuencias produ cen

diferentes sonidos. Podemos usar Arduino para codificar una melodía de una canción, lo que es sencillo y divertido.

Especificaciones: Voltaje operativo: 3.3-5v Tipo interfaz: digital Tamaño: 30*20mm Peso: 4g

Diagrama Conexión:

Código Ejemplo: int buzzer=8;//Ajustar IO digital al vibrador void setup() { pinMode(buzzer,OUTPUT);// ajustar patron digital IO, SALIDA para ser salida } void loop() { unsigned char i,j;//definir variable while(1) { for(i=0;i<80;i++)// sacar a sonido frecuencia { digitalWrite(buzzer,HIGH);// sonido delay(1);//delay1ms digitalWrite(buzzer,LOW);//sin sonido delay(1);//ms delay }

for(i=0;i<100;i++)// sacar una frecuencia sonido { digitalWrite(buzzer,HIGH);// sonido digitalWrite(buzzer,LOW);//sin sonido delay(2);//2ms delay } } } Después de descargar el programa, el experiemento de vibración se dará por finalizado.

Proyecto 10: Módulo Vibrador Digital

Introducción:

Este es el módulo de sonido más simple. Puede usar el nivel alto o bajo para usarlo. Cambiando la frecuencia sus vibraciones pueden producir diferentes sonidos. Este módulo es habitualmente usado en aplicaciones de uso diario como PC, refrigeradores, teléfonos, etc. Puede crear

diferentes y muy interesantes proyectos interactivos con este pequeño pero útil módulo.

Pruebelo! Le parecerán fascinantes los sonidos que crea.

Especificaciones: Voltaje operativo: 3.3-5v Tipo interfaz: digital Tamaño: 30*20mm Peso: 4g

Diagrama de Co nexiones:

Código Ejemplo: int buzzPin = 3; //Conecte al vibrador al pin digital 3 void setup() { pinMode(buzzPin, OUTPUT); } void loop() { digitalWrite(buzzPin, HIGH); delay(1); digitalWrite(buzzPin, LOW); delay(1); }

Introducción:

Este es un módulo de aplicación básica. Sencillamente, conéctelo a un escudo IO para tener

su primer contacto con Arduino. Ventajas: Rango de voltaje desde 3.3V hasta 5V Estructura de ensamblaje estándar (dos agujeros de 3mm de diámetro con múltiple de 5mm equidistante del centro) Sensores con interfaz fácilmente reconocibles (A para analógico y D para digital) Los iconos muestras las funciones del sensor de forma clara Conectores de Alta Calidad Superficie sumergida en Oro

Especificación: Voltaje: 3.3V hasta 5V Fácil de conectar y usar

Botón de gran tamaño y de gran calidad Logre trabajos interesantes e interactivos Interfaz: Digital Tamaño: 30*20mm Peso: 4g

Diagrama de Conexión:

Sample Code /* # When you push the digital button, the Led 13 on the board will turn on. Otherwise,the led turns off. */ int ledPin = 13; // elija el pin para el LED int inputPin = 3; // Conecte el sensor a la entrada pin 3

void setup() { pinMode(ledPin, OUTPUT); // declare el LED como salida pinMode(inputPin, INPUT); // declare el botón como entrada } void loop(){

int val = digitalRead(inputPin); // lea el valor de entrada if (val == HIGH) { // revise que la entrada es HIGH

digitalWrite(ledPin, LOW); // apague el LED } else { digitalWrite(ledPin, HIGH); // encienda el LED }}

Proyecto 12: Sensor Inclinación Digital

Introducción: El sensor Inclinación es un conmutador digital de Inclinación. Puede ser simplemente usado como un conmutador de inclinación. Conéctel o a su Sensor IO; podrá realizar proyectos interactivos impresionantes. Con este sensor dedicado y Arduino podrá conseguir trabajos interesantes e interactivos.

Especificación:

Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g

Diagrama de Co nexión:

Código Ejemplo:

int ledPin = 13; // Conecte LED a pin 13 int switcher = 3; // Conecte el sensor inclinación al pin 3 void setup() { pinMode(ledPin, OUTPUT); // Ajuste el pin digital 13 a modo salida pinMode(switcher, INPUT); // Ajuste el pin digital 3 a modo entrada void loop()

{ if(digitalRead(switcher)==HIGH) //lea el valor del sensor { digitalWrite(ledPin, HIGH); // Encienda el LED cuando el sensor se incline } else { digitalWrite(ledPin, LOW); // Apague el LED cuando el sensor no esté activado }

}

Introducción: En la parte superior derecha tiene un emisor de infrarrojos y en el otro lado un detector de infrarrojos. Emitiendo un haz de luz infrarroja de un lado a otro se convierte en un detector de movimiento por infrarrojos. El sensor podrá detector un objeto cuando pase a través del haz. Tiene muchas aplicaciones, entre ellas conmutador óptico limitado, detección general de objetos, etc.

Especificaciones: Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g Diagrama de Conexión:

Sample code // Módulo foto interruptor

int Led = 13 ;// defina interfaz LED int buttonpin = 3; // defina la interfaz del sensor interruptor foto int val ;// defina valor númerico variable void setup () { pinMode (Led, OUTPUT) ;// defina LED como interfaz de salida pinMode (buttonpin, INPUT) ;// defina el sensor interruptor foto como interfaz salida

} void loop () { val = digitalRead (buttonpin) ;// interfaz digital será asignada a valor de 3 para leer val if (val == HIGH) // cuando el sensor de luz detecte una interupción, el LED flasheará. { digitalWrite (Led, HIGH); } else { digitalWrite (Led, LOW); } }

Introducción: ¿Está cansado de hacer click sobre un botón mecánico? Pruebe con el sensor táctil capacitivo. Este es un tipo de sensor que es posible encontrar en una infinidad de dispositivos. Este pequeño sensor puede “sentir” a la gente, el toque metálico y responder con volta je alto/bajo. Incluso en el caso de aislarlo con ropa o papel, podrá aun sentir el toque. Su sensibilidad se reduce en tanto en cuanto aumenta el grosor de la capa aislante. Para un uso más detallado, consulte la wiki. Para un correcto uso y experiencia de l mismo, hemos realizado las siguientes mejoras.

Especificaciones:

Voltaje: 3.3V to 5V Interfaz: Digital Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

Código Ejemplo:

int ledPin = 13; // Conecte el LED al pin 13, o use el onboard 1 int KEY = 2; // Conecte el sensor Toque al pin digital 2 void setup(){ pinMode(ledPin, OUTPUT); // Ajustar el pinLED al modo salida pinMode(KEY, INPUT); //Ajuste el pin sensor toque a modo entrada } void loop(){ if(digitalRead(KEY)==HIGH) { //Lea la seañl del Sensor Toque digitalWrite(ledPin, HIGH); // Si el sensor Toque es HIGH, entonces, ENCENDER } else{ digitalWrite(ledPin, LOW); //Si el sensor Toque está BAJO, APAGUE el LED. } }

Introducción: Este módulo es un sensor de toque. Cuando es tocado, envía una señal momentánea. Se puede combinar con Arduino para hacer al gunos experimentos interesantes, como por ejemplo un tambor electrónico.

Especificación: Voltaje: 5V Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

CODIGO EJEMPLO: int Led=13;//Definición Interfaz LED int Shock=3 //Definición interfaz sensor golpe ;int val;//Definición valor variable digital void setup() { pinMode(Led,OUTPUT);//Definición LED como interfaz salida pinMode(Shock,INPUT);//Definición sensor golpe como interfaz salida } void loop() { val=digitalRead(Shock);//lea el valor de interfaz 3 y evaluarlo con el de val if(val==HIGH)//cuando el detector de golpe detecte una señal, el LED flasheará. { digitalWrite(Led,LOW); } else { digitalWrite(Led,HIGH); }

}

Especificación: Detectar Campos Magnéticos Rango detección: up to 3cm Salida: digital on/off Rango detección y la fuerza del campo magnético son proporcionales. Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

Código Ejemplo: int ledPin = 13; // elija el pin para el LED int inputPin = 3; // Conecte el sensor de entrada al pin 3 int val = 0; // variable para leer el estado del pin void setup() { pinMode(ledPin, OUTPUT); // declaración LED como salida pinMode(inputPin, INPUT); // declaración botón como entrada } void loop(){ val = digitalRead(inputPin); // leer valor de entrada if (val == HIGH) { // chequear si la entrada es HIGH digitalWrite(ledPin, LOW); // apagar el LED } else {

digitalWrite(ledPin, HIGH); // turn LED ON } }

Introducción: Este sensor de seguimiento de Línea puede detector líneas blancas en fondo negro y líneas negras en fondos blancos. Esta señal proporciona una señal de salida estable TTL para una gestión más estable y segura. Opciones de multicanal pueden ser fácilmente conseguibles

instalando sensores de seguimiento línea de robots.

Especificaciones: Potencia: +5V Corriente operativa: <10mA Rango operativa de temperatura: 0°C ~ + 50°C Interfaz salida: interfaz 3 cables (1 - señal, 2 - potencia, 3 – potencia negativa) Nivel Salida: TTL Nivel Tamaño: 41.7*10.7mm Peso: 3g

Diagrama Conexión

Código Ejemplo

///Código Ejemplo Arduino

void setup() { Serial.begin(9600);

}

void loop() {

Serial.println(digitalRead(3)); // imprimir la información del sensor

delay(500); }

Obstáculo

Introducción:

El Sensor Infrarrojo Evitar Obstáculos viene equipado con un Sistema de ajuste de distancia y está específicamente diseñado para robots con ruedas. Este sensor tiene un fuerte adaptabilidad luz ambiente y es de alta precisión. Contiene un par de tubos receptores y transmisores infrarrojos. Cuando el haz infrarrojo es lanzado y encuentra un obstáculo (es reflejado), este vuelve rebotado al receptor de infrarrojos; la salida es una señal digital. Se puede ajustar la distancia de detección mediante el potenciometro (distancia efectiva: 2~40 cm, voltaje operativo: 3.3V~5V). Gracias a un completo rango de voltaje, es indicado para su uso combinado con varios micro -controladores, controladores Arduino y controladores BS2. Un robot que incluya este sensor podrá notar cambios en su entorno.

Especificaciones:

Voltaje Operativo: DC 3.3V-5V Corriente Operativa: ≥20mA Temperatura Operativa: -10℃—+50℃ Distancia de detección: 2 -40cm Interfaz IO: 4 cables interfaz (-/+/S/EN) Señal salida: TTL voltaje Modo acomodo: Regulación Multi-circulo de Resistencia. Ángulo Efectivo: 35° Tamaño: 41.7*16.7mm Peso: 5g

Diagrama de Conexión:

Código Ejemplo const int sensorPin = 2; // el número del pin del sensor const int ledPin =13; // el número del pin del LED int sensorState = 0; // variable para leer el estado del sensor

void setup() { pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); } void loop(){ // leer el estado del valor del sensor: sensorState = digitalRead(sensorPin); // si es así, el estado del sensor es HIGH: if (sensorState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}

Proyecto 19: Sensor Movimiento PIR

Introducción:

El Sensor de Movimiento Piroeléctrico por Infrarrojos puede detector señales infrarrojas de una persona en movimiento o un animal, y sacar una señal conmutada. Puede ser aplicado a una

serie de ocasiones para detectar movimientos del cuerpo humano. Los sensores convencionales requieren de chips profesionales, circuitería compleja. Es decir tamaños más grandes de circuitería. Este nuevo sensor está especialmente diseñado para Arduino. Integra un sensor de movimiento piroeléctrico por infrarrojos especialmente diseñado para Arduino. Tiene un tamaño más pequeño, alta seguridad, bajo consume y circuitería simple.

Especificaciones: Voltaje entrada: 3.3 ~ 5V, 6V Máximo Corriente Operativa: 15uA Temperatura Operativa: -20 ~ 85 ℃ Voltaje salida: High 3V, bajo 0V Salida tiempo retraso (Alto Nive): Sobre 2.3 hasta 3 segundos Ángulo de detección: 100 ° Distancia de detección: 7 metros Indicador LED salida (cuando sale HIGH, se encenderá) Corriente Límite Pin: 100mA Tamaño: 30*20mm Peso: 4g

Conexión Diagrama:

Código Ejemplo:

byte sensorPin = 3; byte indicator = 13; void setup() { pinMode(sensorPin,INPUT); pinMode(indicator,OUTPUT); Serial.begin(9600); } void loop() { byte state = digitalRead(sensorPin); digitalWrite(indicator,state); if(state == 1)Serial.println("Hay alquien aquí!"); else if(state == 0)Serial.println("Nadie!"); delay(500);

Introducción:

Este sensor de llama puede ser usado para detectar fuego u ondas cuya longitud oscilen entre los 760nm ~1100 nm. En el juego de Robots Bomberos, la llama juego un importante rol. Podría ser usado en los ojos del robot para buscar fuego.

Especificación: Voltaje: 3.3V to 5V Rango detección: 20cm (4.8V) ~ 100cm (1V) Rango de Espectro de Ancho de banda: 760nm to 1100nm Temperatura Operativa: -25℃to 85℃ Interfaz: digital Tamaño: 44*16.7mm Peso: 4g

Diagrama de Conexión:

Código Ejemplo:

const int flamePin = 2; // el número pin de la llama const int ledPin = 13; // el número del pin LED // variables cambiarán: int State = 0; // variable para leer el estado void setup() { //inicializa el pin LED como salida: pinMode(ledPin, OUTPUT); // inicializa el botón como entrada: pinMode(flamePin, INPUT); } void loop(){ // lea el estado del valor: State = digitalRead(flamePin); if (State == HIGH) { // encienda el LED: digitalWrite(ledPin, HIGH); } else { // apagaue el LED: digitalWrite(ledPin, LOW); } }

Proyecto 21: Sensor Vibración

Introducción:

¿Cuál es la forma más sencilla de chequear vibración? Use este sensor. Podrá conectarlo en el sensor Arduino V5, hágalo vibrar, y Arduino recibirá la señal, facilitando la comunicación. A pesar de su simplicidad, podrá usarlo en muchas formas diferentes, como contabilizar pasos, avisos luminosos, etc.

Especificación: Tipo IO: Digital Voltaje: 3.3V to 5V Tamaño: 40.7*16.7mm Peso: 5g

Diagrama de Conexión:

Código Ejemplo :

#define SensorLED 13 #define SensorINPUT 3 //Conecte el sensor digital al pin 3 el cual es interrups 1.

unsigned char state = 0;

void setup()

{

pinMode(SensorLED, OUTPUT);

pinMode(SensorINPUT, INPUT);

attachInterrupt(1, blink, FALLING);// Disapre la función parpadeo cuando un riesgo es

detectado} void loop()

{

if(state!=0)

{

state = 0;

digitalWrite(SensorLED,HIGH);

delay(500);

}

else

digitalWrite(SensorLED,LOW);

}

void blink()//Interrumpe la función

{

state++;

}

Introducción: Este sensor analógico Gas – MQ2 es usado en la detección de fugas de gas en ED y mercados industriales. Es útil en la detección de LPF, I-Butano, propano, metano, alcohol, Hidrógeno y humo. Es de alta sensibilidad y respuesta. Además, su sensibilidad puede ser ajustada mediante un potenciometro.

Especificaciones: Potencia: 5V Tipo Interfaz: Analog Amplio rango de detección

Rápida respuesta y alta sensibilidad De uso sencillo Estable y de larga vida Tamaño: 49.7*20mm Peso: 8g

Diagrama de Conexión:

Código Ejemplo: ///Código Ejemplo Arduino void setup() { Serial.begin(9600); //Ajustar tasa baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea valor GAS desde Analógico 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie delay(100); }

Introducción: Este sensor analógico de gas –MQ3 es perfecto para la detección de alcoholes. Puede ser usado con el aliente. De alta sensibilidad al alcohol y baja sensibilidad con Bencinas. La sensibilidad se puede ajustar mediante un potenciómetro. Especificaciones: Potencia: 5V

Tipo Interfaz: Analógica Rápida respuesta y alta sensibilidad Circuito simple Estable y de larga duración Tamaño: 49.7*20mm Peso: 6g

Diagrama de Conexión:

Código Ejemplo: ///Código Ejemplo Arduino void setup() { Serial.begin(9600); //Ajuste tasa baudios serie a 9600 bps } void loop() { int val; val=analogRead(0);//Lea valor Gas desde analógo 0 Serial.println(val,DEC);//Imprima el valor por el puerto serie. delay(100); }

Proyecto 24: Módulo Digital Transmisor IR

Introducción: El modulo Transmisor IR está diseñado para comunicaciones IR. Este tipo de comunicaciones son ampliamente usadas para operar televisores desde un rango de distancia corto. Como este tipo de remotos usan luz, requieren de una línea directa de visión para poder ser usado. La señal, de todas formas, puede ser reflejada por espejos como cualquier otro tipo de luz. Si en el caso de un proyecto concreto no hubiera línea directa de visión, por ejemplo al controlar en otra habitación o que están dentro de un chasis, existen en el mercado muchas y diferentes marcas de extensores IR. La mayoría de ellos tienen receptores de señal que imita la IR transformándola en una onda. Además, los receptores IR tienden a tener un ángulo de uso limitado que depende de las características técnicas del fototransistor. Sin embargo, es posible mejorar el ángulo de visión utilizando un objeto mate transparente en frente del receptor.

Especificaciones: Potencia: 3-5V Frecuencia Infrarrojos: 850nm-940nm Ángulo emisión Infrarrojos: sobre los 20º Distancia emisión Infrarrojos: sobre 1.3m (5V 38Khz) Zócalo: JST PH2.0 Agujero de mont aje: diámetro interior 3.2mm, distancia 15mm Tamaño: 35*20mm Peso: 3g Diagrama de Conexión:

Código Ejemplo: int led = 3; void setup() {

pinMode(led, OUTPUT);

}

void loop() {

digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } En la oscuridad del entorno, verá una luz que parpadea de color azul en la pantalla del teléfono cuando esté usando la cámara para fotografíar con el LED infrarrojo.

Remoto/comunicación infrarroja: Lista de hardware UNO R3 x2 Receptor Digital IR x1 Módulo Transmisor IR x1 Consiga la líbrería Arduino-IRremote e instálela.

Diagrama de Conexión: Transmisor IR: mismo que el anterior. Atención: Arduino-IRremote solo permite como transmisor D3.

Receptor IR: conéctelo al Puerto D11.

Cargue el código al UNO conectado con el transmisor IR: #include <IRremote.h> IRsend irsend; void setup() {} void loop() { irsend.sendRC5(0x0, 8); //send 0x0 code (8 bits) delay(200); irsend.sendRC5(0x1, 8); delay(200); } Cargue el código al UNO conectado por el receptor IR: #include <IRremote.h> const int RECV_PIN = 11;

const int LED_PIN = 13;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()

{Serial.begin(9600);

irrecv.enableIRIn(); // Arranque el receptor

}

void loop()

{if (irrecv.decode(&results))

{ if ( results.bits > 0 ) {

int state;

if ( 0x1 == results.value ) { state = HIGH; } else { state = LOW; }

digitalWrite( LED_PIN, state ); }

irrecv.resume(); // prepárese para recibir el siguiente valor }}f)

Resultado La "L" LED de la pantalla conectada con el receptor IR parpadeará cuando el receptor IR se enfrenta a transmisor IR.

Introducción: La tecnología IR es ampliamente usada en controles remotos. Con este receptor IR, proyecto Arduino es capaz de recibir comandos desde cualquier control remoto IR si tiene el decodificador adecuado. Además, será muy sencillo hacer su propio control remoto usando el

Especificación: Potencia: 5V Interfaz: Digital Frecuencia Modulada: 38Khz Zócalo Interfaz:JST PH2.0 Tamaño: 30*20mm Peso: 4g Diagrama Cableado La siguiente imagen muestra la conexión sugerida. Puede usar tanto un IO digital que no se esté usando para otro fin.

NOTA: en el código ejemplo de más abajo, el pin 11 digital está siendo usado, puede elegir otra forma de conexión o simplemente cambiar el código.

Diagrama de Conexión

Código Ejemplo: #include <IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Arranca el receptor } void loop() {

if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Recive el siguiente valor } La libería incluye algunos ejemplos de emisión y recepción.

https://github.com/shirriff/Arduino-IRremote

Proyecto 26: Módulo codificador rotatorio

Introducción: El codificador rotatorio puede contar el número de pulsos de salida durante el proceso de rotación tanto en el sentido de las agujas del reloj como en el contrario. Su capacidad de contar es ilimitada. Puede volver a ser configurado al estado inicial para empezar a contar a

Especificaciones: Potencia: 5V Interfaz: Digital Tamaño: 30*20mm Peso: 7g

Diagrama de Conexión:

Código Ejemplo: const int interruptA = 0; const int interruptB = 1; int CLK = 2; // PIN2 int DAT = 3; // PIN3 int BUTTON = 4; // PIN4 int LED1 = 5; // PIN5 int LED2 = 6; // PIN6 int COUNT = 0; void setup() { attachInterrupt(interruptA, RoteStateChanged, FALLING); // attachInterrupt(interruptB, buttonState, FALLING); pinMode(CLK, INPUT); digitalWrite(2, HIGH); // Estirar resistencia Alta pinMode(DAT, INPUT);

digitalWrite(3, HIGH); // Estirar Resistencia Alta

pinMode(BUTTON, INPUT); digitalWrite(4, HIGH); // Estirar Resistencia Alta pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); Serial.begin(9600); } void loop() { if (!(digitalRead(BUTTON))) { COUNT = 0; Serial.println("STOP COUNT = 0");

digitalWrite(LED1, LOW); digitalWrite(LED2, LOW);

delay (2000); } Serial.println(COUNT); } //------------------------------------------- void RoteStateChanged() // Cuando CLK caída lectura DAT { if (digitalRead(DAT)) // Cuando DAT = ALTA ES EL SIGUIENTE { COUNT++; digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); delay(20); } else // Cuando DAT = BAJO está rotando { COUNT--; digitalWrite(LED2, HIGH); digitalWrite(LED1, LOW); delay(20); } }

Introducción: Sensor Temperatura Lineal LM35 está basado en un semiconductor. Puede ser usado para detectar la temperatura ambiente. Este sensor ofrece un rango funcional entre 0 y 100º Celsius. La sensibilidad es de 10mV por grado Celsius. El voltaje de salida es proporcional a la temperature. Este sensor es comunmente usado como sensor de temperature. Incluye termopares, resistencias de platinium, chips semiconductores de resistencia y temperatura. El chip es comúnmente usado en termopares para la medición de temperaturas extremas. La resistencia de platinium se usa para la medición de hasta 800º Celsius, mientras que la resitencia termal y el sensor semiconductor de temperatura es aconsejable para medir la temperatura entre 100-200º o por debajo. Aplicaciones en las que un simple sensor semiconductor de temperatura es adecuado en linealidad y alta sensibilidad. El sensor de

pueden ser fácilmente combinables.

Especificaciones: Básado en el sensor semiconductor de temperatura LM35 Puede ser usado para detectar temperaturas ambiente Sensibilidad: 10mV por grado Celsius Rango Funcional: 0º Celsius hasta 100º Celsius Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión

Código Ejemplo: void setup() { Serial.begin(9600);//Set Baud Rate to 9600 bps } void loop() { int val; int dat;

val=analogRead(0);//Conectar LM35 a Análogo 0 dat=(500 * val) /1024;; Serial.print("Temp:"); //Mostar la temperatura en el monitor Serie Serial.print(dat); Serial.println("C"); delay(500);

}

Proyecto 28: Sensor Temperatura 18B20

Introducción: El sensor digital de temperatura DS18B20 de DALLAS U.S. puede ser usado para testear la temperature ambiente. El rango de temperatura va desde los -55º~+125ºC. La resolución de la temperatura es de 0.5ºC. Permite, además, red multipunto. Tres sensores pueden ser usado en tres líneas para medir temperaturas en modo multipunto. Tiene tambi én 9-12 bit salida serie.

Especificaciones: Voltaje: 3.3V to 5V Rango Temperatura: -55 °C ~ +125 °C

Interfaz: Digital Tamaño: 30*20mm Peso: 3g

Diagrama de Conexión:

Código Ejemplo: // http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip #include <OneWire.h> int DS18S20_Pin = 2; //Señal DS18S20 pin en digital 2 //Temperatura chip i/o OneWire ds(DS18S20_Pin); // en digital pin 2 void setup(void) { Serial.begin(9600); } void loop(void) { float temperature = getTemp(); Serial.println(temperature); delay(100); // justo aquí reducir el flujo de salida para facilitar su lectura

}

float getTemp(){ //devolver la temperatura desde un DS18S20 en grados Celsius byte data[12]; byte addr[8]; if ( !ds.search(addr)) { //no más sensores en cadena, resetear cada uno ds.reset_search(); return -1000; } if ( OneWire::crc8( addr, 7) != addr[7]) { Serial.println("CRC no es válido!"); return -1000; }

if ( addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Dispositivo no reconocido"); return -1000; } ds.reset(); ds.select(addr); ds.write(0x44,1); // empezar la conversion, con potencia parásita al final byte present = ds.reset(); ds.select(addr); ds.write(0xBE); // Leer el bloc for (int i = 0; i < 9; i++) { // Necesitamos 9 bytes data[i] = ds.read(); } ds.reset_search(); byte MSB = data[1]; byte LSB = data[0]; float tempRead = ((MSB << 8) | LSB); //utilizando el complemente a dos float TemperatureSum = tempRead / 16;

return TemperatureSum; }

Proyecto 29: Módulo Aceleración 3 Ejes ADXL345

Introducción: El ADXL345 es un pequeño, fino, de baja potencia, acelerómetro de 3 ejes MEMS de alta resolución (13 bits) de hasta +/-16g. La información de salida está en formatdo 16 -bits y es accesible tanto por SPI (3 o 4 cables) o por 12C interfaz digital. El ADXL345 es aconsejable para medicar la aceleración estática de la gravedad en aplicaciones de sensor-inclinación, así como la aceleración dinámica resultado del movimiento o de un coche. Su alta resolución (4 mg/LSB) permite medir ca mbios en la inclinación de menos de 1.0º.

68

Especificaciones: 2.0-3.6VDC Voltaje Potencia Ultra Baja: 40uA en modo medida, 0.1uA en espera@ 2.5V Detección de golpe/ doble golpe Detección caída libre Interfaz SPI y I2C Tamaño: 30*20mm Peso: 3g

Diagrama de Con exión:

Código Ejemplo:

/* The circuit: VCC: 5V

GND: ground SCL: UNO SLC SDA: UNO SDA Este ejemplo es de dominio público. */ #include <Wire.h> // Registers for ADXL345 #define ADXL345_ADDRESS (0xA6 >> 1) // dirección para el dispositivo es de 8 bits pero

69

// justo por 1 para hacer 7 bits debido a que // libería cableada solo usa 7 bits de dirección #define ADXL345_REGISTER_XLSB (0x32) int accelerometer_data[3]; // vacio ya que solo le dice al chip enviar información al registro de salida // escribe información en el buffer esclavo void i2c_write(int address, byte reg, byte data) { // enviar dirección registro salida Wire.beginTransmission(address); // Conectar al dispositivo Wire.write(reg); // enviar información Wire.write(data); //low byte Wire.endTransmission(); } // vacio ya que se usan punteros // microcontrolador lee información desde el registro del sensor de entrada void i2c_read(int address, byte reg, int count, byte* data) { // Usado para leer la información recibida int i = 0; // Enviar dirección registro entrada

Wire.beginTransmission(address); // Conectar al dispositivo Wire.write(reg); Wire.endTransmission(); // Conectar al dispositivo Wire.beginTransmission(address); // Solicitar información desde el esclavo // Cuenta los números de bytes necesitados Wire.requestFrom(address, count); while(Wire.available()) // el esclavo puede enviar menos que los pedidos

{ char c = Wire.read(); // recibir un byte como carácter data[i] = c; i++; } Wire.endTransmission(); } void init_adxl345() {

byte data = 0; i2c_write(ADXL345_ADDRESS, 0x31, 0x0B); // 13-bit mode +_ 16g i2c_write(ADXL345_ADDRESS, 0x2D, 0x08); // Registro Energía i2c_write(ADXL345_ADDRESS, 0x1E, 0x00); // x i2c_write(ADXL345_ADDRESS, 0x1F, 0x00); // Y i2c_write(ADXL345_ADDRESS, 0x20, 0x05); // Z // Check to see if it worked! i2c_read(ADXL345_ADDRESS, 0X00, 1, &data); if(data==0xE5)

Serial.println("Éxito"); else Serial.println("Fallo"); } void read_adxl345() { byte bytes[6]; memset(bytes,0,6); // Leer 6 bytes desde ADXL345 i2c_read(ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6, bytes); // Desempaquetar información for (int i=0;i<3;++i) { accelerometer_data[i] = (int)bytes[2*i] + (((int)bytes[2*i + 1]) << 8); } } //Iniciarlizar y empezar todo void setup() { Wire.begin(); Serial.begin(9600); for(int i=0; i<3; ++i) { accelerometer_data[i] = 0; } init_adxl345(); } void loop() { read_adxl345(); Serial.print("ACCEL: "); Serial.print(float(accelerometer_data[0])*3.9/1000);//3.9mg/LSB scale factor in 13-bit mode

Serial.print("\t");

Serial.print(float(accelerometer_data[1])*3.9/1000); Serial.print("\t"); Serial.print(float(accelerometer_data[2])*3.9/1000); Serial.print("\n"); delay(100); }

Proyecto 30: Sensor Temperatura y Humedad DHT11

Introducción: Este Sensor de Temperatura y Humedad DHT11 provee de salida digital calibrada con un complejo sensor de temperature y humedad. Su tecnología asegura fiabilidad y una excelente estabilidad. Un microcontrolador de 8 bits está conectado. Este sensor incluye un elemento

resistivo y dispositivo de medida de temperatura NTC. Tiene excelente calidad, respuesta rápida, característica anti interferencia y ventajas de funcionamiento de precio elevado. Cada sensor DHT11 ofrece información extremadamen te precisa de calibración. Los coeficientes de calibración almacenados en la memoria del programa OTP, sensores internos detectan señales en el proceso y podemos llamar a estas calibraciones coeficientes. El sistema de interfaz cableado serie está integrad o para producir rápido y fácilmente. Cualidades del tamaño pequeño, baja energía y 20 metros distancia de señal de transmisión lo hace perfecto para una amplia serie de aplicaciones. Sencilla conexión, paquetes especiales pueden ser suministrados de acuerdo con las necesidades de los clientes.

Especificaciones: Voltaje: +5 V Rango Temperatura: 0-50 °C error of ± 2 °C Humedad: 20-90% RH ± 5% RH error Interfaz: Digital Tamaño: 30*20mm Peso: 4g

Diagrama de Conexión:

Código Ejemplo: Please download the DHT11Lib firstly.Or,see the website #include <dht11.h> dht11 DHT; #define DHT11_PIN 4

void setup(){ Serial.begin(9600); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT11LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)"); } void loop(){ int chk; Serial.print("DHT11, \t"); chk = DHT.read(DHT11_PIN); // LEER INFORMACION switch (chk){ case DHTLIB_OK: Serial.print("OK,\t"); break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break; default: Serial.print("Unknown error,\t"); break; }

// DISPLAT DATA Serial.print(DHT.humidity,1); Serial.print(",\t"); Serial.println(DHT.temperature,1); delay(1000);

}

Proyecto 31: Módulo Bluetooth

Introducción:

Este módulo BT puede recibir fácilmente transmisiones de información inalámbricas. Su frecuencia operativa está entre las más populares 2.4GHz ISM (por ejemplo, en industria, medicina, usos científicos, etc). Uso el estándar Bluetooth 2.1+EDR. En este protocol, el tiempo

de transferencia de la información es de 0.5 segundos de intervalo para de esa forma reducir la carga de trabajo del chipset. Este módulo se ajusta mediante una interfaz serie. La cuál es de fácil uso reduciendo los ciclos de desarrollo y uso.

Especificaciones: Protocolo B luetooth: Estándar Bluetooth 2.1+ EDR Protocolo USB: USB v1.1/2.0 Frecuencia Operativa: 2.4GHz ISM frecuencia de banda. Modo Modulación: Gauss frequency Shift Keying Potencia de Transmisión: ≤ 4dBm, second stage Sensibildiad: ≤ -84dBm at 0.1% Tasa error bit Velocidad de transferencia: 2.1Mbps(Max)/160 kbps(Asíncrona) ; 1Mbps/1Mbps(Síncrona) Seguridad: Autentificación y encriptación Configuraciones Soportadas: Puerto Serie BLUETOOTH (mayor y menor) Voltaje: +3.3 VDC 50mA Temperatura Operativa: -20 to 55℃

Tamaño: 36.5*16mm Peso: 4g

Diagrama de Conexión:

Código Ejemplo: int val; int ledpin=13; void setup()

{

Serial.begin(9600);

pinMode(ledpin,OUTPUT); } void loop() { val=Serial.read(); if(val=='a')

{ digitalWrite(ledpin,HIGH); delay(250); digitalWrite(ledpin,LOW); delay(250);

Serial.println("geeetech");

}}

Proyecto 32: sensor luz ambiente TEMT6000

Introducción:

En algún punto querrá medir la luz ambiente con mayor precisión que con el foto receptor sin añadir mayor complejidad a su Proyecto. Cuando ese momento llegue, use el sensor

TEMT6000. El TEMT6000 se supone que está adaptado a la sensibilidad del ojo humano, pero puede funcionar algo por debajo en condiciones de baja luz. Por otro lado, funciona muy bien en el caso de pequeños cambios en el rango de brillo. Como imita al ojo humano, no funciona bien a infrarrojos o luz ultravioleta. Asegúrese no usarlo en

proyectos que necesiten de este sensor. Es una pieza re almente sencilla. Solo necesita de conectar potencia y toma de tierra y conectarlo al pin de entrada analógica y ya estará. El sensor mostrará el voltaje analógico de salida. Subirá cuando sea mas brillante. Podrá alimentarlo con 3.3v si lo considera neces ario, la salida será menor.

Especificaciones : Voltaje: +5VDC 50mA Tamaño: 36.5*16mm Peso: 4g

Diagrama de conexión:

Código ejemplo :

int temt6000Pin = 0; void setup() { Serial.begin(9600); } void loop() { int value = analogRead(temt6000Pin); Serial.println(value); delay(100); //permite leer mejor la salida }

Proyecto 33: Sensor Ultrasónico HC - SR04

Introducción: El sensor ultrasónico HC -SR04 es un sensor de proxim dad/distancia asequible que ha sido usado en muchos proyectos robóticos de evitación de obstáculos. Proporciona ojos / Atención especial

y previene al robot de caer o golpearse contra obstáculos. Suele ser usado también en aplicaciones de torreta, niveles de agua, sensors de aparcamiento. Este sencillo proyecto usa el sensor junto con Arduino y otros sensores para proporcionar interactividad a través de la pantalla de su equipo. Especificaciones: Voltaje operativo: DC 5V Corriente operativa: 15mA Frecuencia operativa: 40Hz Rango Max: 4m Rango Min: 2cm Ángulo de Medida: 15º

Señal Disparador Entrada: 10µS TTL pulso Señal de salida de la señal de eco palanca de entrada TTL y el rango en proporción Tamaño: 46*20.4mm Peso: 9g

Diagrama de Conexión:

Código Ejemplo: VCC a arduino 5v GND a arduino GND Echo a Arduino pin 7 Trig a Arduino pin 8 #define echoPin 7 // Echo Pin #define trigPin 8 // Trigger Pin #define LEDPin 13 // Onboard LED

int maximumRange = 200; // Rango máxima necesitado int minimumRange = 0; // Rango mínimo necesitado long duration, distance; // duración usada para calcular distancia void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(LEDPin, OUTPUT); // Use indicador LED (si necesario) }

void loop() { /*El siguiente ciclo trigPin/echoPin es usado para determiner la distancia al objeto más cercano mediante ultra sonidos y su rebote. */ digitalWrite(trigPin, LOW); delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds (10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

//Calcula la distancia en cm basado en la velocidad del sonido. distance = duration/58.2; if (distance >= maximumRange || distance <= minimumRange){ /* Send a negative number to computer and Turn LED ON to indicate "out of range" */

Serial.println("-1");

digitalWrite(LEDPin, HIGH);

}

else {

/*Envie la distancia al equipo usando el protocolo serie y apague el indicador LED para una lectura satisfactoria. */

Serial.println(distance);

digitalWrite(LEDPin, LOW);

}

//Retrase la siguiente lectura 50ms.

delay(50);

}

Introducción: Muchos de los proyectos necesitan de un joystick. Este módulo proporciona una solución asequible. Conectando simplemente dos entradas analógicas, el robot quedará bajo sus órdenes mediante ejes X e Y. También tiene un conmutador conectado a un pin digital. Este módulo joystick puede ser fácilmente conectado a Arduino por un escudo IO. Este módulo es compatible con Arduino (5V) con cables incluidos.

Especificaciones: Voltaje: 3.3V hasta 5V Interfaz: Analógico x2, Digital x1

Tamaño: 40*28mm Peso: 12g

Diagrama de Conexión:

Código Eje mplo:

int JoyStick_X = 0; //x int JoyStick_Y = 1; //y int JoyStick_Z = 3; //key void setup() { pinMode(JoyStick_Z, INPUT); Serial.begin(9600); // 9600 bps } void loop() { int x,y,z; x=analogRead(JoyStick_X); y=analogRead(JoyStick_Y); z=digitalRead(JoyStick_Z); Serial.print(x ,DEC); Serial.print(","); Serial.print(y ,DEC); Serial.print(",");

Serial.println(z ,DEC); delay(100); }

Introducción: DS3231 viene equipado con TXCO integrado y con cristal lo que hace de él un reloj barato y de alta precision. El dispositivo incorpora una pila, para que aunque se desconecte, puede seguir manteniendo la hora. El oscilador integ rado asegura su exáctitud a largo plazo reduciendo el número de components. DS3231 provee tanto de rangos de temperaturas comerciales e industrials y es compatible con paquetes de 16 pins (300 mil). El modulo puede auto adaptarse al sistema en el que se in tegra, desde los 3,3V hasta los 5V sin depender de ningún interruptor.

Especificaciones:

Rango Temperatura: - 40 hasta +85; Exactitud: ± 5ppm (±0.432 segundos / día) Pila incorporada para mantenimiento contínuo de la hora Bajo consumo de energía Dispositivo y funciones compatibles con DS3231 La función complete de calendario de reloj incluye minutos, horas, semanas, meses y años hasta el año 2100 Dos reloj calendario

Salida: 1Hz y 32.768kHz Salida reset y Reset output and entrada rebote botón Alta Velocida d (400kHz), I2C bus serie Voltaje: +3.3V hasta +5.5V Sensor de temperatura digital con precisión de ±3℃ Temperatura operativa: -40 ~ C hasta +85 ~ C Paquete Salida 16 pins (300mil) Certificado por la UL Tamaño: 30*20mm Peso: 4g

Diagrama de Conexión: Este modulo adopta el método de testeo IIC, por lo que solo es necesario conectar “SDA” a Arduino A4, “SCL a A5” “+” a VCC y “-“ a GND como sigue:

Código Ejemplo: #include <Wire.h> #include "DS3231.h" DS3231 RTC; //Create the DS3231 object char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; //año, mes, fecha, hora, min, seg, y días de la semana (empezando de 0 hasta 6) //escribiendo cualquier fecha no existente puede interferir con el funcionamiento normal del RTC. //Cuidado con los días de la semana también DateTime dt(2011, 11, 10, 15, 18, 0, 5);//abra el puerto serie y podra ver la hora o cambiarlo según sea necesario. void setup () { Serial.begin(57600);//ajuste tasa baudios a 57600

Wire.begin(); RTC.begin(); RTC.adjust(dt); //Ajuste hora-fecha como se define “dt” encima }

void loop () { DateTime now = RTC.now(); //consiga la fecha-tiempo actual Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.date(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); Serial.print(weekDay[now.dayOfWeek()]); Serial.println(); delay(1000); } Antes de compilar el código, será major que ponta DS3231 library dentro de una carpeta en Arduino. Cuando los pasos anteriores estén realizados , podrá subir el código a Arduino abrir el monitor y obtener los resultados siguientes:

Proyecto 36: Módulo Relé 5V

Introducción: Este módulo Relé puede ser usado en proyectos interactivos. Este módulo usa SONGLE 5v con relé de alta calidad. Puede ser usado para controlar luces, equipos electrícos y de otro tipo. El diseño modular hace sencillo su expansion con la placa Arduino (no incluida). La salida del relé es mediante un diodo que emite luz. Puede ser controlado a través de unp uerto IO, del tipo de solenoids, lámparas, motores u otros dispositivos de alto o bajo voltaje.

Especificaciones: Tipo: Digital Corriente: 10A (NO) 5A (NC) Voltaje máximo: 150VAC 24VDC Interfaz Digital Señal de control: nivel TTL Carga: 8A 150VAC (NO) 10A 24VDC (NO), 5A 250VAC (NO/NC) 5A 24VDC (NO/NC) Potencia Máxima: AC1200VA DC240W (NO) AC625VA DC120W (NC)

Tiempo reacción: 10ms Tamaño: 40*28mm Peso: 15g

Diagrama de Conexión:

Código Eje mplo: int Relay = 8; void setup() { pinMode(13, OUTPUT); //Ajuste Pin 13 como salida digitalWrite(13, HIGH); //Ajuste Pin 13 Alto pinMode(Relay, OUTPUT); //Ajuste Pin 13 como salida } void loop() { digitalWrite(Relay, HIGH); //Apague el relé delay(2000); digitalWrite(Relay, LOW); //Encienca el relé delay(2000); }

Proyecto 4: Módulo LED RGB

Proyecto 9: Módulo Vibrador Pasivo

Proyecto 11: Botón Presión Digital

Proyecto 13: Módulo Interruptor Foto

Proyecto 14: Sensor Táctil Capacitivo

Proyecto 15: Módulo Sensor Toque

Proyecto 16: Sensor Magnético de Pasillo Proyecto 17: Sensor Seguimient o Línea Proyecto 18: Sensor infrarrojos Evitar

Proyecto 20: Sensor Llama

Proyecto 22: Sensor Analógico Gas Proyecto 23: Sensor Analógico Alcohol

equipos situados

Proyecto 25: Módulo Digital Receptor IR

transmisor IR.

partir de 0.

Proyecto 27: Sensor Temperatura Lineal LM35

temperatura lineal LM35 y el sensor específico Arduino

cambia

Ingenium Starter Kit

Kit de Iniciación 36 en 1 para Arduino

Kit de Sensores para Arduino

Basado en hardware Open- source

36 sensores diferentes en una sola caja

Haz proyecto interesantes diferentes

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 67 68 69 70 71 72 73 74 75 76

77 78 79 80 81 82 83 85 86 87 88 89 9084

Proyecto 34: Módulo Joystick

Proyecto 35:

Módulo Reloj DS3231