You are on page 1of 15

Informe Programació:

Practica 2

Ana Fernández-Reyes Castillo


1r BAT B
Escola Elisabeth
2022-2023
Índex
Introducció...................................................................................................................................3
Fonament teòric............................................................................................................................3
Materials......................................................................................................................................4
Realització....................................................................................................................................5
Muntatge de circuit..................................................................................................................5
Programació.............................................................................................................................5
Conclusions................................................................................................................................15

2
Introducció
Aquesta practica s’ha realitzat amb el programa TinkerCad, utilitzant el llenguatge de
programació C++. Tracta de realitzar un programa que serveixi com a comptador, en
aquest cas que compti del 0 al 9 i del 9 al 0 per després parar. L’objectiu d’aquesta
practica es crear un comptador amb un display d’un visualitzador de set segments.

Fonament teòric
Per poder realitzar la pràctica s’han fet servir diferents materials i per utilitzar-los
correctament s’ha buscat el funcionament de cada un d’ells. En aquest cas s’han utilitzat
Leds, cables, resistències, visualitzador o display de 7 segments, Arduino 1 i una placa
de proves.

Els cables s’utilitzen per tal de transmetre la corrent elèctrica, normalment aquests estan
fets de coure ja que es un bon conductor de l’electricitat.

Les resistències actuen com a obstacle quan passa el corrent elèctric. És a dir, s'oposa al
pas del corrent perquè el sistema elèctric no pateixi sobrecàrregues.

La placa Arduino es connecta a un ordinador a través d'un USB, on es connecta amb


l'entorn de desenvolupament Arduino (IDE). L'usuari escriu el codi d'Arduino a l'IDE, i
després el puja al microcontrolador que executa el codi, interactuant amb les entrades i
sortides com sensors, motors i llums.

Una placa de proves és un tauler compost per orificis que es troben connectats
elèctricament entre si de manera interna. S' hi poden inserir elements electrònics i cables
per a l' armat i prototipat de circuits electrònics.

A la placa de proves trobem un visualitzador de 7 segments, que és un tipus de pantalla


que mostra nombres i caràcters utilitzant set segments que s'il·luminen per formar el
símbol corresponent. Cada un d’ells està numerat del 1 al 7, i s'utilitza per encendre una
secció específica del nombre o del caràcter. Hi ha diferents tipus i en aquesta practica
utilitzem càtode comú, que és el negatiu.

Per altra banda, també s’han utilitzats coneixements sobre el sistemes digitals i
analògics. El sistemes digitals són aquells que poden comprendre infinits valors, i els

3
sistemes analògics pel contrari són els que només comprenen 2. En aquest cas s’ha
utilitzat un sistema digital.

Materials

- Cables

- Resistències

- Placa de proves

- Placa Arduino 1

- Visualitzador de 7 segments

4
Realització

Muntatge de circuit

El que s’ha fet per muntar aquest circuit ha sigut connectar el visualitzador de 7
segments a la placa Arduino 1 utilitzant uns cables, per tal de que l’hi arribi la
informació que s’ha programat. En aquest cas concretament s’han connectat en sistema
digital. A part, també s’han connectat unes resistències d’un quilo ohm per tal de limitar
el pas del corrent elèctric perquè el circuit no pateixi sobrecàrregues.

Programació

int LED1=0, LED2=1, LED3=2, LED4=3, LED5=4, LED6=5, LED7=6;

int p;

void setup()

pinMode(LED1, OUTPUT);

5
void loop()

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED3,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED3,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

6
digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

7
digitalWrite(LED3,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

8
digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

9
delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

10
digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

delay(500);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

11
digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED6,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

12
digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED7,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED7,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED3,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED3,LOW);

delay(500);

13
digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

digitalWrite(LED6,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

digitalWrite(LED6,LOW);

digitalWrite(LED7,LOW);

delay(500);

exit(0);

El primer que s’ha fet al programa ha sigut anomenar a cada segment del visualitzador
amb un número, per tal de poder cridar posteriorment el que vulguem que s’encengui.
Seguidament s’ha posat un “pinMode(pin, OUTPUT)” que configura el número 'pin'

14
com un pin de sortida ja que els pins d'Arduino funcionen per defecte com a entrades.
Un cop això ja està fet, s’ha de crear un bucle per tal de que repeteixi el programa fins
que nosaltres vulguem, per això utilitzem la funció “ void loop ()”. Després, es posa un
“DigitalWrite” ja que aquesta funció ens permet programar cada segment de manera
digital, utilitzant el HIGH (que fa que s’encenguin els leds) i el LOW (que fa que
s’apaguin). Per tant, el que s’ha de fer es encendre els segments que es necessiten per
formar els nombres del 0 al 9 i seguidament del 9 al 0. Com sabem quin segment es

cada led només hem de demanar que s’apagui i s’encenguin utilitzant el HIGH i el
LOW. Per exemple per poder fer el nombre 0 hem d’activar tots menys el 7 i després
posar un delay amb el temps que volem que estigui encès. Això es repeteix fins que
conti del 0 al 9 i del 9 al 0. Per acabar, es posa un exit per tal de que el programa surti
del bucle i deixi de contar.

Conclusions
En aquesta practica he pogut aprendre que és i com funciona un visualitzador de 7
segments per tal de realitzar un comptador. A part he aprés noves funcions, com per
exemple el loop (un bucle) o l’exit (per sortir del bucle).

En la meva opinió, m’ha semblat una pràctica molt interesant ja que he pogut veure com
es creen els comptadors utilitzant un visualitzador.

15

You might also like