Kazalo:

Muire: Optični učinki, občutljivi na zvok: 5 korakov
Muire: Optični učinki, občutljivi na zvok: 5 korakov

Video: Muire: Optični učinki, občutljivi na zvok: 5 korakov

Video: Muire: Optični učinki, občutljivi na zvok: 5 korakov
Video: Часть 3 — Аудиокнига Эдит Уортон «Дом веселья» (Книга 1 — главы 11–15) 2024, November
Anonim
Muire: Optični učinki, občutljivi na zvok
Muire: Optični učinki, občutljivi na zvok

Morda ste videli valni vzorec na območju, kjer se komarnik prekriva, ko sije sonce. Ko premaknete bližnjo mrežo proti komarjem ali spremenite kot, se premika tudi vzorec valov. Če se vzorec z rednimi presledki, pa tudi posteljne mreže večkrat prekrivajo, se lahko ta vzorec pojavi kjer koli. To se imenuje pojav Muirre (Moire), vzorec, ki se pojavi, pa se imenuje vzorec Muirre.

VZOREC PROJECT_MUIRE

Vzorci Muir imajo veliko vrst vzorcev in značilnosti. Ta vzorec se uporablja za ustvarjanje devetih sektorjev in 11 različnih tipov vzorcev barjev za ustvarjanje različnih optičnih učinkov, odvisno od velikosti zvoka, na okvirjih pravokotne strukture okvirja.

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

VZOREC PROJECT_MUIRE

아르 패턴 은 다양한 종류 의 패턴 특징 을 가지고 있다. 이 패턴 을 개 9 개 와 11 개의 각기 다른 무 아르 패턴 을 이용 직사각형 의 액자형 구조 에 소리 크기 따라 각기 각기 따라 패턴 의 착시 효과 체험 연출 한다 한다

1. korak: Kateri materiali bodo potrebni?

Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?
Kateri materiali bodo potrebni?

1. Telo vzorca Moire

beli akril 5T [940 mm X 840 mm]

Akrilno tiskanje [akrilno črnilo]

2. Tipi v obliki vzorca Moire

Rotacijski tip

ravna oblika

Vrsta strojne opreme

Tip črne luknje

Učinek krčenja / širjenja

goreč učinek

3. Električni tokokrog

Arduino Uno x 11

Krušna deska x 1

Koračni motor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • 아크릴 5T (beli akril) 940 mm X 840 mm
  • 아크릴 인쇄 (črno črnilo)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Mikrofon 사운드 센서 (max9814)
  • 빵판 (deska za kruh)
  • 외부 전원 (Napajanje 5V 25A)

2. korak: Planarna slika

Planarna slika
Planarna slika
Planarna slika
Planarna slika
Planarna slika
Planarna slika

1. Rezanje ravninske figure

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

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

Prozorni akril 3T (940 mm x 840 mm) X 1

2. Tiskanje ravninskih figur

Akrilni tisk

1. 도면 커팅

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

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

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

2. 도면 인쇄

아크릴 인쇄

3. korak: Shema vezja

Shema vezja
Shema vezja
Shema vezja
Shema vezja
Shema vezja
Shema vezja

strojna oprema Načelo delovanja

POWER -> Arduino UNO -> Senzor za ojačanje zvoka mikrofona -> Motor Dirver -> koračni motor

4. korak: Kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje

Opis kodiranja Arduino

1. Priključitev koračnega motorja

Ko smo prejeli signal, smo nadzorovali število korakov za 180 stopinj, povezanih s koračnim motorjem. Nastavite številko INT za povezavo z vrtilnim kotom koračnega motorja.

2. Odvisno od vrednosti velikosti zvoka nadzirajte hitrost koračnega motorja

Odpre pin A0, povezan s senzorjem mikrofona, nastavi vrednost bolečine na serijskem monitorju in če senzor s sintakso poveča hitrost vrtenja koračnega motorja za 30, ko vrednost bolečine preseže 50.

3. Hitrost in smer vrtenja koračnih motorjev, ki se odzivajo na glasbo

Ko je hitrost 10 stopinj in se konstanten hrup poveča, se vrti za 30 stopinj, zaradi česar različni vzorci vrtenja izgledajo drugače.

ARDUINO KORDING

#include // stepper motor- Knjižnica

const int sampleWindow = 50; // Čas vzorčenja 50 ms vrednost brez podpisane int; // Vrednost senzorja za zaznavanje ojačanja zvoka sprejeta variabilna const int stepsPerRevolution = 2048; // Z znižanjem se boste upočasnili in hitreje povečali

Stepper myStepper (korakiPerRevolution, 11, 9, 10, 8); // Nožica koračnega motorja int #1 do Arduino digital 11, 9, 10, 8.

void setup () {

Serial.begin (9600); // Zaženite serijski monitor, hitrost 9600

}

void loop () {

brez podpisa dolg začetekMillis = millis (); // čas vzorčenja unsigned int peakToPeak = 0; // Amplituda glasovnega signala

brez podpisa int signalMax = 0; // Največjo velikost nastavimo na nič na začetku brez podpisa int signalMin = 1024; // Najprej nastavite najmanjšo velikost na 1024

while (millis () - startMillis <sampleWindow) {vrednost = analogRead (A0); // pridobivanje podatkov senzorja zvoka if (vrednost signalMax) // Največje meritve velikosti signalMax = vrednost; // Največja velikost signalMax shrani drugo if (vrednost <signalMin) // Najmanjša velikost meritve signalMin = vrednost; // Najmanjša velikost sigmalMin shrani}}

peakToPeak = signalMax - signalMin; // Največja- Min = vrednost amplitude dvojni volti = (peakToPeak * 5.0) / 1024; // Pretvori v volte = Pretvori v velikost zvoka

int Hitrost = zemljevid (peakToPeak, 0, 600, 1, 30); // Omejimo vrednost peakToPeak od 0 do 600 na 1 do 30.

// Če peakToPeak presega 600, se izgubi // Ohranite največjo vrednost.

myStepper.setSpeed (hitrost); // Zavrtimo hitrost koračnega motorja na vrednost, ki jo ustvari funkcija zemljevida (1-30) myStepper.step (stepsPerRevolution / 100); // Kot premikanja koračnega motorja (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (hitrost); // S serijskim monitorjem preverite hitrost motorja

}

}

1. 스텝 모터 연결

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

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

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

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

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

10 만큼 의 속도 가 진행 되다가, 일정 소리 가 되면 되면 30 의 속도 회전 하여 각기 다른 의 회전 들이 달리 보이게 되는 것을 유도함.

ARDUINO KORDING

#include // koračni motor 의 라이브러리

const int sampleWindow = 50; // 샘플링 한 시간 50ms nepodpisana vrednost int; // 소리 증폭 감지 센서 값 받는 변수 const int stepsPerRevolution = 2048; // *************** 여길 낮추면 느려지고 높이면 빨라짐

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

oid setup () {

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

}

void loop () {

brez podpisa dolg začetekMillis = millis (); // 샘플링 시작 brez podpisa int peakToPeak = 0; // 음성 신호 의 진폭

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

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

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

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

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

Serial.println (hitrost); // 시리얼 모니터 로 모터 의 속도 를 확인 하겠다

}

Priporočena: