Tartalomjegyzék:
- 1. lépés: Alkatrészek, eszközök, kellékek
- 2. lépés: Áramköri diagram és kód
- 3. lépés: Áramkör építése a prototípusból a forrasztásba
- 4. lépés: Forma és anyag
- 5. lépés: Most használjuk a kristályházakat
Videó: Kristályház: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
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
// 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
-
#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
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
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
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:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását