İçindekiler:
- Adım 1: Parçalar, Araçlar, Sarf Malzemeleri
- Adım 2: Devre Şeması ve Kodu
- Adım 3: Prototipten Lehimlemeye Devre İnşası
- Adım 4: Form ve Malzeme
- Adım 5: Şimdi Kristal Evleri Kullanalım
Video: Kristal Ev: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Uzak mesafe nedeniyle ayrılan çiftler ve aileler çoğu zaman bağlantı özlemi duyar. Crystal House, çiftlerin ve ailelerin ışıklar aracılığıyla birbirleriyle bağlantı kurmaları için inşa edilmiştir. Kristal Evler wifi sinyalleri ile bağlanır. Bir Kristal Evdeki düğmeye bastığınızda, diğer Kristal Evin ışıkları sinyali alır ve açılır. Yapması kolay ve eğlenceli! Kullanılan malzemeler/araçlar, Arduino kullanarak devre kurma/test etme ve Kristal Evin yapısını inşa etme adım adım ilerliyor olacağım.
Adım 1: Parçalar, Araçlar, Sarf Malzemeleri
- Montajlı Tüy Huzzah ESP8266 (iki)
- Perma-Proto Yarım boy breadboard (iki)
- Lityum Pil -3.7 1200mAh (iki)
- Mini Açma/Kapama Düğmesi Anahtarı (dört)
- NeoPixel Mini Düğme (dört)
- Breadboard Tel
- Havya ve Lehim
- tel striptizci
- Üçüncü El aracı
- Kare tahta çubuk
- Akrilik levha
- Berrak kristal taş
- Şeffaf kağıt
- Süper yapıştırıcı
Adım 2: Devre Şeması ve Kodu
// Instructables Nesnelerin İnterneti Sınıfı örnek kodu// Girişleri ve Çıkışları Birleştirme // İki buton AIO beslemesine komutlar gönderir // Besleme verilerine göre LED ve titreşimli motor (veya herhangi bir dijital çıkış) flaş/buzz // // Becky tarafından değiştirilir Stern 2017 // Adafruit IO Arduino Kütüphanesinden örneklere dayanmaktadır: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit, bu açık kaynak kodunu sağlayarak zaman ve kaynaklara yatırım yapar. // Lütfen Adafruit'ten // ürünleri satın alarak Adafruit ve açık kaynaklı donanımları destekleyin! // // Todd Treece tarafından Adafruit Industries için yazılmıştır // Telif hakkı (c) 2016 Adafruit Industries // MIT lisansı altında lisanslanmıştır. // // Yukarıdaki tüm metinler herhangi bir yeniden dağıtıma dahil edilmelidir. #Dahil etmek
-
#define NeoPIN1 15
// Parametre 1 = şeritteki piksel sayısı // Parametre 2 = Arduino pin numarası (çoğu geçerlidir) // Parametre 3 = piksel tipi bayraklar, gerektiği gibi ekleyin: // NEO_KHZ800 800 KHz bit akışı (çoğu NeoPixel ürünü w/WS2812 ile) LED'ler) // NEO_KHZ400 400 KHz (klasik 'v1' (v2 değil) FLORA pikselleri, WS2811 sürücüleri) // NEO_GRB Pikselleri, GRB bit akışı (çoğu NeoPixel ürünü) için kablolanmıştır // NEO_RGB Pikseller, RGB bit akışı (v1 FLORA pikselleri, v2) değil // NEO_RGBW Pikseller RGBW bit akışı için kablolanmıştır (NeoPixel RGBW ürünleri) Adafruit_NeoPixel şeridi = Adafruit_NeoPixel(2, NeoPIN1, NEO_GRB + NEO_KHZ800);
/**************************** Adafruit IO Konfigürasyonu ************************* *********
/ Bir hesap oluşturmanız gerekiyorsa, // veya Adafruit IO anahtarınıza ihtiyacınız varsa io.adafruit.com adresini ziyaret edin. #define IO_USERNAME "Kullanıcı adınız" #define IO_KEY "IO_KEY'niz"
/******************************* WIFI Yapılandırması **************** *************************/
#define WIFI_SSID "Wifi'niz" #define WIFI_PASS "Şifreniz"
#include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/**************************** Ana Kod Buradan Başlar ********************* **********/
#include #include #include #include
//#define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 //#define MOTOR_PIN 5 // bu pin PWM özelliğine ihtiyaç duyar
// buton durumu int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;
// 'dijital' beslemeyi ayarla AdafruitIO_Feed *command = io.feed("command"); AdafruitIO_Feed *komut2 = io.feed("komut2");
void setup() { strip.setBrightness(60); strip.begin(); şerit.göster(); // Tüm pikselleri 'kapalı' olarak sıfırlayın // düğme pinlerini dahili pull-up direnci ile giriş olarak ayarlayın pinMode(BUTTON1_PIN, INPUT_PULLUP); pinMode(BUTTON2_PIN, INPUT_PULLUP); // led pini ve motor pinini dijital çıkış olarak ayarlayın // pinMode(MOTOR_PIN, OUTPUT); // pinMode(LED_PIN, ÇIKIŞ);
// seri bağlantıyı başlat Serial.begin(115200);
// io.adafruit.com'a bağlanın Serial.print("Adafruit IO'ya Bağlanıyor"); io.connect(); // 'komut' beslemesi için bir mesaj işleyici ayarlayın. // handleMessage işlevi (aşağıda tanımlanmıştır) // adafruit io'dan bir mesaj alındığında // çağrılacak. komut->onMessage(handleButton1); command2->onMessage(handleButton2);
// bağlantı bekleyin while(io.status() < AIO_CONNECTED) { Serial.print("."); gecikme(500); }
// bağlıyız Serial.println(); Serial.println(io.statusText());
// tüm beslemelerin mevcut değerlerini hemen aldığından emin olun command->get(); komut2->get(); }
boşluk döngüsü () {
// io.run(); tüm eskizler için gereklidir. // her zaman döngünüzün en üstünde bulunmalıdır // işlevi. istemciyi // io.adafruit.com'a bağlı tutar ve gelen verileri işler. io.run();
// butonun mevcut durumunu al. // mantığı çevirmemiz gerekiyor çünkü // INPUT_PULLUP kullanıyoruz. if(digitalRead(BUTTON1_PIN) == DÜŞÜK){ button1current = 1; } if (digitalRead(BUTTON2_PIN) == DÜŞÜK){ button2current = 1; } if (digitalRead(BUTTON2_PIN) == YÜKSEK && digitalRead(BUTTON1_PIN) == YÜKSEK){ button1current = 0; button2current = 0; }
// değer değişmediyse dön if(button1current == button1last && button2current == button2last) return;
// mevcut durumu adafruit io Serial.print'teki 'dijital' beslemeye kaydedin("düğme 1 durumu gönderiliyor -> "); Serial.println(button1current); komut->kaydet(button1current);
// mevcut durumu adafruit io Serial.print("düğme 2 durumu gönderme -> "); Serial.println(button2current); command2->save(button2current);
// son düğme durumunu kaydet button1last = button1current; button2last = button2current; }
// Adafruit IO'dan bir 'komut' mesajı // alındığında bu fonksiyon çağrılır. // yukarıdaki setup() işlevindeki komut beslemesine eklendi. void handleButton1(AdafruitIO_Data *veri) {
int komutu = data->toInt();
if (komut == 1){ //ilk pikseli aydınlat Serial.print("komuttan alındı (düğme 1) <- "); Serial.println(komut); // analogWrite(MOTOR_PIN, 200); // gecikme(500); // analogWrite(MOTOR_PIN, 0); strip.setPixelColor(0, strip. Color(200, 100, 0)); // Sarı şerit.göster(); } else { Serial.print("komuttan alındı (düğme 1) <- "); Serial.println(komut); strip.setPixelColor(0, strip. Color(0, 0, 0)); // strip.show(); } } // Adafruit IO'dan bir 'komut' mesajı // alındığında bu fonksiyon çağrılır. // yukarıdaki setup() işlevindeki komut beslemesine eklendi. void handleButton2(AdafruitIO_Data *veri) {
int komut2 = data->toInt();
if (komut2 == 1){ //ilk pikseli aydınlat Serial.print("komut2'den alındı (düğme 2) <- "); Serial.println(komut2); // analogWrite(MOTOR_PIN, 200); // gecikme(500); // analogWrite(MOTOR_PIN, 0); strip.setPixelColor(1, strip. Color(255, 128, 128)); // Sarı şerit.göster(); } else { Serial.print("komut2'den alındı (düğme 2) <- "); Serial.println(komut2); strip.setPixelColor(1, strip. Color(0, 0, 0)); // strip.show(); } }
Adım 3: Prototipten Lehimlemeye Devre İnşası
Devreyi test etmek için bir breadboard üzerinde denemenizi tavsiye ederim. İki cihaz oluşturduğumuz için iki breadboard üzerinde test edebiliyoruz. Neopixel ve on.off butonunu kullanımı daha kolay olduğu için bir prototip teline lehimledim. Daha sonra prototipleme kablolarını kolayca lehimleyebilirsiniz.
Prototip devresi ile başarılı olduktan sonra gerçek devremizi kurmanın zamanı geldi. Perma-proto breadboard kullanıyorum çünkü daha küçük ve devrenin bağlantısı prototipleme devresinden çok daha iyi olacak. Lehimleme söz konusu olduğunda, çok sabır gerektirir. Henüz vazgeçme! oraya gidiyorsun!
Devrenizi bitirip kodu ESP8266'nıza yükledikten sonra, iki cihaz da başta bahsettiğimiz gibi çalışmalıdır.
Adım 4: Form ve Malzeme
Şimdi Kristal Evimizi yapalım!
Tahta çubuğu 6 inç olacak şekilde kesin. Toplamda 18 parçaya ihtiyacımız var. Bu iki kristal evden biraz farklılaşmak istediğim için birinde 7 adet diğerinde 9 adet kullandım. Parçaları bir kutu yapısına yapıştırın. İki akrilik levhayı 6 x 6 inç boyutunda kesip Kristal Evlerin dibine yapıştırdım.
Evlerin yapısını bitirdikten sonra. Evleri dekore edelim! Bir parça şeffaf renkli kağıt kestim ve akrilik kağıda yapıştırdım. Daha sonra şeffaf plastik kristaller kullandım ve bunları tabana yapıştırdım. Kristallerin alt kısmında şeffaf renkli bir kağıdım olduğu için kristaller farklı renklere yansıyor.
Adım 5: Şimdi Kristal Evleri Kullanalım
Yaptığınız kristal evi sevgilinize hediye edin. Onlara önemli olduklarını söyleyin! Farklı malzemeler ve renkler kullanarak dış yapıyı her zaman değiştirebilirsiniz. Nasıl gittiğini bana bildirin!
Önerilen:
Akıllı Kristal Işık İpi: 9 Adım (Resimlerle)
Akıllı Kristal Işık İpi: Noel yaklaşırken ve kendin yap ev otomasyonu ve akıllı nesneler konusunda tam bir araştırma içindeyken, bu yıl akıllı, güzel görünümlü, RGB ışık teli yapmaya karar verdim. Kendin Yap çözümleri hakkında çok fazla araştırma yaptım. web çevresinde, bir yandan bazı pr
ATmega328'i Arduino IDE ile 8MHz Kristal Kullanarak Programlama: 4 Adım
ATmega328'i Arduino IDE ile 8MHz Kristal Kullanarak Programlama: Bu Öğretilebilir Tabloda, kendinizi bir programcı olarak Arduino IDE ve bir Arduino UNO kullanarak bir ATmega328P IC'yi (Arudino UNO'da bulunan aynı mikrodenetleyici) programlamanın adım adım kılavuzunu ele alacağım. projelerinizi yapmak için özel Arduino
Süper Kolay Kristal Ruh Hali Işığı: 6 Adım
Süper Kolay Kristal Ruh Hali Işığı: Merhaba Yapımcılar! Bu, bir öğrenme aracı ve aynı zamanda harika bir ruh hali ışığı olarak işlev görecek süper kolay bir arduino projesidir. Yalnızca birkaç parçadır, böylece tabanı yazdırmak için gereken sürede birlikte çırpabilirsiniz. Harika bir ders çıkarır
Ses ve Müzik Duyarlı Kuvars Kristal Broş Oyun Alanı Devreli Ekspres: 8 Adım (Resimli)
Oyun Alanı Devre Ekspres ile Ses ve Müzik Algılama Kuvars Kristal Broş: Bu sese duyarlı broş, bir oyun alanı devre ekspres, ucuz dökme kuvars kristalleri, tel, karton, bulunan plastik, bir çengelli iğne, iğne ve iplik, sıcak tutkal, kumaş kullanılarak yapılır. ve çeşitli araçlar. Bu bir prototip veya ilk taslağı
Arduno Kullanarak Sıvı Kristal Ekran: 4 Adım
Arduno Kullanan Likit Kristal Ekran: LCD (Likit Kristal Ekran), ana görüntüleyici olarak likit kristal kullanan bir ekran ortamı türüdür. Bu yazımda 2x16 LCD kullanacağım. Çünkü bu tip LCD piyasada daha çok bulunur.Özellikler:Fiziksel form,resme bakınSütun sayısı