Mundarija:

Muire: Ovoz sezgir optik effektlar: 5 qadam
Muire: Ovoz sezgir optik effektlar: 5 qadam

Video: Muire: Ovoz sezgir optik effektlar: 5 qadam

Video: Muire: Ovoz sezgir optik effektlar: 5 qadam
Video: Дождливый ноябрь_Рассказ_Слушать 2024, Iyul
Anonim
Muire: Ovoz sezgir optik effektlar
Muire: Ovoz sezgir optik effektlar

Siz quyosh chiqqanda chivinlar to'rining ustki qismidagi to'lqin naqshini ko'rgan bo'lishingiz mumkin. Yaqin atrofdagi chivin tarmog'ini harakatlantirganda yoki burchakni o'zgartirganda, to'lqin naqshlari ham harakatlanadi. Agar muntazam intervalli naqsh va to'shak to'rlari bir necha bor bir -birining ustiga chiqsa, bu naqsh har qanday joyda paydo bo'lishi mumkin. Bu Muirre (Moire) hodisasi deb ataladi va paydo bo'ladigan naqsh Muirre naqsh deb ataladi.

PROJECT_MUIRE shablon

Muir naqshlari turli xil naqsh va xususiyatlarga ega. Bu naqsh to'rtburchaklar ramka tuzilishi ramkalarida tovush hajmiga qarab, turli xil optik effektlarni ishlab chiqarish uchun to'qqizta sektor va 11 xil turdagi moor naqshlarni yaratish uchun ishlatiladi.

이 비칠 때 모기장 이 이 겹쳐 있는 부위 에. 모기장 을 상하 좌우 좌우 로 움직 이거나 각도 를 를 움직인다. 아니라 일정 일정 일정 일정 일정 일정 디 디 디 디 디 디 디 디 디 디 디 디. 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 무늬 라고 라고 부른다.

PROJECT_MUIRE shablon

패턴 은 다양 다양 다양 다양 다양 다양 패턴. 을 패턴 을 9 개 섹터 와 11 개의 각기 다른 만든 따라 따라 따라 따라 따라 따라 따라 따라 따라 따라 따라 다양 다양 다양 다 다 다 다 다 다 다 다.

1 -qadam: Qanday materiallar kerak bo'ladi?

Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?
Qanday materiallar kerak bo'ladi?

1. Moire naqshining tanasi

oq akril 5T [940 mm X 840 mm]

Akril bosma [akril siyoh]

2. Moire Pattern shaklidagi turlar

Aylanish turi

tekis shakl

Uskuna turi

Qora tuynuk turi

Shrink / kengaytiruvchi effekt

yonuvchi effekt

3. Elektr zanjiri

Arduino Uno x 11

Non paneli x 1

Bosqichli dvigatel_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 아뢰 아뢰 패턴 바디

  • T 5T (oq akril) 940 mm X 840 mm
  • Black 인쇄 (qora siyoh)

2. 아뢰 아뢰 패턴 의 종류

  • 전형
  • Y
  • 하드웨어
  • 들어가는 효과
  • 수축 / 팽창 하는 효과
  • 효과

3. 구성 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • U 모터 드라이브 (ULN2003A)
  • Mikrofon (maksimal 9814)
  • 빵판 (Non paneli)
  • (Quvvat manbai 5V 25A)

2 -qadam: tekis shakl

Planar shakl
Planar shakl
Planar shakl
Planar shakl
Planar shakl
Planar shakl

1. Planar shaklni kesish

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

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

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

2. Planar shaklli bosib chiqarish

Akril bosib chiqarish

1. 도면 커팅

5T (940mm x 840mm) X 2

5T (940mm x 840mm) X 1

3T (940 mm x 840 mm) X 1

2. 도면 인쇄

인쇄

3 -qadam: O'chirish diagrammasi

O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi
O'chirish diagrammasi

Uskunaning ishlash printsipi

POWER -> Arduino UNO -> Mikrofon ovozini kuchaytirish sensori -> Dvigatel boshqaruvchisi -> Step motor

4 -qadam: kodlash

Kodlash
Kodlash
Kodlash
Kodlash

Arduino kodlash tavsifi

1. Bosqichli dvigatel ulanishi

Signalni qabul qilgandan so'ng, biz qadam dvigateliga ulangan 180 graduslik qadamlarni nazorat qildik, zinapoyaning aylanish burchagiga ulanish uchun INT raqamini o'rnating.

2. Ovoz hajmining qiymatiga qarab, step vosita tezligini boshqaring

Mikrofon sensori bilan bog'liq A0 pinini chiqaradi, og'riqli qiymatni ketma -ket monitorda o'rnatadi va agar sensori og'riqli qiymat 50 dan oshsa, qadam motorining aylanish tezligini 30 ga oshirish uchun sintaksisdan foydalanadi.

3. Musiqaga javob beradigan qadam motorlarining tezligi va aylanish yo'nalishi

Tezlik 10 daraja bo'lganda va doimiy shovqin kuchaytirilsa, u 30 gradusda aylanadi, bu esa turli xil aylanish turlarini boshqacha ko'rinishga olib keladi.

ARDUINO CORDING

#include // step motor- Kutubxona

const int sampleWindow = 50; // Namuna olish vaqti 50ms imzosiz int qiymati; // Ovozni kuchaytiruvchi sezgich sensori qiymati qabul qilindi: variableconst int stepsPerRevolution = 2048; // Uni tushirish sizni sekinlashtiradi va tezroq oshiradi

StepStepper (StepPerRevolution, 11, 9, 10, 8); // Arduino raqamli 11, 9, 10, 8 int #1 qadamli motorli pin.

bo'sh o'rnatish () {

Serial.begin (9600); // Seriyali monitorni ishga tushiring, tezligi 9600

}

void loop () {

imzosiz uzoq startMillis = millis (); // Namuna olish muddati imzolanmagan int peakToPeak = 0; // Ovoz signalining amplitudasi

imzosiz int signalMax = 0; // Maksimal o'lchamni nolga belgilang dastlab imzosiz int signalMin = 1024; // Minimal o'lchamni dastlab 1024 ga o'rnating

while (millis () - startMillis <sampleWindow) {qiymat = analogRead (A0); // tovush sensori ma'lumotlarini olish, agar (qiymati signalMax) // Maksimal o'lchov o'lchovlari signalMax = qiymat; // Maksimal Size signalMax save else if (qiymati <signalMin) // Minimal o'lchov o'lchovlari signalMin = qiymat; // Minimal hajmi sigmalMin saqlash}}

peakToPeak = signalMax - signalMin; // Maksimal- Min = Amplitudali qiymat ikki voltli = (peakToPeak * 5.0) / 1024; // Voltga aylantirish = Ovoz hajmiga aylantirish

int Tezlik = xarita (peakToPeak, 0, 600, 1, 30); // PeakToPeak qiymatini 0 dan 600 gacha 1 dan 30 gacha cheklang.

// Agar peakToPeak 600 dan oshsa, u yo'qoladi // Maksimal qiymatni saqlang.

myStepper.setSpeed (Tezlik); // Bosqichli motor tezligini xarita funktsiyasi (1-30) myStepper.step (stepsPerRevolution / 100) qiymatiga aylantiring; // qadam dvigatelining harakat burchagi (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (Tezlik); // Seriyali monitor yordamida dvigatel tezligini tekshiring

}

}

1. 모터 모터 연결

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

INT tizimlari va tizimlari

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

mikrofon 연결된 와 연결된 A0 을 을 출력 하고 시리얼 시리얼 시리얼 if if 후 후 후 후 후 후 후 이 이 이 이 이 이 이 이 이 이 이 이 가 가 30 이 증가 증가 하여 하여. 모터 의 속도 가 제 제 제 제 제 제 제 제.

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

10 만큼 의 속도 가 진행 진행 되다가, 일정 소리 가 커 되면 30 의 속도 로 회전 하여 유도함.

ARDUINO CORDING

#qo'shing // qadamli dvigatel 의 라이브러리

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

StepStepper (StepPerRevolution, 11, 9, 10, 8); // 스텝 모터 핀 int 1 ta, 11, 9, 10, 8 larda.

tegishli sozlash () {

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

}

void loop () {

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

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

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

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

int Tezlik = xarita (peakToPeak, 0, 600, 1, 30); // 0 부터 600 까지 yoki tepa tepaga chiqish, 1 부터 30 까지 va 정.

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

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

}

Tavsiya: