Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Centros, Talleres y Laboratorios 2018

Cuadernillo de Prácticas del Alumno

CUADRO DE DATOS:

Materia: Sensores e Interfaces


Número de práctica: 1
Competencia: ---

Fecha de la práctica: 26 de octubre del 2022


Nombre laboratorio: Automatización y Robótica D-
Nombre del profesor: Daniel Vega Castillo
Ciclo de la materia: ----

Parcial en el que se aplica: 2do.


Tiempo en horas y minutos para el
desarrollo: 3 horas.

Nota: Anotar los datos de participantes del equipo

No. CUENTA NOMBRE DE LOS PARTICIPANTES

620116929 Efrén Rosales Gallegos


620121632 Jonathan José Roche Plasencia
620116450 Andrés Manuel Cruz Hernandez

INSTRUCCIONES:
El material requerido debe ser revisado y solicitado con dos semanas de anticipación al coordinador de laboratorio con
el propósito de garantizar los materiales, insumos y/ o herramientas para el estudiante.

LISTA DE MATERIAL Y EQUIPO

De la Institución:

MATERIAL DESCRIPCIÓN
Arduino UNO Microcontrolador programable.
Cable de comunicación tipo D/USB. Cable de datos para Arduino.
Laptop Equipo de cómputo portable.
Arduino IDE Aplicación para controlar el Arduino
Visual estudio. Es un sistema de cómputo para realizar
programación en diferentes lenguajes.

Del alumno:
● Simbología impresa
● Código ID
Centros, Talleres y Laboratorios 2018
Cuadernillo de Prácticas del Alumno

TEMA DE LA PRÁCTICA

Controlar una interfaz mediante una laptop, implementando el uso del Arduino y pueda redactar frases mediante el
micrófono de la laptop.

DESCRIPCIÓN DE REGLAS DE SEGURIDAD.


a).- Prevención del riesgo en el laboratorio.
Cualquier operación del laboratorio en la que se operen o maneje equipo o herramientas presenta siempre
unos riesgos. Para eliminarlos o reducirlos de manera importante es conveniente, antes de efectuar cualquier
operación o manejo:
- hacer una lectura crítica del procedimiento a seguir
- asegurarse de disponer del material adecuado
- llevar las prendas y accesorios de protección adecuados
- tener previsto un plan de actuación en caso de incidente o accidente

NOTA: No olvides que el uso de la bata es obligatorio para estudiantes y docentes.

INTRODUCCIÓN MARCO TEÓRICO DEL TEMA

En la presente practica se abordaron temas de cómo crear una interfaz, donde se pueda
hacer una conexión directa con el uso de un microcontrolador programable, así hacer uso
mixto de una interfaz digital que sea corrida en tiempo real con la ayuda de una computadora,
así poder tener una practica muy enriquecida ya que pone a pruebas los conocimientos de
programación y se orientan a niveles superiores donde los alumnos aprendan como se puede
llegar a implementar. Así esta práctica se baso en un algoritmo que busca hacer
reconocimiento de la voz humana y con ayuda del micrófono de su laptop, pueda descifrar
las palabras y poder ser proyectadas en la interfaz del entorno de programación, asignado
complementos programables (botones digitales), esta ayuda a activar y desactivar el
funcionamiento de la interfaz programada y cumpla la serie de pasos establecidos.
Se anexan breves descripciones de los componentes que conformaron la realización de la
practica y como al final llegan a converger de tal forma para crear un producto final requerido
con las especificaciones dadas y solicitadas, dando las bases de aprendizaje para recabar
mucha más información de como se pueden llegar aprovechar para el uso de poder innovar
cada día.

¿Qué es un Arduino?

Basada en la filosofía del software libre, Arduino es una plataforma de electrónica


«open-source»o de código abierto cuyos principios son contar con software y hardware
fácilesde usar. Básicamente lo que permite esta herramienta es la generación de infinidad
de tipos de microordenadores de una sola placa, que luego pueden tener una amplia
variedad de usossegún la necesidad de la persona que lo cree. Es decir, una forma sencilla
de realizar proyectos interactivos para cualquier persona.
Centros, Talleres y Laboratorios 2018
Cuadernillo de Prácticas del Alumno
Esta plataforma se inició en el año 2005 como un proyecto para estudiantes en el Instituto
IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban el microcontrolador BASIC
Stamp, cuyo coste era de 100 dólares estadounidenses, lo que se consideraba
demasiado costoso para ellos. Por aquella época, uno de los fundadores de Arduino,
Massimo Banzi, daba clases en Ivrea.

El nombre del proyecto viene del nombre del Bar di Re-Arduino (Bar del Rey Arduino)
donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de Italia entre los
años 1002 y 1014.

En la creación de este proyecto contribuyó el estudiante colombiano Hernando Barragán,


quien desarrolló la tarjeta electrónica Wiring, el lenguaje de programación y la plataforma
de desarrollo. Una vez concluida dicha plataforma, los investigadores trabajaron para
hacerlo más ligero, económico y disponible para la comunidad de software libre (hardware
y código abierto).

