0% encontró este documento útil (0 votos)
41 vistas14 páginas

Parcial Circuitos Digitales Corte 2

Este documento contiene código para controlar un circuito digital mediante un tablero y teclado. El código establece los pines de entrada y salida para el teclado matricial y tablero de 7 segmentos. Define funciones para leer las teclas presionadas y mostrar números en el tablero. El tablero recibe datos del teclado a través de SoftwareSerial y controla la velocidad y dirección de un motor.

Cargado por

David
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
41 vistas14 páginas

Parcial Circuitos Digitales Corte 2

Este documento contiene código para controlar un circuito digital mediante un tablero y teclado. El código establece los pines de entrada y salida para el teclado matricial y tablero de 7 segmentos. Define funciones para leer las teclas presionadas y mostrar números en el tablero. El tablero recibe datos del teclado a través de SoftwareSerial y controla la velocidad y dirección de un motor.

Cargado por

David
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

Circuito Digitales

PARCIAL 2 CORTE

Deivyd Eduardo Sanchez Ruiz

[email protected]

Ingeniería de sistemas

5 semestre

Bogotá D.C

Corporación Universitaria Republicana

12 de oct. de 2020
Circuito
Motor
Tablero
Códigos:
#include <SoftwareSerial.h>

#define f1 8

#define f2 9

#define f3 10

#define f4 11

#define c1 A0

#define c2 A1

#define c3 A2

#define c4 A3
SoftwareSerial serial1(0, 1)

void setup(){

pinMode(f1, OUTPUT);

pinMode(f2, OUTPUT);

pinMode(f3, OUTPUT);

pinMode(f4, OUTPUT);

pinMode(c1, INPUT);

pinMode(c2, INPUT);

pinMode(c3, INPUT);

pinMode(c4, INPUT);

pinMode(0, INPUT);

pinMode(1, OUTPUT);

serial1.begin(9600);

char teclado(){

char tecla;

digitalWrite(f1,HIGH);

digitalWrite(f2,LOW);

digitalWrite(f3,LOW);

digitalWrite(f4,LOW);

if (digitalRead(c1)){

tecla = '1';

}
if (digitalRead(c2)){

tecla = '2';

if (digitalRead(c3)){

tecla = '3';

if (digitalRead(c4)){

tecla = 'A';

digitalWrite(f2,HIGH);

digitalWrite(f1,LOW);

digitalWrite(f3,LOW);

digitalWrite(f4,LOW);

if (digitalRead(c1)){

tecla = '4';

if (digitalRead(c2)){

tecla = '5';

if (digitalRead(c3)){

tecla = '6';

if (digitalRead(c4)){
tecla = 'B';

digitalWrite(f3,HIGH);

digitalWrite(f1,LOW);

digitalWrite(f2,LOW);

digitalWrite(f4,LOW);

if (digitalRead(c1)){

tecla = '7';

if (digitalRead(c2)){

tecla = '8';

if (digitalRead(c3)){

tecla = '9';

if (digitalRead(c4)){

tecla = 'C';

digitalWrite(f4,HIGH);

digitalWrite(f1,LOW);

digitalWrite(f2,LOW);

digitalWrite(f3,LOW);

if (digitalRead(c1)){

tecla = '*';

if (digitalRead(c2)){
tecla = '0';

if (digitalRead(c3)){

tecla = '#';

if (digitalRead(c4)){

tecla = 'D';

return tecla;

void loop()

char entrada;

entrada = teclado();

serial1.write(entrada);

entrada = teclado();

serial1.write(entrada);

//Manejo de tablero

#include <SoftwareSerial.h>

SoftwareSerial serial2(7, 8); // RX | TX

int velocidad;

boolean direccion = 1;
int habilitar = 11;

int entrada1 = 10;

int entrada2 = 9;

void mostrar (char caracter){

if (caracter == '1'){

PORTD = B00000110; // creación de numero en método cátodo

else if (caracter == '2'){

PORTD = B01011011; // creación de numero en método cátodo

else if (caracter == '3'){

PORTD = B01001111; // creación de numero en método cátodo

else if (caracter == '4'){

PORTD = B01100110; // creación de numero en método cátodo

else if (caracter == '5'){

PORTD = B01101101; // creación de numero en método cátodo

else if (caracter == '6'){

PORTD = B01111101; // creación de numero en método cátodo

else if(caracter == '7'){

PORTD = B00000111; // creación de numero en método cátodo


}

else if(caracter == '8'){

PORTD = B01111111; // creación de numero en método cátodo

else if(caracter == '9'){

PORTD = B01101111; // creación de numero en método cátodo

else if (caracter == '0'){

PORTD = B00111111; // creación de numero en método cátodo

void setup(){

pinMode(0, OUTPUT);

pinMode(1, OUTPUT);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, INPUT);

pinMode(8, OUTPUT);

serial2.begin(9600);

pinMode(entrada1, OUTPUT);
pinMode(entrada2, OUTPUT);

pinMode(habilitar, OUTPUT);

void loop(){

char entrada;

if (serial2.available()){

entrada = serial2.read();

if (entrada != '*' && entrada != '#') {

velocidad = entrada;

mostrar(entrada);

else if (entrada == '*'){

direccion = 0;

else if (entrada == '#'){

direccion = 1;

analogWrite(habilitar, velocidad);

digitalWrite(entrada1, direccion);

digitalWrite(entrada2, ! direccion);
}

También podría gustarte