Table des matières:

Muire : Effets optiques sensibles au son : 5 étapes
Muire : Effets optiques sensibles au son : 5 étapes

Vidéo: Muire : Effets optiques sensibles au son : 5 étapes

Vidéo: Muire : Effets optiques sensibles au son : 5 étapes
Vidéo: John Muir, prophète d’une nature à protéger 2024, Juillet
Anonim
Muire: Effets optiques sensibles au son
Muire: Effets optiques sensibles au son

Vous avez peut-être vu un motif de vagues sur la zone où la moustiquaire se chevauche lorsque le soleil brille. Lorsque vous déplacez la moustiquaire à proximité ou modifiez l'angle, le motif des vagues se déplace également. Si le motif à intervalles réguliers ainsi que les moustiquaires se chevauchent à plusieurs reprises, ce motif peut se produire n'importe où. C'est ce qu'on appelle le phénomène Muirre (Moire), et le modèle qui se produit est appelé le modèle Muirre.

MOTIF PROJECT_MUIRE

Les motifs Muir ont de nombreux types de motifs et de caractéristiques. Ce motif est utilisé pour créer neuf secteurs et 11 types différents de motifs de landes afin de produire une variété d'effets optiques, en fonction de la taille du son, sur des cadres à structure rectangulaire.

.. 있다. 를 무아레 (모아레, Moire), 생기는 무늬를 무늬라고 부른다.

MOTIF PROJECT_MUIRE

. 9개 섹터와 11개의 각기다른, 각기 다른 무아르 연출한다.

Étape 1: Quels matériaux seront nécessaires ?

Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?
Quels matériaux seront nécessaires ?

1. Corps du motif moiré

acrylique blanc 5T[940 mm X 840 mm]

Impression acrylique [encre acrylique]

2. Motif moiré - types en forme

Type de rotation

un type de forme plate

Type de matériel

Type de trou noir

Effet de rétrécissement / expansion

un effet flamboyant

3. Circuit électrique

Arduino Uno x 11

Planche à pain x 1

Moteur pas à pas_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 패턴 바디

  • 5T (acrylique blanc) 940mm X 840mm
  • 아크릴 인쇄 (Encre noire)

2. 패턴의 종류

  • ??
  • ??
  • ??
  • 빨려 들어가는 효과
  • / 팽창 하는 효과
  • 효과

3

  • 나노 보드 (arduino UNO)
  • (28BYJ-48)
  • 모터 드라이브 (ULN2003A)
  • Micro 센서 (max9814)
  • 빵판 (Planche à pain)
  • (Alimentation 5V 25A)

Étape 2: Figure plane

Figure plane
Figure plane
Figure plane
Figure plane
Figure plane
Figure plane

1. Découpe de figures planes

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

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

Acrylique Transparent 3T (940mm x 840mm) X 1

2. Impression de figures planes

Impression acrylique

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. 인쇄

인쇄

Étape 3: schéma de circuit

Schéma
Schéma
Schéma
Schéma
Schéma
Schéma

matériel Principe de fonctionnement

POWER -> Arduino UNO -> Capteur d'amplification du son du microphone -> Motor Dirver -> Moteur pas à pas

Étape 4: Codage

Codage
Codage
Codage
Codage

Description du codage Arduino

1. Connexion du moteur pas à pas

Une fois que nous avons reçu le signal, nous avons contrôlé le nombre de pas à 180 degrés, connectés au moteur pas à pas. Réglez le nombre INT pour vous connecter à l'angle de rotation du moteur pas à pas.

2. En fonction de la valeur de la taille du son, contrôlez la vitesse du moteur pas à pas

Sort la broche A0 associée au capteur du microphone, définit la valeur de la douleur à émettre sur le moniteur série et si le capteur utilise la syntaxe pour augmenter la vitesse de rotation du moteur pas à pas de 30 lorsque la valeur de la douleur dépasse 50.

3. Vitesse et sens de rotation des moteurs pas à pas qui répondent à la musique

Lorsque la vitesse est de 10 degrés et que le bruit constant est augmenté, il tourne à 30 degrés, induisant les différents modèles de rotations à avoir un aspect différent.

CORDAGE ARDUINO

#include // moteur pas à pas - Bibliothèque

const int sampleWindow = 50; // Temps d'échantillonnage 50ms valeur int non signée; // Valeur du capteur de détection d'amplification sonore reçue variableconst int stepsPerRevolution = 2048; // L'abaisser vous ralentira et vous augmentera plus rapidement

Stepper myStepper(stepsPerRevolution, 11, 9, 10, 8); // Broche du moteur pas à pas int #1 vers Arduino digital 11, 9, 10, 8.

void setup() {

Serial.begin(9600); // Démarrer le moniteur série, vitesse 9600

}

boucle vide() {

début long non signéMillis = millis(); // Temps d'échantillonnage unsigned int peakToPeak = 0; // Amplitude du signal vocal

int non signé signalMax = 0; // Fixe la taille maximale à zéro initialement unsigned int signalMin = 1024; // Définir la taille minimale à 1024 initialement

while (millis() - startMillis < sampleWindow) { value = analogRead(A0); // récupérer les données du capteur sonore if (valeur signalMax) // Mesures de taille maximale signalMax = valeur; // Taille maximale signalMax save else if (value < signalMin) // Mesures de taille minimale signalMin = value; // Taille minimale sigmalMin save } }

picToPeak = signalMax - signalMin; // Maximum-Min = Valeur d'amplitude double volts = (peakToPeak * 5.0) / 1024; // Convertir en Volts = Convertir en Taille Son

int Speed = map(peakToPeak, 0, 600, 1, 30); // Limite la valeur peakToPeak de 0 à 600 à 1 à 30.

//Si peakToPeak dépasse 600, il est perdu // Conserver la valeur maximale.

myStepper.setSpeed(Vitesse); // Faites tourner la vitesse du moteur pas à pas à la valeur définie par la fonction map (1-30) myStepper.step(stepsPerRevolution / 100); //Angle de déplacement du moteur pas à pas (stepsPerRevolution=2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println(Vitesse); //Vérifier la vitesse du moteur avec le moniteur série

}

}

1. 연결

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

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

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

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

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

10, 30 유도함.

CORDAGE ARDUINO

#include // moteur pas à pas의 라이브러리

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

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

oid setup() {

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

}

boucle vide() {

début long non signéMillis = millis(); // 샘플링 시작 int non signé peakToPeak = 0; // 신호의 진폭

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

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

picToPeak = signalMax - signalMin; // 최대- 최소 = 진폭값 double volts = (peakToPeak * 5,0) / 1024; // 단위로 변환 = 소리 크기로 변환

int Speed = 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(Vitesse); //시리얼 모니터로 모터의 속도를 확인하겠다

}

Conseillé: