Talaan ng mga Nilalaman:

Crystal House: 5 Hakbang
Crystal House: 5 Hakbang

Video: Crystal House: 5 Hakbang

Video: Crystal House: 5 Hakbang
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Hulyo
Anonim
Image
Image
Crystal House
Crystal House

Ang mga mag-asawa at pamilya na pinaghiwalay dahil sa mahabang distansya ay madalas makaramdam ng pananabik sa koneksyon. Ang Crystal House ay binuo para sa mga mag-asawa at pamilya na makakonekta sa bawat isa sa pamamagitan ng mga ilaw. Ang mga Crystal House ay konektado sa mga signal ng wifi. Kapag pinindot mo ang pindutan sa isang Crystal House, ang iba pang mga ilaw ng Crystal House ay tumatanggap ng signal at bubukas. Ito ay madali at masaya upang gawin! Dadaan ako sa bawat hakbang mula sa mga ginamit na materyales / tool, gusali / pagsubok sa circuit gamit ang Arduino at pagbuo ng istraktura ng Crystal House

Hakbang 1: Mga Bahagi, Kagamitan, Suplay

  • Pinagsama ang Feather Huzzah ESP8266 (dalawa)
  • Perma-Proto Half-size na breadboard (dalawa)
  • Baterya ng Lithium -3.7 1200mAh (dalawa)
  • Mini On / Off Push-Button Switch (apat)
  • NeoPixel Mini Button (apat)
  • Wire ng Breadboard
  • Panghinang na Bakal at Panghinang
  • Wire stripper
  • Tool na Pangatlong Kamay
  • Square stick na kahoy
  • Sheet na acrylic
  • Malinaw na kristal na bato
  • Transparent na papel
  • Super pandikit

Hakbang 2: Circuit Diagram at Code

Circuit Diagram at Code
Circuit Diagram at Code

// Instructables Internet of Things Class sample code // Pagsasama-sama ng Mga Input at Output // Dalawang pushbutton ang nagpapadala ng mga utos sa AIO feed // LED at vibrating motor (o anumang digital output) flah / buzz ayon sa feed data // // Binago ni Becky Ang Stern 2017 // batay sa mga halimbawa mula sa Adafruit IO Arduino Library: // https://github.com/adafruit/Adafruit_IO_Arduino // // Ininvest ng Adafruit ang oras at mga mapagkukunan na nagbibigay ng bukas na code ng mapagkukunan. // Mangyaring suportahan ang Adafruit at buksan ang mapagkukunan ng hardware sa pamamagitan ng pagbili ng // mga produkto mula sa Adafruit! // // Sinulat ni Todd Treece para sa Adafruit Industries // Copyright (c) 2016 Adafruit Industries // Lisensyado sa ilalim ng lisensya ng MIT. // // Lahat ng teksto sa itaas ay dapat na isama sa anumang muling pamamahagi. # isama

  1. # tukuyin ang NeoPIN1 15

    // Parameter 1 = bilang ng mga pixel sa strip // Parameter 2 = Arduino pin number (karamihan ay may bisa) // Parameter 3 = mga flag na uri ng pixel, idagdag nang sama-sama kung kinakailangan: // NEO_KHZ800 800 KHz bitstream (karamihan sa mga produktong NeoPixel na w / WS2812 Mga LED) // NEO_KHZ400 400 KHz (klasiko 'v1' (hindi v2) FLORA pixel, mga driver ng WS2811) // Ang NEO_GRB Pixels ay naka-wire para sa GRB bitstream (karamihan sa mga produktong NeoPixel) // NEO_RGB Pixels ay naka-wire para sa RGB bitstream (v1 FLORA pixel, hindi v2) // NEO_RGBW Ang mga pixel ay naka-wire para sa RGBW bitstream (mga produktong NeoPixel RGBW) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);

    / ***** *********

    / bisitahin ang io.adafruit.com kung kailangan mong lumikha ng isang account, // o kung kailangan mo ang iyong Adafruit IO key. #define IO_USERNAME "Ang iyong username" # tukuyin ang IO_KEY "Ang iyong IO_KEY"

    / ***** *****

    #define WIFI_SSID "Ang iyong wifi" # tukuyin ang WIFI_PASS "Ang iyong password"

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

    / ***** ********* /

    # isama # isama # isama # isama

    // # tukuyin ang LED_PIN 15 # tukuyin ang BUTTON1_PIN 4 # tukuyin ang BUTTON2_PIN 14 // # tukuyin ang MOTOR_PIN 5 // ang pin na ito ay nangangailangan ng kakayahang PWM

    // button state int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;

    // set up the 'digital' feed AdafruitIO_Feed * command = io.feed ("command"); AdafruitIO_Feed * command2 = io.feed ("command2");

    void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Initialize all pixel to 'off' // set button pins as inputs with internal pull-up resistor pinMode (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // set led pin and motor pin as a digital outputs // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);

    // simulan ang serial connection Serial.begin (115200);

    // kumonekta sa io.adafruit.com Serial.print ("Pagkonekta sa Adafruit IO"); io.connect (); // mag-set up ng isang handler ng mensahe para sa feed na 'command'. // ang function ng handleMessage (tinukoy sa ibaba) // ay tatawagan tuwing ang isang mensahe ay // natanggap mula sa adafruit io. utos-> onMessage (hawakan1 Button1); command2-> onMessage (hawakan Button2);

    // maghintay para sa isang koneksyon habang (io.status () <AIO_CONNected) {Serial.print ("."); pagkaantala (500); }

    // kami ay konektado sa Serial.println (); Serial.println (io.statusText ());

    // siguraduhin na ang lahat ng mga feed makuha ang kanilang kasalukuyang mga halaga kaagad command-> get (); utos2-> kumuha (); }

    void loop () {

    // io.run (); ay kinakailangan para sa lahat ng mga sketch. // dapat itong palaging naroroon sa tuktok ng iyong loop // function. pinapanatili nitong nakakonekta ang kliyente sa // io.adafruit.com, at pinoproseso ang anumang papasok na data. io.run ();

    // grab ang kasalukuyang estado ng pindutan. // kailangan nating i-flip ang lohika dahil // gumagamit kami ng INPUT_PULLUP. kung (digitalRead (BUTTON1_PIN) == LOW) {button1current = 1; } kung (digitalRead (BUTTON2_PIN) == LOW) {button2current = 1; } kung (digitalRead (BUTTON2_PIN) == TAAS && digitalRead (BUTTON1_PIN) == TAAS) {button1current = 0; button2current = 0; }

    // return kung hindi nagbago ang halaga kung (button1current == button1last && button2current == button2last) bumalik;

    // save the current state to the 'digital' feed on adafruit io Serial.print ("status ng pagpapadala ng pindutan 1 ->"); Serial.println (button1current); utos-> i-save (button1current);

    // i-save ang kasalukuyang estado sa feed na 'digital' sa adafruit io Serial.print ("status ng pagpapadala ng pindutan 2 ->"); Serial.println (button2current); command2-> i-save (button2current);

    // store last button state button1last = button1current; button2last = button2current; }

    // ang pagpapaandar na ito ay tinatawag tuwing isang mensahe na 'utos' // ay natanggap mula sa Adafruit IO. nakalakip ito sa // ang command feed sa pag-andar ng setup () sa itaas. walang bisa ang handlebutton1 (AdafruitIO_Data * data) {

    int utos = data-> toInt ();

    kung (command == 1) {// light up first pixel Serial.print ("natanggap mula sa utos (pindutan 1) <-"); Serial.println (utos); // analogWrite (MOTOR_PIN, 200); // pagkaantala (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Yellow strip.show (); } iba pa {Serial.print ("natanggap mula sa utos (pindutan 1) <-"); Serial.println (utos); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }} // ang pagpapaandar na ito ay tinatawag tuwing isang mensahe na 'utos' // ay natanggap mula sa Adafruit IO. nakalakip ito sa // ang command feed sa pag-andar ng setup () sa itaas. walang bisa ang handlebutton2 (AdafruitIO_Data * data) {

    int command2 = data-> toInt ();

    kung (command2 == 1) {// light up first pixel Serial.print ("natanggap mula sa command2 (pindutan 2) <-"); Serial.println (utos2); // analogWrite (MOTOR_PIN, 200); // pagkaantala (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // Yellow strip.show (); } iba pa {Serial.print ("natanggap mula sa command2 (pindutan 2) <-"); Serial.println (utos2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}

Hakbang 3: Konstruksiyon ng Circuit Mula sa Prototype hanggang sa Soldered

Konstruksiyon ng Circuit Mula sa Prototype hanggang sa Soldered
Konstruksiyon ng Circuit Mula sa Prototype hanggang sa Soldered
Konstruksiyon ng Circuit Mula sa Prototype hanggang sa Soldered
Konstruksiyon ng Circuit Mula sa Prototype hanggang sa Soldered

Hinihikayat ko kayo na subukan sa isang breadboard upang subukan ang circuit. Dahil nagtatayo kami ng dalawang aparato, maaari kaming subukan sa dalawang breadboard. Inhinang ko ang Neopixel at ang on.off button sa isang prototyping wire dahil mas madaling gamitin ito. Sa paglaon, maaari mong madaling maghinang ang mga prototyping wires.

Pagkatapos naming magtagumpay sa prototyping circuit, oras na upang buuin ang aming totoong circuit. Gumagamit ako ng Perma-proto breadboard dahil mas maliit ito at ang koneksyon ng circuit ay magiging mas mahusay kaysa sa prototyping circuit. Pagdating sa paghihinang, nangangailangan ito ng maraming pasyente. Huwag ka nang susuko! Papunta ka na diyan!

Kapag natapos mo ang iyong circuit at na-upload ang code sa iyong ESP8266, dapat gumana ang dalawang aparato tulad ng nabanggit namin sa simula.

Hakbang 4: Form at Materyal

Form at Materyal
Form at Materyal
Form at Materyal
Form at Materyal
Form at Materyal
Form at Materyal
Form at Materyal
Form at Materyal

Ngayon ay gawin natin ang ating Crystal House!

Gupitin ang stick ng kahoy sa 6 pulgada. Kailangan namin ng 18 piraso sa kabuuan. Dahil gusto ko ng ilang pagkakaiba-iba mula sa dalawang kristal na bahay na ito, gumamit ako ng 7 piraso sa isa at 9 na piraso sa isa pa. Ipako ang mga piraso sa isang istraktura ng kahon. Pinutol ko ang dalawang acrylic sheet na 6 by 6 pulgada at idinikit sa ilalim ng mga Crystal House.

Kapag natapos mo na ang istraktura ng mga bahay. Palamutihan natin ang mga bahay! Pinutol ko ang isang piraso ng transparent na may kulay na papel at idinikit ang mga ito sa acrylic sheet. Pagkatapos nito, gumamit ako ng ilang mga malinaw na plastik na kristal at idinikit ang mga ito sa base. Dahil mayroon akong isang transparent na may kulay na papel sa ilalim ng mga kristal, ang mga kristal ay makikita sa iba't ibang mga kulay.

Hakbang 5: Ngayon Gawin Natin ang Mga Bahay na Crystal

Gamitin Natin Ngayon ang Mga Bahay na Crystal
Gamitin Natin Ngayon ang Mga Bahay na Crystal
Gamitin Natin Ngayon ang Mga Bahay na Crystal
Gamitin Natin Ngayon ang Mga Bahay na Crystal

Bigyan ang iyong minamahal ng isang kristal na bahay na iyong ginawa. Sabihin sa kanila na sila ay mahalaga! Maaari mong palaging baguhin ang istraktura sa labas gamit ang iba't ibang mga materyales at kulay. Ipaalam sa akin kung paano ito pupunta!

Inirerekumendang: