Sisällysluettelo:

Crystal House: 5 vaihetta
Crystal House: 5 vaihetta

Video: Crystal House: 5 vaihetta

Video: Crystal House: 5 vaihetta
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Heinäkuu
Anonim
Image
Image
Crystal House
Crystal House

Pariskunnat ja perheet, jotka ovat eronneet pitkän matkan takia, tuntevat usein kaipausta yhteyteen. Crystal House on rakennettu pariskunnille ja perheille ottamaan yhteyttä toisiinsa valojen kautta. Crystal Houses on yhdistetty wifi -signaaleihin. Kun painat yhden Crystal Housen painiketta, toisen Crystal Housen valot vastaanottavat signaalin ja syttyvät. Se on helppo ja hauska tehdä! Käyn läpi askel askeleelta käytetyt materiaalit/työkalut, rakennan/testaan piiriä Arduinolla ja rakennan Kristallitalon rakennetta

Vaihe 1: Osat, työkalut, tarvikkeet

  • Asennettu Feather Huzzah ESP8266 (kaksi)
  • Perma-Proto Puolikokoinen leipälauta (kaksi)
  • Litium -akku -3,7 1200 mAh (kaksi)
  • Mini päälle/pois painonappikytkin (neljä)
  • NeoPixel Mini -painike (neljä)
  • Leipälevyn lanka
  • Juotin & juote
  • Langanpoistaja
  • Kolmas käsityökalu
  • Neliönmuotoinen puinen sauva
  • Akryylilevy
  • Kirkas kristallikivi
  • Läpinäkyvä paperi
  • pikaliima

Vaihe 2: Piirikaavio ja koodi

Piirikaavio ja koodi
Piirikaavio ja koodi

// Ohjattavat esineiden Internet -luokan esimerkkikoodit // Tulojen ja lähtöjen yhdistäminen // Kaksi painikkeita lähettävät komentoja AIO -syötteeseen // LED ja värisevä moottori (tai mikä tahansa digitaalinen lähtö) flah/buzz syötetietojen mukaan // // Muokannut Becky Stern 2017 // perustuu Adafruit IO Arduino -kirjaston esimerkkeihin: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit investoi aikaa ja resursseja tarjoamalla tämän avoimen lähdekoodin. // Tue Adafruitia ja avoimen lähdekoodin laitteistoa ostamalla // tuotteita Adafruitilta! // // Kirjoittanut Todd Treece Adafruit Industriesille // Tekijänoikeus (c) 2016 Adafruit Industries // Lisensoitu MIT -lisenssillä. // // Kaikki yllä oleva teksti on sisällytettävä uudelleenjakeluun. #sisältää

  1. #määrittele NeoPIN1 15

    // Parametri 1 = pikselien lukumäärä nauhassa // Parametri 2 = Arduino -pin -numero (useimmat ovat kelvollisia) // Parametri 3 = pikselityyppiliput, lisää tarvittaessa: // NEO_KHZ800 800 KHz: n bittivirta (useimmat NeoPixel -tuotteet, joissa WS2812 LEDit) // NEO_KHZ400 400 KHz (klassinen 'v1' (ei v2) FLORA -pikseliä, WS2811 -ohjaimet) // NEO_GRB Pikselit on kytketty GRB -bittivirtaan (useimmat NeoPixel -tuotteet) // NEO_RGB Pikselit on kytketty RGB -bittivirtaan (v1 FLORA -pikseliä, ei v2) // NEO_RGBW Pikselit on kytketty RGBW -bittivirtaan (NeoPixel RGBW -tuotteet) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);

    /************************ Adafruit IO Configuration ********************** *********

    / käy osoitteessa io.adafruit.com, jos sinun on luotava tili, // tai jos tarvitset Adafruit IO -avainta. #define IO_USERNAME "Käyttäjätunnuksesi" #define IO_KEY "IO_KEY"

    /******************************** WIFI -kokoonpano **************** **********************/

    #define WIFI_SSID "Oma wifi" #define WIFI_PASS "Salasana"

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

    /************************ Pääkoodi alkaa tästä ********************* **********/

    #Sisällytä #Sisällytä #Sisällytä #Sisällytä

    // #define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // #define MOTOR_PIN 5 // tämä nasta tarvitsee PWM -ominaisuutta

    // painikkeen tila int button1current = 0; int -painike1 viimeinen = 0; int -painike2virta = 0; int -painike2last = 0;

    // aseta 'digitaalinen' syöte AdafruitIO_Feed *-komento = io.feed ("command"); AdafruitIO_Feed *command2 = io.feed ("command2");

    void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Alusta kaikki pikselit pois päältä // aseta painikkeiden nastat sisääntuloiksi sisäisellä vetovastusvastuksella pinMode (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // aseta led -nasta ja moottorin nasta digitaalilähtöiksi // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);

    // sarjayhteyden aloittaminen Serial.begin (115200);

    // muodosta yhteys osoitteeseen io.adafruit.com Serial.print ("Yhdistäminen Adafruit IO: hon"); io.connect (); // määritä viestinkäsittelijä 'komentosyötteelle'. // kahvaMessage -toiminto (määritelty alla) // soitetaan aina, kun viesti // vastaanotetaan adafruit io: lta. komento-> onMessage (kahvaButton1); command2-> onMessage (kahvaButton2);

    // odota yhteyttä, kun (io.status () <AIO_CONNECTED) {Serial.print ("."); viive (500); }

    // olemme yhteydessä Serial.println (); Serial.println (io.statusText ());

    // varmista, että kaikki syötteet saavat nykyiset arvonsa heti komento-> get (); command2-> get (); }

    void loop () {

    // io.run (); vaaditaan kaikissa luonnoksissa. // sen pitäisi aina olla läsnä silmukkasi // -funktion yläosassa. se pitää asiakkaan yhteydessä osoitteeseen // io.adafruit.com ja käsittelee kaikki saapuvat tiedot. io.run ();

    // nappaa painikkeen nykyinen tila. // meidän on käännettävä logiikka, koska // käytämme INPUT_PULLUP -toimintoa. 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; painike2virta = 0; }

    // return jos arvo ei ole muuttunut jos (button1current == button1last && button2current == button2last) return;

    // Tallenna nykyinen tila adafruit io Serial.printin "digitaaliseen" syötteeseen ("lähetyspainikkeen 1 tila ->"); Serial.println (painike1virta); komento-> tallenna (painike1virta);

    // tallenna nykyinen tila "digitaaliseen" syötteeseen adafruit io Serial.printissa ("lähetyspainikkeen 2 tila ->"); Serial.println (painike2virta); komento2-> tallenna (painike2virta);

    // tallenna viimeisen painikkeen tila button1last = button1current; button2last = button2current; }

    // tätä toimintoa kutsutaan aina, kun Adafruit IO: lta vastaanotetaan komentoviesti //. se liitettiin // komentosyötteeseen yllä olevassa setup () -toiminnossa. void handleButton1 (AdafruitIO_Data *data) {

    int-komento = data-> toInt ();

    if (komento == 1) {// sytyttää ensimmäisen pikselin Serial.print ("vastaanotettu komennosta (painike 1) <-"); Serial.println (komento); // analogWrite (MOTOR_PIN, 200); // viive (500); // analoginen Kirjoita (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Keltainen nauha.show (); } else {Serial.print ("vastaanotettu komennosta (painike 1) <-"); Serial.println (komento); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }} // tätä toimintoa kutsutaan aina, kun Adafruit IO: lta vastaanotetaan komentoviesti //. se liitettiin // komentosyötteeseen yllä olevassa setup () -toiminnossa. void handleButton2 (AdafruitIO_Data *data) {

    int-komento2 = data-> toInt ();

    if (command2 == 1) {// sytyttää ensimmäisen pikselin Serial.print ("vastaanotettu komennolta2 (painike 2) <-"); Serial.println (komento2); // analogWrite (MOTOR_PIN, 200); // viive (500); // analoginen Kirjoita (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // Keltainen nauha.show (); } else {Serial.print ("vastaanotettu komennosta2 (painike 2) <-"); Serial.println (komento2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}

Vaihe 3: Piirin rakentaminen prototyypistä juotettuun

Piirin rakentaminen prototyypistä juotettuun
Piirin rakentaminen prototyypistä juotettuun
Piirin rakentaminen prototyypistä juotettuun
Piirin rakentaminen prototyypistä juotettuun

Kehotan sinua kokeilemaan leipälautaa piirin testaamiseksi. Koska rakennamme kahta laitetta, voimme testata kahdella leipälevyllä. Juotin Neopixelin ja on.off -painikkeen prototyyppijohtoon, koska sitä on helpompi käyttää. Myöhemmin voit helposti juottaa prototyyppijohdot pois.

Kun olemme onnistuneet prototyyppipiirissä, on aika rakentaa todellinen piiri. Käytän Perma-proto-leipälevyä, koska se on pienempi ja piirin yhteys on paljon parempi kuin prototyyppipiiri. Juotoksen suhteen se vaatii paljon kärsivällisyyttä. Älä vielä luovuta! Sinä pääset perille!

Kun olet suorittanut piirisi ja ladannut koodin ESP8266 -laitteeseesi, kahden laitteen pitäisi toimia kuten alussa mainitsimme.

Vaihe 4: Muoto ja materiaali

Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali
Muoto ja materiaali

Tehdään nyt kristallitalomme!

Leikkaa puutikku 6 tuumaiseksi. Tarvitsemme yhteensä 18 kappaletta. Koska haluan vaihtelua näistä kahdesta kristallitalosta, käytin 7 kappaletta yhdessä ja 9 kappaletta toisessa. Liimaa palat laatikkorakenteeseen. Leikkasin kaksi akryylilevyä 6 x 6 tuumaa ja liimasin ne kristallitalojen pohjaan.

Kun olet saanut talon rakenteen valmiiksi. Koristellaan taloja! Leikkasin läpinäkyvän värisen paperin ja liimasin ne akryyliarkin päälle. Sen jälkeen käytin joitakin kirkkaita muovikiteitä ja liimasin ne pohjaan. Koska minulla on läpinäkyvä värillinen paperi kiteiden pohjassa, kiteet heijastuvat eri väreihin.

Vaihe 5: Käytämme nyt kristallitaloja

Käytämme nyt kristallitaloja
Käytämme nyt kristallitaloja
Käytämme nyt kristallitaloja
Käytämme nyt kristallitaloja

Anna rakkaalle kristallitalo, jonka teit. Kerro heille, että he ovat tärkeitä! Voit aina muokata ulkorakennetta eri materiaaleilla ja väreillä. Kerro minulle, miten se menee!

Suositeltava: