sddefault 12

Ejercicio.- No toques la caja con Arduino

Ahora vamos a crear una caja que no se deja tocar llamada “No toques la caja con Arduino” con la ayuda de un gato (impreso). La idea es que cuando acerquemos la mano o cualquier cosa salga inmediatamente la mano de nuestro gato a impedir que se toque el botón de la caja con Arduino, pero hay un tiempo de gracia que se nos indica con un led verde y cuando no se debe de tocar se enciende un led rojo.

Vamos a requerir los siguiente:

  • 1 Arduino Uno R3.
  • 1 Pulsador.
  • 3 Resistencias de 330 Ω .
  • 2 Micro Servomotores.
  • 1 Zumbador.
  • 1 Sensor de distancia ultrasónico.
  • 2 LED (Blanco, Rojo).

🔗 Micro servomotor: https://www.steren.com.mx/catalog/product/view/id/19604/s/micro-servomotor-con-torque-de-1-8-kgf-cm/
🔗 Protoboard: https://www.steren.com.mx/protoboard-de-ensamble-a-presion-1-bloque-y-2-tiras.html

🔗 Codigo de No toques la caja con Arduino: https://www.tinkercad.com/

// C++ code
//
#include <Servo.h>

int ALEATORIA = 0;

int DISTANCIA = 0;

long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT);  // Clear the trigger
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  // Sets the trigger pin to HIGH state for 10 microseconds
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  pinMode(echoPin, INPUT);
  // Reads the echo pin, and returns the sound wave travel time in microseconds
  return pulseIn(echoPin, HIGH);
}

Servo servo_3;

Servo servo_4;

void setup()
{
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
  servo_3.attach(3, 500, 2500);
  servo_4.attach(4, 500, 2500);
  pinMode(5, OUTPUT);
  pinMode(2, INPUT);
  Serial.begin(9600);
}

void loop()
{
  if (ALEATORIA > 0 && ALEATORIA < 100) {
    if (ALEATORIA > 20) {
      DISTANCIA = 0.01723 * readUltrasonicDistance(7, 6);
      digitalWrite(9, HIGH);
      digitalWrite(8, LOW);
      if (DISTANCIA < 20) {
        servo_3.write(90);
        servo_4.write(90);
        tone(5, 5274, 1000); // play tone 100 (E8 = 5274 Hz)
        delay(1000); // Wait for 1000 millisecond(s)
        servo_3.write(0);
        servo_4.write(0);
        tone(5, 5274, 1000); // play tone 100 (E8 = 5274 Hz)
        delay(1000); // Wait for 1000 millisecond(s)
        ALEATORIA = 0;
      }
      if (DISTANCIA >= 20) {
        delay(100); // Wait for 100 millisecond(s)
        ALEATORIA += 1;
      }
    }
    if (ALEATORIA <= 20) {
      digitalWrite(8, HIGH);
      digitalWrite(9, LOW);
      if (digitalRead(2) == HIGH) {
        tone(5, 29, 3000); // play tone 10 (A#0 = 29 Hz)
      }
      ALEATORIA += 1;
    }
    Serial.println(ALEATORIA);
  }
  if (ALEATORIA == 0 || ALEATORIA >= 100) {
    ALEATORIA = random(1, 100 + 1);
    servo_3.write(0);
    servo_4.write(0);
  }
}

🔗 Appinventor: https://appinventor.mit.edu/
🔗 Pagina oficial de fritzing: https://fritzing.org/
🔗 Descargar fritzing: http://www.mediafire.com/file/mizua1g8tb5cgtg/Fritzing_64_bit_Win.rar/file
🔗 Arduino virtual: https://www.tinkercad.com/
🔗 Pagina de arduino: https://www.arduino.cc/
🔗 Descargar arduino IDE: https://www.arduino.cc/en/software

🎦¿Que es c++? [C++ desde cero 2019🦸‍♂️]: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc&ab_channel=programadornovato

Anterior tutorial Siguiente tutorial

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

En Programador Novato vivimos de los anuncios, hemos detectado que está utilizando extensiones para bloquear anuncios. Ayudanos deshabilitando tu bloqueador de anuncios. :)