Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab#2 502
Lab#2 502
FACULTAD TECNOLOGICA
CARRERA INGENIERIA ELECTRÓNICA
Laboratorio n° 2
(Manejo de puertos como salida del Arduino)
MATERIA:
Diseño electrónico asistido por computadora
ESTUDIANTE:
Univ. Jhovana Condori Mamani
DOCENTE:
Ing. Eduardo Gunar Rodríguez Mendoza
FECHA DE ENTREGA:
POTOSÍ-BOLIVIA
Objetivo. - se tiene los siguientes objetivos:
HERRAMIENTAS Y NOMENCLATURA. -
HARDWARE
Arduino uno
Arduino
UNO
Los Arduino
y en general
los
Es una pantalla de cristal liquido nombrada asi por sus siglas en ingles
Liquid Crystal Display
Resistencias
Led
Para que este proceso funcione es necesario que el LED esté polarizado
directamente. Es decir, tiene que existir una corriente circular de un
término positivo (ánodo) a uno negativo (cátodo). Es aquí cuando se
produce el llamado “fotón” al desprenderse los electrones y se produce
luz.
El proceso de
electroluminiscencia
es mucho más
eficiente que el
proceso de
incandescencia de una
bombilla con
filamento ya que la
energía se destina
directamente a generar luz y no a generar calor.
Software
El IDE De Arduino
Proteus
La página tinkercad
Nomenclatura
Referencia idiomática
FUNCIONES
E / S digital
digitalRead ()
digitalWrite ()
pinMode ()
E / S analógica
analogReadResolution ()
analogWriteResolution ()
I / O avanzado
noTone ()
pulseIn ()
pulseInLong ()
shiftIn ()
shiftOut ()
tone ()
Hora
delay ()
delayMicroseconds ()
micros ()
milis ()
Mates
abs ()
restringir ()
mapa ()
max ()
min ()
pow ()
sq ()
sqrt ()
Trigonometría
cos ()
sin ()
tan ()
Caracteres
isAlpha ()
isAlphaNumeric ()
isAscii ()
isControl ()
isDigit ()
isGraph ()
isHexadecimalDigit ()
isLowerCase ()
isPrintable ()
isPunct ()
isSpace ()
isUpperCase ()
isWhitespace ()
Números al azar
random ()
randomSeed ()
Bits y Bytes
bit ()
bitClear ()
bitRead ()
bitSet ()
bitWrite ()
highByte ()
lowByte ()
Interrupciones externas
attachInterrupt ()
detachInterrupt ()
Interrupciones
interrumpe ()
noInterrupts ()
Comunicación
Serial
Stream
USB
Ratón del teclado
VARIABLES
Constantes
Conversión
byte ()
char ()
float ()
int ()
long ()
word ()
Tipos de datos
String ()
array
bool
booleano
byte
char
doble
float
int
long
short
size_t
string
unsigned char
unsigned int
unsigned long
palabra vacía
Ámbito variable y calificadores
const
alcance
estático
volátil
Utilidades
PROGMEM
sizeof ()
ESTRUCTURA
Bosquejo
Configuración de bucle
()
Estructura de control
break
continue
do ... mientras
que
para
goto
si
regresa
cambiar ... caso
mientras
Sintaxis adicional
#define (define)
#include (include)
/ * * / (comentario de bloque)
// (comentario de una sola línea)
; (punto y coma)
{} (llaves)
Operadores aritméticos
% (resto)
* (multiplicación)
+ (adición)
- (resta)
/ (división)
= (operador de asignación)
Operadores de comparación
Operadores booleanos
! (no lógico)
&& (lógico y)
|| (lógico o)
& (operador de referencia)
* (operador de referencia)
Operadores de Bitwise
& (bitwise y)
<< (bitshift izquierda)
>> (Bitshift derecha)
^ (Xwise bitwise)
| (a nivel de bit o)
~ (en modo de bit no)
Operadores de compuestos
% = (resto compuesto)
& = (compuesto bitwise y)
* = (multiplicación compuesta)
++ (incremento)
+ = (adición de compuesto)
- (decremento)
- = (resta compuesta)
/ = (división compuesta)
^ = (compuesto bitwise xor)
| = (compuesto en modo de bits o)
Herramientas
1 Arduino UNO
2 Resistencias
3 Diodos leds
4 Protoboard
5 Cables de conexión
6 Fuente de alimentación
FUNDAMENTO TEORICO
ARDUINO. DEFINICIÓN
LA FINALIDAD DE ARDUINO
Tarea#1
LiquidCrystal lcd(2,3,4,5,6,7);
int dato;
void setup() {
lcd.begin(16,2);
Serial.begin(9600);
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
Serial.print("digite un numero:");
lcd.setCursor(0,0);
lcd.print("digite un numero:");
void loop() {
dato=Serial.read();}
dato=Serial.parseInt();
Serial.println(dato);
lcd.setCursor(0, 1);
lcd.print(dato);
digitalWrite(A0,bitRead(dato,0));
digitalWrite(A1,bitRead(dato,1));
digitalWrite(A2,bitRead(dato,2));
digitalWrite(A3,bitRead(dato,3));
}
Tarea #2
hacer el siguiente ejercicio
#include <LiquidCrystal.h>
int m=0;
int x;
int y;
int n=0;
int i=0;
int dato=0;
void setup(){
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(13, OUTPUT);
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.print("m= ");
lcd.setCursor(0, 0);
lcd.print("m=");
void loop(){
if (Serial.available()){
dato=Serial.read();
if(i==0){
m=dato;
m=m-48;
Serial.println(m);
lcd.setCursor(9, 0);
lcd.print(m);
Serial.print("n= ");
lcd.setCursor(0, 1);
lcd.print("n=");
if(i==1){
n=dato;
n=n-48;
Serial.println(n);
lcd.setCursor(9, 1);
lcd.print(n);
Serial.print("DIGITE LA OPCION:");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DIGITE LA OPCION:");
i++;
}
if(dato=='a') { //vector a
x=n+1;
digitalWrite(A3,bitRead(x,0));
digitalWrite(A2,bitRead(x,1));
digitalWrite(A1,bitRead(x,2));
digitalWrite(A0,bitRead(x,3));
y=0;
digitalWrite(9,bitRead(y,0));
digitalWrite(8,bitRead(y,1));
digitalWrite(7,bitRead(y,2));
digitalWrite(6,bitRead(y,3));
Serial.println((String)"v1="+x+","+y);
lcd.setCursor(0, 1);
lcd.print((String)"v1="+x+","+y);
if(dato=='b') { //vector b
x=m-1;
digitalWrite(A3,bitRead(x,0));
digitalWrite(A2,bitRead(x,1));
digitalWrite(A1,bitRead(x,2));
digitalWrite(A0,bitRead(x,3));
y=1;
digitalWrite(9,bitRead(y,0));
digitalWrite(8,bitRead(y,1));
digitalWrite(7,bitRead(y,2));
digitalWrite(6,bitRead(y,3));
Serial.println((String)"v1="+x+","+y);
lcd.setCursor(0, 1);
lcd.print((String)"v1="+x+","+y);
if(dato=='c') { //vector c
x=m-1;
digitalWrite(A3,bitRead(x,0));
digitalWrite(A2,bitRead(x,1));
digitalWrite(A1,bitRead(x,2));
digitalWrite(A0,bitRead(x,3));
y=n-1;
digitalWrite(9,bitRead(y,0));
digitalWrite(8,bitRead(y,1));
digitalWrite(7,bitRead(y,2));
digitalWrite(6,bitRead(y,3));
Serial.println((String)"v1="+x+","+y);
lcd.setCursor(0, 1);
lcd.print((String)"v1="+x+","+y);
}
}
Tarea#3
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // Direccion de modulo i2c
111 por defecto
int tiempo=300; //variable tiempo igual a 300
void setup()
{
lcd.init(); // inicializa el lcd
lcd.backlight(); // Enciende la Luz del Fondo del LCD