Բովանդակություն:

Muire: Ձայնին զգայուն օպտիկական էֆեկտներ. 5 քայլ
Muire: Ձայնին զգայուն օպտիկական էֆեկտներ. 5 քայլ

Video: Muire: Ձայնին զգայուն օպտիկական էֆեկտներ. 5 քայլ

Video: Muire: Ձայնին զգայուն օպտիկական էֆեկտներ. 5 քայլ
Video: «Я чертова кухарка из штата Нью-Йорк»: интервью американской телезвезды о поездках в Украину 2024, Նոյեմբեր
Anonim
Muire: Ձայնին զգայուն օպտիկական էֆեկտներ
Muire: Ձայնին զգայուն օպտիկական էֆեկտներ

Հավանաբար, դուք տեսել եք ալիքի ձև այն տարածքի վրա, որտեղ մոծակների ցանցը համընկնում է, երբ արևը փայլում է: Երբ տեղափոխում եք մոտակա մոծակների ցանցը կամ փոխում եք անկյունը, ալիքի ձևը նույնպես շարժվում է: Եթե պարբերական ընդմիջումներով, ինչպես նաև մահճակալի ցանցերը բազմիցս համընկնում են, ապա այս օրինակը կարող է առաջանալ ցանկացած վայրում: Սա կոչվում է Muirre (Moire) երևույթ, և այն օրինակը, որը տեղի է ունենում, կոչվում է Muirre pattern:

PROJECT_MUIRE PATTERN

Մուիրի նախշերն ունեն բազմաթիվ տեսակի նախշեր և առանձնահատկություններ: Այս օրինաչափությունն օգտագործվում է ինը հատված և 11 տարբեր տեսակի խարիսխներ ստեղծելու համար ՝ օպտիկական էֆեկտների բազմազանություն ՝ կախված ձայնի չափից, շրջանակի կառուցվածքի շրջանակների վրա:

이 비칠 모기장 뿐만 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 라고:

PROJECT_MUIRE PATTERN

아르 패턴 이 패턴 을 9 개 섹터 와 11 개의 각기 다른 만든 아르,

Քայլ 1: Ի՞նչ նյութեր են անհրաժեշտ:

Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն
Ինչ նյութեր կպահանջվեն

1. Մուարի նախշի մարմինը

սպիտակ ակրիլ 5T [940 մմ X 840 մմ]

Ակրիլային տպագրություն [ակրիլային թանաք]

2. Moire Pattern - ձևավորված տեսակներ

Պտտվող տեսակ

հարթ ձևի տեսակը

Սարքավորման տեսակը

Սև անցքերի տեսակը

Փոքրացնել / ընդլայնել էֆեկտը

բոցավառ ազդեցություն

3. Էլեկտրական միացում

Arduino Uno x 11

Հացի տախտակ x 1

Տափաստանային շարժիչ_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (Սպիտակ ակրիլ) 940 մմ X 840 մմ
  • Black Black (Սև թանաք)

2. 아뢰 패턴 의

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

3. 구성

  • Ar 도 나노 ar (arduino UNO)
  • 28 모터 (28BYJ-48)
  • 모터 드라이브 (ULN2003A)
  • Խոսափող 사운드 센서 (առավելագույնը 9814)
  • B (Հացի տախտակ)
  • Power 전원 (սնուցման աղբյուր 5V 25A)

Քայլ 2: Planar Figure

Planar Figure
Planar Figure
Planar Figure
Planar Figure
Planar Figure
Planar Figure

1. Հարթ ֆիգուրի կտրում

Սպիտակ ակրիլ 5T (940 մմ x 840 մմ) X 2

Թափանցիկ ակրիլ 5T (940 մմ x 840 մմ) X 1

Թափանցիկ ակրիլ 3T (940 մմ x 840 մմ) X 1

2. Հարթ գծապատկերների տպագրություն

Ակրիլային տպագրություն

1. 커팅

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

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

T 3T (940 մմ x 840 մմ) X 1

2. 인쇄

아크릴 인쇄

Քայլ 3: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ

ապարատային շահագործման սկզբունքը

POWER -> Arduino UNO -> Խոսափողի ձայնի ուժեղացման տվիչ -> Motor Dirver -> Stepper motor

Քայլ 4: Կոդավորում

Կոդավորում
Կոդավորում
Կոդավորում
Կոդավորում

Arduino կոդավորման նկարագրություն

1. Stepper Motor Connection

Ազդանշանը ստանալուց հետո մենք վերահսկում էինք քայլերի քանակը 180 աստիճանով, որը միացված է քայլային շարժիչին: Տեղադրեք INT թիվը ՝ քայլ շարժիչի պտտման անկյունին միանալու համար:

2. Կախված ձայնի չափի արժեքից, վերահսկեք սլաքի շարժիչի արագությունը

Ելք է թողնում խոսափողի սենսորի հետ կապված A0 կապը, սահմանում է սերիական մոնիտորի ելքի ցավը, և եթե սենսորը օգտագործում է շարահյուսությունը ՝ քայլային շարժիչի պտտման արագությունը 30 -ով բարձրացնելու համար, երբ վնասվածքի արժեքը գերազանցում է 50 -ը:

3. Երաժշտությանը արձագանքող քայլային շարժիչների պտտման արագությունը և ուղղությունը

Երբ արագությունը 10 աստիճան է, և անընդհատ աղմուկն ավելանում է, այն պտտվում է 30 աստիճանով ՝ ստիպելով պտույտների տարբեր ձևերին այլ տեսք ունենալ:

ARDUINO CORDING

#ներառել // stepper motor- Գրադարան

const int sampleWindow = 50; // Նմուշառման ժամանակը 50ms unsigned int արժեքը; // Ձայնի ուժեղացման սենսորային սենսորային արժեքը ստացվել է փոփոխական </ b> քայլերի ներսումPerRevolution = 2048; // Այն իջեցնելը կդանդաղի ձեզ և կավելացնի ավելի արագ

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Stepper շարժիչի քորոց int #1 դեպի Arduino թվային 11, 9, 10, 8:

void setup () {

Serial.begin (9600); // Սկսեք սերիական մոնիտոր, արագություն 9600

}

դատարկ շրջան () {

անստորագիր երկար մեկնարկ Միլիս = միլիլ (); // Նմուշառման ժամանակը unsigned int peakToPeak = 0; // Ձայնային ազդանշանի ամպլիտուդիա

անստորագիր int signalMax = 0; // Առավելագույն չափը սահմանել զրոյի սկզբնական անստորագիր int signalMin = 1024; // Սկզբնական նվազագույն չափը սահմանել 1024

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // առբերել ձայնի տվիչների տվյալները, եթե (արժեքը signalMax) // Առավելագույն չափման չափումներ signalMax = արժեքը; // Maximum Size signalMax save else if (արժեքը <signalMin) // Minimal Size Measurements signalMin = value; // Նվազագույն չափի sigmalMin խնայողություն}}

peakToPeak = signalMax - signalMin; // Առավելագույն- Min = Amplitude Value կրկնակի վոլտ = (peakToPeak * 5.0) / 1024; // Փոխարկել վոլտ = Փոխարկել ձայնի չափի

int Արագություն = քարտեզ (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. 소리 크기 값 에 따라, 스텝 모터 속도 제어

խոսափող 센서 와 연결된 A0 핀 을 출력 하고, 시리얼 모니터 에 소리 값 if if, եթե 구문 을 하여 이 이 모터 의.

3. 에 반응 스텝 모터 의 의

10 의 속도 되다가, 일정 소리 되면 되면 30 의 속도 로

ARDUINO CORDING

#ներառել // տափաստանային շարժիչ 라이브러리

const int sampleWindow = 50; // ms 한 시간 50ms unsigned int արժեքը; // 변수 증폭 감지 센서 값 받는 변수 const int stepsPerRevolution = 2048; // *************** 여길 낮추면 느려지고 높이면

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

oid կարգավորում () {

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

}

դատարկ շրջան () {

անստորագիր երկար մեկնարկ Միլիս = միլիլ (); // 시작 անստորագիր int peakToPeak = 0; // 음성 신호 의 진폭

անստորագիր int signalMax = 0; // 최대 크기 를 초기 에는 0 으로 설정 անստորագիր int signalMin = 1024; // 최소 크기 를 초기 에는 1024 로

while (millis () - startMillis <sampleWindow) {// 데이터 ms 50ms 마다 모으는 while 문 value = analogRead (A0); // 소리 감지 센서 에 더 데이터 오기 (if (արժեքը signalMax) // 최대 크기 측정 signalMax = արժեքը; // 최대 크기 signalMax 저장 այլ եթե (արժեքը <signalMin) // 최소 크기 측정 signalMin = արժեքը; // 최소 크기 sigmalMin 저장}}

peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭 값 կրկնակի վոլտ = (peakToPeak * 5.0) / 1024; // 전압 단위 로 변환 = 소리 크기 로 변환

int Արագություն = քարտեզ (peakToPeak, 0, 600, 1, 30); // 0 부터 600 뜨는 뜨는 peakToPeak 값 을 1 부터 30 까지 한정

// peakToPeak 최대 값 이 600 을 넘어 가면 끊김 // 최대 값 을 잡아 함 함 myStepper.setSpeed (Արագություն); // 위 모터 의 스피드 를 위 քարտեզ 함수 로 만들어 준 으로 회전 시킨다 (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 steps (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (Արագություն); // 시리얼 모니터 로 모터 의 속도 를 확인

}

Խորհուրդ ենք տալիս: