Tartalomjegyzék:

Kristályház: 5 lépés
Kristályház: 5 lépés

Videó: Kristályház: 5 lépés

Videó: Kristályház: 5 lépés
Videó: Kristályház Musical tábor 2010 2024, Július
Anonim
Image
Image
Kristályház
Kristályház

A nagy távolság miatt elvált párok és családok gyakran érzik a vágyat a kapcsolatra. A Crystal House pároknak és családoknak készült, hogy fényen keresztül kapcsolódhassanak egymáshoz. A Crystal Houses wifi jelekkel van összekötve. Ha megnyomja az egyik Crystal House gombját, a másik Crystal House fényei megkapják a jelet, és bekapcsolnak. Elkészítése egyszerű és szórakoztató! Lépésről lépésre végig fogom járni a felhasznált anyagokat/szerszámokat, az Arduino -t használó építési/tesztelési áramkört és a Kristályház szerkezetének felépítését

1. lépés: Alkatrészek, eszközök, kellékek

  • Összeszerelt toll Huzzah ESP8266 (kettő)
  • Perma-Proto Fél méretű kenyérlap (kettő)
  • Lítium akkumulátor -3,7 1200mAh (kettő)
  • Mini be/ki nyomógombos kapcsoló (négy)
  • NeoPixel mini gomb (négy)
  • Kenyeretábla huzal
  • Forrasztópáka és forrasztópáka
  • Huzalcsupaszító
  • Harmadik kéziszerszám
  • Négyzet alakú fa bot
  • Akril lap
  • Tiszta kristálykő
  • Átlátszó papír
  • pillanatragasztó

2. lépés: Áramköri diagram és kód

Áramköri diagram és kód
Áramköri diagram és kód

