Entradas

Mostrando entradas de 2017

Sistema de riego y simulador

Imagen
Componentes: 1 Arduino UNO R3 1 Protoboard mediana 1 sensor humedad y temperatura DHT11 1 higlómetro YL-69  1 Minibomba sumergible DC 3V 120L/H Arduino 2,5-6V 1 diodo 1N4007 1 transistor PN2222 1 resistencia de 220 Ohm 1 foto-resistencia LDR 1 resistencia de 10000 Ohm Cables macho-macho Cables macho-hembra Montaje Esquema en fritzing. 

Sistema de riego (un solo led)

int Valor;  int led = 13; void setup() { Serial.begin(9600); pinMode(led, OUTPUT); } void loop(){  Serial.print("Humedad:");  Valor = analogRead(0);  Serial.print(Valor);  if (Valor > 300)     Serial.println("Seco, necesitas regar plantas");     digitalWrite(led, HIGH);  if (Valor < 700)      Serial.println("Humedo, No se necesita regar las plantas");      digitalWrite(led, LOW);  }

Lector #Bibliolabs

Clic aquí para descargar los archivos .ino   Pines usados:    --------------------------                Arduino                Uno    Señal       Pin    --------------------------    RST/Reset    6 (9)    SPI SS       7 (10)    SPI MOSI    11 / ICSP-4    SPI MISO    12 / ICSP-1    SPI SCK     13 / ICSP-3 */ //incluimos las dos lbrerías necesarias #include <SPI.h> #include <MFRC522.h> #include <SoftwareSerial.h> #include <DFPlayer_Mini_Mp3.h> #define RST_PIN         9          // Estos dos pines son configurables #define SS_PIN          10 int bvol = A5; // Volumen-- int bVOL = A4; // Volumen++ int bCapAnterior = A3; // Capitulo anterior int bPlayPause = A1; // Play/Pause int bCapSiguiente = A0; // Capitulo siguiente int volumen = 20; bool flag1 = false; bool state = true; MFRC522 mfrc522(SS_PIN, RST_PIN);  // Se crea una instancia MFRC522 //Se declara cada libro con su UID #define principito  0x3E4E3F4 #define veinteMilLegua

Sensor de humedad (alarma con led RGB)

Imagen
// Sensor de Humedad                       // Conectamos el sensor de la siguiente forma:             // GND    -> GND             // VCC    -> 5V             // DAT    -> A0                    int Valor;   int rojo = 6; int azul = 5; int verde = 3; void setup() { Serial.begin(9600); pinMode(rojo, OUTPUT); pinMode(azul, OUTPUT); pinMode(verde, OUTPUT); }  void loop(){   Serial.print("Humedad:");   Valor = analogRead(0);   Serial.print(Valor);   if (Valor <= 300)      Serial.println("Encharcado");      analogWrite(rojo, 0);      analogWrite(verde, 255);      analogWrite(azul, 0);  if ((Valor > 300) and (Valor <= 700))       Serial.println("Humedo, no regar plantas");        analogWrite(rojo, 255);       analogWrite(verde,255);       analogWrite(azul, 0);  if (Valor > 700)       Serial.println("Seco, necesitas regar plantas");       analogWrite(rojo, 255

Alarma sonora y visual (con ultrasonido, buzzer y led RGB)

Imagen
int cm = 0; int buzzer = 11; int rojo = 6; int azul = 5; int verde = 3; long readUltrasonicDistance(int pin) {   pinMode(pin, OUTPUT);  // Clear the trigger   digitalWrite(pin, LOW);   delayMicroseconds(2);   // Sets the pin on HIGH state for 10 micro seconds   digitalWrite(pin, HIGH);   delayMicroseconds(10);   digitalWrite(pin, LOW);   pinMode(pin, INPUT);   // Reads the pin, and returns the sound wave travel time in microseconds   return pulseIn(pin, HIGH); } void setup() {   pinMode(7, INPUT);   Serial.begin(9600);   pinMode (buzzer, OUTPUT);   pinMode(rojo, OUTPUT);   pinMode(azul, OUTPUT);   pinMode(verde, OUTPUT); } void loop() {   // measure the ping time in cm   cm = 0.01723 * readUltrasonicDistance(7);     if (cm < 70) {      analogWrite(buzzer,128); //emite sonido      delay(500); //espera medio segundo      digitalWrite(buzzer, LOW); //deja de emitir      delay(500);//espera medio segundo      analogWrite(rojo, 255);     

Alarma sonora (Buzzer con Ultrasonido)

Imagen
int cm = 0; int buzzer = 11; long readUltrasonicDistance(int pin) {   pinMode(pin, OUTPUT);  // Clear the trigger   digitalWrite(pin, LOW);   delayMicroseconds(2);   // Sets the pin on HIGH state for 10 micro seconds   digitalWrite(pin, HIGH);   delayMicroseconds(10);   digitalWrite(pin, LOW);   pinMode(pin, INPUT);   // Reads the pin, and returns the sound wave travel time in microseconds   return pulseIn(pin, HIGH); } void setup() {   pinMode(7, INPUT);   Serial.begin(9600);   pinMode (buzzer, OUTPUT); } void loop() {   // measure the ping time in cm   cm = 0.01723 * readUltrasonicDistance(7);     if (cm < 70) {   analogWrite(buzzer,128); //emite sonido      delay(500); //espera medio segundo      digitalWrite(buzzer, LOW); //deja de emitir      delay(500);//espera medio segundo } else {    digitalWrite(buzzer, LOW); }   }

Alarma visual (Led con ultrasonido)

Imagen
int cm = 0; int led = 13; long readUltrasonicDistance(int pin) {   pinMode(pin, OUTPUT);  // Clear the trigger   digitalWrite(pin, LOW);   delayMicroseconds(2);   // Sets the pin on HIGH state for 10 micro seconds   digitalWrite(pin, HIGH);   delayMicroseconds(10);   digitalWrite(pin, LOW);   pinMode(pin, INPUT);   // Reads the pin, and returns the sound wave travel time in microseconds   return pulseIn(pin, HIGH); } void setup() {   pinMode(7, INPUT);   pinMode (led, OUTPUT); } void loop() {   // measure the ping time in cm   cm = 0.01723 * readUltrasonicDistance(7);     if (cm < 70) {   digitalWrite(led, HIGH);   delay(1000);   digitalWrite(led, LOW);   delay(1000); } else {   digitalWrite(led, LOW); }   }

Distancia con ultrasonido (PING)

Imagen
int cm = 0; long readUltrasonicDistance(int pin) {   pinMode(pin, OUTPUT);  // Limpiar trigger   digitalWrite(pin, LOW);   delayMicroseconds(2);   // Establecer pin en estado HIGH  por 10 micro segundos   digitalWrite(pin, HIGH);   delayMicroseconds(10);   digitalWrite(pin, LOW);   pinMode(pin, INPUT);   // Leer el pin, y devolver el tiempo de viaje de la onda sonora en microsegundos   return pulseIn(pin, HIGH); } void setup() {   pinMode(7, INPUT);   Serial.begin(9600); } void loop() {   // Medir el ping en centimetros   cm = 0.01723 * readUltrasonicDistance(7);   Serial.print(cm);   Serial.println("cm");   delay(100); // Esperar por 100 milisegundos }

Velocidad motor DC

Imagen
int MOTOR= 6 ; int i; void setup (){ pinMode (MOTOR, OUTPUT); Serial. begin ( 9600 ); analogWrite (MOTOR, 0 ); } void loop (){ for (i= 0 ; i<= 255 ; i++){ analogWrite (MOTOR, i); Serial. println (i); delay ( 500 ); } for (i= 255 ; i>= 0 ; i--){ analogWrite (MOTOR, i); Serial. println (i); delay ( 500 ); } }

Motor DC con Arduino

Imagen
Encuesta

Ejercicio ultrasonido con servomotor

Imagen
Tutorial: sensor ultrasonidos HC-SR04 El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar obstáculos, entre otras posibles funciones. En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro. Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm. ¿Qué recibimos en el sensor?  El tiempo que transcurre entre el envío y la recepción del ultrasonido. ¿Cómo vamos a traducir dicho tiempo en distancia?  Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con centímetros y microsegundos). Para calcular la distancia, recordaremos que v=d/t

Led con pulsador (Prender y apagar del mismo botón)

Imagen
// Práctica encender LED con botón pulsador y luego apagar LED con el mismo //boton pulsador const int LED =13; const int BOTON = 7; int val = 0; //val se emplea para almacenar el estado del boton int state = 0; // 0 LED apagado, mientras que 1 encendido int old_val = 0; // almacena el antiguo valor de val void setup(){  // definir si la variable es de entrada // o salida.  pinMode(LED,OUTPUT); // establecer que el pin digital es una señal de salida  pinMode(BOTON,INPUT); // y BOTON como señal de entrada } void loop() {       // loop = realice un lazo continuamente val= digitalRead(BOTON); // lee el estado del Boton if ((val == HIGH) && (old_val == LOW)){ state=1-state; delay(10); } old_val = val; // valor del antiguo estado if (state==1){  digitalWrite(LED, HIGH); // enciende el LED } else{  digitalWrite(LED,LOW); // apagar el LED } }

Led con pulsador

Imagen
// Práctica encender y apagar un LED a través de botón pulsador int LED=13; int BOTON=7; int val; void setup(){ pinMode(LED,OUTPUT); pinMode(BOTON,INPUT); } void loop(){ val=digitalRead(BOTON); if  (val==HIGH){ digitalWrite(LED,HIGH); } else { digitalWrite(LED,LOW); } }

LEDS con potenciometro

Imagen

Potenciometro con Arduino

Imagen

Tutorial Circuits.io

Imagen
   Dirección web: https://circuits.io/

Servomotor con arduino

Imagen
En esta entrada aprenderemos cómo utilizar un  servomotor con Arduino . Antes de continuar es importante saber qué es un  servomotor o servo . Es un motor eléctrico pero con dos características especiales. Por un lado, nos permite  mantener una posición  que indiquemos, siempre que esté dentro del rango de operación del propio dispositivo. Por otro lado nos permite  controlar la velocidad de giro , podemos hacer que antes de que se mueva a la siguiente posición espere un tiempo. El ejemplo más típico es un coche teledirigido, esos que utilizan los niños y no tan niños. Estos juguetes suelen tener un mando a distancia donde podemos controlar la velocidad y el giro del coche. Precisamente el giro se suele hacer con un servomotor donde indicamos, en cada momento, la posición o el ángulo de giro que queremos que tenga en un preciso momento. Características técnicas de un servomotor con Arduino Hay varios modelos de servomotor con Arduino. En este caso vamos a utilizar un