İçindekiler:
- Adım 1: Hangi Malzemelere İhtiyaç Duyulacak?
- Adım 2: Düzlemsel Şekil
- Adım 3: Devre Şeması
- Adım 4: Kodlama
- Adım 5: Film Yapımı
Video: Muire: Sese Duyarlı Optik Efektler: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Güneş parladığında cibinliğin üst üste geldiği alanda bir dalga deseni görmüş olabilirsiniz. Yakındaki cibinliği hareket ettirdiğinizde veya açıyı değiştirdiğinizde dalga deseni de hareket eder. Düzenli aralıklarla yapılan desen ve cibinlikler üst üste bindirilirse bu desen her yerde olabilir. Buna Muirre (Moire) fenomeni denir ve meydana gelen modele Muirre paterni denir.
PROJECT_MUIRE DESENİ
Muir desenleri birçok desen ve özelliğe sahiptir. Bu model, dikdörtgen çerçeve yapılı çerçeveler üzerinde sesin boyutuna bağlı olarak çeşitli optik efektler üretmek için dokuz sektör ve 11 farklı türde moor deseni oluşturmak için kullanılır.
햇빛이 비칠때 모기장이 겹쳐 있는 부위에 물결무늬를 본 적이 있을 것이다. 가까운 모기장을 상하좌우로 움직이거나 각도를 바꾸면 물결무늬도 움직인다. 모기장뿐만 아니라 일정한 간격을 갖는 무늬가 반복해 어디서든 이런 무늬가 생길 수 있다. 이 를 무아레 (모아레, Moire) 현상이라고 부르고, 이때 생기는 무늬를 무아레 무늬라고 부른다.
PROJECT_MUIRE DESENİ
무아르 패턴은 다양한 종류의 패턴과 특징을 가지고 있다. 이 패턴을 9개 섹터와 11개의 각기다른 만든 패턴을 이용하여 직사각형의 액자형 구조 소리의 크기에 따라, 각기 다른 무아르 패턴의 다양한 체험을 체험을 연출한다.
Adım 1: Hangi Malzemelere İhtiyaç Duyulacak?
1. Hareli Desenin Gövdesi
beyaz akrilik 5T[940 mm X 840 mm]
Akrilik baskı [akrilik mürekkep]
2. Hareli Desen - şekilli tipler
Dönme tipi
düz bir form türü
Donanım türü
kara delik türü
Küçültme / Genişletme efekti
alev etkisi
3. Elektrik devresi
Arduino Uno x 11
Ekmek Tahtası x 1
Step Motor_28BYJ-48 x 11
ULN2003A x 11
MAX9814 x 11
1. 무아뢰 패턴 바디
- 아크릴 5T(Beyaz akrilik) 940mm X 840mm
- 아크릴 인쇄 (Siyah mürekkep)
2. 무아뢰 패턴의 종류
- 회전형
- 일자형
- 하드웨어형
- 빨려 들어가는 효과
- 수축 / 팽창 하는 효과
- 아지랑이 효과
3. 회로구성
- 아두이도 나노 보드 (arduino UNO)
- 스텝모터 (28BYJ-48)
- 스텝 모터 드라이브 (ULN2003A)
- Mikrofon 사운드 센서 (max9814)
- 빵판 (Ekmek Tahtası)
- 외부전원 (Güç kaynağı 5V 25A)
Adım 2: Düzlemsel Şekil
1. Düzlemsel şekil kesme
Beyaz Akrilik 5T (940mm x 840mm) X 2
Şeffaf Akrilik 5T (940mm x 840mm) X 1
Şeffaf Akrilik 3T (940mm x 840mm) X 1
2. Düzlemsel şekil baskısı
Akrilik baskı
1. 도면 커팅
흰색 아크릴 5T (940mm x 840mm) X 2
투명 아크릴 5T (940mm x 840mm) X 1
투명 아크릴 3T (940mm x 840mm) X 1
2. 도면 인쇄
아크릴 인쇄
Adım 3: Devre Şeması
donanım Çalışma prensibi
GÜÇ -> Arduino UNO -> Mikrofon ses yükseltme sensörü -> Motor Yönlendiricisi -> Adım motoru
Adım 4: Kodlama
Arduino kodlama açıklaması
1. Step Motor Bağlantısı
Sinyali aldıktan sonra adım motora bağlı 180 derecelik adım sayısını kontrol ettik. Adım motorun dönüş açısına bağlanmak için INT numarasını ayarlayın.
2. Ses boyutu değerine bağlı olarak, step motor hızını kontrol edin
Mikrofon sensörüyle ilişkili A0 pininin çıkışını verir, kesik değeri seri monitörde çıkış yapacak şekilde ayarlar ve sensör, boğaz değeri 50'yi aştığında adım motorun dönüş hızını 30 artırmak için sözdizimini kullanırsa.
3. Müziğe tepki veren step motorların hızı ve dönüş yönü
Hız 10 derece olduğunda ve sabit gürültü arttığında, 30 derecede dönerek farklı dönüş kalıplarının farklı görünmesine neden olur.
ARDUINO KODLAMA
#include // step motor- Kitaplık
const int örnekWindow = 50; // Örnekleme süresi 50ms unsigned int değeri; // Ses amplifikasyonu algılayan sensör değeri alınan değişkenconst int stepPerRevolution = 2048; //Düşürmek sizi yavaşlatır ve daha hızlı artırır
Stepper myStepper(stepsPerRevolution, 11, 9, 10, 8); // Step motor pin int #1 - Arduino dijital 11, 9, 10, 8.
geçersiz kurulum() {
Seri.başla(9600); // Seri izlemeyi başlat, hız 9600
}
boşluk döngüsü () {
imzasız uzun startMillis = millis(); // Örnekleme zamanı unsigned int peakToPeak = 0; // Ses sinyalinin genliği
imzasız int sinyalMax = 0; // Başlangıçta maksimum boyutu sıfıra ayarlayın unsigned int signalMin = 1024; // Başlangıçta minimum boyutu 1024 olarak ayarla
while (millis() - startMillis < sampleWindow) { değer = analogRead(A0); // eğer (değer sinyaliMax) ses sensörü verilerini al // Maksimum Boyut Ölçümleri sinyalMax = değer; // Maksimum Boyut sinyaliMax başka kaydet if (değer < sinyalMin) // Minimum Boyut Ölçümleri sinyalMin = değer; // Minimum Boyut sigmalMin save } }
peakToPeak = sinyalMax - sinyalMin; // Maksimum- Min = Genlik Değeri double volt = (peakToPeak * 5.0) / 1024; // Volta Dönüştür = Ses Boyutuna Dönüştür
int Hız = map(peakToPeak, 0, 600, 1, 30); // PeakToPeak değerini 0 ile 600 ile 1 ile 30 arasında sınırlayın.
//tepeToPeak 600'ü aşarsa kaybolur // Maksimum değeri koru.
myStepper.setSpeed(Hız); // Step motorun hızını harita fonksiyonu tarafından yapılan değere döndürün (1-30) myStepper.step(stepsPerRevolution / 100); //Adım motorun hareket açısı (stepsPerRevolution=2048) analogWrite (stepsPerRevolution, Speed*3);
Seri.println(Hız); //Seri monitör ile motorun hızını kontrol edin
}
}
1. 스텝모터 연결
한번 신호를 받을때 스텝 바퀴수가 180도 제어를하였고, 스텝모터와 연결한
INT 넘버를 설정하여 스텝모터의 회전 각과 연결진행
2. 소리 크기 값에 따라, 스텝모터 속도 제어
mikrofon 센서와 연결된 A0 핀을 출력하고, 시리얼 모니터에 소리값이 출력되게끔 설정후, eğer 구문을 사용하여 센서에서 소리값이 50 이 넘어갈때 스텝모터 회전의 속도가 30 이 증가 하여, 소리에 따라 스텝모터의 속도가 제어 되게함.
3.음악에 반응하는 스텝모터의 속도와 회전 방향
10만큼의 속도가 진행되다가, 일정 소리가 커지게 되면 30의 속도로 회전하여각기 다른 패턴의 회전들이 달리 연출되는 것을 유도함.
ARDUINO KODLAMA
#include // step motor의 라이브러리
const int örnekWindow = 50; // 샘플링한 시간 50ms imzasız int değeri; // 소리 증폭 감지 센서 값 받는 변수 const int stepPerRevolution = 2048; //***************여길 낮추면 느려지고 높이면 빨라짐
Stepper myStepper(stepsPerRevolution, 11, 9, 10, 8); //스텝모터 핀 int 1번 부터 아두이노 디지털 11, 9, 10, 8 순으로 장착
oid kurulum() {
Seri.başla(9600); // 시리얼 모니터 시작, 속도는 9600
}
boşluk döngüsü () {
imzasız uzun startMillis = millis(); // 샘플링 시작 unsigned int peakToPeak = 0; // 음성 신호의 진폭
imzasız int sinyalMax = 0; // 최대 크기를 초기에는 0으로 설정 unsigned int sinyalMin = 1024; // 최소 크기를 초기에는 1024로 설정
while (millis() - startMillis < sampleWindow) { // 데이터를 50ms마다 모으는 while문 değeri = analogRead(A0); // 소리 감지센서에더 데이터 받아오기 if (signalMax değeri) // 최대 크기 측정 signalMax = değer; // 최대 크기 signalMax에 저장 else if (değer < sinyalMin) // 최소 크기 측정 sinyalMin = değer; // 최소 크기 sigmalMin에 저장 } }
peakToPeak = sinyalMax - sinyalMin; // 최대- 최소 = 진폭값 çift volt = (peakToPeak * 5.0) / 1024; // 전압 단위로 변환 = 소리 크기로 변환
int Hız = map(peakToPeak, 0, 600, 1, 30); // 0 부터 600까지 뜨는 peakToPeak값을 1부터 30까지로 한정
// peakToPeak의 최대값이 600을 넘어가면 끊김 // 최대값을 잘 잡아주어야함 myStepper.setSpeed(Hız); // 스텝모터의 스피드를 위 harita함수로 만들어준 값으로 회전시킨다 (1-30) myStepper.step(stepsPerRevolution / 100); //스텝모터가 움직이는 각 (stepsPerRevolution=2048) analogWrite(stepsPerRevolution, Hız*3);
Seri.println(Hız); //시리얼 모니터로 모터의 속도를 확인하겠다
}
Önerilen:
Sese Duyarlı RGB 8x8 LED'ler: 6 Adım
Sese Reaktif RGB 8x8 LED'ler: Sese duyarlı RGB LED'lerle bir Arduino projesi yapmanın heyecan verici olacağını düşündüm. Nihai hedefim, sonunda, sese duyarlı gözler yapmak için 2 ayrı ayrı adreslenebilir 8x8 LED matrisi kullanmak olacak, ancak şimdilik, bunun nasıl olduğunu yeni yeni öğreniyorum
Sese Duyarlı Alevli, Bluetooth Hoparlörlü ve Animasyonlu LED'li Ateş Çukuru: 7 Adım (Resimlerle)
Sese Duyarlı Alevli Ateş Çukuru, Bluetooth Hoparlör ve Animasyonlu LED'ler: Hiçbir şey yaz mevsiminde ateşin yanında dinlenmek kadar güzel olamaz. Ama ateşten daha iyi olan ne biliyor musun? Ateş VE Müzik! Ama bir adım, hayır, iki adım daha ileri gidebiliriz…Ateş, Müzik, LED ışıklar, Sese Reaktif Alev! Kulağa iddialı gelebilir ama bu Ins
Soda Şişesi Arduino Lambası - Sese Duyarlı: 3 Adım (Resimli)
Soda Şişesi Arduino Lambası - Sese Duyarlı: Başka bir projeden kalan ayrı ayrı adreslenebilir LED'lerim vardı ve 10. Yıl (13-15 yaş) düzeyindeki Ürün Tasarımı derslerim için oldukça kolay ama eğlenceli başka bir meydan okuma oluşturmak istedim. Bu proje, boş bir soda şişesi (veya gazlı içecek kullanırsanız
Sese Duyarlı Sonsuzluk Aynası: 5 Adım
Sound Reactive Infinity Mirror: Bu Instructable'da size bu Infinity Mirror'ı nasıl yapabileceğinizi göstereceğim. O halde başlayalım
Sese Duyarlı Ampul Ekranları + Garip Şeyler: 8 Adım (Resimlerle)
Sese Duyarlı Ampul Ekranları + Garip Şeyler…: Daha fazla fotoğraf ve proje güncellemesi için: @capricorn_one