Sisukord:
- Samm: osad, tööriistad, tarvikud
- 2. samm: vooluahela skeem ja kood
- 3. etapp: ahela ehitamine prototüübist jooteni
- Samm: vorm ja materjal
- Samm 5: Nüüd kasutame kristallmaju
Video: Kristallimaja: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Paarid ja pered, kes on pika vahemaa tõttu lahus, tunnevad sageli igatsust ühenduse järele. Crystal House on loodud paaridele ja peredele tulede kaudu üksteisega ühenduse loomiseks. Kristallimajad on ühendatud wifi -signaalidega. Kui vajutate ühe kristallimaja nuppu, saavad teise kristallimaja tuled signaali ja lülitatakse sisse. Seda on lihtne ja lõbus valmistada! Ma lähen samm -sammult läbi kasutatud materjalidest/tööriistadest, ehitades/katsetades vooluringi Arduino abil ja ehitades Kristallimaja struktuuri
Samm: osad, tööriistad, tarvikud
- Kokkupandud sulgi Huzzah ESP8266 (kaks)
- Perma-Proto Poole suurusega leivalaud (kaks)
- Liitiumpatarei -3,7 1200mAh (kaks)
- Mini sisse- ja väljalülitusnupp (neli)
- NeoPixeli mininupp (neli)
- Leivaplaadi traat
- Jootekolb ja jootekolb
- Traadi eemaldaja
- Kolmas käsi tööriist
- Ruudukujuline puupulk
- Akrüülist leht
- Läbipaistev kristallkivi
- Läbipaistev paber
- Super liim
2. samm: vooluahela skeem ja kood
// Instructables Asjade Interneti klassi näidiskood // Sisendite ja väljundite kombineerimine // Kaks nuppu vajutades saadavad käsud AIO voole // LED ja vibreeriv mootor (või mis tahes digitaalne väljund) flah/buzz vastavalt vooandmetele // // Muudetud Becky poolt Stern 2017 // põhineb Adafruit IO Arduino raamatukogu näidetel: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit investeerib selle avatud lähtekoodi pakkumiseks aega ja ressursse. // Palun toetage Adafruit'i ja avatud lähtekoodiga riistvara, ostes // tooteid Adafruitilt! // // Kirjutas Todd Treece Adafruit Industriesile // Autoriõigus (c) 2016 Adafruit Industries // Litsentsitud MIT litsentsi alusel. // // Kõik ülaltoodud tekstid peavad sisalduma mis tahes ümberjaotamises. #kaasake
-
#define NeoPIN1 15
// Parameeter 1 = pikslite arv ribades // Parameeter 2 = Arduino pin -number (enamik neist on kehtivad) // Parameeter 3 = pikslitüübi lipud, lisage vastavalt vajadusele: // NEO_KHZ800 800 KHz bitivoog (enamik NeoPixeli tooteid koos WS2812 -ga) LED -id) // NEO_KHZ400 400 KHz (klassikaline v1 (mitte v2) FLORA pikslid, WS2811 draiverid) mitte v2) // NEO_RGBW Pikslid on juhtmega ühendatud RGBW bitivoo jaoks (NeoPixel RGBW tooted) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);
/************************ Adafruit IO konfiguratsioon ********************** *********
/ kui soovite konto luua, // külastage veebisaiti io.adafruit.com, // või kui vajate oma Adafruit IO võtit. #define IO_USERNAME "Teie kasutajanimi" #define IO_KEY "Teie IO_KEY"
/******************************* WIFI konfiguratsioon **************** **********************/
#define WIFI_SSID "Teie wifi" #define WIFI_PASS "Teie parool"
#include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/************************ Põhikood algab siit ********************* **********/
#kaasamine #kaasamine #kaasamine #kaasamine
// #define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // #define MOTOR_PIN 5 // see tihvt vajab PWM -funktsiooni
// nupu olek int nupp1vool = 0; int nupp1 viimane = 0; int nupp2vool = 0; int nupp2 viimane = 0;
// seadistage 'digitaalne' voog AdafruitIO_Feed *käsk = io.feed ("command"); AdafruitIO_Feed *käsk2 = io.feed ("command2");
void setup () {strip.setBrightness (60); riba.algus (); strip.show (); // Initsialiseeri kõik pikslid asendisse 'väljas' // seadista nuppude tihvtid sisenditeks sisemise tõmbetakistusega pinMode (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // seada led -pin ja mootori pin digitaalseks väljundiks // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);
// jadaühenduse käivitamine Serial.begin (115200);
// ühenduse loomine saidiga io.adafruit.com Serial.print ("Ühendamine Adafruit IO -ga"); io.connect (); // seadistage 'käsu' voo jaoks sõnumihaldur. // funktsiooni handleMessage (määratletud allpool) // helistatakse iga kord, kui adafruit io -lt // võetakse vastu teade. käsk-> onMessage (handleButton1); command2-> onMessage (handleButton2);
// oota ühendust, kui (io.status () <AIO_CONNECTED) {Serial.print ("."); viivitus (500); }
// oleme ühendatud Serial.println (); Serial.println (io.statusText ());
// veenduge, et kõik kanalid saaksid kohe oma praegused väärtused käsk-> get (); käsk2-> get (); }
void loop () {
// io.run (); on vajalik kõikide visandite jaoks. // see peaks alati olema silmus // funktsiooni ülaosas. see hoiab kliendi ühenduses saidiga // io.adafruit.com ja töötleb sissetulevaid andmeid. io.run ();
// haarata nupu hetkeseisust. // peame loogikat ümber pöörama, sest kasutame // INPUT_PULLUP -i. 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; nupp2vool = 0; }
// return, kui väärtus pole muutunud, kui (button1current == button1last && button2current == button2last) return;
// salvesta praegune olek adafruit io Serial.print 'digitaalsesse' voogu ("saatmisnupu 1 olek ->"); Serial.println (nupp1vool); käsk-> salvestamine (nupp1vool);
// salvestada praegune olek adafruit io Serial.print 'digitaalsesse' voogu ("saatmisnupu 2 olek ->"); Serial.println (nupp2vool); käsk2-> salvestamine (nupp2vool);
// salvesta viimase nupu olek button1last = button1current; button2last = nupp2vool; }
// seda funktsiooni kutsutakse alati, kui Adafruit IO -lt on saadud käsukiri //. see oli lisatud // käsuvoogu ülaltoodud setup () funktsioonis. void handleButton1 (AdafruitIO_Data *andmed) {
int käsk = andmed-> toInt ();
if (käsk == 1) {// süttib esimene piksel Serial.print ("saadud käsult (nupp 1) <-"); Serial.println (käsk); // analogWrite (MOTOR_PIN, 200); // viivitus (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, riba. Värv (200, 100, 0)); // Kollane riba.show (); } else {Serial.print ("käskluselt saadud (nupp 1) <-"); Serial.println (käsk); strip.setPixelColor (0, riba. Värv (0, 0, 0)); // off strip.show (); }} // seda funktsiooni kutsutakse alati, kui Adafruit IO -lt on saadud käsukiri //. see oli lisatud // käsuvoole ülaltoodud seadistus () funktsioonis. void handleButton2 (AdafruitIO_Data *andmed) {
int käsk2 = andmed-> toInt ();
if (käsk2 == 1) {// süttib esimene piksel Serial.print ("saadud käskluselt 2 (nupp 2) <-"); Serial.println (käsk2); // analogWrite (MOTOR_PIN, 200); // viivitus (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, riba. Värv (255, 128, 128)); // Kollane riba.show (); } else {Serial.print ("saadud käskluselt 2 (nupp 2) <-"); Serial.println (käsk2); strip.setPixelColor (1, riba. Värv (0, 0, 0)); // off strip.show (); }}
3. etapp: ahela ehitamine prototüübist jooteni
Ma soovitaksin teil proovida vooluringi testimiseks leivaplaati. Kuna ehitame kahte seadet, võiksime katsetada kahel leival. Jootsin Neopixeli ja sisse- ja väljalülitusnupu prototüüpimisjuhtme külge, kuna seda on lihtsam kasutada. Hiljem saate prototüüpimise juhtmed lihtsalt jootma hakata.
Pärast seda, kui oleme prototüüpimise ahelaga hakkama saanud, on aeg üles ehitada oma tõeline vooluring. Ma kasutan Perma-proto leivaplaati, kuna see on väiksem ja vooluahela ühendus on palju parem kui prototüüpimise ahel. Kui tegemist on jootmisega, nõuab see palju kannatlikkust. Ära veel alla anna! Sa jõuad kohale!
Kui olete oma vooluringi lõpetanud ja koodi ESP8266 -sse üles laadinud, peaksid need kaks seadet töötama, nagu me alguses mainisime.
Samm: vorm ja materjal
Nüüd teeme oma kristallimaja!
Lõika puupulk 6 tolli. Kokku vajame 18 tükki. Kuna ma tahan nendest kahest kristallmajast mingit variatsiooni, kasutasin ühes 7 tükki ja teises 9 tükki. Liimige tükid karbi struktuuri. Lõikasin kaks akrüüllehte 6 x 6 tolli ja liimisin need kristallmajade põhja.
Kui olete majade struktuuri lõpetanud. Kaunistame maju! Lõikasin tüki läbipaistvat värvilist paberit ja liimisin need akrüüllehele. Pärast seda kasutasin mõnda läbipaistvat plastkristalli ja liimisin need alusele. Kuna mul on kristallide põhjas läbipaistev värviline paber, siis kristallid peegelduvad erinevat värvi.
Samm 5: Nüüd kasutame kristallmaju
Kingi oma armastatule oma valmistatud kristallmaja. Ütle neile, et nad on olulised! Välist struktuuri saate alati muuta, kasutades erinevaid materjale ja värve. Andke teada, kuidas läheb!
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust