Taula de continguts:
- Pas 1: peces, eines i subministraments
- Pas 2: Diagrama i codi del circuit
- Pas 3: construcció del circuit del prototip a soldat
- Pas 4: formulari i material
- Pas 5: Ara fem servir les cases de vidre
Vídeo: Crystal House: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Les parelles i les famílies separades a causa de la llarga distància solen sentir l’enyorança de la connexió. Crystal House està dissenyat perquè les parelles i les famílies es connectin entre elles mitjançant llums. Crystal Houses està connectada amb senyals wifi. Quan premeu el botó d’una Crystal House, els llums de l’altra Crystal House reben el senyal i s’encenen. És fàcil i divertit de fer! Aniré passant pas a pas des dels materials / eines utilitzats, construint / provant circuits amb Arduino i construint l’estructura de la Crystal House
Pas 1: peces, eines i subministraments
- Ploma muntada Huzzah ESP8266 (dos)
- Perma-Proto Taula de pa de mida mitjana (dues)
- Bateria de liti -3,7 1200 mAh (dos)
- Mini interruptor de botó d'encès / apagat (quatre)
- Mini botó NeoPixel (quatre)
- Fil de tauler de pa
- Soldador i soldador
- Decapant de filferro
- Eina de tercera mà
- Pal de fusta quadrat
- Full acrílic
- Pedra de vidre transparent
- Paper transparent
- Super cola
Pas 2: Diagrama i codi del circuit
// Codi de mostra de la classe d'Internet de les coses instructables // Combinació d'entrades i sortides // Dos botons envien ordres a l'alimentació AIO // LED i motor vibrant (o qualsevol sortida digital) flah / buzz segons les dades d'alimentació // // Modificat per Becky Stern 2017 // basat en exemples de la biblioteca Adafruit IO Arduino: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit inverteix temps i recursos proporcionant aquest codi de codi obert. // Suporteu Adafruit i el maquinari de codi obert comprant // productes d'Adafruit. // // Escrit per Todd Treece per a Adafruit Industries // Copyright (c) 2016 Adafruit Industries // Llicenciat sota la llicència MIT. // // Tot el text anterior s’ha d’incloure a qualsevol redistribució. #incloure
-
#define NeoPIN1 15
// Paràmetre 1 = nombre de píxels a la tira // Paràmetre 2 = número de pin Arduino (la majoria són vàlids) // Paràmetre 3 = indicadors de tipus de píxel, afegiu-los segons sigui necessari: // NEO_KHZ800 800 KHz bitstream (la majoria de productes NeoPixel amb WS2812 LED) // NEO_KHZ400 400 KHz (clàssics 'v1' (no v2) píxels FLORA, controladors WS2811) // Els píxels NEO_GRB estan connectats per al flux de bits GRB (la majoria dels productes NeoPixel) // Els píxels NEO_RGB estan connectats per al flux de bits RGB (v1 píxels FLORA, no v2) // NEO_RGBW Els píxels estan connectats per a flux de bits RGBW (productes NeoPixel RGBW) Adafruit_NeoPixel strip = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);
/ ************************ Configuració d'Adafruit IO ********************** *********
/ visiteu io.adafruit.com si necessiteu crear un compte, // o si necessiteu la vostra clau d'Adafruit IO. #define IO_USERNAME "El vostre nom d'usuari" #define IO_KEY "El vostre IO_KEY"
/ ******************************** Configuració WIFI *************** *********************** /
#define WIFI_SSID "Your wifi" #define WIFI_PASS "Your password"
#include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/ ************************ El codi principal comença aquí ********************* ********** /
#include #include #include #include
// # define LED_PIN 15 #define BUTTON1_PIN 4 #define BUTTON2_PIN 14 // # define MOTOR_PIN 5 // aquest pin necessita capacitat PWM
// estat del botó int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;
// configureu el feed 'digital' AdafruitIO_Feed * ordre = io.feed ("ordre"); AdafruitIO_Feed * command2 = io.feed ("command2");
void setup () {strip.setBrightness (60); strip.begin (); strip.show (); // Inicialitzeu tots els píxels a "apagat" // configureu els pins dels botons com a entrades amb pinMode de la resistència de tracció interna (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // definiu el pin LED i el motor com a sortides digitals // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);
// iniciar la connexió sèrie Serial.begin (115200);
// connectar-se a io.adafruit.com Serial.print ("Connexió a Adafruit IO"); io.connect (); // configureu un gestor de missatges per al feed "ordre". // la funció handleMessage (definida a continuació) // es cridarà sempre que // es rebi un missatge de adafruit io. command-> onMessage (handleButton1); command2-> onMessage (handleButton2);
// espera una connexió mentre (io.status () <AIO_CONNECTED) {Serial.print ("."); retard (500); }
// estem connectats Serial.println (); Serial.println (io.statusText ());
// assegureu-vos que tots els canals obtinguin els seus valors actuals immediatament command-> get (); command2-> get (); }
bucle buit () {
// io.run (); és obligatori per a tots els esbossos. // sempre ha d'estar present a la part superior del vostre bucle // funció. manté el client connectat a // io.adafruit.com i processa les dades entrants. io.run ();
// agafa l’estat actual del botó. // hem de capgirar la lògica perquè // fem servir INPUT_PULLUP. if (digitalRead (BUTTON1_PIN) == BAIX) {button1current = 1; } if (digitalRead (BUTTON2_PIN) == BAIX) {button2current = 1; } if (digitalRead (BUTTON2_PIN) == HIGH && digitalRead (BUTTON1_PIN) == HIGH) {button1current = 0; botó2actual = 0; }
// torna si el valor no ha canviat si (button1current == button1last && button2current == button2last) torna;
// deseu l'estat actual al feed 'digital' a adafruit io Serial.print ("estat del botó d'enviament 1 ->"); Serial.println (botó1actual); ordre-> desa (botó1actual);
// deseu l'estat actual al feed 'digital' a adafruit io Serial.print ("estat del botó d'enviament 2 ->"); Serial.println (button2current); ordre2-> desa (botó2actual);
// emmagatzema l’estat del darrer botó button1last = button1current; button2last = botó2actual; }
// aquesta funció es crida sempre que es rep un missatge d'ordres // d'Adafruit IO. es va adjuntar a // el canal d'ordres de la funció setup () anterior. void handleButton1 (dades AdafruitIO_Data *) {
int command = data-> toInt ();
if (ordre == 1) {// il·lumina el primer píxel Serial.print ("rebut de l'ordre (botó 1) <-"); Serial.println (ordre); // analogWrite (MOTOR_PIN, 200); // retard (500); // analogWrite (MOT_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // Franja groga.show (); } else {Serial.print ("rebut de l'ordre (botó 1) <-"); Serial.println (ordre); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }} // aquesta funció s'anomena sempre que es rep un missatge de "comanda" // d'Adafruit IO. es va adjuntar a // el canal d'ordres de la funció setup () anterior. void handleButton2 (dades AdafruitIO_Data *) {
int command2 = data-> toInt ();
if (command2 == 1) {// il·lumina el primer píxel Serial.print ("rebut de l'ordre2 (botó 2) <-"); Serial.println (ordre2); // analogWrite (MOTOR_PIN, 200); // retard (500); // analogWrite (MOT_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // Franja groga.show (); } else {Serial.print ("rebut de l'ordre2 (botó 2) <-"); Serial.println (ordre2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}
Pas 3: construcció del circuit del prototip a soldat
Us animo a provar una taula de proves per provar el circuit. Com que estem construint dos dispositius, podríem provar-los en dos taulers de suport. He soldat el Neopixel i el botó on.off a un cable de prototipat, ja que és més fàcil d’utilitzar. Més endavant, podeu soldar fàcilment els cables de prototipatge.
Després de tenir èxit amb el circuit de prototipatge, és hora de construir el nostre circuit real. Estic fent servir la placa de protecció Perma-proto, ja que és més petita i la connexió del circuit serà molt millor que el circuit de prototipatge. Quan es tracta de soldar, requereix molta paciència. No et rendeixis encara! Ja hi arribeu!
Un cop hàgiu acabat el circuit i hàgiu carregat el codi al vostre ESP8266, els dos dispositius haurien de funcionar tal com hem esmentat al principi.
Pas 4: formulari i material
Ara fem la nostra Crystal House!
Talleu el pal de fusta a 6 polzades. Necessitem 18 peces en total. Com que vull algunes variacions d’aquestes dues cases de vidre, he utilitzat 7 peces en una i 9 peces en l’altra. Enganxeu les peces a una estructura de caixa. Vaig tallar dues làmines acríliques de 6 per 6 polzades i les vaig enganxar a la part inferior de les cases de vidre.
Un cop acabi l'estructura de les cases. Decorem les cases! Vaig tallar un tros de paper transparent de colors i els vaig enganxar al full acrílic. Després d’això, he utilitzat uns cristalls de plàstic transparent i els he enganxat a la base. Com que tinc un paper de color transparent a la part inferior dels cristalls, els cristalls es reflecteixen a diferents colors.
Pas 5: Ara fem servir les cases de vidre
Dóna a la teva estimada la casa de vidre que has fet. Digueu-los que són importants. Sempre podeu modificar l’estructura exterior amb diferents materials i colors. Feu-me saber com va!
Recomanat:
Programació d'ATmega328 amb IDE Arduino mitjançant Crystal de 8 MHz: 4 passos
Programació d’ATmega328 amb Arduino IDE mitjançant Crystal 8MHz: en aquest Instuctable tractaré una guia pas a pas de programació d’un IC ATmega328P (el mateix microcontrolador present a Arudino UNO) mitjançant Arduino IDE i un Arduino UNO com a programador Arduino personalitzat, per fer els vostres projectes
Amplificador d’auriculars de forma lliure Crystal CMoy: 26 passos (amb imatges)
Crystal CMoy Amplificador d’auriculars de forma lliure: aquest circuit d’amplificació d’auriculars és diferent de les tècniques de construcció modernes convencionals, ja que és cablejat per aire, P2P (punt a punt) o cablejat de forma lliure, igual que a la bona vella vàlvula dies abans de la intervenció de PCB i transistor.R
Crystal Ball: See Into Your Future !: 7 Passos
Crystal Ball: See Into Your Future !: Voleu conèixer els secrets de l'univers? Bé, no es pot! Tanmateix, podeu esbrinar què us depara el futur creant la vostra pròpia bola de cristall. Vull dir, què hi ha per perdre? Si puc fer-ne un, també podeu fer-ho mitjançant un monitor LCD, un cul
ATmega8 As Arduino (amb Crystal intern de 8 MHz): 7 passos (amb imatges)
ATmega8 As Arduino (amb Crystal 8Mhz intern): Avui dia, aparells com Arduino han trobat un ús molt popular. Es poden utilitzar per crear una gran quantitat de projectes, però ocupen molt espai i són cars per a alguns de nosaltres (inclòs jo). Per solucionar aquest problema, us presento aquest instrument
Visió general del projecte Crystal Ball: 10 passos
Visió general del projecte Crystal Ball: aquest instructiu es va crear per complir els requisits del projecte del Makecourse de la Universitat del Sud de Florida (www.makecourse.com). fortuna tel