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

פרויקט גמר לביש טק - קסדת DJ: 6 שלבים
פרויקט גמר לביש טק - קסדת DJ: 6 שלבים

וִידֵאוֹ: פרויקט גמר לביש טק - קסדת DJ: 6 שלבים

וִידֵאוֹ: פרויקט גמר לביש טק - קסדת DJ: 6 שלבים
וִידֵאוֹ: Smart Route - פרוייקט גמר מדעי המחשב 2024, יולי
Anonim
פרויקט גמר לביש טק - קסדת DJ
פרויקט גמר לביש טק - קסדת DJ

מטרתו של פרויקט זה היא להפוך קסדת תקליטנים עם נוריות תגובתיות למוזיקה להופעה ולגורם וואו. אנו משתמשים ברצועת LED שניתן להתייחס אליה מ- Amazon.com, כמו גם בקסדת אופנוע, יונידו וחבל ארדואינו.

אספקה

החומרים כוללים:

  • פס LED שניתן להתייחס אליו
  • קסדת אופנוע
  • ארדואינו אונו
  • חוטים וברזל הלחמה

שלב 1: קבלת נוריות להגיב לקול

בשלב הראשון אנו הולכים לבדוק את רצועת ה- LED כדי להגיב לצליל, אנו משתמשים בלוח הקול של Sparkfun ומחברים אותו ל- Arduino באמצעות לוח לחוט וחוט. בבדיקה עם תוכנת Arduino, נקבל שתי קריאות בהן אנו יכולים להשתמש. משרעת הצליל המגיעה מיציאת "מעטפה" וקריאת 1 /0 בינארית מיציאת "השער". השתמש במשתנים אלה כדי למפות לרצועת ה- led הניתנת להתייחסות, ואז "שער" הוא אחד, נוריות LED מציגות צבע מסוים, כאשר המעטפה היא מעל רמה מסוימת, הצג צבע מסוים. הקוד המלא יינתן.

שלב 2: חיתוך והלחמת נוריות לעיצוב הקסדה

נוריות לחיתוך והלחמה לעיצוב הקסדה
נוריות לחיתוך והלחמה לעיצוב הקסדה
נוריות לחיתוך והלחמה לעיצוב הקסדה
נוריות לחיתוך והלחמה לעיצוב הקסדה
נוריות לחיתוך והלחמה לעיצוב הקסדה
נוריות לחיתוך והלחמה לעיצוב הקסדה

בפרויקט שלי החלטתי להוסיף את נוריות הקסדה לקסדה בצורה X עם משולשים נוספים מבחוץ, אני מתכוון לגרום לעיצוב הזה לעבוד טוב יותר עם האופן שבו המוסיקה מתנגנת. אז שלב זה עוסק בחיתוך רצועות הלד באורכים הרצויים והלחמתן יחד על סימני החיתוך כדי ליצור פינות. הייתי צריך לעשות את זה בערך 10 פעמים וזה לוקח זמן רב במיוחד בהתמודדות עם חוטים קטנים. זוהי ההתקדמות בשלב זה

שלב 3: חוט ובדוק את נוריות הקסדה בקסדה

חברו ובדקו את נוריות ה- LED על הקסדה
חברו ובדקו את נוריות ה- LED על הקסדה
חברו ובדקו את נוריות ה- LED על הקסדה
חברו ובדקו את נוריות ה- LED על הקסדה

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

שלב 4: אלקטרוניקה בחינם מלוח הלחם

אלקטרוניקה חינם מלוח הלחם
אלקטרוניקה חינם מלוח הלחם
אלקטרוניקה חינם מלוח הלחם
אלקטרוניקה חינם מלוח הלחם
אלקטרוניקה חינם מלוח הלחם
אלקטרוניקה חינם מלוח הלחם

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

שלב 5: תצורה סופית

תצורה סופית
תצורה סופית

לשלב האחרון הזה, קראתי את הערכים המגיעים מלוח הקול ושיניתי את הקוד כך שיתאים לערכים החדשים ששינו אחד הכל הוצא מלוח הלחם. הדבקתי את רצועות הלד על הקסדה שבה לפני שהדביקו אותן ולבסוף בדקתי שוב.

שלב 6: קוד (Arduino)

// טבעת NeoPixel רישום פשוט (ג) 2013 שאריסון

// שוחרר תחת רישיון GPLv3 להתאמה לשאר

// ספריית NeoPixel של Adafruit

#לִכלוֹל

#ifdef _AVR_ #include // נדרש עבור תכשיט Adafruit 16 MHz #endif

// איזו סיכה ב- Arduino מחוברת ל- NeoPixels?

#define PIN 3 // ב- Trinket או Gemma, מציע לשנות את זה ל -1

// כמה NeoPixels מחוברים ל- Arduino?

#define NUMPIXELS 166 // גודל טבעת NeoPixel פופולרי

פיקסלים של Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // זמן (באלפיות השנייה) להשהיה בין הפיקסלים

הגדרת בטל () {

#אם מוגדר (_ AVR_ATtiny85_) && (F_CPU == 16000000)

ערכת_הגדלה של השעון (clock_div_1); #endif // END של קוד ספציפי ל- Trinket.

פיקסלים.התחל (); // התחל אובייקט רצועה NeoPixel (חובה)

Serial.begin (9600); }

לולאת חלל () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // עיכוב (5); //pixels.clear (); // הגדר את כל צבעי הפיקסלים 'כבוי'

if (sensorValue2 == 1) {

עבור (int i = 0; i <28; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

עבור (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

עבור (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 15, 0, 50);

}

עבור (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 15, 0, 50); }} /////////// i, 0, 0, 0);

}

עבור (int i = 48; i <81; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

עבור (int i = 102; i <129; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

עבור (int i = 148; i <166; i ++) {pixels.setPixelColor (i, 0, 0, 0); }} ////////////////////////////////// if (sensorValue == 3 || sensorValue == 2) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

עבור (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 255, 0, 0);

}

עבור (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 255, 0, 0);

} pixels.show (); } if (sensorValue> 3) {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

עבור (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

עבור (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 155, 155);

}

pixels.show (); } else {for (int i = 29; i <47; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

עבור (int i = 82; i <101; i ++) {pixels.setPixelColor (i, 0, 0, 0);

}

עבור (int i = 130; i <148; i ++) {pixels.setPixelColor (i, 0, 0, 0);} פיקסלים.הצג (); }}

מוּמלָץ: