Sensores

Universidad Veracruzana

M. en I.A Patricia González Gaspar

Sensor de sonido

Diagrama

Código


						byte led = 2;

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

						void loop() {
						  int sonido = analogRead(A0);
						  if(sonido > 500){
						    digitalWrite(led, HIGH);
						  }else{
						    digitalWrite(led, LOW);
						  }
						}
					

Detector de flama

Diagrama

Código


						byte buzzer = 13;
						int umbral = 900;

						// Inicializar Serial (Para debug)
						void setup() {
						  Serial.begin(9600);
						  pinMode(buzzer, OUTPUT);
						}

						void loop() {
						  int lectura = analogRead(A0);    //Lectura del sensor
						  Serial.println(lectura);
						  if (lectura  < umbral){
						    digitalWrite(buzzer,HIGH);
						    delay(100);
						    digitalWrite(buzzer,LOW);
						  }
						}
					

Dector de gas (MQ2)

Diagrama

Código


						byte buzzer = 13;
						int umbral = 150;

						// Inicializar Serial (Para debug)
						void setup() {
						  Serial.begin(9600);
						  pinMode(buzzer, OUTPUT);
						}

						void loop() {
						  int lectura = analogRead(A0);    //Lectura del sensor
						  Serial.println(lectura);
						  if (lectura  > umbral){
						    digitalWrite(buzzer,HIGH);
						    delay(100);
						    digitalWrite(buzzer,LOW);
						  }
						}
					

Sensor de temperatura y humedad (DHT11)

Instalar biblioteca DHT

Instalar biblioteca Adafruit_Sensor

  1. Descargar la biblioteca en formato zip desde Github. https://github.com/adafruit/Adafruit_Sensor
  2. Ir a menu Programa -> incluír libreria -> anadir librería ZIP.

Diagrama

Código


					#include <DHT.h>
					#define DHTPIN 2
					#define DHTTYPE DHT11

					DHT dht(DHTPIN, DHTTYPE);

					void setup(){
					  Serial.begin(9600);
					  Serial.println("DHTxx test!");
					  dht.begin();
					}

					void loop(){
					  delay(2000);                              //Leer la temperatura o humedad toma alrededor de 250 ms
					  float h = dht.readHumidity();             //Leer la humedad
					  float t = dht.readTemperature();          // Leer la temperatura en celcius
					  float f = dht.readTemperature(true);      // Leer la temperatura en Fahrenheit

					  //REvisar si alguna de las lecturas fallo.
					  if (isnan(h) || isnan(t) || isnan(f)) {
					    Serial.println("Failed to read from DHT sensor!");
					    return;
					  }

					  Serial.print("Humidity: ");
					  Serial.print(h);
					  Serial.print(" %\t");
					  Serial.print("Temperature: ");
					  Serial.print(t);
					  Serial.print(" *C ");
					  Serial.print(f);
					  Serial.print(" *F\t");
					  Serial.print("\n");
					}
					

Detector de agua

Diagrama

Código


						int agua = 0;

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

						void loop(){
							agua = analogRead(A0);
							Serial.println(agua);
						}
					

Ultrasónico

Diagrama

Instalar biblioteca NewPing

  1. Descargar la biblioteca en formato zip desde Github. https://github.com/PaulStoffregen/NewPing
  2. Ir a menu Programa -> incluír libreria -> anadir librería ZIP.

Código


						#include  <NewPing.h >

						#define TRIGGER_PIN  12    // Pin Arduino conectado a pin Trig en sensor ultrasonico
						#define ECHO_PIN     11    // Pin arduino conectado a pin Echo en sensor ultrasonico
						#define MAX_DISTANCE 200   // Distancia maxima que queremos detectar (en centimetros).
						                           //(La distancia maxima del sensor es de 400-500 cm)

						NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //Crear variable sonar.

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

						void loop()
						{
						  delay(50);                      // Esperar 50 ms entre pings (alrededor de 20 pings/sec).
						  unsigned int uS = sonar.ping(); // Enviar ping, esperar respuesta en microsegundos
						  Serial.print("Ping: ");
						  Serial.print(sonar.convert_cm(uS)); // Convertir tiempo a distancia (0 = fuera del rango)
						  Serial.println("cm");
						}
					
http://playground.arduino.cc/Code/NewPing

Servomotor

Diagrama

Código 1


						#include <Servo.h>

						int servoPin = 9;
						Servo servo;

						void setup() {
						  servo.attach(servoPin);
						}

						void loop() {
						  //90 - 179 Giro en sentido de las manecillas del reloj
						  //0 - 89 Giro en sentido contrario a las manecillas del reloj
						  servo.write(80);
						  delay(1000);
						  servo.write(170);
						   delay(1000);
						}
					

Código 2


						 #include <Servo.h>

						 int servoPin = 9;
						 Servo servo;
						 char c = 's';

						 void setup() {
						   servo.attach(servoPin);
						   Serial.begin(9600);
						 }

						 void loop() {
						   //90 - 179 Giro en sentido de las manecillas del reloj
						   //0 - 89 Giro en sentido contrario a las manecillas del reloj
						   if (Serial.available() > 0) {
						      c = Serial.read();
						      if(c=='a'){
						        Serial.println('a');
						        servo.write(80);
						        delay(500);
						        servo.write(90);
						      }
						      if(c=='d'){
						        Serial.println('d');
						        servo.write(110);
						        delay(500);
						        servo.write(90);
						      }
						   }
						    c='s';
						 }
					

Sensor de movimiento

Sensor de movimiento


						const int LEDPin= 13;
						const int PIRPin= 2;

						void setup()
						{
						 pinMode(LEDPin, OUTPUT);
						 pinMode(PIRPin, INPUT);
						}

						void loop()
						{
						 int value= digitalRead(PIRPin);

						 if (value == HIGH)
						 {
							 digitalWrite(LEDPin, HIGH);
							 delay(200);
						 }
						 else
						 {
							 digitalWrite(LEDPin, LOW);
						 }
						}