Analògics

analogRead

//Llegeix el valor d’un pin analògic, que pot ser entre 0 i 1023

  • Estructura = digitalRead(número del pin) → digitalRead(A0)

No fa falta especificar si els pins A0-A5 són d’entrada o sortida de dades perquè aquests només funcionen com a inputs analògics.

Els altres pins SÍ perquè són GPIO  (GENERAL PURPOSE INPUT/OUTPUT) i es poden fer servir de les dues formes.

EXERCICI 8

En Carles està escoltant música i vol aconseguir que el volum estigui a la meitat exacta de la seva potència màxima.

Com podrà saber que ha arribat a aquest punt?

Materials

  • Arduino
  • Potenciòmetre
  • Cables Jumpers

Solució hardware

Solució software

//No fa falta crear variables ja que no hem de fer pinMode

void setup() {

   Serial.begin(9600); //Comencem la comunicació a 9600 bites per segon

}

void loop() {

 int sensor = analogRead(A0); //llegeix les dades del pin A0

 Serial.println(sensor); //Mostra les dades a la pantalla

 delay(2);  

// S’ha d’escriure una breu pausa entre lectures per a garantir el bon funcionament del programa      

}

REPÀS

Variables:

  • Una variable és un espai per emmagatzemar una dada.  Té sempre un nom, un tipus i un valor. Si volem treballar amb nombres enters, crearem una variable tipus int.
  • int diners = 4529
  • Les variables s’han de declarar al principi del programa.
  • Cada cop que necessiti utilitzar la xifra, en comptes d’escriure-la, escriuré el nom de la variable.

void setup () {

}

void loop () {

}

pinMode()

  • Estructura = pinMode (número del pin, funció) → pinMode(13,INPUT)

delay()

  • La seva unitat és ms = milisegons.
  • Estructura = delay(temps en milisegons) → delay(1000)

Serial:

  • Serial.begin(9600)
  • Serial.println()
    • Estructura = Serial.println(nom de la variable) → Serial.println(led)

digitalRead

//Llegeix el valor d’un pin digital, que pot ser HIGH (1) o LOW (0)

  • Estructura = digitalRead(número del pin) → digitalRead(10)

 

analogRead

//Llegeix el valor d’un pin analògic, que pot ser entre 0 i 1023

  • Estructura = digitalRead(número del pin) → digitalRead(A0)

 

digitalWrite()

//Controla el voltatge que passa per un pin. Pot ser HIGH, i el voltatge que rebrà serà de 5V, o LOW (0V).

  • Estructura = digitalWrite(número del pin, funció) → digitalWrite(12,LOW)

 

analogWrite

//Controla el voltatge que passa per un pin.

  • A algunes plaques Arduino només funciona als GPIO 9, 10 i 11
  • Estructura = analogWrite(número del pin, valor entre 0 i 255) → analogWrite(9,100)

if

//S’utilitza per a que el programa executi una ordre SI (if) compleix una condició

  • Estructura = if(condició //utilitza variables){

Instruccions

}

  • Ex: if(llum>200){

llum = 0

}

  • S’utilitza || per indicar que compleixi una condició O una altra
    • if(llum>200||llum== 33){
  • Operadors:
    • x == y // La variable o número x és igual a la variable o nº y
    • x!=y // La variable o número x NO és igual a la variable o nº y
    • x<y
    • x>y
    • x <= y //La x és més petita o igual a la y
    • x >= y //La x és més gran o igual a la y

Negar una variable

Nosaltres podem negar una variable (canviar-li el signe) si li afegim el signe «-» al davant del nom de la variable. Ex:

int preusamarreta = 12;

int estalvis = -preusamarreta;

Podem fer que en mig d’un programa, una variable sigui negativa o positiva i que el seu valor vagi canviant perquè aquesta es sobreescriu. Ex:

int diners = 5;

void loop (){

Serial.println (diners); // 5

delay(50);

diners = -diners;

Serial.println (diners); // -5

delay(50);

diners = -diners;

}

Next

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.