Académique Documents
Professionnel Documents
Culture Documents
Facultad: Ingeniería
Escuela: Electrónica
Introducción a Tinkercad. Asignatura: Interfaces y Periféricos (IYP111).
Lugar de Ejecución: Microprocesadores (3.23).
Objetivo General
Utilizar el entornode desarrollo en línea de Autodesk Tinkercad.
Objetivos Específicos.
Usar Tinkercad para armar circuitos.
Usar Tinkercad para desarrollo de sketch.
Usar un entorno de desarrollo en línea para verificar el funcionamiento de circuitos.
Materiales y equipos.
1 Computadora con Arduino IDE instalado y acceso a Internet.
Introducción Teórica.
Tinkercad.
Tinkercad es una aplicación gratuita en línea de diseño e impresión 3D, desarrollada por
Autodesk, la cual permite realizar simulaciones en tiempo real, programación de
dispositivos Arduino virtuales, los sketch se pueden elaborar utilizando texto o bloques (de
forma similar a la aplicación Scratch), también es una herramienta que permite exportar el
circuito a diagrama de pistas (PCB) el cual es compatible con Eagle (también propiedad de
Autodesk).
Declaración de variables1.
a) Enteros (int):
Se usa para el almacenamiento de números. En el Arduino Uno (y otras placas basadas en
ATmega), un int almacena un valor de 16 bits (2 bytes). Lo que significa un rango de
valores de -32,768 a 32,767 (valor mínimo de -2 ^ 15 y un valor máximo de (2 ^ 15) - 1).
En las placas basadas en Arduino Due y SAMD (como MKR1000 y Zero), un int almacena
un valor de 32 bits (4 bytes). Un rango de -2,147,483,648 a 2,147,483,647 (valor mínimo
de -2 ^ 31 y un valor máximo de (2 ^ 31) - 1).
1
Toda la sintaxis para el desarrollo de sketch puede ser encontrada en:
https://www.arduino.cc/reference/en/#variables
2 Interfaces y Periféricos. Guía 2.
Int almacena números negativos por medio de complemento A2. El bit más alto, a veces
denominado bit de "signo", señala si el número es negativo. El resto de los bits se invierten
y se agrega 1.
Tenga en cuenta que al declarar unarreglo de tipo char, se requiere un elemento más que su
inicialización, para mantener el carácter nulo requerido. Los arreglos están indexados a
partir de cero, el primer elemento de la matriz está en el índice 0. También significa que en
una matriz con diez elementos, el índice nueve es el último elemento.
Por ejemplo si queremos controlar un circuito con display de cátodo común como el de la
figura 1, podrían crearse los siguientes arreglos, donde la primera y segunda líneas de
código hacen referencia a los pines que serán utilizados como entradas y salidas de la
tarjeta Arduino uno, el último indica un arreglo de doble dimensión que contiene las
combinaciones de valores lógicos a escribir en el display para formar los números 0, 1, 2 y
3.
GND
R1
2.2k Q1
Q1
DISP1 DISP2
R2 2N3439 Gnd Gnd
2.2k Q2
Q2
2N3439
abcdefg. abcdefg.
R3
1k
a
b
R4
c 1k
d
e
f
g
DP
La inicialización ocurre primero y exactamente una vez. Cada vez que pasa el ciclo, la
condición se prueba; si es verdadero, el bloque de instrucciones y el incremento se ejecuta,
entonces la condición se prueba nuevamente. Cuando la condición se vuelve falsa, el ciclo
finaliza.
Procedimiento.
Parte I: Emulación del sistema en Tinkercad.
1. Encienda la computadora. Cuando cargue el sistema operativo utilice las siguientes
credenciales:
Usuario: usuario0
Contraseña: usuario
10. Para agregar los componentes de la sección derecha ComponentsBasic, utilice la barra
de desplazamiento lateral y baje hasta lograr ver Breadboard Small.
11. Dé clic izquierdo sobre el componente a agregar y luego un clic izquierdo sobre el área
de trabajo (izquierda de Components Basic y debajo de los botones Rotate, Delete,
Undo e icon-redo), ver figura 5.
Área de trabajo.
13. Dé clic izquierdo sobre un resistor, se desplegará el cuadro de diálogo que le permitirá
modificar el valor y nombre del componente.
14. Asigne a seis resistencias el valor de 330Ω.
Notas:
Si necesita mover un componente, dé clic izquierdo sobre él y arrástrelo hasta la
posición donde lo necesita mover.
Moviendo el scroll del mouse puede ajustar el tamaño del circuito a su elección.
Si la barra de componentes desaparece, dé clic izquierdo sobre el botón +Components.
Colocando el puntero del mouse sobre los pines del componente, despliega texto que
define el nombre del pin señalado.
16. Se comenzará a cablear la parte de alimentación entre los extremos superior e inferior
de la breadboard.
8 Interfaces y Periféricos. Guía 2.
17. Ubique el puntero del mouse sobre un punto de la breadboard donde desea colocar un
cable.
18. Dé un clic izquierdo sobre el punto de interés (inicio).
19. Mueva el mouse hasta la posición donde desee finalizar la conexión del cable y dé clic
izquierdo sobre ese punto.
20. Aparecerá un cuadro de diálogo que le permitirá cambiar el color al cable.
21. Al dar doble clic izquierdo sobre una sección del conductor, aparecerán puntos de
anclaje sobre el punto donde se ha hecho doble clic izquierdo, que permiten modificar
la trayectoria del conductor, ver figura 11.
22. A mayor cantidad de veces que haga el procedimiento anterior tendrá más posibilidades
de darle al conductor una trayectoria preferida.
23. Si desea eliminar un punto de anclaje selecciónelo y presione el botón suprimir.
24. Otra forma de realizar el cableado es ir dando clic izquierdo, sobre el área de trabajo
definiendo la trayectoria deseada.
Interfaces y Periféricos. Guía 2. 9
25. Realice las conexiones del circuito de tal manera que se vea como en la figura 12.
26. Dé clic izquierdo en el botón del Code editor, podrá ver que por defecto
tiene pre-guardado el código del ejemplo Blink visto en la práctica anterior, borre el
contenido y digite el código 1 de esta guía (también puede copiarlo y pegarlo).
int valor = 0;
int retardo = 500;
int entradas[] = {8, 9}; //Entradas de DIP switch
int salidas[] = {2, 3, 4, 5, 6, 7}; //Salidas a display
void setup()
{
for(int i=0; i<8; i++){
pinMode(salidas[i], OUTPUT);
if (i<2){
pinMode(entradas[i], INPUT);
}
}
Apagar();
}
10 Interfaces y Periféricos. Guía 2.
void loop()
{
if(digitalRead(entradas[0])){
valor = 1;
}
else{
valor = 0;
}
if(digitalRead(entradas[1])){
valor = valor + 2;
}
else{
valor = valor + 0;
}
void Apagar(){
for(int i=0; i<8; i++){
digitalWrite(salidas[i], LOW);
}
}
Código 1: Sketch que realiza utiliza el concepto de registros de desplazamiento.
33. Dé clic izquierdo en el botón Circuit View (el botón se encuentra a la izquierda del
botón Component List) para volver a la vista del circuito y código.
34. Modifique el código 1, para que realice la operación propuesta en los comentarios de
los bucles if - else.
35. Dé clic en el icono de TINKERCAD de la esquina superior izquierda y cree un nuevo
circuito, tal como el propuesto en la figura 14.
36. Modifique el código 2 (no funciona como se encuentra), para generar un decodificador
de 7 segmentos para 4 bits de entrada, debe cumplir con la tabla 1. Considere que debe
utilizar bucles for y uso de arreglos para tomar como válido la ejecución de este
ejercicio.
12 Interfaces y Periféricos. Guía 2.
int valor = 0;
int entradas[] = {2, 3, 4, 5}; //Entradas de DIP switch
int salidas[] = {6, 7, 8, 9, 10, 11, 12, 13}; //Salidas a display
void setup() {
for (int i = 0; i < 8; i++) { //Inicializa las salidas
digitalWrite(salidas[i], LOW);
}
}
void loop() {
//la variable valor representa un número de 0 a 15
//tomado de la lectura de las entradas
valor = digitalRead(entradas[0]);
valor = valor + (digitalRead(entradas[1])*2);
valor = valor + (digitalRead(entradas[2])*4);
valor = valor + (digitalRead(entradas[3])*8);
delay(100);
}
Código 2: Parte del Sketch del decodificador de binario (4 bits) a siete segmentos.
40. Desarrolle el código 4, se deberá leer una entrada análoga, dependiendo del valor leído
se deberá mostrar en los display’s un valor decimal entre 0 a 99.
Notas para tomar como válido la ejecución de este ejercicio:
Lectura de variable análoga.
Uso de la función map (deberá investigar su funcionamiento).
Separar las decenas de unidades para su respectiva escritura en displays.
14 Interfaces y Periféricos. Guía 2.
42. Les aparecerá una ventana en la que debe presionar el botón Invite people.
49. En la ventana desplegada seleccione la opción public para el archivo, con lo cual
cualquier persona en el Internet podrá encontrar su archivo por medio del nombre o
enlace.
50. Desplácese sobre la ventana hasta la parte inferior y dé clic izquierdo en el botón
Guardar cambios.
16 Interfaces y Periféricos. Guía 2.
51. Notará que el archivo ahora es de uso público, dé clic izquierdo al centro de la imagen
del archivo en el navegador web.
52. Desplácese a la parte inferior hasta que encuentre la dirección del vínculo a ser
compartido.
53. Copiar la dirección web del archivo y comparta el archivo de Tinkercad tal como se
sugirió en el paso 44 de esta guía.
54. El archivo puede volverse privado si usted así lo desea pero hará que el enlace
desaparezca de la ventana mostrada en la figura 23.
Interfaces y Periféricos. Guía 2. 17
55. Cierre la ventana de la figura 23, en el navegador web dé un clic izquierdo sobre la x de
la esquina superior derecha.
56. Se cargará su perfil de TINKERCAD, dé clic izquierdo en la esquina superior derecha
sobre la imagen de su perfil, luego dé clic izquierdo en Cerrar sesión.
Actividad complementaria.
Utilizando su cuenta en Tinkercad, realice la simulación para los ejercicios solicitados a
continuación:
18 Interfaces y Periféricos. Guía 2.
Bibliografía.
Bibliografía
Enlaces electrónicos:
Guía 3
https://botscience.wordpress.com/2012/06/05/historia-de-arduino-y-su-nacimiento/
https://vimeo.com/18390711
GuíaSitio4web de los desarrolladores: www.arduino.cc
Referencia en línea del lenguaje: http://arduino.cc/en/Reference/HomePage
fía https://www.tinkercad.com
Anexos.
GND
CC1
CC2
A
B
C
D
E
F
G
PD
Figura 25: Tarjeta de circuito impreso de doble display.
Interfaces y Periféricos. Guía 2. 19
Hoja de cotejo: 1
EVALUACION
% 1-4 5-7 8-10 Nota
Conocimiento
Conocimiento y
25% Conocimiento completo y
explicación
deficiente de los explicación clara
CONOCIMIENTO incompleta de
fundamentos de los
los fundamentos
teóricos fundamentos
teóricos
teóricos
No Terminó Terminó
completamente completamente Terminó
el programa y el programa completamente el
APLICACIÓN comentó mal el pero los programa con sus
DEL 70% código (30%) comentarios no comentarios
CONOCIMIENTO estaban del todo correctos
No realizó el
correctos
circuito El circuito
correctamente El circuito funcionó
(40%) funcionó
Participa
ocasionalmente
Participa
Es un o lo hace
propositiva e
ACTITUD 2.5% observador constantemente
integralmente en
pasivo. pero sin
toda la práctica.
coordinarse con
su compañero.
Hace un manejo
Hace un uso
responsable y
Es ordenado; adecuado de los
adecuado de los
pero no hace un recursos, respeta
2.5% recursos
uso adecuado de las pautas de
conforme a pautas
los recursos seguridad; pero
de seguridad e
es desordenado.
higiene.
TOTAL 100%