El instituto finalmente cerró sus puertas, así que los investigadores, entre ellos el español
David Cuartielles, promovieron la idea. Banzi afirmaría años más tarde que el proyecto
nunca surgió como una idea de negocio, sino como una necesidad de subsistir ante el
inminente cierre del Instituto de diseño Interactivo IVREA. El motivo es que, al crear un
producto de hardware abierto, nadie podría embargar.
Centros, Talleres y Laboratorios 2018
Cuadernillo de Prácticas del Alumno

¿Qué es Microsoft Visual Studio?


Microsoft Visual Studio. Es un entorno de desarrollo integrado (IDE, por sus siglas en
inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación
tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque
actualmente se han desarrollado las extensiones necesarias para muchos otros.

Para desarrollar cualquier tipo de aplicación o aprender un lenguaje, trabajará en el


entorno de desarrollo integrado (IDE) de Visual Studio. Además de la edición de código,
el IDE de Visual Studio reúne diseñadores gráficos, compiladores, herramientas de
finalización de código, control de código fuente, extensiones y muchas más
características en un solo lugar. Vea este vídeo de corta duración para familiarizarse
con el IDE y aprender a usarlo para realizar tareas básicas.
Trabajar con un programa que ofrece tantos entornos de programación nos resulta muy
útil que no nos limita para lograr nuestros objetivos de desarrollar nuevas tecnologías,
así se obtiene una amplia gama de poder enseñar y aprender.

RESULTADO DE APRENDIZAJE DE LA PRÁCTICA

Mediante el IDE de desarrollo de visual estudio se pudo estructurar un algoritmo de


programación en el entorno de Windows forms App (.NET Framenwork), donde se
logro establecer el reconocimiento de las palabras deseadas y poder ser escritas de
manera autónoma por la interfaz de la laptop;
Centros, Talleres y Laboratorios 2016
Cuadernillo de Prácticas del Alumno

DESARROLLO DE LAS ACTIVIDADES

Paso 1
Con ayuda del profesor se desarrolló el siguiente código de control C#, con el cual se logra la conexión
del Arduino y una interfaz independiente comunicadas atreves del entorno de desarrollo de Visual
Studio.

Codigo de programación.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech.Recognition;//Reconocer la voz
using System.Speech.Synthesis;//Responder
using System.IO.Ports;//Usar puertos de la PC
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolBar;

namespace voz_2
{
public partial class Form1 : Form
{
bool Conectado = false;
String[] puertos;
String[] instrucciones;
String eSarduino;
SerialPort arduino;
SpeechRecognitionEngine escucha = new SpeechRecognitionEngine(new
System.Globalization.CultureInfo("es-MX"));
SpeechSynthesizer hablar = new SpeechSynthesizer();

public Form1()
{
InitializeComponent();
inhabilitar();
puertosDisponibles();

foreach (string arduino in puertos)


{
comboBox1.Items.Add(arduino);
Console.WriteLine(arduino);
if (puertos[0] != null)
{
comboBox1.SelectedItem = puertos[0];

}
Centros, Talleres y Laboratorios 2016
}
hablar.SpeakAsync("Bienvenido, para iniciar, conecta el arduino a la pc");

private void Form1_Load(object sender, EventArgs e)


{

private void button1_Click(object sender, EventArgs e)


{
escucha.SetInputToDefaultAudioDevice();
escucha.LoadGrammar(new DictationGrammar());
escucha.SpeechRecognized += Deteccion;
escucha.RecognizeAsync(RecognizeMode.Multiple);

Choices diccionario = new Choices();


diccionario.Add(new string[] { "cacharro", "hola", "たまご", "tamago", "sin ti vuelvo a
ser yo", "prende la luz", "apaga la luz", "desconecta el arduino" });
instrucciones = (new string[] { "prende la luz", "apaga la luz", "desconecta el
arduino" });
GrammarBuilder gb = new GrammarBuilder();
gb.Append(diccionario);
Grammar g = new Grammar(gb);
escucha.LoadGrammar(g);

hablar.SpeakAsync("Escuchando");
}
private void Deteccion(object sender, SpeechRecognizedEventArgs e)
{
textBox1.Text = e.Result.Text;

if (e.Result.Text != " ")


{
if (e.Result.Text.Equals(instrucciones))
{
hablar.SpeakAsync("");
}
else
{
hablar.SpeakAsync(e.Result.Text);

if (e.Result.Text == "prende la luz")


{
prenderLuz();

if (e.Result.Text == "apaga la luz")


{
apagarLuz();

}
Centros, Talleres y Laboratorios 2016
if (e.Result.Text == "desconecta el arduino")
{
desconectar();

private void prenderLuz()


{

arduino.Write("#LUZ01=1\n");
hablar.SpeakAsync("luz prendida");
checkBox1.Checked = true;
checkBox1.Text = "Apagar Luz";
}

private void apagarLuz()


{

arduino.Write("#LUZ01=0\n");
hablar.SpeakAsync("luz apagada");
checkBox1.Checked = false;
checkBox1.Text = "Prender Luz";
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)


{
hablar.SpeakAsync("Hasta la vista beibi");
arduino.Write("#STOPA\n");
inhabilitar();
limpiar();
Conectado = false;
arduino.Close();
}

private void textBox1_TextChanged(object sender, EventArgs e)


{
if (Conectado && textBox1.Text != "prende la luz" && textBox1.Text != "apaga la luz")
{
if (checkBox1.Checked)
{
prenderLuz();

}
else
{
apagarLuz();

}
}
}

private void checkBox1_CheckedChanged_1(object sender, EventArgs e)


{

}
Centros, Talleres y Laboratorios 2016
private void button2_Click(object sender, EventArgs e)
{
escucha.RecognizeAsyncStop();
hablar.SpeakAsync("de dejado de escucharte");
textBox1.Text = "";
}

private void puertosDisponibles()


{
puertos = SerialPort.GetPortNames();
}

private void conectar()


{
Conectado = true;
string selectedPort = comboBox1.GetItemText(comboBox1.SelectedItem);
arduino = new SerialPort(selectedPort, 9600, Parity.None, 8, StopBits.One);
//arduino.ReadTimeout = 500;
arduino.Open();
arduino.Write("#START\n");
button3.Text = "Desconectar Arduino";
hablar.SpeakAsync("arduino conectado");
habilitar();

private void desconectar()


{
arduino.Write("#STOPA\n");
button3.Text = "Conectar con Arduino";
hablar.SpeakAsync("arduino desconectado");
inhabilitar();
limpiar();
Conectado = false;
arduino.Close();
}

private void habilitar()


{
checkBox1.Enabled = true;
textBox1.Enabled = true;
button1.Enabled = true;
button2.Enabled = true;

private void inhabilitar()


{
checkBox1.Enabled = false;
textBox1.Enabled = false;
button1.Enabled = false;
button2.Enabled = false;

private void limpiar()


Centros, Talleres y Laboratorios 2016
{
checkBox1.Checked = false;
textBox1.Text = "";
textBox2.Text = "";

private void button3_Click(object sender, EventArgs e)


{
if (!Conectado)
{
conectar();

}
else
{
desconectar();

}
}

private void label1_Click(object sender, EventArgs e)


{

}
}

Paso 2
Se procedió a realizar la conexión del Arduino y el puerto COM, para lograr el enlace con la interfaz de
visual studio.
Centros, Talleres y Laboratorios 2016
Cuadernillo de Prácticas del Alumno

Paso 3
Como parte de la conexión entre Visual studio y Arduino, se procede a correr y depurar el
siguiente código en el cual la entrada de datos de Arduino se leerá en atreves del micrófono
y el Arduino será nuestro puente para que con la ayuda de la interfaz de visual studio, se lograra
poder hacer un reconocimiento de voz en tiempo real y poder proyectar dichas frases en la
interfaz.
Centros, Talleres y Laboratorios 2016

Paso 4
Una vez pronunciada la frase deseada el micrófono de la laptop se encargará de recoger esta
información y que sea procesado para lograr visualidad de manera escrita en la interfaz de visual
studio, así logrando el objetivo de la práctica, donde se involucran los estudios de una interfaz y como
se puede sacar provecho y ser implementada.
Centros, Talleres y Laboratorios 2016
Cuadernillo de Prácticas del Alumno
CONCLUSIÓN DEL ALUMNO(S)

Como se demuestra en las imágenes se logro el objetivo de la practica dentro de la clase, así poder
realizar la programación de un procesador de textos de forma autónoma con ayuda de un micrófono, se
logra escribir en la interfaz las palabras que se dictaron al momento, es decir en tiempo real poder
visualizar lo que uno hable en el momento, así nos puede demostrar las increíbles formas de como se
implementan las interfases en el mundo real.
La importancia del desarrollo de esta practica nos ayuda a aprender como se desarrollar y funcionan las
interfases digitales, además de la complejidad que estas requieren para poder ser desarrolladas para
que funcionen de manera adecuada, cabe mencionar que se nos represento un reto poder lograr el
objetivo de la misma, mas sin embargo con la ayuda de nuestro profesor se pudo superar esta
dificultades gracias a su respuestas de las dudas presentadas, así mismo se logra entender las
relaciones que existen entre las diferentes tipos de lenguaje de programación que existen y como se
logran casi relacionar entre sí. Se lograr demostrar que la única limitante para crear y mejorar procesos
es la capacidad que uno mismo tiene para resolver lógicas de programación.

BIBLIOGRAFÍA

Recursos Tecnológicos
Equipo Autor Título Liga
- - Web Desarrollo de (779) Curso Visual Studio
Code Ep. 2: Interfaz -
Reactiva by interfases en
YouTube
Dani visual studio.

BÁSICA:

COMPLEMENTARIA:

CALIFICACIÓN DE LA PRÁCTICA

OBSERVACIONES DEL DESEMPEÑO DEL ESTUDIANTE:

NOMBRE Y FIRMA DEL DIR. DE PROGRAMA NOMBRE Y FIRMA DEL DOCENTE

NÚMERO DE PRÁCTICA DEL TOTAL DE ESTA MATERIA. 01 DE

También podría gustarte