Servomotores EJERCICIOS Y RESOLUCIONES
Servomotores EJERCICIOS Y RESOLUCIONES
Servomotores EJERCICIOS Y RESOLUCIONES
void setup() {
Serial.begin(9600);
MiservoMotor.attach(2);
pinMode (boton1, INPUT);
pinMode (boton2, INPUT); }
void loop() {
if (digitalRead(boton1) == HIGH)
posicion++;
posicion = 180;
if (digitalRead(boton2) == HIGH)
{
posicion--;
if (posicion <= 0)
posicion = 0;
MiservoMotor.write(posicion);
delay(10);
}
void setup()
{
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
MiservoMotor.attach(3);
Serial.begin(9600);
MiservoMotor.write(0);
}
void loop()
{
if(MDistancia()<= 15){
MiservoMotor.write(60);
}
if(MDistancia()> 15){
MiservoMotor.write(0);
}
Serial.println(MDistancia()); delay(500);
}
float MDistancia(){
float t;
float d;
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
t = pulseIn(ECHO,
HIGH); d = t/59;
delay(50); return d;
}
c. Hacer una función que reciba como parámetro una secuencia de 3 colores y
un número de grado (tiene que ser mayor a 90°). En esa función primero se
debe poner el servo a 0 grados y se tiene que prender el primer led de
color, luego ir incrementando de a 1 grado la posición del servomotor cada
100 milisegundos y cuando llegue a la mitad del valor de los grados
enviados como parámetro a la función, se debe apagar el primer led y
prender el segundo led, y cuando llegue al número de grados enviados
apagar el segundo led y prender el tercero. Luego de esto el servomotor
debe volver a 0 grados, al llegar a 0° apagar el tercer led y que vuelva a
hacer la secuencia.
#include <Servo.h>
Servo MiservoMotor;
void setup()
{
pinMode(6, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
MiservoMotor.attach(4);
Serial.begin(9600);
MiservoMotor.write(0);
void loop()
{
MiservoMotor.write(posicion);
delay(100);
if(posicion<90){
digitalWrite(6, HIGH);
digitalWrite(13, LOW);
}
if(posicion>=90 && posicion < 180){
digitalWrite(12, HIGH);
digitalWrite(6, LOW);
}
if(posicion==180){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
delay(500);
}