Aqui teniu el dossier en pdf.
https://docs.google.com/file/d/0B9Uffn97VTGEX3JlZThBV2U3MEU/edit?usp=sharing
Un blog on es parlarà sobre com fer-se coses un mateix i apendre a programar diferents tipus de microcontroladors, des de dissenyar algun robot i construir-lo, fins a alguna antena de ràdio o manualitat explicat d'una manera molt bàsica per a aquells que comencen en aquests mons!
dimarts, 26 de febrer del 2013
Control dels Led's de la Motor Driver Shield
Encendre un led amb un polsador.
Material:
- Placa Arduino (UNO)
- Cable USB
- Motor Driver Shield
Definim els leds al principi del programa:
Ara definim el polsador i una variable per guardar l'estat del polsador:
Fixeu-vos que en la variable "estat" no forcem cap número perquè serà el que llegim del polsador. En els altres casos si que forcem un valor perquè és el número de la sortida que li correspon.
Ara hem declarat les variables i ara les configurarem. El Arduino no és "intel · ligent" només fa càlculs, de manera que li hem de dir per cada variable si és sortida (OUTPUT) o entrada (INPUT):
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(pulsador,INPUT);
}
Nota: La variable "estat" no cal configurar al "void setup ()" perquè és només una variable en una posició de memòria en què guardarem el valor que llegim del polsador.
Ara anem a començar el porgrama de veritat, el nostre "Main", la part principal. Per això farem servir una funció pre-programada anomenada "loop", que ens repetirà indefinidament tot el que li escriguem dins.
void loop()
{
AQUI ANIRA EL NOSTRE PROGRAMA
}
Anem a aprendre a utilitzarel comando "digitalRead ()". S'usa per llegir una entrada (INPUT) digital, ens donarà un valor alt (HIGH) o baix (LOW), per a això hem d'escriure:
Com ja tenim el valor guardat a "estat", ara podem començar a treballar amb ell.
Per apagar i encendre els leds utilitzarem la condició "if" i "else":
{
EL QUE FARA SI ES CUMPLEIX LA CONDICIÓ
}
else
{
EL QUE FARA SI NO ES CUMPLEIX LA CONDICIÓ
}
Al final el "loop" ens quedara així:
{
estat=digitalRead(pulsador);
if(estat==HIGH)
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
}
else
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
}
}
Programa complet:
int led1=8;
int led2=9;
int pulsador=7;
int estat;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(pulsador,INPUT);
}
void loop()
{
estat=digitalRead(pulsador);
if(estat==HIGH)
{
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
}
else
{
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
}
}
Subscriure's a:
Missatges (Atom)