Operácie

Svetielkujúci workshop

Zo stránky SensorWiki

Verzia z 20:42, 21. február 2018, ktorú vytvoril Balogh (diskusia | príspevky)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)

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