Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

(alumni)Coromines Makerspace Microcontroladors, 1a part.

Introducció a Arduino i Minibloq, mitjançant exemples, amb la finalitat de fer algun robotet
by

Eloi Fores

on 23 October 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of (alumni)Coromines Makerspace Microcontroladors, 1a part.

4.2- Construir un circuit capaç de fer anar un servo, avant i arrere 10 vegades.



4.3- Construir un circuit capaç de fer anar un servo, avant i arrere, amb l'afegit de que quan el servo gire a la dreta ha d'encendre un led i quan gire a l'esquerra, el led ha de romandre apagat.
TASTETS D'
per Eloi Forés
Introducció
a Arduino

El programari consisteix en un entorn de desenvolupament que implementa el llenguatge de programació Processing/Wiring i el carregador d'arrencada (boot loader) que corre en la placa.
Arduino és una plataforma de

maquinari lliure
, basada en una placa amb un
microcontrolador
i un
entorn de desenvolupament
.
Dissenyada per a facilitar l'ús de l'electrònica en projectes multidisciplinars.
El maquinari consisteix en una placa amb un microcontrolador
Atmel AVR
i ports d'entrada/sortida.
Alguns m
o
dels...
Especificacions: Arduino UNO
Microcontrolador:
ATmega328
Tensió d'Operació (nivel lógic): 5 V
Tensió d'Entrada (recomanat): 7-12 V
Tensió d'Entrada (límits): 6-20 V
Pins E/S Digitals: 14 (dels quals 6 proveixen de sortida PWM)
Entrades Analógiques: 6
Corrent máx per cada PIN de E/S: 40 mA
Memoria Flash: 32 KB dels quals 0.5KB son usats per el bootloader
SRAM: 2 KB
EEPROM: 1 KB

Frecuencia de rellotge: de 16 MHz
Funcions dels pins
Minibloq
Minibloq: Esquema arduino
Minibloq: Blocs principals
Sketch
Un sketch, és el nom que usa Arduino per a un programa. És la unitat de codi que se transmet i executa en la placa Arduino.
/* Blink: Encén un LED per un segon, i l'apaga per altre segon, repetidament.*/

void setup() {


pinMode(13, OUTPUT);
//Configura el pin 13 com sortida
}

void loop() {
//bucle infinit

digitalWrite(13, HIGH);
// Posa el LED a on

delay(1000);
// Espera 1 segon

digitalWrite(13, LOW);
// Posa el LED a off

delay(1000);
// Espera 1 segon
}
Minibloq
Característiques:
Beta:
Minibloq és en desenvolupament.
Fàcil:
Només uns pocs clics i el seu primer programa s'està executant.
Generador de codi en temps real:
Es crea el codi, mentre que s'està agregant blocs o modificant els valors dels paràmetres.
Transició:
Facilita la transició a la programació basada en text.
Comprovació d'errors:
També és en temps real.

Minibloq
Característiques:
Interfície gràfica avançada:
Zoom, tallar i pegar, finestres acoblables...
Ràpid:
És una aplicació nadiva, compilada amb C++
Portable:
No necessita instal.lació a excepcio dels drivers especifis de la tarja a programar(Arduino,..)
Terminal incorporat:
Hi ha un terminal integrat que permet enviar i rebre dades al PC a través de ports sèrie / USB.
Modular i ampliable:
L'usuari pot crear nous blocs
Minibloq
Descarregar l'eina des de http://blog.minibloq.org/
Per fer-lo còrrer en Linux, requereix del programari Wine i les següents ordres a la línia de comandes.
sudo apt-get install wine
winecfg
sudo usermod -aG dialout usuari
sudo ln -sf /dev/ttyACM0 ~/.wine/dosdevices/com2
unzip Minibloq.v0.8.Beta.zip
cd Minibloq.v0.8.Beta
wine MinibloqRun.exe
Tastets d'Arduino
Tastet-1:
Construir un circuit capaç d'encendre i apagar un led cada segon.
Tastet-2:
Construir un circuit capaç llegir el valor d'un sensor analògic(en el nostre cas una resistència LDR)
Tastet-3:
Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
Tastet-4:
Construir un circuit capaç de fer anar un servo.
Tastet-5:
Construir un circuit capaç de controlar un servo mitjançant una LDR.
Tastet-1: Construir un circuit capaç d'encendre i apagar un led cada segon.
Material necessari:
1 led
1 Arduino
Tastet-1: Construir un circuit capaç d'encendre i apagar un led cada segon.
Conexionat:
-
+
Blocs de Minibloq:Tastet-1
Inici
Cert o activat
Número
constant
Principals:
Secondaris:
Fals o no activat
Mentre condició(While)
Retard
Canviar estat de
sortida digital
Solució Minibloq:Tastet-1
Modificacions Tastet-1
Feu que el led romanga encès 2 segons i apagat 3/4 de segon.
Feu que el led romanga encès 50 milisegons i apagat 50 milisegons. Que passa?
Feu que el led romanga encès 10 milisegons i apagat 10 milisegons. Que passa?
Tastet-2: Construir un circuit capaç llegir el valor d'un sensor analògic(en el nostre cas una resistència LDR).
Material necessari:
3 Cables
1 LDR
1 Resistencia
1 Protoboard
1 Arduino
Una LDR(Light Dependent Resistor) es bàsicament una resistència que depèn de la llum i varie la seva resistència d'acord a la intensitat lumínica de l'ambient.
Conexionat:
Blocs de Minibloq:Tastet-2
Cert o activat
Número
constant
Principals:
Secondaris:
Fals o no activat
Mentre condició(While)
Retard
Crear i assignar
Variable, respec...
Dades
Sèrie
Llegir entrada
analògica
Solució Minibloq:Tastet-2
Tastet-3: Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
Material necessari:
3 Cables
1 LDR
1 Led
1 Resistència < 1K
1 Resistència d'1.36K
1 Protoboard
1 Arduino
Tastet-3: Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
Conexionat:
Blocs de Minibloq:Tastet-3
Cert o activat
Número
constant
Principals:
Secondaris:
Fals o no activat
Mentre condició(While)
Retard
Crear i assignar
Variable, respec...
Dades
Sèrie
Llegir entrada
analògica
Solució Minibloq:Tastet-3
Tastet-1 part 2
Ara el que es proposa, és que el led es controli des d'un altre pin diferent del 13, per exemple el 7.

El que canvia ara, és que es necessitarà una resistència externa per protegir el led, ja que el pin 13 incorpora una resistència interna, però els demés pins no, per tant el conexionat canvia.

En quant al programa, es tornarà a la versió primera del tastet-1(encendre i apagar el led cada segòn).
http://arduino.cc/es
Tastet-1 part 3
Es proposa la connexió de
5 leds
a l'Arduino, en
els pins 3 al 7
(es necessita resistència externa).
Es controlarà el seu encès i apagat de forma divertida. Cadascú tria la forma com vol encendre i apagar els leds.
Sugerencies:
Imitar la estela d'un estel fugaç.
Imitar el comportament dels llums de "Kit".
Etc.
Les dades llegides pel sensor
s'envien al Pc mitjançant comunicació
sèrie.
Dades
Sèrie
Els tastets...
S'han pensat com unes jornades introductories (i sense massa pretensions) a la plataforma de hardware lliure
Arduino
.

La Fiambrera

o tapa
És l'element esencial per poder tastar i degustar, és a dir, per poder fer els tastets d'Arduino.

Blocs de Minibloq:Tastet-4
Mapejat de valors
Número
constant
Principals:
Secondaris:
Mentre condició(While)
Retard
Servo
Número
aleatori
Tastet-4: Construir un circuit capaç de fer anar un servo.
Material necessari:
3 Cables
1 Servo
1 Arduino
Tastet-4: Construir un circuit capaç de fer anar un servo(moviment aleatori).
Conexionat:
Solució Minibloq:Tastet-4
Solució Minibloq:Tastet-4 amb map
El moviment del servo serà al.leatori.
Modificació Tastet-4
4.1- Modificar el tastet-4 per a que es puguen visualitzar en la terminal del pc els valors que rep el servo.
Enviar dades
sèrie al Pc
Modificació Tastet-4
Repetir n vegades
Si-Sino(If)
Solució Minibloq:Tastet-4.x
4.1
4.2
Modificació Tastet-5
5.2-
Construïu un circuit capaç de fer anar un servo, avant i arrere, però controlat per la LDR. El servo romandrà sempre en moviment, movent-se cap a la dreta quan la ldr reba més il·luminació i movent-se a l'esquerra en cas contrari.
Tastet-5: Construir un circuit capaç de controlar un servo mitjançant una LDR.
Material necessari:
6 Cables
1 LDR
1 Resistència d'1.36k
1 Servo
1 Protoboard
1 Arduino
Solució Minibloq:Tastet-5
Seguidor solar
senzill amb
Arduino
Material necessari:
Cables
2 LDR
2 Resistencies 1,36K
1 Servo + servo brackets
1 placa solar(virtual)
1 Protoboard
1 Arduino
Instruccions:
Es llegiran valors de llum de la LDR i es passaran al servo, una vegada adequats mitjançant la funció Map.
Continguts:
2 LDR
5 leds
8 resistències
1 Arduino Uno
1 Placa protoboard
1 Servo
2 Servo Brackets
1Switch

Un
seguidor solar
es un dispositiu mecànic, capaç d'orientar els panells solars de forma que aquests es mantinguen aproximadament perpendiculars als raigs solars, seguint al sol durant tot el seu recorregut.
Nosaltres a Benicarló ens trobem en una latitud aproximada de
43º
. Tenint en compte aquesta dada, es pot construir un seguidor solar senzill, orientant els panells solars cap al sud i en un angle igual a la latitud. Després tan sols cal seguir el sol durant el seu recorregut d'Est a Oest.
Cargols amb punta
per sujectar l'acoblament
del servo
Rosca autoblocant
2 Arandeles
2 Arandeles
Cargol amb rosca normal
Suport per al servo
Cargol amb punta plana
Servo
X 8
Continguts:
2 LDR
5 leds
8 resistències
1 Arduino Uno
1 Placa protoboard
1 Servo
2 Servo Brackets
1 Switch

Passos previs
5.3-
Modificar el tastet 5.2 per que quan el servo arribi al seu angle màxim, es pare i encenga un led i romanga en eixe estat mentre la ldr reba més llum, quan la ldr reba menys llum el servo es posarà novament en marxa(en sentit contrari) i el led s'apagarà.
Com montar els brackets
Tastet-3b: Modifiqueu el Tastet-3, per a que el led represente els valors que es van llegint des de la LDR.
Material necessari:
Cables
1 LDR
1 Led
2 Resistències
1 Protoboard
1 Arduino
Tastet-3b: Feu que el led represente els valors que es van llegint des de la LDR.
Conexionat:
Blocs de Minibloq:Tastet-3b
Cert o activat
Número
constant
Principals:
Secondaris:
Fals o no activat
Mentre condició(While)
Retard
Crear i assignar
Variable, respec...
Dades
Sèrie
Llegir entrada
analògica
Solució Minibloq:Tastet-3b
Per a que el led puga representar fidedignament els valors que es van rebent des de la LDR, hi haurà que utilitzar una sortida digital que siga capaç de representar més de dos valors. Aquestes són les marcades com PWM.
La resistència d'1,36k és:
Marró
,
Taronja
,
Lila
,
Marró
,
Marró
.
PWM: Pulse Width modulation
La Modulació per Ample de Pols (PWM) és una tècnica per a simular una sortida analògica amb una sortida digital. El control digital s'usa per a crear una ona quadrada, un senyal que commuta constantment entre encès i apagat. Aquest patró d'encès-apagat pot simular voltatges entre 0 (sempre apagat) i 5 volts (sempre encès) simplement variant la proporció de temps entre encès i apagat. A la durada del temps d'encès (ON) se li crida Ample de Pols (pulse width).
Solució 5.2
La resistència d'1.36k és:
Marró
,
Taronja
,
Lila
,
Marró
,
Marró
.
Conexionat del seguidor:
Shields
Els
shields
, són extensions per a arduino de forma que faciliten o expandeixen la seva operació amb l'entorn.
Evolució d'Arduino
Arduino, al ser hardware lliure, té moltes posiblitats d'evolució,tant és així que moltes empreses i individuals han llançat o desenvolupat els seus clons o tarjes compatibles.
Arduino Pro
Ardweeny
Meggy JR RGB
Bee Board
Diavolino
Paperduino
Duino 644
FreeDuino
HackVision
Smduino
Vinciduino
Lugino
Així que, resumint, s'orientarà la placa solar a 43º i aquest angle no es variarà.
Després amb un servo es simularà el moviment de la placa orientada seguint al sol. Per seguir al sol es disposa de dos LDR(sensors de llum).
Nota:
En la nostra simulació,
suposarem que la placa solar és la
placa protoboard amb les dos LDR
incorporades, i serà aquesta la que es
montarà al damunt dels servo brackets
i farà el seguiment solar.
i
Minibloq
Tastet-3c: Ara combineu el Tastet-3 i el Tastet-3b, de forma que un led represente els valors que es van llegint des de la LDR quan hi haja prou llum i altre led s'encenga només en ausencia de llum.
Material necessari:
Cables
1 LDR
2 Led
3 Resistències
1 Protoboard
1 Arduino
4.2- Construir un circuit capaç de fer anar un servo, avant i arrere 10 vegades.



4.3- Construir un circuit capaç de fer anar un servo, avant i arrere, amb l'afegit de que quan el servo gire a la dreta ha d'encendre un led i quan gire a l'esquerra, el led ha de romandre apagat.
Modificació Tastet-4
Repetir n vegades
Si-Sino(If)
Tastet-3 amb bombeta de 220V: Construir un circuit capaç d'encendre una bombeta de 220V quan es fa fosc i apagar-la quan hi ha prou llum.
Material necessari:
3 Cables
1 LDR
1 Bombeta de 220V
1 Shield Relé
1 Resistència d'1.36K
1 Protoboard
1 Arduino
1 Endoll amb cables
Solució Minibloq:Tastet-3
Conexionat:
Tastet-3d: Construir un circuit capaç d'encendre i apagar un led mitjançant la pulsació d'un "switch" o pulsador.
Material necessari:
Cables
1 Switch o pulsador
1 Led
1 Resistència de 9 a 10K
1 Resistència d'1.36K
1 Protoboard
1 Arduino
Conexionat:
Blocs de Minibloq:Tastet-3
Cert o activat
Número
constant
Principals:
Secondaris:
Fals o no activat
Mentre condició(While)
Retard
Crear i assignar
Variable, respec...
Dades
Sèrie
Llegir entrada
analògica
Solucions Minibloq:Tastet-3d
La resistència d'1.36k és:
Marró
,
Taronja
,
Lila
,
Marró
,
Marró
.
Tastet-3d: Construir un circuit capaç d'encendre i apagar un led mitjançant la pulsació d'un "switch" o pulsador.
Exercici:
Incorporeu un final de carrera al seguidor solar, de forma que quan el seguidor arribe a una posició determinada(la que marca el final del dia), pitjarà el final de carrera(switch) i tornarà a la seva posició inicial, restant en repòs fins que torni a sortir el sol al matí(nivell de llum definit a les LDR).
El Relé és un commutador elèctric que és accionat per un electroiman que obre o tanca un o diversos contactes. Una característica important d'aquest component és que permet controlar circuits elèctrics de voltatge o intensitat molt superior al d'entrada.
Extret de http://www.xtec.cat/~ccapell/rele/rele.htm
Extret de http://www.xtec.cat/~ccapell/rele/rele.htm
1a part
Pseudocodi
El
pseudocodi
és una forma genèrica d'escriure un
algorisme
fent servir les convencions típiques dels llenguatges de programació.

Però sense haver de recórrer necessàriament a la sintaxi específica d'algun d'ells.

La intenció és que el lector, pugui entendre el concepte i traduir-lo més fàcilment a aquell llenguatge que prefereixi.
Tot programa comença amb un
Inici

Indica una serie d'accions i acaba
amb un
Fi
Constants i variables:
Variables:
Són com recipients, que contenen valors que poden variar durant el programa.
Cada variable ha de ser d'un tipus determinat
( senser, text, etc..)
Cal tenir present que una variable correspon a una àrea reservada a la memòria principal del processador.
int num = 117;
Exemple: Constants i variables
const NUM=7;
int num2=0 ;
int num3;
Inici
num3=12;
num3=NUM+num2;
mostra(num3);
Fi

Constants:
És el mateix que una variable, però en aquest cas
el seu contingut no pot canviar
. Un exemple seria quan hem de definir la constant pi.
const float PI = 3.14;

Tipus de dades bàsics:
Boolean:
Pot contenir dos valors, (true, false).
Char:
Caràcter.Cada char està representat per un valor numèric de la taula ASCII. Per tant, es poden dur a terme operacions entre caràcters.
byte:
S'utilitza per representar els números positius que caen en un byte, de 0 a 255.
Int:
El més comú i útil que es sol utilitzar. Serveix per representar tots els números sencers des del -32,768 fins el 32,767.
Long:
S'utilitza per l'emmagatzematge de números. Ocupa 4 bytes a la memòria.
Float:
Representa els valors numèrics amb coma decimal. Es fa servir per aproximar valors analògics i continus per la seva major resolució.
Operadors:
Operador d'assignació
És l'operador que serveix per assignar i modificar el valor de les variables. Es tracta del símbol
=
.
Exemples:
const float tipusIva=0.16;
//durant la definició podem fer una assignació inicial.
float cost=300; float preu;

Inici
preu=cost*tipusIva;
//assignem a una variable el resultat d'una operació.

mostra(preu);
Fi
Operadors aritmètics

+ (suma)
- (resta)
* (multiplicació)
/ (divisió)
% (modul)
Operadors de comparació

== (igual a)
!= (no igual a)
< (menor que)
> (major que)
<= (menor o igual que)
>= (major o igual que)
Estructures de decisió:Si i Si..sino:
La estructura Si, permet executar una acció determinada depenent
del resultat d'una condició:
Sintaxi:
Si condició llavors
acció;
Fisi
Exemple:
Si (num==7) llavors
num=num+1;
Fisi
Sintaxi2:
Si condició llavors
acció1
sino
acció2
Fisi
Exemple2:
Si (num==7) llavors
num=num+1;
sino
num=num-1;
Fisi
NOTA:
És possible embeure altres estructures Si
dintre de altra estructura Si.
Pots pensar com es faria?
Exemple de Si embegut:
Si (num <7) llavors
mostra("El numero es menor que 7");
sino Si (num >0) llavors
mostra("El numero esta entre 1 i 6");
Sino
mostra ("El numero es menor o igual a 0");
Fisi
Fisi
Operadors lògics


&& (And)(i)
|| (Or)(o)
! (Not)(no)
Els operadors lògics són usualment una forma de comparar dues expressions i retornar un VERDADER o FALS
// cert només si les dues expressions són certes.
// cert si alguna de les dues expressions són certes.
// cert si l'expressió és falsa.
Repas:

Prova a esbrinar els resultats de les següents operacions:
int num=8; boolean A,B,C;
int num2=7; int num3;
Inici
num3 = num2-num;
num2 = num2*num3;
num = num3 - num2;
A=(num2==num3);
B=false;
C=(B&&A);
A=!(B&&C);
Fi

Com a exemple anem a fer un
algorisme

amb
pseudocodi
, que indique les accions
necessàries per fer una truita de patata.
ous=4
patates= 4
persones =2
Inici
Pelar patates
Tallar patates
Encendre el foc
Possar la paella al foc
Possar un raig d'oli a la paella
Esperar a que l'oli es calente
Possar les patates a la paella
Salar les patates
Batre els ous
Mentre (les patates no estiguen a punt)
Esperar
FiMentre
Afegir els ous a la paella
Si (truita esta a punt per una part) llavors
tombar la truita
Fisi
Si (truita esta a punt per l'altra part) llavors
apagar el foc
treure la truita
Fisi
Emplatar (truita)
Fi
Estructures de repetició
Mentre condició fer
Repetir n vegades
Repeteix les accions que conté, mentre que la condició siga verdadera.
Sintaxi:

Mentre (condició) fer
Accions;
Fimentre
Exemple:
Mentre (num<100) fer
num=num+1;
Fimentre
Exercicis:
1.- Escriure per pantalla els cent primers nombres sencers.
2.- Escriure per pantalla els cent primers nombres parells.
3.- Calcular el terme n de la sèrie de Fibonnacci.

Repeteix les accions que conté n vegades.
Sintaxi:
Repetir N vegades
Accions;
Firepetir
Exemple:
Repetir 50 vegades
num=num+1;
mostra(num);
Firepetir
Exercicis: Estructura Si
Construeix algorismes per:


2.- Esbrinar el major de dos nombres.
3.- Esbrinar el major de tres nombres.
4.- Mostrar ordenats de major a menor, tres nombres.

Nota: tots els nombres es recullen des del teclat.
La Robótica, és una disciplina molt exigent, ja que es necessiten coneixements d'altres disciplines variades, com són:
Electrónica
Programació
Mecànica
Matemàtiques
...

Algorisme
Un algorisme, es pot definir com un conjunt d'instruccions que realitzades en ordre condueixen a obtenir la solució d'un problema.
Els operadors
, són elements que relacionen de forma diferent, els valors d'una o mes variables i/o constants. És a dir, els operadors ens permeten manipular valors.
L'operador
%
(modul): calcula el residu de la divisió sencera.
Exemples:
4%2 -> 0
7%2 -> 1
33%3 -> 0
35%3 -> 2
Tipus d'operadors
Exercicis: Estructura Si
2.- Esbrinar el major de dos nombres. Solució 1.
//Declaració de variables
int num1,num2;
Inici
mostra("introdueix el primer nombre");
llegeix(num1);
mostra("introdueix el segon nombre");
llegeix(num2);
Si (num1>num2) llavors
mostra("El major és",num1);
sino
mostra("El major és",num2);
fisi
Fi
Exercicis: Estructura Si
2.- Esbrinar el major de dos nombres. Solució 2.
//Ara es controla el cas de que siguen iguals
//Declaració de variables
int num1,num2;
Inici
mostra("introdueix el primer nombre");
llegeix(num1);
mostra("introdueix el segon nombre");
llegeix(num2);
Si (num1==num2) llavors
mostra("Els dos són iguals");
sino Si (num1>num2) llavors
mostra("El major és",num1);
sino
mostra("El major és",num2);
fisi
fisi
Fi
Exercicis: Estructura Si
3.- Esbrinar el major de tres nombres. Solució 1.
//Declaració de variables
int num1,num2,num3,major;
Inici
mostra("introdueix el primer nombre");
llegeix(num1);
mostra("introdueix el segon nombre");
llegeix(num2);
mostra("introdueix el tercer nombre");
llegeix(num3);
Si (num1>num2) llavors
major=num1;
sino
major=num2;
fisi
Si (num3>major) llavors
mostra("El major és",num3);
sino
mostra("El major és",major);
fisi
Fi
Exercicis: Estructura Si
3.- Esbrinar el major de tres nombres Solució 2.
//Sense ús de variables auxiliars
//Declaració de variables
int num1,num2,num3;
Inici
mostra("introdueix el primer nombre");
llegeix(num1);
mostra("introdueix el segon nombre");
llegeix(num2);
mostra("introdueix el tercer nombre");
llegeix(num3);
Si (num1>num2) llavors
Si(num1>num3) llavors
mostra("El major és",num1);
sino //num3 és major que num1
mostra("El major és",num3);
fisi
sino Si (num2>num3) llavors //num2 > num1
mostra("El major és",num2);
sino
mostra("El major és",num3);
fisi
fisi
Fi
Exercicis: Estructura Si
1.- Esbrinar si un nombre és parell. Solució 1.
//Declaració de variables
int num;
Inici
mostra("introdueix el nombre:");
llegeix(num);
Si ((num%2)==0) llavors
mostra(num,"és parell");
sino
mostra(num," no és parell");
fisi
Fi
1.- Esbrinar si un nombre es parell o no.
Exercicis: Estructura Si
4.- Mostrar ordenats de major a menor, tres nombres.
//Declaració de variables
int num1,num2,num3,major, mitja,menor;
Inici
mostra("introdueix el primer nombre");
llegeix(num1);
mostra("introdueix el segon nombre");
llegeix(num2);
mostra("introdueix el tercer nombre");
llegeix(num3);
Si ((num1>num2)&&(num1>num3)) llavors //num1 és el major
major=num1;
Si(num2>num3) llavors
mitja=num2;
menor=num3;
sino //num3 és major que num2
mitja=num3;
menor=num2;
fisi
sino Si ((num2>num1)&&(num2>num3)) llavors //num2 és el major
major=num2;
Si (num1>num3) llavors
mitja=num1;
menor=num3;
sino //num3 és major que num1
mitja=num3;
menor=num1;
fisi
sino //num3 és el major
major=num3;
Si (num1>num2) llavors
mitja=num1;
menor=num2;
sino //num2 és major que num1
mitja=num2;
menor=num1;
fisi
fisi
fisi
mostra(major,mitja,menor);
Fi
Exercicis:
1.- Escriure per pantalla els cent primers nombres sencers.
a.-Mentre

int num=0;
Inici
Mentre (num<100) fer
num=num+1;
mostra(num);
fimentre
Fi




Exercicis:
2.- Escriure per pantalla els cent primers nombres parells.
a.- mentre

int num=0;
Inici
Mentre (num<200) fer
num=num+2;
mostra(num);
fimentre
Fi

Exercicis:
3.- Calcular el terme n de la sèrie de Fibonnacci.
Aquesta serie és del tipus: 1,1,2,3,5,8,13,21,34,55 ....

1.- Escriure per pantalla els cent primers nombres sencers.
b.- repetir

int num=0;
Inici
repetir 100 vegades
num=num+1;
mostra(num);
firepetir
Fi




2.- Escriure per pantalla els cent primers nombres parells.
b.-repetir

int num=0;
Inici
Repetir 100 vegades
num=num+2;
mostra(num);
fimentre
Fi

1.- Escriure per pantalla els cent primers nombres sencers.
2.- Escriure per pantalla els cent primers nombres parells.
Els dos primers termes són 1 i després cada nou terme de la sèrie es calcula mitjançant la suma dels dos anteriors: 1,1,2,3,5,8,13,21,34,55 ....
Mentre condició fer
Repetir
Si ..sino
Retard
Crear variable
Asignar valor a variable
Sortides digitals
Control de sortida PWM
Controla motor
Controla Servo
Emetre sons
Sèrie
Tastet-3e: Construir un circuit capaç de emular el llançament d'un dau, mitjançant la polsació d'un switch.
Es proposa la connexió de
7 leds
a l'Arduino, en
els pins 1 al 7
(es necessita resistència externa).
Es colocaran com el el esquema següent. La seva funció serà emular el llançament d'un dau.
A més farà falta un
switch
que serà el que controlarà quan es llança el dau. I hi serà connectat al pin 8.

Nota: La primera vegada que s'execute el programa farà encendre els leds un a un, per a comprovar que funcionen correctament.
PIN 1
PIN 2
PIN 3
PIN 4
PIN 5
PIN 7
PIN 6
Funcionament:
per simular els diferents valors, s'encendran els següents leds:
Valor 1 -> led 5
Valor 2 -> leds 1,6
Valor 3 -> leds 1,5,6
Valor 4 -> leds 1,2,6,7
Valor 5 -> leds 1,2,5,6,7
Valor 6 -> leds 1,2,3,4,6,7
Full transcript