Saltar la navegación

ultra_so_basic_4a

El logo d'arduino us baixarà l'arxiu per fer la pràctica.

logo arduino

foto aparell

esquema 4a

/***************************************************/
//original de dorcu.com, simplificat per sacosta.org
// 1 agost 2015

// Definim els pins a emprar. En aquest primera aproximació emprarem només el 7, 8, 5V i GND
#define trigPin 7
#define echoPin 8
//vcc va a 5v
//gnd a gnd
#define led1 10 //definim led1 al pin 10 (led vermell)
#define led2 11//definim led2 al pin 11 (led verd)


int dis = 15; // Establim la distància en cm per a la comprobació i que ens digui aprop o lluny

// LLibreria necesaria per el funcionamient. es pot trobar a https://mega.co.nz/#!bMBXgD7Q!2sCMD1fupFCENXINfngolbyt4zrN0olDw_t5Zk-taAU
#include "Ultrasonic.h"

// Declaram el sensor ultrasons als pins digitals assignats anteriorment
Ultrasonic ultrasonido(trigPin, echoPin);

void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);  // Establim el pin trig com a sortida
  pinMode(echoPin, INPUT);   // Establim el pin echo com entrada
  pinMode(led1, OUTPUT);     //Establim led1 com a sortida
  pinMode(led2, OUTPUT);     //Establim led2 com a sortida
  digitalWrite(led1, LOW);   //Apagam els led1
  digitalWrite(led2, LOW);   //Apagam el led2
}

void loop() {
  int distancia;

  distancia = ultrasonido.Ranging(CM);

  if (distancia < dis) {
    Serial.print("Led vermell - Distancia: ");
    Serial.print(ultrasonido.Ranging(CM));
    Serial.println(" cm");
    digitalWrite(led1, HIGH);
    delay(500);
  }
  else if (distancia >= dis && distancia < 50) {
    digitalWrite(led2, HIGH); // Encenem el led verd
    Serial.print("Led verd - Distancia: ");
    Serial.print(ultrasonido.Ranging(CM));
    Serial.println(" cm");
    delay(500);
  }
  digitalWrite(led1, LOW); //apagam els led1
  digitalWrite(led2, LOW); //apagam el led2
}