Semana 4 - GUIA - ARDUINO-VISUAL - C#-Base de Datos (COMPLETA 2023)

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

Arduino - C# - base de datos

Semana: 4 Grupo: Elec11


Modulo: Desarrollo de Aplicaciones Informáticas para sistemas electrónicos
Facilitador: Ing. Mario M. Diaz
Resultados de aprendizaje:
- Programar Arduino
- Diseño del software para controlar Arduino
- Conexión entre Arduino y Visual Basic
- Almacenar información en una base de datos local.

Practica.
Se nos pide que desarrollemos el software que permita controlar dos luminarias desde su respectivo
interruptor. Las luminarias se representaran con led, que estará en el pin13 y pin12 de Arduino

Ejercicio: Se desea controlar desde C#, dos luminarias

Ing. Mario Diaz 1


C# DIBUJAMOS LA INTERFAZ
Creamos un nuevo proyecto, y le damos por nombre: Enciende_Dos_Led

Ing. Mario Diaz 2


Visual Studio 2022

ESTABLECER PROPIEDADES
CONTROL PROPIEDAD VALOR
Form1 Name FrmLed
Text Encender dos led
StartPosition CenterScreen
Button3 Name Btn12
Text Led 12
Button4 Name Btn13
Text Led 13
Button1 Name btnConectar
Text Conectar
Button2 Name btnDesconectar
Text Desconectar
Label1 Name LblPuerto
Text Puerto
Label2 Name LblConectado
Text Conectado a:
Label3 Name LblEstado
Text Sin Conexión
GroupBox1 Name GbConexion
Text Conexión
ComboBox1 Name cmbSerialPort
Text
SerialPort1 Name sport

Ing. Mario Diaz 3


Después de establecer propiedades, nuestro formulario lucirá así:

ESCRIBIENDO EL CODIGO
Lo primero que haremos es dar doble click sobre el formulario, y en el evento Load escribiremos el
siguiente código.
En la parte superior agregamos la siguiente línea using System.IO.Ports;

Ing. Mario Diaz 4


Posteriormente creamos las variables control, para el estado de los botones
Boolean cambio12 = true;
Boolean cambio13 = true;

Luego dentro private void FrmLed_Load(object sender, EventArgs e) escribimos lo


siguiente:

Ing. Mario Diaz 5


A continuación, damos dobles click sobre el botón Conectar y escribimos

A continuación, damos doble click sobre el botón Desconectar y escribimos

Ing. Mario Diaz 6


Luego daremos doble click en el boton Led 12 y escribiremos el siguiente código

Para finalizar daremos doble click en el boton Led 13 y escribiremos el siguiente código

Ing. Mario Diaz 7


CREAR LA BASE DE DATOS
Crear una Base de Datos en SQL Express de Visual Studio 2022
A-. En el panel del Explorador de soluciones dar Clic derecho en Enciende_Dos_Led / Agregar /
Nuevo elemento…

3 2

En la ventana que se abre seleccionar Mostrar todas las plantillas

B-En la siguiente ventana Seleccionar Datos / Base de datos basada en servicios / Colocar el nombre
de la BD y Aceptar.

7
6

Ing. Mario Diaz 8


Si al intentar agregar la base de datos muestra el siguiente error

Tenemos que instalar el complemento

NOTA: después de haber instalado el complemento, tenemos que repetir el proceso para agregar la
base de datos.

Click derecho en el nombre del proyecto, seleccionamos Agregar Nuevo Elemento, y Seleccionamos
base de datos en servicio.

Ing. Mario Diaz 9


C- Verificar que la nueva base de datos haya sido creada, se mostrará en el panel de Explorador de
servidores y en el Explorador de soluciones adentro de nuestro proyecto.

Si la base de datos no aparece conectada , se debe presionar el icono de


Actualizar

Si el panel Explorador de servidores no está visible, aparecerá en la barra del lado izquierdo, sino
ir al menú Ver / Explorador de servidores.

Creación de tablas en SQL Server utilizando SQL


A-. En el panel de Explorador de servidores, hacer Clic derecho sobre la base de datos
(Database1.mdf) / Nueva consulta.

B-Crear la tabla idLed con los campos idLed, nombreLed;

El campo idLed será la llave primaria autoincrementable de tipo numérico, el campo


nombreLed, de tipo texto con un máximo de 45 caracteres (letras) y que no se pueda dejar vacío.

Ing. Mario Diaz 10


Luego procedemos a presionar el botón de ejecutar

Llave primaria
Nombre de la tabla
Botón ejecutar
Indicador de
Autoincremento
Instrucción SQL para
crear la tabla
Restricción de campo
no vacío

Campos de la tabla

Tipos de datos Longitud de caracteres permitidos

Después de presionar el botón ejecutar, mostrará un mensaje “Comandos completados


correctamente”

C- A continuación vamos a Crear la tabla HoraFecha con los campos id, hora, fecha, idLed
El campo id será la llave primaria autoincrementable de tipo numérico, el campo hora, fecha
son varchar y el campo idLed es entero y que no se pueda dejar vacío.
El campo idLed es llave foránea

Después de presionar el botón ejecutar, mostrará un mensaje “Comandos completados


correctamente”

Ing. Mario Diaz 11


D- En el panel de Explorador de servidores aparecerá la tabla creada así como se indica en la imagen.

DML para la tabla idLed


Las instrucciones DML (Data Manipulation Language – Lenguaje de Manipulación de Datos) trabajan
sobre los datos almacenados en nuestro SGBD, permitiendo consultarlos o modificarlos.

En general a las operaciones básicas de manipulación de datos que podemos realizar con
SQL se le denomina operaciones CRUD (de Create, Read, Update and Delete, o sea, Crear, Leer,
Actualizar y Borrar, sería CLAB en español, pero no se usa.

Existen cuatro instrucciones para realizar estas tareas:


INSERT: Inserta registros a una tabla.
SELECT: Muestra información sobre los datos almacenados en la base de datos. Dicha información
puede pertenecer a una o varias tablas.
UPDATE: Actualiza la información de un registro o varios registros de una tabla.
DELETE: Borra uno o varios registros de una tabla.

A-. Insertar un registro en la tabla creada idLed


Uso del INSERT en una tabla.
1-. Insertar registros colocando los nombres de los campos en el orden que se encuentran
en la tabla y sus respectivos valores en el mismo orden, los datos tipo texto se colocan entre
comillas simple (‘texto’).
Nombre
Instrucción SQL para tabla Campos de la tabla
agregar registros

Valor a
guardar

Ing. Mario Diaz 12


B- Escribimos el codigo, presionamos el boton ejecutar y a continuacion se nos mostrara el mensaje
de “1 filas afectadas”

Se logra observar en la instrucción no aparece el campo idLed, así como no está su respectivo
valor, se debe a que ese campo se le colocó que iba ser autoincrementable, de tal manera que
su valor será colocado de forma automática de forma correlativa 1, 2, 3, 4, 5 ….

Para verificar si el registro fue ingresado correctamente, digitar y ejecutar la siguiente instrucción
SQL

Instrucción SQL para consultas generales

Resultado de la consulta

Ing. Mario Diaz 13


CONEXIÓN A LA BASE DE DATOS

1- Agregar una Clase al proyecto Clic derecho sobre el nombre del proyecto (panel Explorador de
Soluciones) / Agregar / Clase… el nombre de la clase será ClaseCRUD.sc

5 6

Ing. Mario Diaz 14


2- Código de la Clase para realizar la conexión a la base de datos.
AGREGAMOS LAS LIBRERIAS

LUEGO MODIFICAMOS LA CADENA DE CONEXIÓN

Obtener la cadena de conexión (es diferente para computadora)


1- Seleccionamos la base de datos
2- Copiamos la cadena de conexión
3-Pegamos la cadena de conexión dentro de la clase.

Ing. Mario Diaz 15


Seguimos escribiendo el código para la clase CRUD

Ing. Mario Diaz 16


PROGRAMANDO EL BOTON LED12 PARA GUARDAR REGISTROS

Mejoraremos el código para que cuando el botón mande la señal de encendido, al


mismo tiempo se guarde un registro a la base de datos de la Hora y Fecha que se
activó.
Recordemos que dentro de ClaseCRUD.cs ya tenemos el código que nos permitirá insertar datos en
la base.

Damos doble click sobre el botón Led12 y modificaremos el código.

Ing. Mario Diaz 17


Damos doble click sobre el botón Led13 y modificaremos el código.

Ing. Mario Diaz 18


Mostrando los registros guardados en nuestra base
Para finalizar vamos a mostrar los registros guardados, para ello vamos a hacer más grande nuestro
formulario, agregamos un DataGridView y quitamos el check de habilitar acción de agregar,
habilitar edición, habilitar eliminación y habilitar reordenación de columnas

1
2
2
2

3
2

Agregamos un combobox, un label y un botón

Cambiamos las propiedades

CONTROL PROPIEDAD VALOR


Label1 Name LblBuscar
Text Buscar por
ComboBox1 Name cmbBuscar

Button1 Name btnBuscar


Text Buscar
DataGridView1 Name dgvRegistros

Ing. Mario Diaz 19


Ahora nuestro formulario se mira así:

Para llenar el combobox con los nombres de los Led que tenemos registrados en la base de datos,
damos doble click en el formulario y escribimos el código

Ahora para mostrar los datos dentro del DatagridView, por debajo del código del ComboBox
escribimos el siguiente código

Ing. Mario Diaz 20


Programamos el botón Buscar , dando clic sobre este y
escribimos

RECORDEMOS QUE DEBEMOS CREAR EL OBJETO DE LA CLASE PARA PODER USAR LOS METODOS.

Ing. Mario Diaz 21


AGREGAR IMAGEN A NUESTRO PROYECTO

-Seleccionamos PictureBox y arrastramos

Damos click en Elegir imagen, buscamos la imagen y aplicamos

AGREGAR BARRA DE MENU Y BARRA DE ESTADO A NUESTRO PROYECTO

AGREGAR OPCIONES AL menuStrip


1. Damos click en el control menuStrip, y lo ubicamos en la parte superior

Ing. Mario Diaz 22


AGREGAR OPCIONES AL menuStrip
1. Damos click en el control menuStrip, para activarlo

2-Escribimos el nombre del menú “Archivo”

3-Agregamos los elementos del menú, para este caso la opción “Salir”

4-El resultado será

Agregamos el código del menú Archivo→Salir, damos doble clic sobre la opción Salir

Ing. Mario Diaz 23


Escribimos

AGREGAR StatusStrip1
1. Damos click en el control StatusStrip, y lo ubicamos en la parte inferior

2. Seleccionamos el control para activarlo y agregar un StatusLabel

Agregamos el StatusLabel

Ing. Mario Diaz 24


3- Dentro de las propiedades Text escribimos “Estado”

Nuestro formulario ahora se muestra asi:

Recordemos que dentro del botón Conectar ya habíamos agregado el código para la barra de estado

Ing. Mario Diaz 25


Al finalizar la actividad, llame a su facilitador para presentar su mini proyecto y completar la
siguiente información.

Fecha: Grupo Práctica:

Alumno: Carne:

N° ITEM SI NO PUNTOS
1 Diseñó la interfaz sugerida en la guía (10%)
2 Estableció propiedades a cada control, según la guía (20%)
3 Realizó la programación de cada control según la guía (20%)
4 Programó correctamente su Arduino (20%)
5 Realizó las pruebas pertinentes de su funcionamiento,
interactuando software y hardware (20%)
6 Durante la practica muestra una actitud de orden, aseo y
compañerismo (10%)
NOTA

OBSERVACIONES:

Ing. Mario Diaz 26

También podría gustarte