

































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Compilación de pequeñas practicas de comunicación serial con arduino
Tipo: Ejercicios
Subido el 09/08/2021
3 documentos
1 / 41
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
foreach (string p in SerialPort.GetPortNames()) { comboBox1.Items.Add(p); } //Botón de conectarse al puerto seleccionado: try { puerto1.PortName = comboBox1.SelectedItem.ToString(); puerto1.BaudRate = 9600; puerto1.DataBits = 8; puerto1.Open(); lb_ESTADO.Text = "Conectado"; P1_SerieLeds.Enabled = true; P2_SerieDisp.Enabled = true; P3_Matrices.Enabled = true; MessageBox.Show("Se ha conectado al Puerto Serial: " + comboBox1.SelectedItem.ToString()); } catch (Exception) { lb_ESTADO.Text = "Error de conexión"; }
byte[] datos = new byte[1]; es la declaración del byte a leer, para indexar este dato escribimos bitRead(datos,0); //Aquí se indexa del arreglo datos, la columna 0.
(Dentro del scrollbar) //Agregar los valores del scrollbar int Sb_val = hScrollBar1.Value; //Convertir los valores scrollbar a string e imprimirlos en un label lb_ValScrl.Text = Sb_val.ToString(); //Pasar a binario el valor para la impresión de valores en un label //Ojo esto no funciona para variables, solo para crear strings con finalidad //de escribir en forma de texto lb_valBinHscrl.Text = Convert.ToString(Sb_val, 2); //Crear una base de datos de tipo byte que contendrá el valor de la scrollbar byte[] datos = new byte[1]; //Pasar a binario el valor de la scrollbat datos[0] = (byte)(Sb_val);
//Variables int Sb_P2 = ScrollBar2.Value; string LongitudValor = Sb_P2.ToString(); lb_ValScrlB2.Text = LongitudValor; //Según la longitud será el valor de cada Unidad if (LongitudValor.Length == 1) { //Escribir en un label el valor unitario del scorllbar lb_Uni.Text = LongitudValor[0].ToString(); lb_Dec.Text = "0"; lb_Cen.Text = "0"; lb_Mil.Text = "0"; //Este es importante //Manda al puerto serial cadena de valor con inicial u //Esta u le indicará al arduino que son unidades puerto1.Write("u" + LongitudValor[0].ToString()); puerto1.Write("d" + 0); puerto1.Write("c" + 0); puerto1.Write("m" + 0);
else if (LongitudValor.Length == 2) { //Mostrar valores reposicionados en labels lb_Uni.Text = LongitudValor[1].ToString(); lb_Dec.Text = LongitudValor[0].ToString(); //Pasar a 0 si es que no existe lb_Cen.Text = "0"; lb_Mil.Text = "0"; //Ahora envia u y d, esto muestra que son //unidades, decenas, arduino las tomará por separado puerto1.Write("u" + LongitudValor[1].ToString()); puerto1.Write("d" + LongitudValor[0].ToString()); puerto1.Write("c" + 0); puerto1.Write("m" + 0); } else if (LongitudValor.Length == 3) { lb_Uni.Text = LongitudValor[2].ToString(); lb_Dec.Text = LongitudValor[1].ToString(); lb_Cen.Text = LongitudValor[0].ToString(); lb_Mil.Text = "0"; puerto1.Write("u" + LongitudValor[2].ToString()); puerto1.Write("d" + LongitudValor[1].ToString()); puerto1.Write("c" + LongitudValor[0].ToString()); puerto1.Write("m" + 0); } else if (LongitudValor.Length == 4) { lb_Uni.Text = LongitudValor[3].ToString(); lb_Dec.Text = LongitudValor[2].ToString(); lb_Cen.Text = LongitudValor[1].ToString(); lb_Mil.Text = LongitudValor[0].ToString(); puerto1.Write("u" + LongitudValor[3].ToString()); puerto1.Write("d" + LongitudValor[2].ToString()); puerto1.Write("c" + LongitudValor[1].ToString()); puerto1.Write("m" + LongitudValor[0].ToString()); }
for (int c = 0; c < 7; c++) { digitalWrite(disp7[c], tabla[x][c]); } } actDisp3(); delay(5); desacDisp(); } else if (a == "c") { if (x >= 0 && x <= 9) { for (int c = 0; c < 7; c++) { digitalWrite(disp7[c], tabla[x][c]); } } actDisp2(); delay(5); desacDisp(); } else if (a == "m") { if (x >= 0 && x <= 9) {
for (int c = 0; c < 7; c++) { digitalWrite(disp7[c], tabla[x][c]); } } actDisp1(); delay(5); desacDisp(); } }
void actDisp1() { digitalWrite(dsp1, LOW); digitalWrite(dsp2, HIGH); digitalWrite(dsp3, HIGH); digitalWrite(dsp4, HIGH); } void actDisp2() { digitalWrite(dsp1, HIGH); digitalWrite(dsp2, LOW);
digitalWrite(dsp4, HIGH); }
char lectura; int NumUni = 0; int NumDec = 0; int NumCen = 0; int NumMil = 0; int disp7[] = { 13, 12, 11, 10, 9, 8, 7}; //declaración de los pines int tabla[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 0, 0, 0, 0}, {1, 1, 0, 1, 1, 0, 1}, {1, 1, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 0, 1, 1}, {1, 0, 1, 1, 0, 1, 1}, {0, 0, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 1, 1} }; int dsp1 = 5; int dsp2 = 4; int dsp3 = 3; int dsp4 = 2; void setup() { pinMode(dsp1, OUTPUT); pinMode(dsp2, OUTPUT); pinMode(dsp3, OUTPUT); pinMode(dsp4, OUTPUT); for (int x = 0; x < 7; x++) { pinMode(disp7[x], OUTPUT); } Serial.begin(9600);