תוכן עניינים:

קראאק דה קלויס: 4 שלבים
קראאק דה קלויס: 4 שלבים

וִידֵאוֹ: קראאק דה קלויס: 4 שלבים

וִידֵאוֹ: קראאק דה קלויס: 4 שלבים
וִידֵאוֹ: Part 5 - The Adventures of Huckleberry Finn Audiobook by Mark Twain (Chs 35-43) 2024, יולי
Anonim
קראאק דה קלויס
קראאק דה קלויס

היכרות

שלום לכולם, אני יכול באמת לומר שהפרק הראשון שלך הוא זה שאני יכול ללמד אותו על הפרויקט שלי ITTT. Dus voor mijn 'If This Then That' פרויקט זה לא יכול להיות מופעל באינטרנט.

הרעיון הוא אחד מהסוגים של חדרי בריחה שיכולים לייצר את המחשב שלכם באמצעות קוד מחשב. LET OP: זה לא יכול להתגבר על מסך! המחשב הנדרש עבור DIY 'אחד של קלושים עם קוד קלוס':- ארדואינו אונו (USB לכבל ארדואינו).- מחשב נייד (עם תוכנת ארדואינו).- 4 לחצנים (anders kun je geen code accounteren.).- 1 כבל ג'ל (שימוש זה יכול להציע את שירות השרת).- 1 חבילת Houten- 1 אבקת פלסטיק- 1 סיכה אחת

שלב 1: לוח הראשים:

לוח הראשים
לוח הראשים
לוח הראשים
לוח הראשים
לוח הראשים
לוח הראשים
לוח הראשים
לוח הראשים

אם אני מתחיל תמיד ניתן למצוא פרויקט דומה לחיפוש באינטרנט. ^^^

Ik ben hier me on the slag went en had myselfally 4x gekopieerd what hier on gesloten state. Dit see je on the photos ^^^

גם אתה יכול לבקר באתר הזה עבור קוד אחד. אני לא יכול לפקוד את הדלת הזו עבור 4 כפתורים.

Hieronder de code die erbij hoorde (voor nu): NIET WERKEND

#לִכלוֹל

סרוו מיסרבו;

int inputPin = 2; // כפתור int outputPin = 9; // servo int buttonState = HIGH; // נמוך כי schakelaar open is int pos = 0; // התחל positie servo int oldbuttonState; int int;

הגדרת void () {myservo.attach (outputPin); pinMode (inputPin, INPUT_PULLUP); Serial.begin (38400); } לולאת void () {int buttonState = digitalRead (inputPin); if (buttonState == HIGH &&! oldbuttonState) {if (state == 0) {pos = 0; מצב = 1; } אחר {pos = 180; מצב = 0; } oldbuttonState = 1; } אחרת אם (buttonState == LOW && oldbuttonState) {oldbuttonState = 0; } Serial.println (pos); Serial.println (buttonState); myservo.write (pos); }

שלב 2: Dreadboard Juiste Aansluiting:

לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting
לוח הראשים של Juiste Aansluiting

המחקר הבא שלי היה אחד הטכניקות לכך שאני יכול לדעת איך אני אמור לחזור בכל פעם מחדש.

Hierboven mijn schema en hier under mijn code (voor nu): NIET WERKEND

#לִכלוֹל

סרוו מיסרבו;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // כפתור 4

int buttonState2 = HIGH; // נמוך כי schakelaar פתוח הוא int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = HIGH;

int oldbuttonState2; int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 2, 3, 4}; int enterCode [4]; int codeIndex = 0;

int outputPin = 9; // סרוו

int pos; // start positie servo bool complete = true;

הגדרת void () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }

לולאת חלל () {אם (הושלמה) {עבור (int i = 0; i <4; i ++) {enterCode = 0; } pos = 100; myservo.write (pos); Serial.println ("הושלם"); הושלם = שקר; }

else {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5);

if (buttonState2 == HIGH &&! oldbuttonState2) // button1 {enterCode [codeIndex] = 1; codeIndex ++; // קוד אינדקס += oldbuttonState2 = 1; } אחרת אם (buttonState2 == LOW && oldbuttonState2) {oldbuttonState2 = 0; }

if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {Serial.println ("BUTTON2 PRESSED"); enterCode [codeIndex] = 2; codeIndex ++; oldbuttonState3 = 1; }

אחרת אם (buttonState3 == LOW && oldbuttonState3) {oldbuttonState3 = 0; }

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {enterCode [codeIndex] = 3; codeIndex ++; oldbuttonState4 = 1; } אחרת אם (buttonState4 == LOW && oldbuttonState4) {oldbuttonState4 = 0; }

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {enterCode [codeIndex] = 4; codeIndex ++; oldbuttonState5 = 1; } אחרת אם (buttonState5 == LOW && oldbuttonState5) {oldbuttonState5 = 0; } //Serial.print("entered: "); //Serial.println(enterCode[codeIndex-1]); //Serial.print("On: "); //Serial.println(codeIndex-1); }

אם (codeIndex == 4) {codeIndex = 0; bool codeEnteredCorrectly = true; עבור (int i = 0; i <4; i ++) {if (correctCode ! = enterCode ) {codeEnteredCorrectly = false; }}

אם (codeEnteredCorrectly) {pos = 0; myservo.write (pos); Serial.println (pos); עיכוב (5000); } הושלם = נכון; Serial.println (codeEnteredCorrectly? "True": "false"); }}

שלב 3: קוד Solderen/ Juiste:

קוד סולדרן/ ז'ויס
קוד סולדרן/ ז'ויס
קוד סולדרן/ ז'ויס
קוד סולדרן/ ז'ויס
קוד סולדרן/ ז'ויס
קוד סולדרן/ ז'ויס

כן! בן je al zover gekomen ?! סוּפֶּר!

עכשיו זה יכול לעזור אפילו לעשות את זה כדי לעשות הכל טוב! קודם כל צריך לבנות את זה בשביל שאתה הולך להתחיל עם אנשים אחרים.

עכשיו אתה צריך לקחת בחשבון שתחזיקי מעמד עם איך שאתה יכול לבוא לראות. Ook je de arduino in het kluisje legt of erbuiten.

אם אני יכול היה להבחין באחד הקונים שלי. אני יכול להמציא אותם על אחרים.

Eindelijk! גם אני יכול למצוא הרבה עזרה מהשימוש שלי ולצפות בעצמנו כדי לעשות את זה, הוא קוד קוד WERKENDE:

#לִכלוֹל

סרוו מיסרבו;

int inputPin2 = 2; // button1 int inputPin3 = 3; // button2 int inputPin4 = 4; // button3 int inputPin5 = 5; // כפתור 4

int buttonState2 = HIGH; // voor alle Buttons een state int buttonState3 = HIGH; int buttonState4 = HIGH; int buttonState5 = HIGH;

int oldbuttonState2; // voor alle Buttons een oldstate int oldbuttonState3; int oldbuttonState4; int oldbuttonState5;

int correctCode = {1, 3, 4, 2}; // תיקון קוד int enterCode [4]; // בקוד נתון int codeIndex = 0; //כַּספָּר

int outputPin = 9; // פלט servomotortje

int pos; // posie servo bool complete = true; // קמרון פתוח

הגדרת void () {myservo.attach (outputPin); pinMode (inputPin2, INPUT_PULLUP); pinMode (inputPin3, INPUT_PULLUP); pinMode (inputPin4, INPUT_PULLUP); pinMode (inputPin5, INPUT_PULLUP); Serial.begin (38400); }

לולאת void () {אם (הושלמה)

{for (int i = 0; i <4; i ++) // voor ieder cijfer in eneterCode {enterCode = 0; } pos = 100; // 100 מעלות היה voor mij de 'dichte' stand myservo.write (pos); // לשלוח את הפוזה אל דה סרוו הושלם = שקר; // de code is not compleet} else {int buttonState2 = digitalRead (inputPin2); int buttonState3 = digitalRead (inputPin3); int buttonState4 = digitalRead (inputPin4); int buttonState5 = digitalRead (inputPin5); if (buttonState2 == HIGH &&! oldbuttonState2) // button1 {Serial.println ("BUTTON1 PRESSED"); // laat לראות שהכפתור הזה gedrukt הוא enterCode [codeIndex] = 1; // zet het cijfer 1 ב- enterCode codeIndex ++; // מספר + 1 oldbuttonState2 = 1; // חישוב של הכפתור הוא gedrukt} אחרת אם (buttonState2 == LOW && oldbuttonState2) // als button1 is los gelaten {oldbuttonState2 = 0; // יכול להיות אחר בהדרוקט}} if (buttonState3 == HIGH &&! oldbuttonState3) // button2 {

Serial.println ("BUTTON2 הודפס"); // laat לראות שהכפתור הזה gedrukt הוא enterCode [codeIndex] = 2; // zet het cijfer 2 in de enterCode codeIndex ++; // מספר + 1 oldbuttonState3 = 1; // חישוב של הכפתור הוא gedrukt} אחרת אם (buttonState3 == LOW && oldbuttonState3) // als button2 is los gelaten {oldbuttonState3 = 0; // אפשר עוד באדרוקטים}

if (buttonState4 == HIGH &&! oldbuttonState4) // button3 {Serial.println ("BUTTON3 PRESSED"); // laat לראות שהכפתור הזה gedrukt הוא enterCode [codeIndex] = 3; // zet het cijfer 3 ב- enterCode codeIndex ++; // מספר + 1 oldbuttonState4 = 1; // חישוב של הכפתור הוא gedrukt} אחרת אם (buttonState4 == LOW && oldbuttonState4) // als button3 is los gelaten {oldbuttonState4 = 0; // אפשר עוד באדרוקטים}

if (buttonState5 == HIGH &&! oldbuttonState5) // button4 {Serial.println ("BUTTON4 PRESSED"); // laat לראות שהכפתור הזה gedrukt הוא enterCode [codeIndex] = 4; // zet het cijfer 4 in de enterCode codeIndex ++; // מספר + 1 oldbuttonState5 = 1; // חישוב של הכפתור הוא gedrukt} אחרת אם (buttonState5 == LOW && oldbuttonState5) // als button4 is los gelaten {oldbuttonState5 = 0; // אפשר עוד באדרוקטים}}

if (codeIndex == 4) // als mijn teller hoger is dan 4 {codeIndex = 0; // zet de teller weer op 0 bool codeEnteredCorrectly = true; // maak een nieuwe boolean aan for (int i = 0; i <4; i ++) // voor ieder cijfer in de enterCode {if (correctCode ! = enterCode ) // word gekeken of het not in de correctCode zit {codeEnteredCorrectly = false; // אם יש לי אחד מהמצבים שהמצב יכול להכיל את המילה hij false}}

אם (codeEnteredCorrectly) // אם הקוד נכון הוא: {pos = 0; // 0 מעלות היה voor mij de 'open' stand myservo.write (pos); // לשלוח את הדואר אל הסרוו Serial.println ("הושלם"); // נותן אינדיקציה לכך שהוא כולל עיכוב (5000); // 5 sec om het kluisje te openen} complete = true; // de code is not goed Serial.println ("נסה שוב"); // מצביעים על כך שאתה צריך לחדש. }

}

שלב 4: שלב 4 בוצע:

שלב 4 בוצע
שלב 4 בוצע

Schroef je kluisje יחד זה יהיה כיף!

אני יכול לקרוא מה אתה יכול לעשות.

מוּמלָץ: