Mündəricat:

Muire: Səsə həssas optik effektlər: 5 addım
Muire: Səsə həssas optik effektlər: 5 addım

Video: Muire: Səsə həssas optik effektlər: 5 addım

Video: Muire: Səsə həssas optik effektlər: 5 addım
Video: Оратория Рождественский Агнец 2024, Dekabr
Anonim
Muire: Səsə həssas optik effektlər
Muire: Səsə həssas optik effektlər

Günəş işıq saçanda ağcaqanad torunun üst -üstə düşdüyü ərazidə dalğa nümunəsi görmüş ola bilərsiniz. Yaxınlıqdakı ağcaqanad torunu hərəkət etdirdiyinizdə və ya bucağı dəyişdirdiyiniz zaman dalğa nümunəsi də hərəkət edir. Müntəzəm fasilələrlə desen və yataq şəbəkələri dəfələrlə üst -üstə düşürsə, bu nümunə hər yerdə baş verə bilər. Buna Muirre (Moire) fenomeni, meydana gələn nümunəyə Muirre nümunəsi deyilir.

PROJECT_MUIRE NƏTİCƏSİ

Muir nümunələri bir çox növ naxış və xüsusiyyətə malikdir. Bu model, düzbucaqlı çərçivə quruluş çərçivələrində, səsin ölçüsündən asılı olaraq müxtəlif optik effektlər istehsal etmək üçün doqquz sektor və 11 fərqli növ moor nümunəsi yaratmaq üçün istifadə olunur.

햇빛 이 때 모기장 이 겹쳐 있는 부위 에 생긴 생긴 물결 무늬 를 본 적이 있을 것이다. 모기장 상하 좌우 로 로 이거나 이거나 각도 를 바꾸면 물결 무늬 도 도. 뿐만 일정한 간격 을 갖는 무늬 가 디 디 디 어지면 디 디 디 있다 있다 있다 있다. 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 무늬 라고 부른다.

PROJECT_MUIRE NƏTİCƏSİ

아르 은 다양한 종류 의 패턴 과 과 을 가지고 가지고 있다. 이 패턴 을 9 개 섹터 와 11 개의 다른 다른 무 아르 패턴 을 프레임 프레임 에 에 프레임 크기 크기 따라 따라 각기 다양 다양 다양 다양 착시 착시 착시 연출 다 한 다.

Addım 1: Hansı materiallara ehtiyac olacaq?

Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?
Hansı materiallara ehtiyac olacaq?

1. Moire modelinin gövdəsi

ağ akril 5T [940 mm X 840 mm]

Akril çap [akril mürəkkəb]

2. Moire Pattern formalı tiplər

Rotasiya növü

düz bir forma növü

Avadanlıq növü

Qara dəlik növü

Küçült / Genişləndirici effekt

alovlandırıcı təsir göstərir

3. Elektrik dövrəsi

Arduino Uno x 11

Çörək lövhəsi x 1

Stepper Motor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (ağ akril) 940mm X 840mm
  • Black 인쇄 (Qara mürəkkəb)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • U 모터 드라이브 (ULN2003A)
  • Mikrofon 사운드 센서 (max9814)
  • 빵판 (Çörək lövhəsi)
  • Power 전원 (Enerji təchizatı 5V 25A)

Addım 2: Planar Şəkil

Planar Şəkil
Planar Şəkil
Planar Şəkil
Planar Şəkil
Planar Şəkil
Planar Şəkil

1. Planar fiqur kəsmə

Ağ Akril 5T (940mm x 840mm) X 2

Şəffaf Akril 5T (940mm x 840mm) X 1

Şəffaf Akril 3T (940mm x 840mm) X 1

2. Planar fiqur çapı

Akril çap

1. 도면 커팅

T T 5T (940mm x 840mm) X 2

T T 5T (940mm x 840mm) X 1

3T (940mm x 840mm) X 1

2. 도면 인쇄

아크릴 인쇄

Addım 3: Dövrə Şeması

Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı
Dövrə diaqramı

hardware İşləmə prinsipi

POWER -> Arduino UNO -> Mikrofonun səs gücləndirmə sensoru -> Motor Direktoru -> Step motor

Addım 4: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma

Arduino kodlaşdırma təsviri

1. Stepper Motor Bağlantısı

Siqnalı aldıqdan sonra, pilləli motora bağlı 180 dərəcə addımların sayını idarə etdik, addım motorunun fırlanma bucağına qoşulmaq üçün INT nömrəsini təyin edin.

2. Səs ölçüsünün dəyərindən asılı olaraq, step motor sürətini idarə edin

Mikrofon sensoru ilə əlaqəli A0 pinini çıxarır, yara dəyərini serial monitorda çıxışa təyin edir və əgər sensör yara dəyəri 50 -dən artıq olduqda addım motorunun fırlanma sürətini 30 artırmaq üçün sintaksisdən istifadə edərsə.

3. Musiqiyə cavab verən pilləli motorların sürəti və fırlanma istiqaməti

Sürət 10 dərəcə olduqda və daimi səs -küy artırıldıqda, 30 dərəcə fırlanır və fərqli fırlanma nümunələri fərqli görünür.

ARDUINO KABLO

#daxil edin // step motor- Kitabxana

const int sampleWindow = 50; // Nümunə götürmə müddəti 50ms işarəsiz int dəyəri; // Səs gücləndirmə algılayıcı sensorun dəyəri int stepPerRevolution = 2048; // Onu aşağı salmaq sizi yavaşlatacaq və daha sürətli artıracaq

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Arduino digital 11, 9, 10, 8 -ə int #1 pilləli motor pin.

boş quraşdırma () {

Serial.begin (9600); // Serial monitoru işə salın, sürət 9600

}

boşluq döngəsi () {

işarəsiz uzun startMillis = millis (); // Nümunə götürmə vaxtı işarəsiz int PeakToPeak = 0; // Səs siqnalının amplitudası

işarəsiz int siqnalıMax = 0; // Maksimum ölçünü sıfıra qoyun əvvəlcə işarəsiz int signalMin = 1024; // Başlanğıcda minimum ölçünü 1024 olaraq təyin edin

while (millis () - startMillis <sampleWindow) {dəyər = analogRead (A0); // səs sensoru məlumatlarını əldə edin, əgər (dəyər signalMax) // Maksimum Ölçmələr signalMax = dəyər; // Maksimum Ölçüsü signalMax başqa şəkildə saxla, əgər (dəyər <signalMin) // Minimum Ölçü Ölçümləri signalMin = dəyər; // Minimum Ölçü sigmalMin saxla}}

pikToPeak = signalMax - signalMin; // Maksimum- Min = Genlik Dəyəri ikiqat volt = (pikToPeak * 5.0) / 1024; // Volta çevir = Səs Ölçüsünə çevir

int Speed = xəritə (pikToPeak, 0, 600, 1, 30); // PikToPeak dəyərini 0 ilə 600 arasında 1 ilə 30 arasında məhdudlaşdırın.

// peakToPeak 600 -dən çox olarsa, itirilir // Maksimum dəyəri saxlayın.

myStepper.setSpeed (Sürət); // Step motorunun sürətini xəritə funksiyası (1-30) myStepper.step (stepsPerRevolution / 100) tərəfindən verilən dəyərə çevirin; // Step motorun hərəkət açısı (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (Sürət); // Serial monitorla motorun sürətini yoxlayın

}

}

1. 스텝 모터 연결

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

Daxil olun

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

mikrofon 센서 와 연결된 A0 핀 을 출력 하고, 시리얼 에 소리 값 이 출력 되 설정 설정 후 후 을 사용 하여 센서 에서 값 이 이 이 이 이 이 스텝 스텝 가 이 이 30 이 증가 하여 소리 모터 의 속도 가 제어 되게 함.

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

10 만큼 속도 가 진행 되다가 되다가, 일정 소리 가 지게 지게 되면 30 의 속도 로 회전 각기 다른 패턴 패턴 의 들이 들이 보이게 유도함 유도함 유도함.

ARDUINO KABLO

#daxil edin // step motor 의 라이브러리

const int sampleWindow = 50; // 샘플링 한 시간 50ms imzasız int dəyəri; // int 증폭 감지 센서 값 받는 int const int stepsPerRevolution = 2048; // *************** 여길 낮추면 느려지고 높이면 빨라짐

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

aid setup () {

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

}

boşluq döngəsi () {

işarəsiz uzun startMillis = millis (); // 샘플링 시작 işarəsiz int pikToPeak = 0; // 음성 신호 의 진폭

işarəsiz int siqnalıMax = 0; // 최대 크기 를 초기 에는 0 으로 설정 işarəsiz int signalMin = 1024; // 최소 크기 를 초기 에는 1024 il əvvəl

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

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

int Speed = xəritə (pikToPeak, 0, 600, 1, 30); // 0 부터 600 까지 zirvəsi PeakToPeak 값 1 부터 30 까지 정 한

// peakToPeak 의 최대 이 이 600 을 끊김 끊김 끊김 최대 주 주 주 함 myStepper.setSpeed (Speed); // 스텝 모터 의 스피드 를 위 xəritə (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 각 (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (Sürət); // 시리얼 모니터 로 모터 의 의 속도 를 확인 하겠다

}

Tövsiyə: