Programem Arduino 01. Sortides Digitals
-
Upload
tecno-logics-bellvitge -
Category
Documents
-
view
773 -
download
1
Transcript of Programem Arduino 01. Sortides Digitals
C Crespo. Tecno-Lògics Bellvitge
PROGRAMEMSORTIDES DIGITALS
https://sites.google.com/site/arduitecno/R01
Estructura d’un programaControl de l'encesa d'un LED: Intermitent
https://sites.google.com/site/arduitecno/R01/A01
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS (quins, com){ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (accions a realitzar){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS (quins, com){ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (accions a realitzar){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS{ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (loop: bucle infinit){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS{ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (loop: bucle infinit){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS{ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (loop: bucle infinit){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
/*Control de l'encesa d'un LED*/
void setup() // CONFIGUREM ELS PINS{ pinMode(13,OUTPUT); // declaració del pin13 com a sortida }
void loop() // DEFINIM L'EXECUCIÓ (loop: bucle infinit){ digitalWrite(13,HIGH); // envia 5V al pin13 (LED encés) delay(1000); // durant 1000 milisegons digitalWrite(13,LOW); // envia 0V al pin13 (LED apagat) delay(1000); // durant 1000 milisegons}
Treball amb variablesControl de l'encesa d'un LED: S.O.S. lluminós
https://sites.google.com/site/arduitecno/R01/A02
/*SOS luminós amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; // durada del punt (milisegons)int EncesaLlarga=200; // durada de la ratlla int PausaLletra=400;int PausaMissatge=500;
int LED=10; int n=0;
void setup() // CONFIGUREM ELS PINS{ pinMode(LED,OUTPUT); }void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ // S for(n=0;n<3;n++) // { // digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); }
/*SOS luminós amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; // durada del punt (milisegons)int EncesaLlarga=200; // durada de la ratlla int PausaLletra=400;int PausaMissatge=500;
int LED=10; int n=0;
void setup() // CONFIGUREM ELS PINS{ pinMode(LED,OUTPUT); }void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ // S for(n=0;n<3;n++) // { // digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); }
/*SOS luminós amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; // durada del punt (milisegons)int EncesaLlarga=200; // durada de la ratlla int PausaLletra=400;int PausaMissatge=500;
int LED=10; int n=0;
void setup() // CONFIGUREM ELS PINS{ pinMode(LED,OUTPUT); }void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ // S for(n=0;n<3;n++) // { // digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); }
// definició del pin com a variable// variable necessària per a fer la iteració (repetició d'accions)
/*SOS luminós amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; // durada del punt (milisegons)int EncesaLlarga=200; // durada de la ratlla int PausaLletra=400;int PausaMissatge=500;
int LED=10; int n=0;
void setup() // CONFIGUREM ELS PINS{ pinMode(LED,OUTPUT); }void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ // S for(n=0;n<3;n++) // { // digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); }
// definició del pin com a variable// variable necessària per a fer la iteració (repetició d'accions)
{ // declaració del pin definit com a sortida digital
void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaLletra); for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaLlarga); digitalWrite(LED,LOW); delay(EncesaLlarga); } delay(PausaLletra); for(n=0;n<3;n++) { digitalWrite(LED, HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaMissatge); }
// repetició 3 cops de les instruccions associades (entre {}) ...// ... des que n=0 fins que n<3, sumant 1 a cada iteració (++)
S: 3 punts
O: 3 ratlles
S: 3 punts
void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaLletra); for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaLlarga); digitalWrite(LED,LOW); delay(EncesaLlarga); } delay(PausaLletra); for(n=0;n<3;n++) { digitalWrite(LED, HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaMissatge); }
S: 3 punts
O: 3 ratlles
S: 3 punts
void loop() // DEFINIM L'EXECUCIÓ dins d'un bucle infinit{ for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaLletra); // temps d’espera entre lletres for(n=0;n<3;n++) { digitalWrite(LED,HIGH); delay(EncesaLlarga); digitalWrite(LED,LOW); delay(EncesaLlarga); } delay(PausaLletra); // temps d’espera entre lletres for(n=0;n<3;n++) { digitalWrite(LED, HIGH); delay(EncesaCurta); digitalWrite(LED,LOW); delay(EncesaCurta); } delay(PausaMissatge); // temps d’espera més llarg }
Definició de procedimentsControl d’un brunzidor: S.O.S. sonor
https://sites.google.com/site/arduitecno/R01/A03
/*SOS sonor amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; int EncesaLlarga=200; int PausaLletra=400;int PausaMissatge=500;int pinSo=11; int n=0;
void setup() { // CONFIGUREM ELS PINS (quins, com) pinMode(pinSo,OUTPUT); }
void Punt() { // DEFINIM LES ACCIONS DEL PUNT digitalWrite(pinSo,HIGH); delay(EncesaCurta); digitalWrite(pinSo,LOW); delay(EncesaCurta);}
void Ratlla() { // DEFINIM LES ACCIONS DE LA RATLLA digitalWrite(pinSo,HIGH); delay(EncesaLlarga); digitalWrite(pinSo,LOW); delay(EncesaLlarga);}
void loop() { // DEFINIM L'EXECUCIÓ for(n=0;n<3;n++) // { Punt(); }
/*SOS sonor amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; int EncesaLlarga=200; int PausaLletra=400;int PausaMissatge=500;int pinSo=11; int n=0;
void setup() { // CONFIGUREM ELS PINS (quins, com) pinMode(pinSo,OUTPUT); }
void Punt() { // DEFINIM LES ACCIONS DEL PUNT digitalWrite(pinSo,HIGH); delay(EncesaCurta); digitalWrite(pinSo,LOW); delay(EncesaCurta);}
void Ratlla() { // DEFINIM LES ACCIONS DE LA RATLLA digitalWrite(pinSo,HIGH); delay(EncesaLlarga); digitalWrite(pinSo,LOW); delay(EncesaLlarga);}
void loop() { // DEFINIM L'EXECUCIÓ for(n=0;n<3;n++) // S: repetició 3 cops del { Punt(); }
/*SOS sonor amb Arduino*/
// DEFINIM LES VARIABLES (nom i valor)int EncesaCurta=100; int EncesaLlarga=200; int PausaLletra=400;int PausaMissatge=500;int pinSo=11; int n=0;
void setup() { // CONFIGUREM ELS PINS (quins, com) pinMode(pinSo,OUTPUT); }
void Punt() { // DEFINIM LES ACCIONS DEL PUNT digitalWrite(pinSo,HIGH); delay(EncesaCurta); digitalWrite(pinSo,LOW); delay(EncesaCurta);}
void Ratlla() { // DEFINIM LES ACCIONS DE LA RATLLA digitalWrite(pinSo,HIGH); delay(EncesaLlarga); digitalWrite(pinSo,LOW); delay(EncesaLlarga);}
void loop() { // DEFINIM L'EXECUCIÓ for(n=0;n<3;n++) { Punt(); }
void loop() // DEFINIM L'EXECUCIÓ { for(n=0;n<3;n++) // S: repetició 3 cops del procediment Punt { Punt(); } delay(PausaLletra); for(n=0;n<3;n++) // O: repetició 3 cops del procediment Ratlla { Ratlla(); } delay(PausaLletra); for(n=0;n<3;n++) // S: repetició 3 cops del procediment Punt { Punt(); } delay(PausaMissatge); }
void loop() // DEFINIM L'EXECUCIÓ { for(n=0;n<3;n++) // S: repetició 3 cops del procediment Punt { Punt(); } delay(PausaLletra); for(n=0;n<3;n++) // O: repetició 3 cops del procediment Ratlla { Ratlla(); } delay(PausaLletra); for(n=0;n<3;n++) // S: repetició 3 cops del procediment Punt { Punt(); } delay(PausaMissatge); }
void setup() { }Configuració dels pins a utilitzar
void loop() { }Definició de les accions dins d’un bucle infinit
pinMode( , );Declaració de pin digital
digitalWrite( , );Estat de la sortida
delay( );Espera
ESTRUCTURA
CONFIGURACIÓ
CONTROL for( ; ; ) { }
FUNCIONS
REPASEM
void setup() { }Configuració dels pins a utilitzar
void loop() { }Definició de les accions dins d’un bucle infinit
pinMode(pin,mode);Declaració de pin digital
digitalWrite(pin,estat);Estat de la sortida
delay(temps en milisegons);Espera
ESTRUCTURA
CONFIGURACIÓ
FUNCIONS
OUTPUT (sortida)
INPUT (entrada)
HIGH (alt: 5V)
LOW (baix: 0V)
http://arduino.cc/es/Reference/HomePage
CONTROL for(n=0;n<x;n++) { } repetició x cops de les instruccions entre { }n definit com a variable (valor inicial: 0)
des que n=0 fins que n=xsumant 1 a cada iteració (0, 1, 2, ... X-1)