Documente Academic
Documente Profesional
Documente Cultură
sensor de Ultra
Sonido con
Arduino
Laboratorio de Mecatrnica
1.- OBJETIVO
* Conocer los comandos del programa ARDUINO UNO
* Disear, programar, conexionar y simular diferentes programas para el
funcionamiento del servo motor y del sensor de ultra sonido.
2.- PROCEDIMIENTO
MATERIALES
Los materiales que se emplearon en la prctica fueron
DESARROLLO
a) ULTRA SONIDO
Realizar el siguiente programa en Arduino para la programacin del sensor de
ultra sonido.
#include <Servo.h>
Servo myservo;
int cm=0;
const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;
void setup() {
myservo.attach(9);
Serial.begin(9600);
pinMode(LedPin, OUTPUT);
pinMode(TriggerPin, OUTPUT);
Univ. Chuquimia Castillo Luis UMSA ING ELM
pinMode(EchoPin, INPUT);
}
void loop() {
int cm = ping(TriggerPin, EchoPin);
cm = map(cm, 0, 1023, 0, 180);
Serial.print("Distancia: ");
Serial.println(cm);
delay(1000);
Lo que nos mostrara la distancia de los objetos que cruzan su seal pulsante.
Univ. Chuquimia Castillo Luis UMSA ING ELM
b) SERVO MOTOR
Realizar los siguiente programas en Arduino para la programacin del servo
motor, el cual el primero es con conexionado directo y el segundo es con un
potencimetro que varia la velocidad del mismo.
#include <Servo.h>
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
for(pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for(pos = 180; pos>=0; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
Univ. Chuquimia Castillo Luis UMSA ING ELM
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and
1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
Univ. Chuquimia Castillo Luis UMSA ING ELM
void loop()
{
distancia = ultraso.Ranging(CM); //Medimos la distancia del Ultrasonico
if (distancia < 10){ //Si la distancia es menor a 10 cm el servo se situa a 90
pausa = ultraso.Ranging(CM) *10;
servo1.write (90);
delay(1000);
}
else if (distancia >10){ //Si la distancia es mayor a 10 cm el servo se situa donde le indica la
siguiente orden del programa
servo1.write (0); //Ponemos el servo a 0
delay(1000);
}
distancia = ultraso.Ranging(CM);
if( distancia < 10){ //Si la distancia es menor a 10 cm
pausa = ultraso.Ranging(CM) *10; //Decimos que el servo se ponga a 90
servo1.write (90);
delay(1000);
}
else if (distancia >10){
servo1.write(180);
delay(1000);
}
Serial.print(" Distancia estimada: "); //Comandos para ver en pantalla la distancia al cual est el
obstaculo
Serial.print(distancia);
Serial.println(" cm");
}
Univ. Chuquimia Castillo Luis UMSA ING ELM