Sadržaj:
- Korak 1: Dijelovi, alati, potrošni materijal
- Korak 2: Dijagram i kod
- Korak 3: Konstrukcija kola od prototipa do lemljenja
- Korak 4: Oblik i materijal
- Korak 5: Koristimo sada kristalne kuće
Video: Kristalna kuća: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Parovi i porodice koji su razdvojeni zbog velike udaljenosti često osjećaju čežnju za povezivanjem. Kristalna kuća izgrađena je za parove i porodice koji se međusobno povezuju putem svjetla. Kristalne kuće povezane su wifi signalima. Kada pritisnete dugme na jednoj kristalnoj kući, druga svjetla kristalne kuće primaju signal i bit će uključene. Lako je i zabavno za napraviti! Proći ću korak po korak od korištenih materijala/alata, izgradnje/testiranja kruga pomoću Arduina i izgradnje strukture Kristalne kuće
Korak 1: Dijelovi, alati, potrošni materijal
- Sklopljeno pero Huzzah ESP8266 (dva)
- Perma-Proto matična ploča pola veličine (dvije)
- Litijumska baterija -3.7 1200mAh (dva)
- Mini prekidač za uključivanje/isključivanje (četiri)
- Mini dugme NeoPixel (četiri)
- Breadboard Wire
- Lemilica i lemljenje
- Skidač žice
- Alat iz treće ruke
- Kvadratni drveni štap
- Akrilni lim
- Bistri kristalni kamen
- Prozirni papir
- super ljepilo
Korak 2: Dijagram i kod
// Uputstva za Internet stvari stvari Primjerak koda klase // Kombiniranje ulaza i izlaza // Dva tipka šalju naredbe na AIO feed // LED i vibracijski motor (ili bilo koji digitalni izlaz) flah/zujanje prema podacima feeda // // Izmijenila Becky Stern 2017 // na temelju primjera iz Adafruit IO Arduino biblioteke: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit ulaže vrijeme i resurse pružajući ovaj otvoreni kod. // Molimo vas da podržite Adafruit i hardver otvorenog koda kupovinom // proizvoda od Adafruit! // // Napisao Todd Treece za Adafruit Industries // Autorska prava (c) 2016 Adafruit Industries // Licencirano pod MIT licencom. // // Sav gornji tekst mora biti uključen u bilo koju preraspodjelu. #include
-
#define NeoPIN1 15
// Parametar 1 = broj piksela u traci // Parametar 2 = Arduino broj pina (većina je ispravna) // Parametar 3 = zastavice tipa piksela, zbrajajte se po potrebi: // NEO_KHZ800 800 KHz bitstream (većina NeoPixel proizvoda sa WS2812 LED diode) // NEO_KHZ400 400 KHz (klasični 'v1' (ne v2) FLORA pikseli, upravljački programi WS2811) // NEO_GRB Pikseli su ožičeni za GRB bitstream (većina NeoPixel proizvoda) // NEO_RGB Pikseli su ožičeni za RGB bitstream (v1 FLORA piksela, nije v2) // NEO_RGBW Pikseli su ožičeni za RGBW tok bitova (NeoPixel RGBW proizvodi) Adafruit_NeoPixel traka = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);
/************************ Adafruit IO konfiguracija ********************** *********
/ posjetite io.adafruit.com ako trebate stvoriti račun, // ili ako vam je potreban vaš Adafruit IO ključ. #define IO_USERNAME "Vaše korisničko ime" #define IO_KEY "Vaše IO_KEY"
/******************************* WIFI konfiguracija **************** **********************/
#define WIFI_SSID "Vaš WiFi" #define WIFI_PASS "Vaša lozinka"
#include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/************************ Glavni kod počinje ovdje ********************* **********/
#include #include #include #include
// #define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // #define MOTOR_PIN 5 // ovom pinu je potrebna PWM sposobnost
// stanje dugmeta int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;
// postavljanje 'digitalnog' feeda AdafruitIO_Feed *command = io.feed ("naredba"); AdafruitIO_Feed *command2 = io.feed ("command2");
void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Inicijaliziranje svih piksela na 'isključeno' // postavljanje pinova gumba kao ulaze s unutarnjim pull-up otpornikom pinMode (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // LED pin i pin motora postavite kao digitalne izlaze // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);
// pokretanje serijske veze Serial.begin (115200);
// povezivanje sa io.adafruit.com Serial.print ("Povezivanje sa Adafruit IO"); io.connect (); // postavljanje rukovatelja porukama za 'naredbe' feed. // funkcija handleMessage (definirana dolje) // bit će pozvana kad god se poruka // primi od adafruit io. naredba-> onMessage (handleButton1); command2-> onMessage (handleButton2);
// čekamo vezu while (io.status () <AIO_CONNECTED) {Serial.print ("."); kašnjenje (500); }
// povezani smo Serial.println (); Serial.println (io.statusText ());
// pobrinite se da svi izvori odmah dobiju svoje trenutne vrijednosti command-> get (); command2-> get (); }
void loop () {{100} {101}
// io.run (); je potrebno za sve skice. // uvijek bi trebalo biti prisutno na vrhu vaše petlje // funkcije. održava klijenta povezanim sa // io.adafruit.com i obrađuje sve dolazne podatke. io.run ();
// hvatanje trenutnog stanja dugmeta. // moramo preokrenuti logiku jer // koristimo INPUT_PULLUP. 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; button2current = 0; }
// vraćamo ako se vrijednost nije promijenila if (button1current == button1last && button2current == button2last) return;
// sprema trenutno stanje u 'digitalni' feed na adafruit io Serial.print ("status dugmeta 1 za slanje ->"); Serial.println (button1current); naredba-> spremi (button1current);
// sprema trenutno stanje u 'digitalni' feed na adafruit io Serial.print ("status dugmeta za slanje 2 ->"); Serial.println (button2current); command2-> save (button2current);
// spremi stanje zadnjeg dugmeta button1last = button1current; button2last = button2current; }
// ova funkcija se poziva svaki put kada se primi 'naredbena' poruka // od Adafruit IO -a. pripojen je // feedu naredbi u gornjoj funkciji setup (). void handleButton1 (podaci AdafruitIO_Data *) {
int naredba = podaci-> toInt ();
if (command == 1) {// pali prvi piksel Serial.print ("primljeno od naredbe (dugme 1) <-"); Serial.println (naredba); // analogWrite (MOTOR_PIN, 200); // kašnjenje (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Žuta traka.show (); } else {Serial.print ("primljeno od naredbe (dugme 1) <-"); Serial.println (naredba); strip.setPixelColor (0, strip. Color (0, 0, 0)); // isključeno strip.show (); }} // ova funkcija se poziva kad god se primi 'naredbena' poruka // od Adafruit IO -a. pripojen je // feedu naredbi u gornjoj funkciji setup (). void handleButton2 (AdafruitIO_Data *podaci) {
int command2 = data-> toInt ();
if (command2 == 1) {// svijetli prvi piksel Serial.print ("primljeno od command2 (dugme 2) <-"); Serial.println (command2); // analogWrite (MOTOR_PIN, 200); // kašnjenje (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // Žuta traka.show (); } else {Serial.print ("primljeno od command2 (dugme 2) <-"); Serial.println (command2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // isključeno strip.show (); }}
Korak 3: Konstrukcija kola od prototipa do lemljenja
Preporučio bih vam da isprobate ploču za testiranje kola. Budući da gradimo dva uređaja, mogli bismo testirati na dvije ploče. Lemio sam Neopixel i dugme za uključivanje i isključivanje na žicu za izradu prototipa jer je lakša za upotrebu. Kasnije možete lako spajati žice prototipova.
Nakon što uspijemo sa prototipskim krugom, vrijeme je za izgradnju našeg stvarnog kola. Koristim Perma-proto matičnu ploču s obzirom da je manja i veza kruga bit će mnogo bolja od kruga prototipa. Što se tiče lemljenja, potrebno je puno strpljenja. Ne odustaj još! Stigli ste tamo!
Kada završite krug i učitate kôd u svoj ESP8266, dva uređaja bi trebala raditi kako smo spomenuli na početku.
Korak 4: Oblik i materijal
Sada napravimo našu Kristalnu kuću!
Drveni štap izrežite na 6 inča. Trebamo ukupno 18 komada. Budući da želim neke varijacije od ove dvije kristalne kuće, upotrijebio sam 7 komada u jednom i 9 komada u drugom. Zalijepite komade u okvir kutije. Izrezao sam dva akrilna lima na 6 x 6 inča i zalijepio ih u dno kristalnih kućica.
Kada završite sa strukturom kuća. Ukrasimo kuće! Odrezao sam komad prozirnog papira u boji i zalijepio ih na akrilni list. Nakon toga sam upotrijebio neke prozirne plastične kristale i zalijepio ih na podlogu. Budući da na dnu kristala imam prozirni papir u boji, kristali se reflektiraju u različitim bojama.
Korak 5: Koristimo sada kristalne kuće
Poklonite svom voljenom kristalnu kuću koju ste napravili. Recite im da su važni! Vanjsku strukturu uvijek možete promijeniti različitim materijalima i bojama. Javi mi kako ide!
Preporučuje se:
Pametna kuća od Raspberry Pi: 5 koraka (sa slikama)
Pametna kuća od Raspberry Pi: Već postoji nekoliko proizvoda koji vaš stan čine pametnijim, ali većina njih su vlasnička rješenja. Ali zašto vam je potrebna internetska veza za uključivanje svjetla na pametnom telefonu? To je bio jedan od razloga zašto sam izgradio vlastiti Smar
Ukleta kuća Mark Twaina: 5 koraka
Ukleta kuća Mark Twaina: Šuška se da će kuću Mark Twain progoniti poznati autor. U ovom Instructable -u sam " otkrio " stara fotografija koja dokazuje van svake sumnje da Twainov duh zaista proganja ovaj povijesni stari dom
Kristalna lopta: Pogledajte u svoju budućnost!: 7 koraka
Kristalna kugla: Pogledajte u svoju budućnost !: Želite li znati tajne svemira? Pa, ne možeš! Međutim, možete saznati šta vam donosi budućnost tako što ćete napraviti svoju kristalnu kuglu. Mislim, šta se ima izgubiti? Ako ja mogu napraviti jedan, onda možete i vi koristeći LCD monitor, zadnjicu
Mistična kristalna kugla (doslovno vam govori o sreći!): 3 koraka (sa slikama)
Mistična kristalna kugla (doslovno vam govori o vašem bogatstvu!): Naučite kako napraviti kristalnu kuglu koja vam otkriva budućnost kada je dodirnete! Projekt se sastoji od tri osnovna dijela i može se izgraditi za oko četiri sata. Materijali: 1. Kapacitivni osjetnik na dodir: 1 - Arduino Uno mikrokontroler 1
Kristalna kugla U.V: 4 koraka
U.V Crystal Ball: Napravite laganu i jeftinu kristalnu kuglu. Potrebno vam je: Trenutna topla obloga (Eksperiment sa vrućim ledom) prazna bulbu.v LED dugmad ćelije ili kabl