Mục lục:

Muire: Hiệu ứng quang học nhạy cảm với âm thanh: 5 bước
Muire: Hiệu ứng quang học nhạy cảm với âm thanh: 5 bước

Video: Muire: Hiệu ứng quang học nhạy cảm với âm thanh: 5 bước

Video: Muire: Hiệu ứng quang học nhạy cảm với âm thanh: 5 bước
Video: Nghe 5 Phút đã hào hứng: " SAU ĐÊM ÂN ÁI " - Full Truyện tâm sự thầm kín đặc sắc #ThuHue kể 2023 2024, Tháng mười một
Anonim
Muire: Hiệu ứng quang học nhạy cảm với âm thanh
Muire: Hiệu ứng quang học nhạy cảm với âm thanh

Bạn có thể đã nhìn thấy một mô hình sóng trên khu vực chồng chéo màn chống muỗi khi mặt trời chiếu sáng. Khi bạn di chuyển màn chống muỗi gần đó hoặc thay đổi góc độ, dạng sóng cũng di chuyển theo. Nếu mô hình với các khoảng cách đều đặn cũng như các tấm lưới trải giường được chồng lên nhau nhiều lần, thì mô hình này có thể xảy ra ở bất cứ đâu. Đây được gọi là hiện tượng Muirre (Moire), và mô hình xảy ra được gọi là mô hình Muirre.

MẪU PROJECT_MUIRE

Muir hoa văn có nhiều loại hoa văn và đặc điểm. Mô hình này được sử dụng để tạo ra chín cung và 11 loại mô hình đồng hoang khác nhau để tạo ra nhiều hiệu ứng quang học, tùy thuộc vào kích thước của âm thanh, trên các khung cấu trúc khung hình chữ nhật.

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

MẪU PROJECT_MUIRE

무 아르 패턴 은 다양한 종류 의 패턴 과 특징 을 가지고 있다. 이 패턴 을 9 개 섹터 와 11 개의 각기 다른 만든 무 아르 패턴 을 이용 하여 직사각형 의 액자형 의 크기 효과 체험

Bước 1: Vật liệu nào sẽ cần thiết?

Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?
Vật liệu nào sẽ cần thiết?

1. Nội dung của Mô hình Moire

acrylic trắng 5T [940 mm X 840 mm]

In acrylic [mực acrylic]

2. Mô hình Moire - các loại hình

Kiểu quay

một loại hình phẳng

Loại phần cứng

Loại lỗ đen

Hiệu ứng thu nhỏ / mở rộng

một hiệu ứng rực lửa

3. Mạch điện

Arduino Uno x 11

Bảng bánh mì x 1

Động cơ bước_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • 아크릴 5T (Acrylic trắng) 940mm X 840mm
  • 아크릴 인쇄 (Mực đen)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Micrô 사운드 센서 (max9814)
  • 빵판 (Bread Board)
  • 외부 전원 (Nguồn điện 5V 25A)

Bước 2: Hình phẳng

Hình phẳng
Hình phẳng
Hình phẳng
Hình phẳng
Hình phẳng
Hình phẳng

1. Cắt hình phẳng

Acrylic trắng 5T (940mm x 840mm) X 2

Acrylic trong suốt 5T (940mm x 840mm) X 1

Acrylic trong suốt 3T (940mm x 840mm) X 1

2. In hình phẳng

In acrylic

1. 도면 커팅

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

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

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

2. 도면 인쇄

아크릴 인쇄

Bước 3: Sơ đồ mạch

Sơ đồ mạch
Sơ đồ mạch
Sơ đồ mạch
Sơ đồ mạch
Sơ đồ mạch
Sơ đồ mạch

phần cứng Nguyên tắc hoạt động

POWER -> Arduino UNO -> Cảm biến khuếch đại âm thanh micrô -> Động cơ Dirver -> Động cơ bước

Bước 4: Mã hóa

Mã hóa
Mã hóa
Mã hóa
Mã hóa

Mô tả mã hóa Arduino

1. Kết nối động cơ bước

Khi chúng tôi nhận được tín hiệu, chúng tôi điều khiển số bước 180 độ, kết nối với động cơ bước. Đặt số INT để kết nối với góc quay của động cơ bước.

2. Tùy thuộc vào giá trị kích thước âm thanh, điều khiển tốc độ động cơ bước

Đầu ra chân A0 được liên kết với cảm biến micrô, đặt giá trị đau để xuất trên màn hình nối tiếp và nếu cảm biến sử dụng cú pháp để tăng tốc độ quay của động cơ bước lên 30 khi giá trị đau vượt quá 50.

3. Tốc độ và hướng quay của động cơ bước phản ứng với âm nhạc

Khi tốc độ là 10 độ và tăng tiếng ồn liên tục, nó sẽ quay ở 30 độ, tạo ra các kiểu quay khác nhau trông khác nhau.

ARDUINO CORDING

#include // stepper motor- Library

const int sampleWindow = 50; // Thời gian lấy mẫu 50ms unsigned int value; // Giá trị cảm biến cảm biến khuếch đại âm thanh nhận được biếnconst int stepsPerRevolution = 2048; // Giảm nó xuống sẽ làm bạn chậm lại và tăng nhanh hơn

Bước myStepper (bướcPerRevolution, 11, 9, 10, 8); // Chân động cơ bước int # 1 tới Arduino số 11, 9, 10, 8.

void setup () {

Serial.begin (9600); // Khởi động màn hình nối tiếp, tốc độ 9600

}

void loop () {

unsigned long startMillis = millis (); // Thời gian lấy mẫu không dấu int peakToPeak = 0; // Biên độ của tín hiệu thoại

không dấu int signalMax = 0; // Đặt kích thước tối đa thành 0 ban đầu không dấu int signalMin = 1024; // Đặt kích thước tối thiểu ban đầu thành 1024

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // lấy dữ liệu cảm biến âm thanh if (value signalMax) // Kích thước tối đa signalMax = value; // Kích thước tối đa signalMax save else if (value <signalMin) // Kích thước tối thiểu signalMin = value; // Kích thước tối thiểu lưu sigmalMin}}

peakToPeak = signalMax - signalMin; // Cực đại- Min = Giá trị biên độ double volt = (peakToPeak * 5.0) / 1024; // Convert to Volts = Convert to Sound Size

int Speed = map (peakToPeak, 0, 600, 1, 30); // Giới hạn giá trị peakToPeak từ 0 đến 600 thành 1 đến 30.

// Nếu peakToPeak vượt quá 600 thì bị mất // Giữ giá trị lớn nhất.

myStepper.setSpeed (Tốc độ); // Xoay tốc độ của động cơ bước đến giá trị được tạo bởi hàm map (1-30) myStepper.step (stepsPerRevolution / 100); // Góc chuyển động của động cơ bước (stepPerRevolution = 2048) analogWrite (stepPerRevolution, Speed * 3);

Serial.println (Tốc độ); // Kiểm tra tốc độ của động cơ bằng màn hình nối tiếp

}

}

1. 스텝 모터 연결

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

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

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

micrô 센서 와 연결된 A0 핀 을 출력 하고, 시리얼 모니터 에 소리 값 이 출력 되 게끔 설정 후, nếu 구문 을 사용 하여 센서 에서 소리 값 이 50 이 넘어갈 때 스텝 모터 회전 의 속도 30 이 증가 하여, 소리 에 따라 스텝 모터 의 속도 가 제어 되게 함.

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

10 만큼 의 속도 가 진행 되다가, 일정 소리 가 커 지게 되면 30 의 속도 로 회전 하여 각기 다른 패턴 의 회전 들이 달리 보이게 연출 되는 것을.

ARDUINO CORDING

#include // động cơ bước 의 라이브러리

const int sampleWindow = 50; // 샘플링 한 시간 Giá trị int không dấu 50ms; // 소리 증폭 감지 센서 값 받는 변수 const int stepsPerRevolution = 2048; // *************** 여길 낮추면 느려지고 높이면 빨라짐

Bước myStepper (bướcPerRevolution, 11, 9, 10, 8); // 스텝 모터 핀 int 1 번 부터 아두 이노 디지털 11, 9, 10, 8 순 으로 장착

thiết lập oid () {

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

}

void loop () {

unsigned long startMillis = millis (); // 샘플링 시작 không dấu int peakToPeak = 0; // 음성 신호 의 진폭

không dấu int signalMax = 0; // 최대 크기 를 초기 에는 0 으로 설정 không dấu int signalMin = 1024; // 최소 크기 를 초기 에는 1024 로 설정

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

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

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

// peakToPeak 의 최대 값 이 600 을 넘어 가면 끊김 // 최대 값 을 잘 잡아 주어야 함 myStepper.setSpeed (Tốc độ); // 스텝 모터 의 스피드 를 위 map 함수 로 만들어 준 값 으로 회전 시킨다 (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 각 (stepsPerRevolution = 2048) analogWrite (stepPerRevolution, Speed * 3);

Serial.println (Tốc độ); // 시리얼 모니터 로 모터 의 속도 를 확인 하겠다

}

Đề xuất: