Operácie

Svetielkujúci workshop

Zo stránky SensorWiki

Svetielkujúci Workshop 18. 12. 2017




Úvod

1. Krok za krokom

1.1. Blink

1.2. Železničné priecestie

1.3. K.I.T.T. 2000

1.4. Ak to nefunguje...

...tak skontrolujte nastavenia.




2. A teraz už naozaj...

2.1. Adafruit Gemma

V programovacom prostredí Arduino treba najprv nastaviť typ elektronickej dosky na Adafruit Gemma 8MHz v menu Tools->Board.


Potom ešte treba vybrať vhodný programovací protokol - vyeberiete ho z menu Tools->Programmer->USBtinyISP


2.2. Blink

Príklad čiapky s obyčajnými LED diódami - ukážka šitia: https://learn.adafruit.com/adafruit-led-sequins/

Vyskúšame postupne jednoduché programy

/*   Blink 1  */
 
#define RED_LED 1

void setup() {
  
  pinMode(RED_LED, OUTPUT);

}

void loop() {
    digitalWrite(RED_LED, HIGH); 
    delay(200);
    digitalWrite(RED_LED, LOW);
    delay(200);
}


/*   Blink 3  */
 
#define RED_LED 0
#define GREEN_LED 1
#define BLUE_LED 2

void setup() {
  
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);
  pinMode(BLUE_LED, OUTPUT);

}

void loop() {
    digitalWrite(RED_LED, HIGH); 
    delay(200);
    digitalWrite(RED_LED, LOW);
    delay(200);

    digitalWrite(GREEN_LED, HIGH); 
    delay(200);
    digitalWrite(GREEN_LED, LOW);
    delay(200);

    digitalWrite(BLUE_LED, HIGH); 
    delay(200);
    digitalWrite(BLUE_LED, LOW);
    delay(200);

}


Plynulá zmena intenzity svitu LED diody (funguje len na D0 a D1, na D2 NIE)

int intenzita;
  
void setup() {
    intenzita = 0;
    pinMode(1,OUTPUT);
}

void loop() {
    intenzita = 0;
    for(int i=0; i<10 ; i++)
    {
        intenzita = intenzita + 25;
        analogWrite(1,intenzita);
        delay(50);
    }

}

2.3. NeoPixel RGB

Priklady práce s inteligentnou RGB LED diódou Neopixel.

Napríklad takáto maska na maškarný bál...

ToDo: niekoľko pekných ukážkových programov, ktoré by sa dali vlastne aplikovať aj na obyčajné diódy http://moving-rainbow.readthedocs.io/en/latest/guide/list-of-sample-programs/ Schéma pripojenia


Základný príklad s jednou diódou

#include <Adafruit_NeoPixel.h>
 
#define PIN 1
 
Adafruit_NeoPixel LED = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
 
void setup() {
 
   LED.begin();
// LED.setPixelColor(n, red, green, blue);
   LED.setPixelColor(0, 0, 0, 127);
   LED.show(); // Show the preset color(s)
   delay(2000);
   LED.setBrightness(100);
   }
 
void loop() {  
 //                 n   R   G   B  
  LED.setPixelColor(0, 255, 0, 127);
  LED.show(); // Show the preset color(s)
  delay(2000);
  LED.setPixelColor(0,  0 , 0, 0);
  LED.show(); // Show the preset color(s)
  delay(2000);
   
}

Základný príklad s dvoma diódami

#include <Adafruit_NeoPixel.h>
 
#define PIN 1
 
Adafruit_NeoPixel LED = Adafruit_NeoPixel(2, PIN, NEO_GRB + NEO_KHZ800);
 
void setup() {
 
   LED.begin();
   LED.show(); // Show the preset color(s)
   LED.setBrightness(100);  // Interval 0 - 255
}
 
void loop() {  
  
  // LED.setPixelColor(n, red, green, blue);
     LED.setPixelColor(0, 255, 0, 0);  // First LED Red
     LED.setPixelColor(1, 0, 0, 127);  // Second LED Blue
     LED.show();
     delay(300);
     LED.setPixelColor(0, 0, 0, 127);  // First LED Blue
     LED.setPixelColor(1, 255, 0, 0);  // Second LED Red
     LED.show();
     delay(300);
     
   
}

A celkom na záver: ako prať elektronické odevy?

https://learn.adafruit.com/washing-wearable-electronics/hand-wash?view=all


Technicke informacie