| 
				   | 
				
| (47 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | 
| Riadok 1: | 
Riadok 1: | 
 | [[Súbor:logoAjTyvIT.png|right|150px]]  |  | [[Súbor:logoAjTyvIT.png|right|150px]]  Z tejto stránky sa dostanete k materiálom k jednotlivým kurzom  | 
 |  | * [[Svetielkujúci workshop]]  | 
 |  | * [[ColorMix Workshop]]  | 
 |  | * [[Micro:bit workshop]] pre učiteľov  | 
 |  | * [[Micro:bit workshop pre pokročilých]] učiteľov  | 
 |  | * [[OzoBot robot]] workshop  | 
 | 
  |  | 
  | 
 | = '''Svetielkujúci Workshop 7. a 14. 6. 2017''' =
  |  | <BR>  | 
 |  
  |  | <BR>  | 
 | 
  |  | 
  | 
 | [[Súbor:wearableDef.png|500px]]
  |  | 
 | 
  |  | 
  | 
 | 
  |  | 
  | 
 |    |  | [[Category: AjTyvIT]]  | 
 | == Úvod ==
  |  | 
 |    |  | 
 |    |  | 
 | * [http://senzor.robotika.sk/balogh/wearable.pdf Úvodná prezentácia]
  |  | 
 | ** [https://player.vimeo.com/video/114828162 Spider dress video]
  |  | 
 | ** [https://cutecircuit.com/wearable-technology/ Cute Circuit]
  |  | 
 | * [https://learn.adafruit.com/category/wearables Wearables od firmy Adafruit]
  |  | 
 | ** 1: [https://learn.adafruit.com/candle-flicker-hair-bow/ Mašľa]
  |  | 
 | ** 2: [https://learn.adafruit.com/sparkle-skirt/ Sukňa]
  |  | 
 | ** 3: [https://learn.adafruit.com/twinkling-led-parasol Dáždnik]
  |  | 
 | ** 4: [https://learn.adafruit.com/led-ampli-tie Kravata]
  |  | 
 | ** 5: [https://learn.adafruit.com/light-activated-pixel-heart/ Brošňa]
  |  | 
 |    |  | 
 | == Krok za krokom ==
  |  | 
 |    |  | 
 | == 1. '''Blink''' ==
  |  | 
 |    |  | 
 | * [http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob02 Blink]
  |  | 
 |    |  | 
 | == 2. '''Železničné priecestie''' ==
  |  | 
 |    |  | 
 | * [https://youtu.be/YaH8DJpeYs0?t=1m6s Video]
  |  | 
 |    |  | 
 | == 3. '''K.I.T.T. 2000''' ==
  |  | 
 |    |  | 
 | * [https://youtu.be/iQwlrEdka6Q?t=5s Video]
  |  | 
 |    |  | 
 | == 4. Ak to nefunguje... ==
  |  | 
 |    |  | 
 | ...tak [[Acrob Settings|skontrolujte nastavenia]].
  |  | 
 |    |  | 
 | = Druhá časť =
  |  | 
 |    |  | 
 |    |  | 
 | == Adafruit Gemma ==
  |  | 
 |    |  | 
 | * [https://learn.adafruit.com/introducing-gemma/ Stránka u výrobcu so všetkými informáciami]
  |  | 
 |    |  | 
 | [[Súbor:AdafruitGemma.png|500px|center]]
  |  | 
 |    |  | 
 | V programovacom prostredí Arduino treba najprv nastaviť typ elektronickej dosky
  |  | 
 | na '''Adafruit Gemma 8MHz'''  v menu Tools->Board.
  |  | 
 |    |  | 
 | [[Súbor:flora_gemmaselect.gif|center]]
  |  | 
 |    |  | 
 |    |  | 
 | Potom ešte treba vybrať vhodný programovací protokol -
  |  | 
 | vyeberiete ho z menu Tools->Programmer->'''USBtinyISP'''
  |  | 
 |    |  | 
 | [[Súbor:gemma_flora_selectusbtiny.gif|center]]
  |  | 
 |    |  | 
 |    |  | 
 | Vyskúšame postupne jednoduché programy
  |  | 
 |    |  | 
 | <source lang="Cpp">
  |  | 
 | /*   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);
  |  | 
 | }
  |  | 
 | </source>
  |  | 
 |    |  | 
 |    |  | 
 | <source lang="Cpp">
  |  | 
 | /*   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);
  |  | 
 |    |  | 
 | }
  |  | 
 | </source>
  |  | 
 |    |  | 
 | == NeoPixel RGB ==
  |  | 
 |    |  | 
 | <source lang="C">
  |  | 
 | #include <Adafruit_NeoPixel.h>
  |  | 
 |    |  | 
 | #define PIN 1
  |  | 
 |    |  | 
 | Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
  |  | 
 |    |  | 
 | void setup() {
  |  | 
 |    |  | 
 |    strip.begin();
  |  | 
 | // strip.setPixelColor(n, red, green, blue, white);
  |  | 
 |    strip.setPixelColor(0, 0, 0, 127);
  |  | 
 |    strip.show(); // Initialize all pixels to 'off'
  |  | 
 |    delay(2000);
  |  | 
 | }
  |  | 
 |    |  | 
 | void loop() {
  |  | 
 |   strip.setBrightness(100);
  |  | 
 |   // Some example procedures showing how to display to the pixels:
  |  | 
 |   colorWipe(strip.Color(255, 0, 0), 50); // Red
  |  | 
 |   colorWipe(strip.Color(0, 255, 0), 50); // Green
  |  | 
 |   colorWipe(strip.Color(0, 0, 255), 50); // Blue
  |  | 
 | //colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW
  |  | 
 |   // Send a theater pixel chase in...
  |  | 
 | //  theaterChase(strip.Color(127, 127, 127), 50); // White
  |  | 
 | //  theaterChase(strip.Color(127, 0, 0), 50); // Red
  |  | 
 | //  theaterChase(strip.Color(0, 0, 127), 50); // Blue
  |  | 
 |    |  | 
 |   rainbow(20);
  |  | 
 | //  rainbowCycle(20);
  |  | 
 | //  theaterChaseRainbow(50);
  |  | 
 | }
  |  | 
 |    |  | 
 |    |  | 
 |    |  | 
 |    |  | 
 | // Fill the dots one after the other with a color
  |  | 
 | void colorWipe(uint32_t c, uint8_t wait) {
  |  | 
 |   for(uint16_t i=0; i<strip.numPixels(); i++) {
  |  | 
 |     strip.setPixelColor(i, c);
  |  | 
 |     strip.show();
  |  | 
 |     delay(wait);
  |  | 
 |   }
  |  | 
 | }
  |  | 
 |    |  | 
 | void rainbow(uint8_t wait) {
  |  | 
 |   uint16_t i, j;
  |  | 
 |    |  | 
 |   for(j=0; j<256; j++) {
  |  | 
 |     for(i=0; i<strip.numPixels(); i++) {
  |  | 
 |       strip.setPixelColor(i, Wheel((i+j) & 255));
  |  | 
 |     }
  |  | 
 |     strip.show();
  |  | 
 |     delay(wait);
  |  | 
 |   }
  |  | 
 | }
  |  | 
 |    |  | 
 | // Slightly different, this makes the rainbow equally distributed throughout
  |  | 
 | void rainbowCycle(uint8_t wait) {
  |  | 
 |   uint16_t i, j;
  |  | 
 |    |  | 
 |   for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
  |  | 
 |     for(i=0; i< strip.numPixels(); i++) {
  |  | 
 |       strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
  |  | 
 |     }
  |  | 
 |     strip.show();
  |  | 
 |     delay(wait);
  |  | 
 |   }
  |  | 
 | }
  |  | 
 |    |  | 
 | //Theatre-style crawling lights.
  |  | 
 | void theaterChase(uint32_t c, uint8_t wait) {
  |  | 
 |   for (int j=0; j<10; j++) {  //do 10 cycles of chasing
  |  | 
 |     for (int q=0; q < 3; q++) {
  |  | 
 |       for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
  |  | 
 |         strip.setPixelColor(i+q, c);    //turn every third pixel on
  |  | 
 |       }
  |  | 
 |       strip.show();
  |  | 
 |    |  | 
 |       delay(wait);
  |  | 
 |    |  | 
 |       for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
  |  | 
 |         strip.setPixelColor(i+q, 0);        //turn every third pixel off
  |  | 
 |       }
  |  | 
 |     }
  |  | 
 |   }
  |  | 
 | }
  |  | 
 |    |  | 
 | //Theatre-style crawling lights with rainbow effect
  |  | 
 | void theaterChaseRainbow(uint8_t wait) {
  |  | 
 |   for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
  |  | 
 |     for (int q=0; q < 3; q++) {
  |  | 
 |       for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
  |  | 
 |         strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
  |  | 
 |       }
  |  | 
 |       strip.show();
  |  | 
 |    |  | 
 |       delay(wait);
  |  | 
 |    |  | 
 |       for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
  |  | 
 |         strip.setPixelColor(i+q, 0);        //turn every third pixel off
  |  | 
 |       }
  |  | 
 |     }
  |  | 
 |   }
  |  | 
 | }
  |  | 
 |    |  | 
 | // Input a value 0 to 255 to get a color value.
  |  | 
 | // The colours are a transition r - g - b - back to r.
  |  | 
 | uint32_t Wheel(byte WheelPos) {
  |  | 
 |   WheelPos = 255 - WheelPos;
  |  | 
 |   if(WheelPos < 85) {
  |  | 
 |     return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  |  | 
 |   }
  |  | 
 |   if(WheelPos < 170) {
  |  | 
 |     WheelPos -= 85;
  |  | 
 |     return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  |  | 
 |   }
  |  | 
 |   WheelPos -= 170;
  |  | 
 |   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  |  | 
 | }
  |  | 
 | </source>
  |  | 
 | Priklady na neopixel
  |  | 
 |    |  | 
 | === Technicke informacie ===
  |  | 
 |    |  | 
 | * Adafruit Gemma Windows Driver: https://learn.adafruit.com/introducing-gemma/windows-setup
  |  | 
 | * Adafruit Board Arduino Manager: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
  |  | 
 | * Neopixel Library: https://github.com/adafruit/Adafruit_NeoPixel
  |  |