Агуулгын хүснэгт:

Хөгжмийн үлгэрийн гэрэл: 6 алхам (зурагтай)
Хөгжмийн үлгэрийн гэрэл: 6 алхам (зурагтай)

Видео: Хөгжмийн үлгэрийн гэрэл: 6 алхам (зурагтай)

Видео: Хөгжмийн үлгэрийн гэрэл: 6 алхам (зурагтай)
Видео: "Гурван тоорой" хүүхдийн дуу 2024, Арваннэгдүгээр
Anonim
Image
Image

IanCummingFollow Зохиогчийн дэлгэрэнгүй:

Arduino интервалометр
Arduino интервалометр
Зөвхөн цаг хэмжигч биш
Зөвхөн цаг хэмжигч биш
Зөвхөн цаг хэмжигч биш
Зөвхөн цаг хэмжигч биш
Нэг пикселийн термометр
Нэг пикселийн термометр
Нэг пикселийн термометр
Нэг пикселийн термометр

Тухайн талаар: Би пуужингаас электрон төхөөрөмж хүртэл хийх дуртай. IanCumming -ийн тухай дэлгэрэнгүй »

Бүгдийг урьж байна

Энэ бол бараг л баярын улирал бөгөөд олон тооны дэлгүүрүүд баярын чимэглэлээ гаргаж эхэлсэн тул хөгжмийн үлгэрийн гэрэл бүтээх цаг нь болсон гэж би бодож байна!

Алхам 1: Ашигласан эд анги

Ашигласан эд анги
Ашигласан эд анги

Би дараахь зүйлийг ашиглах болно.

  • 12 LED
  • 12 Одоогийн хязгаарлах резистор
  • 1 ULN 2803 Darlington транзисторын массив
  • Зарим холбогч утас
  • Пьезо чанга яригч
  • Талхны самбар ба
  • Ардуино
  • Үлгэрийн гэрлийн утас хийхийн тулд Ethernet кабелийн 5 утсыг ашигласан

Алхам 2: Код

// GLOBAL VARS int barTime = 1200; // 8/8 = 1000ms байт nrLEDS = 4; // 4 үндсэн LED, Та зэрэгцээ олон байт LED нэмж болно = {3, 4, 5, 6}; байт чанга яригч = 11; byte patternLength = 64; // загвар Урт байт songLength = 51; const байтын дуу = {// Jingle Bells өгөгдөл 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // Бүтэц бол Тэмдэглэлийн дугаар юм. 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0100, 0b0100 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b1100, 0b1100, 0b0011 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

Юуны өмнө би хувьсагчаа зарлаж байна, хамгийн сонирхолтой нь Дуу ба Хээ.

  • Энэ дуу нь аяыг хадгалдаг; Энэ тохиолдолд энэ нь жингэнэх хонх юм.
  • Загвар нь массив дахь утгуудын бит дээр асаах, унтраах байрлалыг хадгалдаг.

Захиалгат функцууд

// FUNCTIONS int noteToHz (int note) {// Тэмдэглэлийг хөрвүүлэх Nr. to Frequency float freq = 440 * (pow (1.059463094359, тэмдэглэл-21)); // -21 танд C3 дээрх 1 тэмдэглэлийг өгөх болно (Миний бодлоор) return int (freq); // Үр дүн нь 1Гц -ийн нарийвчлалтай байна.

Надад байгаа хоёр функц нь дараахь зүйлийг хийх болно.

  • Цикл дэх аяны функцийн давтамжийг тооцоол
  • LED -ийг асаах эсвэл унтраах нь функцэд өгсөн утгаас хамаарна

Тохируулах функц

void setup () {// setup OUTPUT pins pinMode (чанга яригч, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}

Тохиргооны функц дээр би шаардлагатай голуудыг OUTPUT болгож тохируулсан.

Loop функц

void loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notes, Length болон аяыг тоглуулах int note = noteToHz (дуу [t * 2]); int урт = ((дуу [(t * 2) +1] * barTime) / 8); ая (чанга яригч, тэмдэглэл, урт - 50); // Гялалзсан гэрэл! lightLEDs (загвар [t % patternLength]); саатал (урт); } // Silence Loop int randomSilence = random (1000, 5000); for (int t = 0; t

Main Loop функцэд 2 гогцоо байна. Дууны хүрд ба чимээгүй байдлын гогцоо

Дууны хүрд нь дууны массивын өгөгдлийг уншиж, аяны функцийг ашиглан тэмдэглэлийг тоглуулах болно

Дууны хүрд болно,

  • Дууны массивын өгөгдлийг уншина уу,
  • Дараа нь аяны функцийг ашиглан тэмдэглэлийг тоглуул
  • LED -ийн гэрэлтүүлгийг унших загварын массивыг асаагаарай.

Чимээгүй байдлын гогцоонд

зөвхөн LED гэрэл асдаг

Arduino -г залгаад кодыг оруулна уу. (Дараа нь салга)

Алхам 3: Хэлхээг эхлүүлэх

Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна
Цахилгаан хэлхээг эхлүүлж байна

Би гэрлэн дохионоос эхлэх гэж байна

  • Би Ethernet кабелийн утсыг ашиглаж, 3 LED -ийг дөрвөн удаа зэрэгцээ гагнасан бөгөөд ингэснээр LED -ийг ойролцоогоор 2 метрийн зайд жигд байрлуулсан байна.
  • Би анод тус бүрийг нэг утас руу гагнав.
  • Дараа нь LED тус бүрийн катодыг 4 тусдаа утсаар холбоно. Мэдээжийн хэрэг резистортой
  • Би энэ процессыг 3 удаа давтаж, 12 ширхэг LED авсан бөгөөд 5 утасны төгсгөлд толгойн зүү тавив.

Эерэг ба газрын төмөр замыг талхны хавтан дээр холбоно уу

Алхам 4: ULN2803

ULN2803
ULN2803
ULN2803
ULN2803
ULN2803
ULN2803

ULN2308 чипийг талхны тавцан дээр тавь

ULN2308 бол транзисторын массив чип; мэдээллийн хуудаснаас миний харж болно

  • Энэ 1 -р зүү нь 18 -р зүүг "АСАА" болгодог оролт юм.
  • 2 -р зүү 17 асна. Гэх мэт
  • 9 -р зүү нь газардсан байна
  • Чипийн 9 -р зүүг газрын төмөр замтай холбоно уу
  • Эерэг төмөр замыг 18 -р үзүүрээс дээш нэг зурвас бүхий терминал тууз руу холбоно уу (Та яагаад үүнийг нэг минутын дараа харах болно)
  • Чипийн 1 -р зүүг Arduino -ийн 3 -р зүүтэй холбоно уу
  • 2 нь 4 рүү явдаг
  • Чипийн 3 нь 5 ба 5 руу явдаг
  • 4 нь Arduino -ийн 6 -р зүү рүү явдаг
  • LED утсыг талхны тавцан дээр тавь. Энгийн анодын утас 5 вольтод холбогдсон туузанд холбогдсон тохиолдолд. Үлгэрийн гэрлийн бусад зүү нь чипний 18, 17, 16, 15 -р зүү рүү очих ёстой.

Алхам 5: Дуу нэмэх

Дуу нэмж байна
Дуу нэмж байна
  • Piezo чанга яригчийг 2 терминал туузны хооронд холбоно уу
  • Пьезо элементийн сөрөг туйлыг газардуулга ба
  • Чанга яригчийн нөгөө үзүүрийг 11 -р зүүгээр холбоно уу

Алхам 6: Дүгнэлт

Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт

Надад баярын улирал гэдгийг сануулахын тулд санамсаргүй жингэнэх хонх тоглуулах гэрлийн чийдэн байна.

Зөвлөмж болгож буй: