Parte1
Físico Teórico - Experimental
Nucleación
Es el proceso de formación de gotitas de agua, puede ser de dos tipos:
Homogénea: cuando hay formación de nubes en un medio físico, por condensación del vapor de agua en la atmósfera.
Heterogénea: cuando la formación de nubes se debe a la concentración de partículas sólidas suspendidas en la atmósfera, así como gotitas de agua.
El diámetro de las gotas de agua es variable, va de las 100 a las 500 micras cuando se trata de llovizna y de 0.5 a los 5 milímetros cuando es lluvia la formación de nubes se presenta con una alta concentración de gotas en la atmósfera.y el espacio para contenerlas es menor, apenas pueden seguir flotando, por lo que llega un momento en que la nube ya no aguanta el peso de las gotas y empiezan a caer.
Tipos de precipitación [+]
El término precipitaciones hace referencia a todo lo que desprenden las nubes: lluvia, aguanieve, granizo o nieve. La precipitación presenta entonces diferentes formas dependiendo su estado de agregación (sólido o líquido).
Llovizna: se caracteriza por ser gotas pequeñas de menos de 0.5 mm de diámetro. En México suele denominarse “chispear”.
Lluvia: se caracteriza por ser una precipitación de gotas entre 0.5 y 5 mm de diámetro.
Chubasco: en esta precipitación las gotas de agua son de mayor tamaño y se mueven con mayor violencia debido a la velocidad del viento y la turbulencia formada en las nubes.
Aguanieve: Si las gotas de agua se congelan mientras caen al suelo se transformaran en agua nieve, una mezcla de lluvia y nieve.
Nieve: cuando el aire es muy frío con temperaturas bajo cero las gotas descienden en forma de nieve. La presencia de nieve se presenta bajo dos condiciones: latitud y altitud. Las altas latitudes, mayores a 35° Norte y Sur, así como altitudes mayores a 3000 msnm registran bajas temperaturas, provocando la caída de nieve.
Granizo: cuando las gotas de agua ascienden por encima de la línea de congelación formando granizo, las gotas se congelan debido al movimiento vertical y horizontal del viento. Cuando ascienden por encima de la línea de congelación se forma el granizo, al pasar por este punto varias veces, se forman granizos de mayor tamaño. Cuando por gravedad no pueden soportar el peso caen a la superficie. La formación de piedras de granizo se da en capas, dependiendo el número de veces que pasó por la línea de congelación por lo que pueden alcanzar el tamaño de una pelota de tenis.
Se presenta cuando el aire que asciende por una montaña condensa el vapor de agua contenido en él, debido al enfriamiento en la temperatura (gradiente térmico), se presentan lluvias en una parte de la ladera (ladera de barolvento). El aire que desciende, es seco ya que dejó toda la humedad del otro lado de la montaña, por lo que aumenta la presión atmosférica y la temperatura generando así una ladera seca (ladera de sotavento).
El pluviómetro es el instrumento que mide la cantidad de lluvia que cae en un lugar y tiempo determinados, su unidad de medida son los milímetros y son equivalentes a la cantidad de litros por metro cuadrado.
1 milímetro = 1 litro / métro2
Donde un litro hace referencia al volumen de precipitación y puede ser lluvia, aguanieve, granizo o nieve.
Los climogramas son gráficos que representan la cantidad de precipitación y temperatura registrados por una estación meteorológica, en un año y en un lugar determinado. Su estudio permite reconocer cambios en el establecimiento del clima y en los patrones climáticos de los lugares.
- El eje vertical izquierdo indica la temperatura en grados Celsius o Fahrenheit.
- El eje vertical derecho indica la precipitación en mm.
- El eje horizontal indica los meses del año.
- Las barras indican la cantidad de precipitación registrada por mes.
- La línea polígonal indica las variaciones de temperatura por mes.
Formación de un huracán [+]
Un ciclón es un sistema de baja presión*, se forma en aguas cálidas de los océanos tropicales a temperaturas de 25°C, el agua es tan caliente que se evapora en grandes cantidades. Este vapor forma enormes masas de nubes que la rotación de la Tierra (Efecto Coriollis), convierte en huracanes.
Cuando el viento alcanza una rapidez de 65 km por hora, se forma una tormenta tropical, cuando alcanza más de 120 km por hora se convierte en un ciclón tropical. Los huracanes alcanzan velocidades de hasta 320 km por hora. En México los huracanes han aumentado su frecuencia y magnitud.
Formación de una tormenta eléctrica [+]
Las tormentas eléctricas de verano son las más frecuentes se forman en las temporadas de más calor, cuando el aire es caliente y húmedo, normalmente por la noche.
Los procesos internos de estas tormentas son turbulentos el aire se mueve con violencia y las gotas de agua chocan con cristales de hielo originando cargas eléctricas.
La carga positiva se concentra en la parte superior de las nubes mientras que la negativa lo hace en la parte inferior. Al producirse una descarga eléctrica entre la parte positiva y la negativa vemos los relámpagos.
Los relámpagos aumentan la temperatura del aire que le rodea hasta aproximadamente unos 28 mil grados Celsius, entonces se produce un estallido por la expansión del aire a menudo superan la velocidad del sonido de forma que rompen la barrera del sonido y podemos oírlos en forma de truenos.
Aunque veamos el relámpago antes todo ocurre de forma simultánea, esto se debe a que la luz es más rápida que el sonido, de forma que el relámpago llega a nuestros ojos antes que el trueno a nuestros oídos.
Los relámpagos son peligrosos, cuando tocan tierra, generan un calor muy intenso que puede provocar incendios y matar a seres vivos.
Los gases producto de la combustión y demás químicos volátiles expulsados por la industria, contienen elementos como el nitrógeno (N) y el azufre (S), que al mezclarse con el agua (H2O), el oxígeno (O) y el hidrógeno (H) forman compuestos como los óxidos de nitrógeno (NOx), ácido sulfúrico (H2SO4), ácido sulfhídrico (H2S) y ácido nítrico (HNO3), formando así una mezcla de ácidos que ascienden a la atmósfera, al condensar en las nubes precipitan junto con la lluvia, nieve o granizo.
Parte2
Digital
Sensor de efecto Hall
El sensor de efecto Hall (denominado según Edwin Herbert Hall) se sirve del efecto Hall para la medición de campos magnéticos o corrientes eléctricas o para la determinación de la posición en la que está.
Interrupciones en Arduino [+]
A nivel básico, una interrupción es una señal que interrumpe la actividad normal de nuestro Arduino y salta a atenderla. Hay dos eventos que pueden disparar una interrupción:
Un evento hardware previamente definido.
Un evento programado o “Timer”
Cuando un evento dispara una interrupción, la ejecución normal del Arduino se suspende y salta para ejecutar una función especial que llamamos Interrupt Service Handler o ISH (Servicio de gestión de interrupción).
Cuando el ISH finaliza, el procesador vuelve al punto donde lo dejó y sigue con lo que estaba como si no hubiese pasado nada. Para definir una interrupción necesitamos tres condiciones:
Un pin de Arduino que reciba la señal de disparo
Una condición de disparo
Una función que se ejecuta cuando se dispara la interrupción (Llamada call back function).
Dependiendo del modelo Arduino que utilicemos, tendremos varias posibilidades:
Modelo Arduino |
Int 0 |
Int 1 |
Int 2 |
Int 3 |
Int 4 |
Int 5 |
Uno |
Pin 2 |
Pin 3 |
|
|
|
|
Mega |
Pin 2 |
Pin 3 |
Pin 21 |
Pin 20 |
Pin 19 |
Pin 18 |
En cuanto a la condición de disparo de interrupción puede ser con los comandos siguientes:
LOW: la interrupción se dispara cuando el pin es LOW.
CHANGE: se dispara cuando pase de HIGH a LOW o viceversa.
RISING: dispara en el flanco de subida (Cuando pasa de LOW a HIGH).
FALLING: dispara en el flanco de bajada (Cuando pasa de HIGH a LOW).
DUE: se dispara cuando el pin está HIGH.
Si nuestra call back function se llama Funcion1 (), para activar la interrupción usaremos:
attachInterrupt(interrupt, ISR, mode);
Donde Interrupt es el número de la interrupción, ISR será Funcion1 y mode es una de las condiciones que hemos visto arriba. Así en un Arduino UNO podría ser:
attachInterrupt(0, Funcion1, RISING);
Pluviómetro de balancín [+]
Un pluviómetro de balancín es un dispositivo usado para medir volumen de precipitación, similar a una balanza. Existen diversos tipos, pero el más empleado es el de balancín que consta de un embudo colector de agua de lluvia el cual envía por gravedad a un balancín compuesto de dos cazoletas.
Siempre, una de estas cazoletas se encuentra posicionada debajo del embudo donde cae el agua lluvia, cuando la cazoleta se llena, este balancín es obligado a eliminar el agua por efecto del peso de la misma, a continuación la segunda cazoleta se posiciona bajo el embudo para repetir el procedimiento.
El movimiento del balancín es usado para activar un interruptor magnético que informa que se ha recibido un volumen de agua de lluvia igual al volumen de cada una de las cazoletas. Al ser un mecanismo de balancín automáticamente al inclinarse vacía el recipiente, por lo tanto no es necesario vaciar el pluviómetro. Cada extremidad del recipiente corresponde a una precipitación de 0.204 mm.
Diagrama de conexión del sensor magnético [+]
Código del pluviómetro [+]
const byte pinPluviometro = 2; //pin digital
float precipitacion = 0; //almacena la precipitación medida
//variables manejo de proceso precipitación
unsigned long tiempoAntesDos;
unsigned long tiempoDos=0;
unsigned long sumaTiempoDos=0;
byte contadorDos=0;
int capacidadTotal=8.5; //capacidad combinada de ambos lados en mL
void setup () {
Serial.begin(57600); //iniciamos comunicación serial
delay(200);
//Iniciamos pluviómetro
pinMode(pinPluviometro, INPUT);
attachInterrupt(digitalPinToInterrupt(pinPluviometro), interrupcionPrecipitacion,RISING );
tiempoAntesDos=millis();
}
//función para la interrupción del pluviómetro
void interrupcionPrecipitacion() {
if( millis()>(50+tiempoAntesDos)){
tiempoDos=(millis()-tiempoAntesDos);
tiempoAntesDos=millis();
sumaTiempoDos+=tiempoDos;
if(contadorDos<=19){
contadorDos++;
}else{
precipitacion=contadorDos*(((capacidadTotal*10)/(42.84))/(sumaTiempoDos/1000.0));
Serial.print(precipitacion);
Serial.println(" mm/s");
sumaTiempoDos=0;
contadorDos=0;
}
}
}
void loop () {
}
Los servos son motores de corriente continua, en lugar de diseñarse para obtener un giro continuo que podemos aprovechar mecánicamente (para mover una rueda por ejemplo), se diseñan para que se muevan en un ángulo fijo en respuesta a una señal de control y se mantengan fijos en esa posición.
El servomotor Tower Pro, tiene tres cables, el de color rojo nos indica que va conectado a 5V, el cable marrón se conecta a GND y el cable de color naranja es nuestro cable de señal.
Cabe aclarar que el cable de señal sólo se puede conectar a los pines del Arduino que tengan junto a su número de identificación, la indicación PWM.
Moviendo un servomotor controlado desde el puerto serial
La actividad consiste en programar y controlar un servomotor desde el puerto serial que comunica nuestro Arduino con la computadora. Al enviar por el puerto serial el carácter “P”, nuestro servomotor llegará a una posición de 45 grados y al ingresar el carácter “A”, el servomotor girará a un ángulo de 90 grados.
Diagrama de conexión de un servomotor controlado desde el puerto serial
Código para un servomotor controlado desde el puerto serial
#include //librería para servomotores
Servo servoAzul; //declaración de un servomotor
int angulo=0; //variable para el ángulo del servomotor
char caracter; //variable para almacenar el valor del puerto serial
void setup() {
Serial.begin(9600); //iniciamos comunicación serial
servoAzul.attach(9); //iniciamos servomotor en pin9
}
void loop() {
if(Serial.available()>1){ //si el puerto serial tiene datos nuevos
caracter=Serial.read(); //leemos del puerto serial un carácter
}
if( caracter=='P'){ //si el caracter es igual a P el ángulo es de 45
angulo=45;
}
if( caracter=='A'){ //si el caracter es igual a A el ángulo es de 90
angulo=90;
}
servoAzul.write(angulo); //le mandamos el ángulo al servomotor
delay(15);
}
Reto
Modifica el programa anterior para tener ahora no solo dos posiciones, sino cinco diferentes posiciones de la siguiente manera:
Caracter |
Posición en grados |
a |
20 |
b |
60 |
c |
90 |
d |
120 |
e |
160 |
Mover de manera precisa un servomotor
En esta actividad ocuparemos el circuito armado en la actividad previa del mismo modo, controlaremos nuestro servomotor desde el puerto serial de la computadora, la diferencia será que ahora no serán posiciones determinadas por caracteres. En lugar de eso, ingresamos directamente el ángulo que deseemos en el puerto serial.
Código para mover de manera precisa un servomotor
#include //librería para servomotores
Servo servoAzul; //declaración de un servomotor
int angulo=0; //variable para el ángulo del servomotor
void setup() {
Serial.begin(9600); //iniciamos comunicación serial
servoAzul.attach(9); //iniciamos servomotor en pin9
}
void loop() {
if(Serial.available()>1){ //si el puerto serial tiene datos nuevos
angulo= Serial.parseInt(); //leemos del puerto serial un número
}
servoAzul.write(angulo); //le mandamos el ángulo al servomotor
delay(15);
}
Parte1
Físico Teórico - Experimental
Nucleación
Es el proceso de formación de gotitas de agua, puede ser de dos tipos:
Homogénea: cuando hay formación de nubes en un medio físico, por condensación del vapor de agua en la atmósfera.
Heterogénea: cuando la formación de nubes se debe a la concentración de partículas sólidas suspendidas en la atmósfera, así como gotitas de agua.
El diámetro de las gotas de agua es variable, va de las 100 a las 500 micras cuando se trata de llovizna y de 0.5 a los 5 milímetros cuando es lluvia la formación de nubes se presenta con una alta concentración de gotas en la atmósferay el espacio para contenerlas es menor, apenas pueden seguir flotando, por lo que llega un momento en que la nube ya no aguanta el peso de las gotas y empiezan a caer.
Tipos de precipitación [+]
El término precipitaciones hace referencia a todo lo que desprenden las nubes: lluvia, aguanieve, granizo o nieve. La precipitación presenta entonces diferentes formas dependiendo su estado de agregación (sólido o líquido).
Llovizna: se caracteriza por ser gotas pequeñas de menos de 0.5 mm de diámetro. En México suele denominarse “chispear”.
Lluvia: se caracteriza por ser una precipitación de gotas entre 0.5 y 5 mm de diámetro.
Chubasco: en esta precipitación las gotas de agua son de mayor tamaño y se mueven con mayor violencia debido a la velocidad del viento y la turbulencia formada en las nubes.
Aguanieve: Si las gotas de agua se congelan mientras caen al suelo se transformaran en agua nieve, una mezcla de lluvia y nieve.
Nieve: cuando el aire es muy frío con temperaturas bajo cero las gotas descienden en forma de nieve. La presencia de nieve se presenta bajo dos condiciones: latitud y altitud. Las altas latitudes, mayores a 35° Norte y Sur, así como altitudes mayores a 3000 msnm registran bajas temperaturas, provocando la caída de nieve.
Granizo: cuando las gotas de agua ascienden por encima de la línea de congelación formando granizo, las gotas se congelan debido al movimiento vertical y horizontal del viento. Cuando ascienden por encima de la línea de congelación se forma el granizo, al pasar por este punto varias veces, se forman granizos de mayor tamaño. Cuando por gravedad no pueden soportar el peso caen a la superficie. La formación de piedras de granizo se da en capas, dependiendo el número de veces que pasó por la línea de congelación por lo que pueden alcanzar el tamaño de una pelota de tenis.
Se presenta cuando el aire que asciende por una montaña condensa el vapor de agua contenido en él, debido al enfriamiento en la temperatura (gradiente térmico), se presentan lluvias en una parte de la ladera (ladera de barolvento). El aire que desciende, es seco ya que dejó toda la humedad del otro lado de la montaña, por lo que aumenta la presión atmosférica y la temperatura generando así una ladera seca (ladera de sotavento).
El pluviómetro es el instrumento que mide la cantidad de lluvia que cae en un lugar y tiempo determinados, su unidad de medida son los milímetros y son equivalentes a la cantidad de litros por metro cuadrado.
1 milímetro = 1 litro / métro2
Donde un litro hace referencia al volumen de precipitación y puede ser lluvia, aguanieve, granizo o nieve.
Los climogramas son gráficos que representan la cantidad de precipitación y temperatura registrados por una estación meteorológica, en un año y en un lugar determinado. Su estudio permite reconocer cambios en el establecimiento del clima y en los patrones climáticos de los lugares.
- El eje vertical izquierdo indica la temperatura en grados Celsius o Fahrenheit.
- El eje vertical derecho indica la precipitación en mm.
- El eje horizontal indica los meses del año.
- Las barras indican la cantidad de precipitación registrada por mes.
- La línea polígonal indica las variaciones de temperatura por mes.
Formación de un huracán [+]
Un ciclón es un sistema de baja presión*, se forma en aguas cálidas de los océanos tropicales a temperaturas de 25°C, el agua es tan caliente que se evapora en grandes cantidades. Este vapor forma enormes masas de nubes que la rotación de la Tierra (Efecto Coriollis), convierte en huracanes.
Cuando el viento alcanza una rapidez de 65 km por hora, se forma una tormenta tropical, cuando alcanza más de 120 km por hora se convierte en un ciclón tropical. Los huracanes alcanzan velocidades de hasta 320 km por hora. En México los huracanes han aumentado su frecuencia y magnitud.
Formación de una tormenta eléctrica [+]
Las tormentas eléctricas de verano son las más frecuentes se forman en las temporadas de más calor, cuando el aire es caliente y húmedo, normalmente por la noche.
Los procesos internos de estas tormentas son turbulentos el aire se mueve con violencia y las gotas de agua chocan con cristales de hielo originando cargas eléctricas.
La carga positiva se concentra en la parte superior de las nubes mientras que la negativa lo hace en la parte inferior. Al producirse una descarga eléctrica entre la parte positiva y la negativa vemos los relámpagos.
Los relámpagos aumentan la temperatura del aire que le rodea hasta aproximadamente unos 28 mil grados Celsius, entonces se produce un estallido por la expansión del aire a menudo superan la velocidad del sonido de forma que rompen la barrera del sonido y podemos oírlos en forma de truenos.
Aunque veamos el relámpago antes todo ocurre de forma simultánea, esto se debe a que la luz es más rápida que el sonido, de forma que el relámpago llega a nuestros ojos antes que el trueno a nuestros oídos.
Los relámpagos son peligrosos, cuando tocan tierra, generan un calor muy intenso que puede provocar incendios y matar a seres vivos.
Los gases producto de la combustión y demás químicos volátiles expulsados por la industria, contienen elementos como el nitrógeno (N) y el azufre (S), que al mezclarse con el agua (H2O), el oxígeno (O) y el hidrógeno (H) forman compuestos como los óxidos de nitrógeno (NOx), ácido sulfúrico (H2SO4), ácido sulfhídrico (H2S) y ácido nítrico (HNO3), formando así una mezcla de ácidos que ascienden a la atmósfera, al condensar en las nubes precipitan junto con la lluvia, nieve o granizo.
Parte2
Digital
Sensor de efecto Hall
El sensor de efecto Hall (denominado según Edwin Herbert Hall) se sirve del efecto Hall para la medición de campos magnéticos o corrientes eléctricas o para la determinación de la posición en la que está.
Interrupciones en Arduino [+]
A nivel básico, una interrupción es una señal que interrumpe la actividad normal de nuestro Arduino y salta a atenderla. Hay dos eventos que pueden disparar una interrupción:
Un evento hardware previamente definido.
Un evento programado o “Timer”
Cuando un evento dispara una interrupción, la ejecución normal del Arduino se suspende y salta para ejecutar una función especial que llamamos Interrupt Service Handler o ISH (Servicio de gestión de interrupción).
Cuando el ISH finaliza, el procesador vuelve al punto donde lo dejó y sigue con lo que estaba como si no hubiese pasado nada. Para definir una interrupción necesitamos tres condiciones:
Un pin de Arduino que reciba la señal de disparo
Una condición de disparo
Una función que se ejecuta cuando se dispara la interrupción (Llamada call back function).
Dependiendo del modelo Arduino que utilicemos, tendremos varias posibilidades:
Modelo Arduino |
Int 0 |
Int 1 |
Int 2 |
Int 3 |
Int 4 |
Int 5 |
Uno |
Pin 2 |
Pin 3 |
|
|
|
|
Mega |
Pin 2 |
Pin 3 |
Pin 21 |
Pin 20 |
Pin 19 |
Pin 18 |
En cuanto a la condición de disparo de interrupción puede ser con los comandos siguientes:
LOW: la interrupción se dispara cuando el pin es LOW.
CHANGE: se dispara cuando pase de HIGH a LOW o viceversa.
RISING: dispara en el flanco de subida (Cuando pasa de LOW a HIGH).
FALLING: dispara en el flanco de bajada (Cuando pasa de HIGH a LOW).
DUE: se dispara cuando el pin está HIGH.
Si nuestra call back function se llama Funcion1 (), para activar la interrupción usaremos:
attachInterrupt(interrupt, ISR, mode);
Donde Interrupt es el número de la interrupción, ISR será Funcion1 y mode es una de las condiciones que hemos visto arriba. Así en un Arduino UNO podría ser:
attachInterrupt(0, Funcion1, RISING);
Pluviómetro de balancín [+]
Un pluviómetro de balancín es un dispositivo usado para medir volumen de precipitación, similar a una balanza. Existen diversos tipos, pero el más empleado es el de balancín que consta de un embudo colector de agua de lluvia el cual envía por gravedad a un balancín compuesto de dos cazoletas.
Siempre, una de estas cazoletas se encuentra posicionada debajo del embudo donde cae el agua lluvia, cuando la cazoleta se llena, este balancín es obligado a eliminar el agua por efecto del peso de la misma, a continuación la segunda cazoleta se posiciona bajo el embudo para repetir el procedimiento.
El movimiento del balancín es usado para activar un interruptor magnético que informa que se ha recibido un volumen de agua de lluvia igual al volumen de cada una de las cazoletas. Al ser un mecanismo de balancín automáticamente al inclinarse vacía el recipiente, por lo tanto no es necesario vaciar el pluviómetro. Cada extremidad del recipiente corresponde a una precipitación de 0.204 mm.
Diagrama de conexión del sensor magnético [+]
Código del pluviómetro [+]
const byte pinPluviometro = 2; //pin digital
float precipitacion = 0; //almacena la precipitación medida
//variables manejo de proceso precipitación
unsigned long tiempoAntesDos;
unsigned long tiempoDos=0;
unsigned long sumaTiempoDos=0;
byte contadorDos=0;
int capacidadTotal=8.5; //capacidad combinada de ambos lados en mL
void setup () {
Serial.begin(57600); //iniciamos comunicación serial
delay(200);
//Iniciamos pluviómetro
pinMode(pinPluviometro, INPUT);
attachInterrupt(digitalPinToInterrupt(pinPluviometro), interrupcionPrecipitacion,RISING );
tiempoAntesDos=millis();
}
//función para la interrupción del pluviómetro
void interrupcionPrecipitacion() {
if( millis()>(50+tiempoAntesDos)){
tiempoDos=(millis()-tiempoAntesDos);
tiempoAntesDos=millis();
sumaTiempoDos+=tiempoDos;
if(contadorDos<=19){
contadorDos++;
}else{
precipitacion=contadorDos*(((capacidadTotal*10)/(42.84))/(sumaTiempoDos/1000.0));
Serial.print(precipitacion);
Serial.println(" mm/s");
sumaTiempoDos=0;
contadorDos=0;
}
}
}
void loop () {
}
Los servos son motores de corriente continua, en lugar de diseñarse para obtener un giro continuo que podemos aprovechar mecánicamente (para mover una rueda por ejemplo), se diseñan para que se muevan en un ángulo fijo en respuesta a una señal de control y se mantengan fijos en esa posición.
El servomotor Tower Pro, tiene tres cables, el de color rojo nos indica que va conectado a 5V, el cable marrón se conecta a GND y el cable de color naranja es nuestro cable de señal.
Cabe aclarar que el cable de señal sólo se puede conectar a los pines del Arduino que tengan junto a su número de identificación, la indicación PWM.
Moviendo un servomotor controlado desde el puerto serial
La actividad consiste en programar y controlar un servomotor desde el puerto serial que comunica nuestro Arduino con la computadora. Al enviar por el puerto serial el carácter “P”, nuestro servomotor llegará a una posición de 45 grados y al ingresar el carácter “A”, el servomotor girará a un ángulo de 90 grados.
Diagrama de conexión de un servomotor controlado desde el puerto serial
Código para un servomotor controlado desde el puerto serial
#include //librería para servomotores
Servo servoAzul; //declaración de un servomotor
int angulo=0; //variable para el ángulo del servomotor
char caracter; //variable para almacenar el valor del puerto serial
void setup() {
Serial.begin(9600); //iniciamos comunicación serial
servoAzul.attach(9); //iniciamos servomotor en pin9
}
void loop() {
if(Serial.available()>1){ //si el puerto serial tiene datos nuevos
caracter=Serial.read(); //leemos del puerto serial un carácter
}
if( caracter=='P'){ //si el caracter es igual a P el ángulo es de 45
angulo=45;
}
if( caracter=='A'){ //si el caracter es igual a A el ángulo es de 90
angulo=90;
}
servoAzul.write(angulo); //le mandamos el ángulo al servomotor
delay(15);
}
Reto
Modifica el programa anterior para tener ahora no solo dos posiciones, sino cinco diferentes posiciones de la siguiente manera:
Caracter |
Posición en grados |
a |
20 |
b |
60 |
c |
90 |
d |
120 |
e |
160 |
Mover de manera precisa un servomotor
En esta actividad ocuparemos el circuito armado en la actividad previa del mismo modo, controlaremos nuestro servomotor desde el puerto serial de la computadora, la diferencia será que ahora no serán posiciones determinadas por caracteres. En lugar de eso, ingresamos directamente el ángulo que deseemos en el puerto serial.
Código para mover de manera precisa un servomotor
#include //librería para servomotores
Servo servoAzul; //declaración de un servomotor
int angulo=0; //variable para el ángulo del servomotor
void setup() {
Serial.begin(9600); //iniciamos comunicación serial
servoAzul.attach(9); //iniciamos servomotor en pin9
}
void loop() {
if(Serial.available()>1){ //si el puerto serial tiene datos nuevos
angulo= Serial.parseInt(); //leemos del puerto serial un número
}
servoAzul.write(angulo); //le mandamos el ángulo al servomotor
delay(15);
}