// Utasítható tárgyak internete osztály minta kód // Bemenetek és kimenetek kombinálása // Két nyomógomb küld parancsokat az AIO feedhez // LED és rezgőmotor (vagy bármilyen digitális kimenet) flah/buzz a feed adatok szerint // // Módosította: Becky Stern 2017 // az Adafruit IO Arduino Library példái alapján: // https://github.com/adafruit/Adafruit_IO_Arduino // // Az Adafruit időt és erőforrásokat fektet be a nyílt forráskód biztosításába. // Kérjük, támogassa az Adafruitot és a nyílt forráskódú hardvert az Adafruit termékeinek megvásárlásával! // // Todd Treece írta az Adafruit Industries számára // Copyright (c) 2016 Adafruit Industries // Az MIT licenc alapján engedélyezett. // // A fenti szöveget minden újraelosztásnak tartalmaznia kell. #befoglalni

  1. #define NeoPIN1 15

    // 1. paraméter = a képpontok száma a szalagban LED -ek) // NEO_KHZ400 400 KHz (klasszikus „v1” (nem v2) FLORA képpontok, WS2811 illesztőprogramok) // NEO_GRB Pixelek GRB bitfolyamhoz vannak kötve (a legtöbb NeoPixel termék) // A NEO_RGB képpontok RGB bitfolyamhoz vannak kötve (v1 FLORA képpontok, nem v2) // NEO_RGBW Pixelek vezetékesek RGBW bitfolyamhoz (NeoPixel RGBW termékek) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);

    /************************ Adafruit IO konfiguráció ********************** *********

    / látogasson el az io.adafruit.com webhelyre, ha fiókot kell létrehoznia, // vagy ha szüksége van az Adafruit IO kulcsra. #define IO_USERNAME "Az Ön felhasználóneve" #define IO_KEY "Az Ön IO_KEY"

    /******************************** WIFI konfiguráció **************** **********************/

    #define WIFI_SSID "A wifi" #define WIFI_PASS "A jelszó"

    #include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

    /************************ A fő kód innen indul ********************* **********/

    #befoglalás #befoglalás #befoglalás #befoglalás

    // #define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // #define MOTOR_PIN 5 // ennek a tűnek PWM képességre van szüksége

    // gomb állapota int gomb1áram = 0; int button1last = 0; int gomb2áram = 0; int button2last = 0;

    // a 'digitális' feed beállítása AdafruitIO_Feed *parancs = io.feed ("parancs"); AdafruitIO_Feed *parancs2 = io.feed ("parancs2");

    void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Inicializálja az összes képpontot "kikapcsolt" állapotba // állítsa be a gombcsapokat bemenetként a pinMode belső felhúzó ellenállással (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // állítsa a LED -es és a motorcsapot digitális kimenetekre // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);

    // indítsa el a soros kapcsolatot Serial.begin (115200);

    // csatlakozás az io.adafruit.com Serial.print ("Csatlakozás az Adafruit IO -hoz"); io.connect (); // üzenetkezelő beállítása a 'parancs' feedhez. // a handleMessage függvény (az alábbiakban definiálva) // meghívásra kerül, amikor üzenet érkezik // az adafruit io -tól. parancs-> onMessage (handleButton1); command2-> onMessage (handleButton2);

    // várjon a kapcsolatra, miközben (io.status () <AIO_CONNECTED) {Serial.print ("."); késleltetés (500); }

    // össze vagyunk kötve Serial.println (); Serial.println (io.statusText ());

    // győződjön meg arról, hogy minden hírfolyam azonnal megkapja aktuális értékeit command-> get (); parancs2-> get (); }

    void loop () {

    // io.run (); minden vázlathoz kötelező. // mindig jelen kell lennie a ciklus // függvényének tetején. az ügyfelet csatlakoztatva tartja az // io.adafruit.com webhelyhez, és feldolgozza a bejövő adatokat. io.run ();

    // megragadja a gomb jelenlegi állapotát. // meg kell fordítanunk a logikát, mert // az INPUT_PULLUP -ot használjuk. if (digitalRead (BUTTON1_PIN) == LOW) {button1current = 1; } if (digitalRead (BUTTON2_PIN) == LOW) {button2current = 1; } if (digitalRead (BUTTON2_PIN) == HIGH && digitalRead (BUTTON1_PIN) == HIGH) {button1current = 0; gomb2áram = 0; }

    // return, ha az érték nem változott, ha (button1current == button1last && button2current == button2last) return;

    // az aktuális állapot mentése az "adafruit io Serial.print" "digitális" hírcsatornájába ("küldés gomb 1 állapota ->"); Serial.println (gomb1áram); parancs-> mentés (gomb1áram);

    // az aktuális állapot mentése az "adafruit io Serial.print" "digitális" hírcsatornájába ("küldőgomb 2 állapota ->"); Serial.println (gomb2áram); command2-> mentés (gomb2áram);

    // tárolja az utolsó gomb állapotát button1last = button1current; button2last = gomb2áram; }

    // ezt a funkciót akkor hívják meg, amikor 'parancs' üzenet // érkezik az Adafruit IO -tól. a fenti setup () függvényben a // parancscsatornához volt csatolva. void handleButton1 (AdafruitIO_Data *adatok) {

    int parancs = adatok-> toInt ();

    if (parancs == 1) {// világít az első pixel Serial.print ("parancstól kapott (1. gomb) <-"); Serial.println (parancs); // analógWrite (MOTOR_PIN, 200); // késleltetés (500); // analóg Írás (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Sárga csík.show (); } else {Serial.print ("parancsból érkezett (1. gomb) <-"); Serial.println (parancs); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }} // ezt a funkciót akkor hívják meg, amikor "parancs" üzenet érkezik // az Adafruit IO -tól. a fenti setup () függvényben a // parancscsatornához volt csatolva. void handleButton2 (AdafruitIO_Data *adatok) {

    int parancs2 = adat-> toInt ();

    if (parancs2 == 1) {// világít az első pixel Serial.print ("parancstól2 kapott (2. gomb) <-"); Serial.println (parancs2); // analógWrite (MOTOR_PIN, 200); // késleltetés (500); // analóg Írás (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // Sárga csík.show (); } else {Serial.print ("parancs2-től kapott (2. gomb) <-"); Serial.println (parancs2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}

3. lépés: Áramkör építése a prototípusból a forrasztásba

Áramkör felépítése a prototípustól a forrasztásig
Áramkör felépítése a prototípustól a forrasztásig
Áramkör felépítése a prototípustól a forrasztásig
Áramkör felépítése a prototípustól a forrasztásig

Azt javaslom, hogy próbálja ki a kenyérsütőt, hogy tesztelje az áramkört. Mivel két eszközt építünk, két kenyérlemezen tesztelhetnénk. A Neopixelt és az on.off gombot forrasztottam egy prototípus -vezetékre, mivel könnyebben használható. Később könnyen forraszthatja le a prototípus -vezetékeket.

Miután sikerrel jártunk a prototípus -áramkörrel, ideje felépíteni a valódi áramkört. A Perma-proto kenyértáblát használom, mivel kisebb, és az áramkör kapcsolata sokkal jobb lesz, mint a prototípus áramkör. Ami a forrasztást illeti, sok türelmet igényel. Még ne add fel! Egyre odaér!

Miután befejezte az áramkört, és feltöltötte a kódot az ESP8266 készülékbe, a két eszköznek úgy kell működnie, ahogy az elején említettük.

4. lépés: Forma és anyag

Forma és anyag
Forma és anyag
Forma és anyag
Forma és anyag
Forma és anyag
Forma és anyag
Forma és anyag
Forma és anyag

Most készítsük el a kristályházunkat!

Vágja a fa rudat 6 hüvelykre. Összesen 18 darabra van szükségünk. Mivel szeretnék némi variációt ebből a két kristályházból, az egyikben 7 darabot, a másikban 9 darabot használtam. Ragassza fel a darabokat egy doboz szerkezetére. Két akril lapot 6 x 6 hüvelykre vágtam, és beragasztottam a kristályházak aljába.

Miután befejezte a házak szerkezetét. Díszítsük a házakat! Átlátszó színes papírt vágtam és ragasztottam az akril lapra. Ezt követően átlátszó műanyag kristályokat használtam, és az alapra ragasztottam. Mivel átlátszó színes papír van a kristályok alján, a kristályok különböző színekben tükröződnek.

5. lépés: Most használjuk a kristályházakat

Most használjuk a kristályházakat
Most használjuk a kristályházakat
Most használjuk a kristályházakat
Most használjuk a kristályházakat

Ajándékozd szeretettednek a kristályházat, amit készítettél. Mondd meg nekik, hogy fontosak! A külső szerkezetet bármikor módosíthatja különböző anyagok és színek használatával. Meséld el, hogy sikerült!

Ajánlott: