Merhaba arkadaşlar, bu yazımızda giyilebilir teknolojinin parlayan yıldızı LilyPad ile yapabileceğiniz eğlenceli ve kullanışlı tasarımlardan bahsedeceğiz. Aklınızda proje yapma fikri varsa ve daha karar veremediyseniz kesinlikle bu tasarımlara göz atmalısınız. LilyPad ile ilgili merak ettiğiniz diğer konular için Robolink Akademi sayfasını ziyaret edebilirsiniz. 🙂
1.Durum Bilgilendirme Eldiveni
Durum bilgilendirme eldiveni de ne ? dediğinizi duyar gibiyiz. Merak etmeyin hemen projeyi anlatmaya başlıyoruz .:) Proje, temel olarak 3 farklı renk ile durum bilgisi verme üzerine dayalıdır. Birçok amaç için kullanılabilir. Biz projemizde renklere “evet”,”hayır” ve “belki” kelimelerini atadık . Renkler ile ne anlatmak istediğiniz sizlere ve hayal gücünüze kalmış. Hazırsanız projemize geçelim . 🙂
Kullanılan Malzemeler :
- Ardunio LilyPad
- Push Buton
- 2 x LilyPad RGB Led
- FDTI Modülü
- İletken İplik
Gelin belirlediğimiz kelimelere birer renk atayalım.
- Kırmızı : ” Hayır”
- Mavi : “Belki”
- Yeşil : “Evet”
KOD :
int buttonPin = A2;
int durum = 0;
int RGB_red = 9;
int RGB_green = 11;
int RGB_blue = 10;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(RGB_red, OUTPUT);
pinMode(RGB_green, OUTPUT);
pinMode(RGB_blue, OUTPUT);
}
void loop()
{
if(digitalRead(buttonPin)==LOW)
{
durum +=1;
if(durum>4)
{
durum=0;
}
}
switch(durum)
{
case 0:
analogWrite(RGB_red,LOW); //Beyaz
analogWrite(RGB_green,LOW);
analogWrite(RGB_blue,LOW);
break;
case 1:
analogWrite(RGB_red,255); // kırmızı
analogWrite(RGB_green,0);
analogWrite(RGB_blue,255);
break;
case 2:
analogWrite(RGB_red,0); //Mavi
analogWrite(RGB_green,255);
analogWrite(RGB_blue,255);
break;
case 3:
analogWrite(RGB_red,255); // Yeşil
analogWrite(RGB_green,255);
analogWrite(RGB_blue,0);
break; .
case 4:
pinMode(RGB_red, INPUT);
pinMode(RGB_green, INPUT);
pinMode(RGB_blue, INPUT);
break;
}
delay(1000);
}
2. LilyPad ile Küpe
Tekdüze bir küpeden bahsetmiyoruz tabi ki . 🙂 Bu küpe giyilebilir teknoloji kullanılarak tasarlanmış ve oldukça renkli. Eğer proje dikkatinizi çektiyse gelin beraber detaylarına bakalım.
Kullanılan Malzemeler :
- Arduino LilyPad
- Neopiksel 12’li Halka
- USB Serial Dönüştürücü
- 3.7 Lipo Pil -Mini USB Kablo
- JST 2-pin Batarya Konektörü Dişi-Erkek
- Dişi-Dişi Jumper Kablo (6 adet)
- Küpe Klipsi
KOD :
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define LED_PIN 6
#define LED_COUNT 60
#define BRIGHTNESS 50
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRBW + NEO_KHZ800);
void setup() {
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
strip.begin();
strip.show();
strip.setBrightness(BRIGHTNESS);
}
void loop() {
colorWipe(strip.Color(255, 0, 0) , 50); // Kırmızı
colorWipe(strip.Color( 0, 255, 0) , 50); // Yeşil
colorWipe(strip.Color( 0, 0, 255) , 50); // Mavi
colorWipe(strip.Color( 0, 0, 0, 255), 50); // Beyaz
whiteOverRainbow(75, 5);
pulseWhite(5);
rainbowFade2White(3, 3, 1);
}
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, color);
strip.show();
delay(wait);
}
}
void whiteOverRainbow(int whiteSpeed, int whiteLength) {
if(whiteLength >= strip.numPixels()) whiteLength = strip.numPixels() - 1;
int head = whiteLength - 1;
int tail = 0;
int loops = 3;
int loopNum = 0;
uint32_t lastTime = millis();
uint32_t firstPixelHue = 0;
for(;;) {
for(int i=0; i<strip.numPixels(); i++) {
if(((i >= tail) && (i <= head)) ||
((tail > head) && ((i >= tail) || (i <= head)))) {
strip.setPixelColor(i, strip.Color(0, 0, 0, 255));
} else {
int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
}
}
strip.show();
firstPixelHue += 40;
if((millis() - lastTime) > whiteSpeed) {
if(++head >= strip.numPixels()) {
head = 0;
if(++loopNum >= loops) return;
}
if(++tail >= strip.numPixels()) {
tail = 0;
}
lastTime = millis();
}
}
}
void pulseWhite(uint8_t wait) {
for(int j=0; j<256; j++) {
strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
strip.show();
delay(wait);
}
for(int j=255; j>=0; j--) {
strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
strip.show();
delay(wait);
}
}
void rainbowFade2White(int wait, int rainbowLoops, int whiteLoops) {
int fadeVal=0, fadeMax=100;
for(uint32_t firstPixelHue = 0; firstPixelHue < rainbowLoops*65536;
firstPixelHue += 256) {
for(int i=0; i<strip.numPixels(); i++) {
uint32_t pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue, 255,
255 * fadeVal / fadeMax)));
}
strip.show();
delay(wait);
if(firstPixelHue < 65536) {
if(fadeVal < fadeMax) fadeVal++;
} else if(firstPixelHue >= ((rainbowLoops-1) * 65536)) {
if(fadeVal > 0) fadeVal--;
} else {
fadeVal = fadeMax;
}
}
for(int k=0; k<whiteLoops; k++) {
for(int j=0; j<256; j++) {
strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
strip.show();
}
delay(1000);
for(int j=255; j>=0; j--) {
strip.fill(strip.Color(0, 0, 0, strip.gamma8(j)));
strip.show();
}
}
delay(500);
}
3.Maske Tasarımı
Siyah, beyaz , desenli ama hiçbiri bu kadar renkli ve eğlenceli değil. 🙂 Evet hayatımızın büyük bir parçası olan maskelerden bahsediyoruz. Her gün kullandığımız maskelerden sıkılıp değişiklik istiyorsanız bu projeye göz atmalısınız.
Kullanılan Malzemeler :
- LilyPad Arduino
- Led (6 adet)
- AAA Pil Yuvası
- İletken İplik
- Kumaş Maske (2 adet)
- Dikiş İpi ve İğnesi
Ufak bir hatırlatma ! Konfor ve hijyen için, maskenize devre elemanlarını diktikten sonra başka bir maskeyle kapatmayı unutmayın. 🙂
KOD :
void setup() {
pinMode(7,OUTPUT);
pinMode(10,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
digitalWrite(7,HIGH);
delay(500);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
delay(500);
digitalWrite(10,LOW);
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12,LOW);
digitalWrite(10,HIGH);
delay(500);
digitalWrite(10,LOW);
}
4.Engelleri Fark Eden Ceket
Yürüyüş yaparken karşımıza çıkan engelleri görebilir ya da tahmin edebilirsiniz. Ancak bu durum herkes için aynı değil maalesef. Tam olarak önemli bir ihtiyaçtan ortaya çıkan, çözüm odaklı bu projeyi sizlerle paylaşıyoruz.
Kullanılan Malzemeler :
- LilyPad Arduino
- LiyPad Batarya Yuvası
- LilyPad Buton
- Buzzer
- Ultrasonik Sensör (HC-SR04)
- Led (2 adet)
KOD :
#include <HCSR04.h>
#define Echo 10
#define Trigger 11
#define buzzer 3
int cm =0;
HCSR04 ultra(Echo,Trigger);
void setup(){
Serial.begin(9600);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(buzzer,OUTPUT);
}
void loop() {
Serial.println(cm);
if ((cm>80)and(cm<130))
{
tone(buzzer,3000);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
delay(500);
noTone(buzzer);
delay(500);
}
if ((cm>30)and (cm<50))
{
tone(buzzer,2000);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
delay(100);
noTone(buzzer);
delay(100);
}
if (cm<30)
{
tone(buzzer,1000);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(30);
noTone(buzzer);
delay(30);
}
delay(50);
}
Başka yazılarımızı incelemek isterseniz aşağıya linklerini bırakıyoruz . 🙂