2. Parpelleig LED

Els pendents

  • Generar parpelleig de LED mitjançant la funció LEDBLINK.

LED D1 Flash

En aquest exemple, voleu parpellejar a la LED D1 amb un temps a mig segon i un temps de mig segon. Per tant, el període parpelleig serà de segon. En aquest cas, la funció es donarà a la `` configuració () `` `` `` `

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// Parpadea el led D1 una vez por segundo

#include <Picuino.h>

void setup() {
   pio.begin();               // Inicializar el shield Picuino UNO
   pio.ledBlink(1, 50, 50);   // Parpadea el led D1
                              //   50 centésimas de segundo encendido
                              //   50 centésimas de segundo apagado
}

void loop() {
}

Exercicis

Programa el codi necessari per resoldre els problemes següents.

  1. Fick el LED D1 i el D4 LED amb una freqüència de segon. Els dos LED s’han d’encendre i desactivar alhora. Utilitzeu el `` ledblink () ``.

  2. Modifiqueu l'exercici anterior de manera que l'encesa dels dos LED D1 i D4 sigui alternativa, de manera que només un LED està en tot moment. El temps d’encesa de cada LED serà mig segon.

  3. Feu que dos LED flaixin alhora amb una freqüència de segon. El LED D1 es programarà amb el `` ledblink (1, 50, 50) ``, al contrari, el LED D3 es programarà amb el `` ledWrite () ``. Primer, el LED D1 començarà a parpellejar i, al cap d'un segon, el LED D3 ho farà. Els dos LED s’han de sincronitzar per parpellejar alhora ajustant els temps d’encesa i desactivació amb la funció `` retard () `.

  4. Corregiu els errors sintàctics del programa següent per fer -lo funcionar correctament.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // Luces de Navidad.
    // Programa con errores sintácticos.
    
    #include <Picuino.h>
    
    void setup() {
       int time_on;   // Declara la variable time_on como un número entero
       int time_off;  // Declara la variable time_off como un número entero
    
       pio.Begin()    // Inicia el shield Picuino UNO
    
       // Repite y asigna valores a variable 'num' desde 1 hasta 5
       for(int num=1; num<=5; num++) {
    
          // Tiempo encendido = aleatorio entre 0,5 y 3,0 segundos
          time_on = random(50, 300)
    
          // Tiempo apagado = aleatorio entre 0,5 y 3,0 segundos
          time_off = Random(50, 300)
    
          // Parpadea el led 'num' un tiempo aleatorio
          pio.ledblink(num, time_on, time_off)
    
    }
    
    void loop() {
    }
    
  5. Feu un flaix LED d’una manera que s’encengui durant una desena de segon cada deu segons, per indicar que el mòdul està gastant molt poc corrent elèctric.

  6. Feu un flaix LED d’una manera que s’encengui durant dues dècimes de segon, cada segon.

  7. Els primers sis LED s’han d’encendre en seqüència de manera que el LED D1 s’encengui i acabi en el LED D6. Entre l’encesa d’un LED i el següent ha de passar entre 250 i 500 mil·lèsimes de segon. Un cop s’encenguin tots els LED, començaran a sortir pel LED D1 fins que tothom estigui apagat. Nota: Per resoldre aquest problema, només s'ha d'utilitzar una funció `` ledBlink () `` per a cada LED, juntament amb una funció `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `