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

Muire: אפקטים אופטיים רגישים לקול: 5 שלבים
Muire: אפקטים אופטיים רגישים לקול: 5 שלבים

וִידֵאוֹ: Muire: אפקטים אופטיים רגישים לקול: 5 שלבים

וִידֵאוֹ: Muire: אפקטים אופטיים רגישים לקול: 5 שלבים
וִידֵאוֹ: Противовирусная настройка иммунитета 2024, דֵצֶמבֶּר
Anonim
Muire: אפקטים אופטיים רגישים לקול
Muire: אפקטים אופטיים רגישים לקול

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

דפוס PROJECT_MUIRE

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

햇빛 이 비칠 때 모기장 이 겹쳐 부위 부위 에 생긴 무늬 본 적이. 가까운 모기장 을 상하 좌우 로 움직 각도 각도 를 바꾸면 물결 도. 모기장 뿐만 아니라 일정한 간격 을 갖는 가 반복 반복 해 지면 서든 서든 이런 있다. 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 무늬 라고 부른다.

דפוס PROJECT_MUIRE

무 아르 패턴 은 다양한 종류 의 패턴 과 특징 을 있다. 이 패턴 을 개 와 개의 와 와 와 와 와 와 와 와 와 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다

שלב 1: אילו חומרים יהיו נחוצים?

אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?
אילו חומרים יהיו נחוצים?

1. גוף דפוס המויר

לבן אקריליק 5T [940 מ"מ X 840 מ"מ]

הדפסה אקרילית [דיו אקרילי]

2. דוגמאות דפוס Moire

סוג סיבוב

סוג צורה שטוחה

סוג חומרה

סוג חור שחור

אפקט התכווצות / הרחבה

אפקט בוער

3. מעגל חשמלי

Arduino Uno x 11

לוח לחם x 1

מנוע צעד_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (אקריליק לבן) 940mm X 840mm
  • Ink 인쇄 (דיו שחור)

2. 무 아뢰 패턴 의 종류

  • 회 전형
  • 일자형
  • 하드웨어 형
  • 빨려 들어가는 효과
  • 수축 / 팽창 하는 효과
  • 아지랑이 효과

3. 회로 구성

  • 아두이 도 나노 보드 (ארדואינו UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • מיקרופון 사운드 센서 (מקסימום 9814)
  • 빵판 (לוח לחם)
  • 외부 전원 (ספק כוח 5V 25A)

שלב 2: איור מישורי

דמות מישורית
דמות מישורית
דמות מישורית
דמות מישורית
דמות מישורית
דמות מישורית

1. חיתוך דמות מישורית

לבן אקריליק 5T (940mm x 840mm) X 2

אקריליק שקוף 5T (940mm x 840mm) X 1

אקריליק שקוף 3T (940mm x 840mm) X 1

2. הדפסה דמות מישורית

הדפסה אקרילית

1. 도면 커팅

흰색 아크릴 5T (940mm x 840mm) X 2

투명 아크릴 5T (940mm x 840mm) X 1

투명 아크릴 3T (940mm x 840mm) X 1

2. 도면 인쇄

아크릴 인쇄

שלב 3: תרשים מעגלים

תרשים מעגלים
תרשים מעגלים
תרשים מעגלים
תרשים מעגלים
תרשים מעגלים
תרשים מעגלים

חומרה עקרון הפעולה

POWER -> Arduino UNO -> חיישן הגברת צליל מיקרופון -> מוטור דירבר -> מנוע צעד

שלב 4: קידוד

סִמוּל
סִמוּל
סִמוּל
סִמוּל

תיאור קידוד Arduino

1. חיבור מנוע צעד

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

2. בהתאם לערך גודל הצליל, שלוט על מהירות מנוע הצעד

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

3. מהירות וכיוון הסיבוב של מנועי צעד המגיבים למוסיקה

כאשר המהירות היא 10 מעלות, והרעש הקבוע גדל, הוא מסתובב ב -30 מעלות, וגורם לדפוסי הסיבובים השונים להיראות אחרת.

מיתוג ארדואינו

#כלול // מנוע צעד- ספרייה

const int sampleWindow = 50; // זמן הדגימה 50ms ערך int ללא סימן; // ערך חיישן חישת הגברת הצליל התקבל משתנהבצעי ביצוע intPerRevolution = 2048; // הורדתו תאט אתכם ותגדיל אתכם מהר יותר

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // סיכת מנוע צעד int #1 ל- Arduino Digital 11, 9, 10, 8.

הגדרת בטל () {

Serial.begin (9600); // הפעל צג סדרתי, מהירות 9600

}

לולאת חלל () {

startMillis ללא חתום ארוך = מיליס (); // זמן דגימה ללא חתום int peakToPeak = 0; // משרעת האות הקולי

int signalMax = 0; // הגדר את הגודל המקסימלי לאפס בתחילה sign signal int signMin = 1024; // הגדר תחילה גודל מינימלי ל- 1024

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // אחזר נתוני חיישן קול אם (value signalMax) // מידות גודל מקסימלי signalMax = value; // Signal Size MaxMax save else if (value <signalMin) // מדידות גודל מינימלי signalMin = value; // גודל מינימלי sigmalMin save}}

peakToPeak = signalMax - signalMin; // מקסימום- Min = ערך Amplitude כפול וולט = (peakToPeak * 5.0) / 1024; // המר ל וולט = המרה לגודל צליל

int Speed = map (peakToPeak, 0, 600, 1, 30); // הגבל את ערך peakToPeak מ- 0 עד 600 עד 1 עד 30.

// אם peakToPeak עולה על 600, הוא הולך לאיבוד // שמור על הערך המרבי.

myStepper.setSpeed (מהירות); // סובב את מהירות מנוע הצעד לערך שנעשה על ידי פונקציית המפה (1-30) myStepper.step (stepsPerRevolution / 100); // זווית התנועה של מנוע הצעד (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (מהירות); // בדוק את מהירות המנוע בעזרת הצג הטורי

}

}

1. 스텝 모터 연결

수가 신호 를 때 스텝 바퀴 수가 수가 180 도 제어 를 하였고, 스텝 모터 와 연결 연결

INT 넘버 를 설정 하여 스텝 모터 의 회전 각과 연결

2. 소리 크기 값 에 따라, 스텝 모터 속도 제어

מיקרופון 0 와 연결된 A0 핀 을 출력 하고 시리얼 시리얼 에 에 이 후 후 후 후 후 후 이 이 이 이 이 이 가 가 가 가 가 가 가 이 이 스텝 모터 의 속도 가 제어 되게 함.

3. 음악 에 반응 하는 스텝 모터 의 속도 와 회전

10 만큼 의 속도 진행 되다가 일정 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면.

מיתוג ארדואינו

#כלול // מנוע צעדים 의 라이브러리

const int sampleWindow = 50; // 샘플링 한 시간 ערך int ללא חתום של 50ms; // 소리 int int int const int stepsPerRevolution = 2048; // **************** 여길 낮추면 느려지고 높이면 빨라짐

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // 스텝 모터 핀 int 1 번 부터 아두 이노 디지털 11, 9, 10, 8 순 으로 장착

הגדרת oid () {

Serial.begin (9600); // 시리얼 모니터 시작, 속도 00 9600

}

לולאת חלל () {

התחל ארוך לא חתום מיליס = מיליס (); // 샘플링 시작 int peakToPeak ללא חתום = 0; // 음성 신호 의 진폭

int signalMax = 0; // 최대 크기 를 초기 에는 0 으로 설정 uns signal int signalMin = 1024; // 최소 크기 를 초기 에는 1024 로 설정

while (millis () - startMillis <sampleWindow) {// 데이터 를 50ms 마다 모으는 while 문 value = analogRead (A0); // 소리 감지 센서 에 더 데이터 받아 오기 if (value signalMax) // 최대 크기 측정 signalMax = value; // 최대 크기 signalMax 에 저장 אחרת אם (ערך <signalMin) // 최소 크기 측정 signalMin = value; // 최소 크기 sigmalMin 에 저장}}

peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭 값 וולט כפול = (peakToPeak * 5.0) / 1024; // 전압 단위 로 변환 = 소리 크기 로 변환

int Speed = map (peakToPeak, 0, 600, 1, 30); // 0 부터 600 까지 뜨는 peakToPeak 값 부터 1 부터 30 까지 로 한정

// peakToPeak 의 최대 값 을 600 을 넘어 가면 끊김 // 최대 값 을 잘 잡아 주어야 S myStepper.setSpeed (מהירות); // 위 모터 의 스피드 를 위 מפה 함수 로 만들어 준 1- 1- 1- (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 각 (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (מהירות); // 시리얼 모니터 로 모터 의 속도 를 확인 하겠다

}

מוּמלָץ: