Lilypad RGB tričko

V tomto návodu bych Vám ukázal praktické využití desky Arduino Lilypad. Jak si můžete všimnout při pohledu na tuto desku, tak byla navržena a vyrobena pro použití na oblečení, zavazadlech a podobně. A já jsem si společně se třemi RGB led diodami a pouzdrem na baterii připravil ukázku našití na tričko, přičemž můžeme s LED diodami zablikat po doteku desky.

Postup se skládá z našití všech součástek na látku, přičemž pro spojení jsem použil vodivou nit. Tato nit obsahuje uvnitř vodivé nerezové vlákno, které má odpor 700 Ohm/metr, díky čemu je vhodné spíše na datová spojení. Pokud jsou ale spoje krátké, lze je využít i na napájení obvodu.
Pro zlepšení vodivosti lze také po našití spoj zapájet pomocí roztaveného cínu. Jen se připravte na to, že při zahřátí se spálí textilní vlákno a jeho zbytky můžou zhoršit chytání cínu na vodivý drátek.

Po našití můžeme otestovat naši práci. Připojíme si tedy programátor dle schématu a v Arduino IDE si nastavíme desku Arduino Lilypad.

Pro úspěšné nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu Neopixel, návod, jak na to, je uveden zde.
Ukázkový kód obsahuje na svém začátku připojení potřebné knihovny a nastavení parametrů, mezi které patří číslo propojovacího pinu, počet RGB diod, pauza mezi jednotlivými kroky a proměnná pro uložení výsledků měření. A jako poslední vytvoříme objekt pixels z knihovny Neopixel.
Ve funkci setup zahájíme komunikaci s Neopixely a provedeme tři bliknutí pro oznámení začátku programu.
V nekonečné smyčce loop pak vždy načteme stav analogového pinu a pokud se objeví hodnota větší než 500, tak zavoláme opět zablikání LED diodami.
Samotná funkce blikni obsahuje postupné nastavení různých barev na všechny LED diody, přičemž svítí vždy pouze jedna dioda v čase. Na začátku tedy nastavíme na nultou (pro nás první) LED diodu červenou barvu, poté na druhou LED diodu zelenou barvu a na konci na třetí LED diodu barvu modrou.

// Lilypad tričko s RGB LED diodami
// navody.dratek.cz

// připojení potřebné knihovny
#include <Adafruit_NeoPixel.h>

// nastavení čísla propojovacího pinu
#define ledPin 6
// nastavení počtu LED diod zapojených za sebou
#define pocetLed 3
// pauza po každém kroku
int pauza = 200;
// proměnná pro uložení výsledků měření
int analog = 0;
// vytvoření objektu z knihovny Neopixel
Adafruit_NeoPixel pixels(pocetLed, ledPin, NEO_GRB + NEO_KHZ800);

void setup() {
  // zahájení komunikace s Neopixely
  pixels.begin();
  // tři bliknutí LED diodami při zapnutí napájení
  blikni();
  blikni();
  blikni();
}

void loop() {
  // načtení stavu analogového pinu do proměnné
  analog = analogRead(A1);
  // pokud je překročena hranice 500, zavolej funkci blikání
  if (analog > 500) {
    blikni();
  }
}
// funkce pro bliknutí LED diodami
void blikni() {
  // nastavení barvy pixelu 0 - první v pořadí
  // barva je určena RGB složkami - červená, zelená, modrá
  pixels.setPixelColor(0, pixels.Color(50, 0, 0));
  // zápis nastavených barev
  pixels.show();
  // krátká pauza
  delay(pauza);
  // vypnutí všech LED diod
  pixels.clear();
  // to stejné provedeme pro další 2 LED s jinými barvami
  pixels.setPixelColor(1, pixels.Color(0, 50, 0));
  pixels.show();
  delay(pauza);
  pixels.clear();

  pixels.setPixelColor(2, pixels.Color(0, 0, 50));
  pixels.show();
  delay(pauza);
  pixels.clear();
  pixels.show();
}

Po nahrání ukázkového kódu do Arduino Lilypad desky s připojenými Neopixely můžeme pozorovat například tento výsledek:

Arduino Lilypad v kombinaci s Neopixely je pěknou ukázkou, jak lze využít Arduino v kombinaci s textilem a vytvořit něco, čemu se v angličtině říká Wearables – nositelnou elektroniku. Můžete také přidat další komponenty, jako jsou různá tlačítka, senzory osvětlení či zvuku a vytvářet různé nositelné obvody.
Ze své zkušenosti bych Vás rád upozornil ještě jednou na poměrně velký odpor vodivé nitě, který mi dělal problém hlavně s připojením pouzdra na baterie. Toto lze ale vyřešit tak, že nití přišijeme a připojíme datové vodiče a zbytek spojení můžeme realizovat normálními propojovacími drátky či použít plochý vícežilový kabel.

Seznam použitých komponent:
https://dratek.cz/arduino/966-arduino-lilypad-atmega328p.html
https://dratek.cz/arduino/2031-drzak-na-baterii-cr2032-pro-arduino-lilypad.html
https://dratek.cz/arduino/1192-arduino-rgb-led-modul-ws2811.html
https://dratek.cz/arduino/2102-vodiva-nit-nerezova-5m.html
https://dratek.cz/arduino/1446-plochy-vicezilovy-kabel-vfl-16x0-15.html

Další podobné články

Ovládání teploty pomocí relé a senzoru DS18B20

Tento projekt umožňuje měřit teplotu pomocí senzoru DS18B20, zobrazit ji na I2C LCD displeji, a ovládat relé podle teplotních limitů. Relé bude aktivní, když je teplota mezi 0 a 22 stupni Celsia. Projekt může sloužit k ovládání topení, ventilace nebo jiného zařízení podle okolní teploty.