תוכן עניינים:
- שלב 1: חלקים, כלים, חומרים מתכלים
- שלב 2: תרשים מעגל וקוד
- שלב 3: בניית מעגלים מאב טיפוס להלחמה
- שלב 4: טופס וחומר
- שלב 5: עכשיו בואו נשתמש בבתי הקריסטל
וִידֵאוֹ: בית קריסטל: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
זוגות ומשפחות שנפרדים בשל מרחק רב חשים לעיתים קרובות את הכמיהה לקשר. קריסטל האוס בנוי לזוגות ומשפחות להתחבר זה לזה באמצעות אורות. בתי קריסטל מחוברים עם אותות wifi. כאשר אתה לוחץ על הכפתור בבית קריסטל אחד, אורות בית הבדולח השני מקבלים את האות ויופעלו. זה קל וכיף להכין! אעבור צעד אחר צעד מחומרים/כלים בהם נעשה שימוש, בניית/בדיקת מעגלים באמצעות ארדואינו ובניית מבנה בית הבדולח
שלב 1: חלקים, כלים, חומרים מתכלים
- חוזה נוצה מורכבת ESP8266 (שניים)
- קרש לחם בגודל חצי פרמה (פרומה-פרוטו) (שניים)
- סוללת ליתיום -3.7 1200mAh (שניים)
- מתג לחיצה/כפתור מיני (ארבעה)
- כפתור מיני NeoPixel (ארבעה)
- חוט לוח
- מלחם והלחמה
- חשפן חוטים
- כלי יד שלישית
- מקל עץ מרובע
- יריעת אקריליק
- אבן קריסטל שקופה
- נייר שקוף
- דבק מגע
שלב 2: תרשים מעגל וקוד
// מדריכים אינטרנט של דברים קוד דוגמה בכיתה // שילוב כניסות ויציאות // שני לחצנים שולחים פקודות להזנת AIO // LED ומנוע רוטט (או כל פלט דיגיטלי) פלאה/באז על פי נתוני הזנה // // שונה על ידי בקי שטרן 2017 // מבוסס על דוגמאות מספריית Adduruit IO Arduino: // https://github.com/adafruit/Adafruit_IO_Arduino // // Adafruit משקיעה זמן ומשאבים במתן קוד קוד פתוח זה. // אנא תמכו ב- Adafruit ובחומרת קוד פתוח על ידי רכישת // מוצרים מ- Adafruit! // // נכתב על ידי טוד טריס לתעשיות אדפרוט // זכויות יוצרים (ג) תעשיות אדפרוט 2016 // מורשות תחת רישיון MIT. // // כל הטקסט שלמעלה חייב להיות כלול בכל הפצה מחדש. #לִכלוֹל
-
#הגדר NeoPIN1 15
// פרמטר 1 = מספר הפיקסלים ברצועה // פרמטר 2 = מספר סיכה Arduino (רובם תקפים) // פרמטר 3 = דגלי סוג פיקסל, הוסיפו יחד לפי הצורך: // NEO_KHZ800 800 KHz bitstream (רוב מוצרי NeoPixel w/WS2812 נוריות) // NEO_KHZ400 400 KHz (קלאסיות 'v1' (לא v2) פיקסלי FLORA, מנהלי התקנים WS2811) // NEO_GRB פיקסלים מחוברים ל- GRB bitstream (רוב מוצרי NeoPixel) // NEO_RGB פיקסלים מחוברים לזרם סיביות RGB (פיקסלים v1 FLORA, לא v2) // NEO_RGBW פיקסלים מחוברים לזרם סיביות RGBW (מוצרי NeoPixel RGBW) רצועת Adafruit_NeoPixel = Adafruit_NeoPixel (2, NeoPIN1, NEO_GRB + NEO_KHZ800);
/*********************** תצורת IO של Adafruit ********************* *********
/ בקר ב- io.adafruit.com אם אתה צריך ליצור חשבון, // או אם אתה צריך את מפתח ה- IO של Adafruit. #הגדר IO_USERNAME "שם המשתמש שלך" #הגדר IO_KEY "ה- IO_KEY שלך"
/***************************** תצורת WIFI **************** **********************/
#הגדר WIFI_SSID "ה- wifi שלך" #הגדר WIFI_PASS "הסיסמה שלך"
#כלול "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
/*********************** קוד ראשי מתחיל כאן ********************* ***********/
#include #include #include #include
// #הגדר LED_PIN 15 #הגדר BUTTON1_PIN 4 #הגדר BUTTON2_PIN 14 // #הגדר MOTOR_PIN 5 // סיכה זו זקוקה ליכולת PWM
// כפתור מצב int button1current = 0; int button1last = 0; int button2current = 0; int button2last = 0;
// הגדר את הפקודה 'דיגיטלית' AdafruitIO_Feed *פקודה = io.feed ("פקודה"); AdafruitIO_Feed *command2 = io.feed ("command2");
הגדרת void () {strip.setBrightness (60); strip.begin (); strip.show (); // אתחל את כל הפיקסלים ל'כבוי '// הגדר סיכות לחצנים ככניסות עם pinMode נגד הנגשה פנימית (BUTTON1_PIN, INPUT_PULLUP); pinMode (BUTTON2_PIN, INPUT_PULLUP); // הגדר סיכת לד וסיכת מנוע כיציאות דיגיטליות // pinMode (MOTOR_PIN, OUTPUT); // pinMode (LED_PIN, OUTPUT);
// הפעל את החיבור הטורי Serial.begin (115200);
// התחבר ל- io.adafruit.com Serial.print ("התחברות ל- Adafruit IO"); io.connect (); // הגדר מטפל הודעות להזנת 'הפקודה'. // פונקציית handleMessage (המוגדרת להלן) // תתקשר בכל פעם שמתקבלת הודעה // שמתקבלת מ- adafruit io. command-> onMessage (handleButton1); command2-> onMessage (handleButton2);
// המתן לחיבור בזמן (io.status () <AIO_CONNECTED) {Serial.print ("."); עיכוב (500); }
// אנו מחוברים Serial.println (); Serial.println (io.statusText ());
// ודא שכל הזנות יקבלו את הערכים הנוכחיים שלהן מייד command-> get (); command2-> get (); }
לולאת חלל () {
// io.run (); נדרש לכל הסקיצות. // זה תמיד צריך להיות קיים בחלק העליון של פונקציית הלולאה // שלך. הוא משאיר את הלקוח מחובר ל- // io.adafruit.com ומעבד כל מידע נכנס. io.run ();
// לתפוס את המצב הנוכחי של הכפתור. // עלינו להפוך את ההיגיון מכיוון שאנו // משתמשים ב- INPUT_PULLUP. אם (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; }
// חזור אם הערך לא השתנה אם (button1current == button1last && button2current == button2last) return;
// שמור את המצב הנוכחי בפיד 'הדיגיטלי' ב- adafruit io Serial.print ("סטטוס כפתור שליחה 1 ->"); Serial.println (button1current); פקודה-> שמור (button1current);
// שמור את המצב הנוכחי בפיד ה'דיגיטלי 'ב- adafruit io Serial.print ("סטטוס כפתור שליחה 2 ->"); Serial.println (button2current); command2-> שמור (button2current);
// אחסן מצב כפתור אחרון button1last = button1current; button2last = button2current; }
// פונקציה זו נקראת בכל פעם שמתקבלת הודעת 'פקודה' // מ- Adafruit IO. הוא צורף ל // הזנת הפקודה בפונקציית ההתקנה () למעלה. void handleButton1 (נתוני AdafruitIO_Data *)
int command = data-> toInt ();
if (command == 1) {// להדליק את הפיקסל הראשון Serial.print ("התקבל מהפקודה (כפתור 1) <-"); Serial.println (פקודה); // analogWrite (MOTOR_PIN, 200); // עיכוב (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (0, strip. Color (200, 100, 0)); // צהוב strip.show (); } else {Serial.print ("התקבל מהפקודה (כפתור 1) <-"); Serial.println (פקודה); strip.setPixelColor (0, strip. Color (0, 0, 0)); // off strip.show (); }}} // פונקציה זו נקראת בכל פעם שמתקבלת הודעת 'פקודה' // מ- Adafruit IO. הוא צורף ל // הזנת הפקודה בפונקציית ההתקנה () למעלה. void handleButton2 (נתוני AdafruitIO_Data *)
int command2 = data-> toInt ();
if (command2 == 1) {// להדליק את הפיקסל הראשון Serial.print ("התקבל מ- command2 (כפתור 2) <-"); Serial.println (command2); // analogWrite (MOTOR_PIN, 200); // עיכוב (500); // analogWrite (MOTOR_PIN, 0); strip.setPixelColor (1, strip. Color (255, 128, 128)); // צהוב strip.show (); } else {Serial.print ("התקבל מהפקודה 2 (כפתור 2) <-"); Serial.println (command2); strip.setPixelColor (1, strip. Color (0, 0, 0)); // off strip.show (); }}
שלב 3: בניית מעגלים מאב טיפוס להלחמה
אני ממליץ לך לנסות על לוח לחם לבדוק את המעגל. מכיוון שאנו בונים שני מכשירים, נוכל לבדוק על שני קרש לחם. הלחמתי את Neopixel ואת כפתור on.off לחוט אב טיפוס מכיוון שהוא קל יותר לשימוש. בהמשך תוכל בקלות להלחם את חוטי האב -טיפוס.
אחרי שנצליח עם מעגל האב טיפוס, הגיע הזמן לבנות את המעגל האמיתי שלנו. אני משתמש בלוח הלחם Perma-proto מכיוון שהוא קטן יותר והחיבור של המעגל יהיה הרבה יותר טוב ממעגל האב טיפוס. כשזה מגיע להלחמה, זה דורש הרבה סבלנות. אל תוותרו עדיין! אתה מגיע לשם!
לאחר שתסיים את המעגל והעלית את הקוד ל- ESP8266 שלך, שני המכשירים אמורים לפעול כפי שהזכרנו בהתחלה.
שלב 4: טופס וחומר
עכשיו בואו נכין את בית הבדולח שלנו!
חותכים את מקל העץ ל -6 אינץ '. אנחנו צריכים 18 חתיכות בסך הכל. מכיוון שאני רוצה קצת וריאציה משני בית הבדולח האלה, השתמשתי ב -7 חלקים באחד וב -9 חלקים בשני. הדביקו את החלקים למבנה קופסה. חתכתי שני יריעות אקריליק בגודל 6 על 6 אינץ 'והדבקתי אותן בתחתית בתי הבדולח.
לאחר שתסיים את מבנה הבתים. בואו לקשט את הבתים! חתכתי פיסת נייר בצבע שקוף והדבקתי אותם על יריעת האקריליק. לאחר מכן השתמשתי בכמה גבישי פלסטיק שקופים והדבקתי אותם על הבסיס. מכיוון שיש לי נייר בצבע שקוף בתחתית הגבישים, הגבישים משתקפים לצבעים שונים.
שלב 5: עכשיו בואו נשתמש בבתי הקריסטל
תן לאהובך את בית הבדולח שיצרת. תגיד להם שהם חשובים! אתה תמיד יכול לשנות את המבנה החיצוני באמצעות חומרים וצבעים שונים. ספר לי איך הולך!
מוּמלָץ:
מחרוזת אור קריסטל חכמה: 9 שלבים (עם תמונות)
מחרוזת אור קריסטל חכמה: כאשר חג המולד מתקרב ואני במחקר מלא של אוטומציה ביתית וחפצים חכמים, החלטתי השנה לנסות ליצור מחרוזת אור RGB חכמה ונאה למראה. עשיתי מחקר רב על פתרונות DIY. ברחבי האינטרנט, מצד אחד כמה פר
תכנות ATmega328 עם Arduino IDE באמצעות קריסטל 8MHz: 4 שלבים
תכנות ATmega328 עם Arduino IDE באמצעות קריסטל 8MHz: במדריך זה ניתן להסביר צעד אחר צעד מדריך לתכנות IC ATmega328P (אותו מיקרו קיים ב- Arudino UNO) באמצעות Arduino IDE ו- Arduino UNO כמתכנת להכין לעצמך Arduino מותאם אישית, כדי ליצור את הפרויקטים שלך
אור מצב רוח קריסטל סופר קל: 6 שלבים
אור מצב רוח קריסטל סופר קל: שלום יוצרים! זהו פרויקט ארדואינו קל במיוחד שיתפקד ככלי למידה כמו גם אור מצב רוח מדהים. זה רק כמה חלקים, כך שתוכל להקציף אותו יחד בזמן שנדרש להדפסת הבסיס. הופך שיעור נהדר ל
סיכת קריסטל קוורץ וקול מוזיקה עם מגרש משחקים אקספרס: 8 שלבים (עם תמונות)
סיכת חישה של מוזיקה וקוורץ עם קוורץ אקספרס עם סיבוב משחקים: סיכה תגובתית-צלילית מיוצרת באמצעות מגרש משחקים אקספרס, גבישי קוורץ בתפזורת זולים, חוט, קרטון, פלסטיק שנמצא, סיכת בטיחות, מחט וחוט, דבק חם, בד, ומגוון כלים. זהו אב טיפוס, או טיוטה ראשונה, של
תצוגת קריסטל נוזלית באמצעות Arduno: 4 שלבים
תצוגת Liquid Cristal באמצעות Arduno: LCD (Liquid Crystal Display) היא סוג של אמצעי תצוגה המשתמשים בגביש נוזלי כצופה הראשי. במאמר זה אשתמש ב- 2x16 LCD. כי סוג LCD זה נמצא בעיקר בשוק. מפרט: צורה פיזית, ראה תמונה מספר עמוד