Sommario:

Muire: effetti ottici sensibili al suono: 5 passaggi
Muire: effetti ottici sensibili al suono: 5 passaggi

Video: Muire: effetti ottici sensibili al suono: 5 passaggi

Video: Muire: effetti ottici sensibili al suono: 5 passaggi
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Muire: effetti ottici sensibili al suono
Muire: effetti ottici sensibili al suono

Potresti aver visto un motivo a onde nell'area in cui la zanzariera si sovrappone quando splende il sole. Quando si sposta la zanzariera vicina o si cambia l'angolazione, anche il motivo a onde si sposta. Se il motivo a intervalli regolari e le reti del letto vengono ripetutamente sovrapposti, questo motivo può verificarsi ovunque. Questo è chiamato fenomeno Muirre (Moire) e il modello che si verifica è chiamato modello Muirre.

PROJECT_MUIRE PATTERN

I modelli Muir hanno molti tipi di modelli e caratteristiche. Questo modello viene utilizzato per creare nove settori e 11 diversi tipi di modelli di brughiera per produrre una varietà di effetti ottici, a seconda delle dimensioni del suono, su telai con struttura a telaio rettangolare.

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

PROJECT_MUIRE PATTERN

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

Passaggio 1: quali materiali saranno necessari?

Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?
Quali materiali saranno necessari?

1. Corpo del motivo moiré

acrilico bianco 5T[940 mm X 840 mm]

Stampa su acrilico [inchiostro acrilico]

2. Moiré Moiré - tipi a forma

Tipo di rotazione

un tipo di forma piatta

Tipo di hardware

Tipo di buco nero

Effetto di restringimento/espansione

un effetto fiammeggiante

3. Circuito elettrico

Arduino Uno x 11

Tagliere x 1

Motore passo-passo_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무아뢰 패턴 바디

  • 아크릴 5T (acrilico bianco) 940 mm X 840 mm
  • 아크릴 인쇄 (inchiostro nero)

2. 무아뢰 패턴의 종류

  • ?
  • ?
  • ?
  • 빨려 들어가는 효과
  • 수축 / 팽창 하는 효과
  • 아지랑이 효과

3

  • 나노 보드 (arduino UNO)
  • (28BYJ-48)
  • 모터 드라이브 (ULN2003A)
  • Microfono 센서 (max9814)
  • 빵판 (tagliere di pane)
  • (Alimentazione 5V 25A)

Passaggio 2: figura planare

Figura piana
Figura piana
Figura piana
Figura piana
Figura piana
Figura piana

1. Taglio della figura planare

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

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

Acrilico trasparente 3T (940mm x 840mm) X 1

2. Stampa di figure planari

Stampa su acrilico

1. 커팅

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

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

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

2. 인쇄

아크릴 인쇄

Passaggio 3: schema elettrico

Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico

hardware Principio di funzionamento

POWER -> Arduino UNO -> Sensore di amplificazione del suono del microfono -> Motor Driver -> Motore passo-passo

Passaggio 4: codifica

codifica
codifica
codifica
codifica

Descrizione della codifica Arduino

1. Collegamento del motore passo-passo

Una volta ricevuto il segnale, abbiamo controllato il numero di passi di 180 gradi, collegati al motore passo-passo. Impostare il numero INT da collegare all'angolo di rotazione del motore passo-passo.

2. A seconda del valore della dimensione del suono, controllare la velocità del motore passo-passo

Emette il pin A0 associato al sensore del microfono, imposta il valore della piaga da emettere sul monitor seriale e se il sensore utilizza la sintassi per aumentare la velocità di rotazione del motore passo-passo di 30 quando il valore della piaga supera 50.

3. Velocità e senso di rotazione dei motori passo passo che rispondono alla musica

Quando la velocità è di 10 gradi e il rumore costante viene aumentato, ruota di 30 gradi, inducendo i diversi schemi di rotazione a sembrare diversi.

CORDATURA ARDUINO

#include // motore passo-passo- Libreria

const int sampleWindow = 50; // Tempo di campionamento 50ms valore int senza segno; // Valore del sensore di rilevamento dell'amplificazione del suono ricevuto variableconst int stepsPerRevolution = 2048; // Abbassarlo ti rallenterà e ti aumenterà più velocemente

Stepper myStepper(stepsPerRevolution, 11, 9, 10, 8); // Pin del motore passo-passo int #1 su Arduino digital 11, 9, 10, 8.

void setup() {

Serial.begin(9600); // Avvia monitor seriale, velocità 9600

}

ciclo vuoto() {

unsigned long startMillis = millis(); // Tempo di campionamento unsigned int peakToPeak = 0; // Ampiezza del segnale vocale

unsigned int signalMax = 0; // Imposta la dimensione massima a zero inizialmente senza segno int signalMin = 1024; // Imposta inizialmente la dimensione minima su 1024

while (millis() - startMillis < sampleWindow) { value = analogRead(A0); // recupera i dati del sensore sonoro if (value signalMax) // Misure di dimensione massima signalMax = value; // Dimensione massima signalMax save else if (value < signalMin) // Misure di dimensione minima signalMin = value; // Dimensione minima sigmalMin save } }

peakToPeak = signalMax - signalMin; // Massimo-Min = valore di ampiezza doppi volt = (peakToPeak * 5.0) / 1024; // Converti in Volt = Converti in dimensione del suono

int Velocità = map(peakToPeak, 0, 600, 1, 30); // Limita il valore peakToPeak da 0 a 600 a 1 a 30.

//Se peakToPeak supera 600, viene perso // Mantieni il valore massimo.

myStepper.setSpeed(Velocità); // Ruota la velocità del motore passo-passo sul valore ottenuto dalla funzione map (1-30) myStepper.step(stepsPerRevolution / 100); //Angolo di movimento del motore passo-passo (stepsPerRevolution=2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println(Velocità); //Controlla la velocità del motore con il monitor seriale

}

}

1. 연결

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

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

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

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

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

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

CORDATURA ARDUINO

#include // motore passo-passo의 라이브러리

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

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

oid setup() {

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

}

ciclo vuoto() {

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

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

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

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

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

// peakToPeak의 600을 // myStepper.setSpeed(Speed); // 스피드를 위 map함수로 만들어준 값으로 회전시킨다 (1-30) myStepper.step(stepsPerRevolution / 100); //스텝모터가 움직이는 각 (stepsPerRevolution=2048) analogWrite(stepsPerRevolution, Speed*3);

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

}

Consigliato: