Мазмұны:

RGB светодиоды бар клавиатуралық модуль фортепиано: 5 қадам (суреттермен)
RGB светодиоды бар клавиатуралық модуль фортепиано: 5 қадам (суреттермен)

Бейне: RGB светодиоды бар клавиатуралық модуль фортепиано: 5 қадам (суреттермен)

Бейне: RGB светодиоды бар клавиатуралық модуль фортепиано: 5 қадам (суреттермен)
Бейне: Yeelight LED Screen Light Bar Pro — умная подсветка для рабочего места 2024, Қараша
Anonim
Image
Image
Қажетті материалдар
Қажетті материалдар

Кіріспе

Сәлеметсіз бе, ханымдар мен мырзалар, менің бірінші нұсқаулығыма қош келдіңіздер! Бүгін мен сізге фортепиано жасауды үйретемін, оның негізгі компоненттері пернетақта модулі мен пьезо-дыбыстық сигнал, ол DO-RE-MI және т.б.

Пернетақта модулінің негізгі мақсаты - құнды заттарға арналған қорапты құру үшін RFID ардуиносымен біріктірілген пернетақта. Бұл жағдайда мен пернетақтаны өзгерттім, мен бір нәрсені қорғаудың орнына қарапайым қуаныш пен музыканы айтуға шешім қабылдадым.

Идея туралы түсінік

Бұл туындының идеясы мен музыка сабағында кішкентай кезімде ксилофон ойнаған кездегі қарапайым бақытты жадтан туындады. Менің денемдегі қуаныш пен толқудың шыңы болды, демек, әр бала оңай қанағаттанатын, ал менің қанағаттануым ксилофон ойнау болды.

Зерттеу

Жоғарыдағы сіздің шамыңыз жанған соң, кішкене зерттеу жүргізу қажет. Біраз уақыт интернетті шолғаннан кейін мен өзім ойлаған ойды кездестірдім! Пернетақта модулі фортепианоға айналды, біреу дәл осы жобаның бейнесін осында жасады. Алдын ала ойлана отырып, мен жобаны одан әрі жетілдіретін, бірақ оны тартымды ететін және оны менікі деп атай алатын бөлек компонент қосуым керек болды.

1 -қадам: Қажетті материалдар

Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар
Қажетті материалдар

Материалдар тізімі

  • Piezo Buzzer 1x ▶
  • 4x4 пернетақта модулі 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 кабелі A/B 1x ▶
  • Дыбыс сенсоры модулі 1x ▶
  • RGB жарықдиодты 1x ▶
  • 330 Ом резисторы 3x ▶
  • Еркек пен әйел арасындағы секіргіш сым 8х ▶
  • Еркек пен еркекке 4x ▶ ▶
  • 3 түйреуіш еркек пен әйелге арналған секіргіш сым 1x ▶

Материалдар тізімі жоғарыдағы суреттермен реттелген.

2 -қадам: Құрылыс уақыты

Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!
Құрылыс уақыты!

4x4 пернетақта модулі және Piezo Buzzer

Теория

4x4 пернетақтасы модулі мен пьезо -дыбыстық сигналда көптеген түйреуіштер бар болғандықтан, мен қолданылған компоненттерді екі жұпқа бөлуге шешім қабылдаймын. Пернетақтаға назар аудару, әдетте кіріс ретінде қолданылады. SunFounder 4*4 матрицалық пернетақта модулі- бұл параллель 16 пернеден тұратын матрицалық кодталмаған пернетақта, әр жол мен бағананың кілттері сырттағы түйреуіштер арқылы қосылады- Y1-Y4 түйреуіші жолдарды басқару жанында белгіленген, X1- X4, бағандар.

Мақсаты

Бұл компоненттердің бүкіл жобаның мақсаты - пайдаланушыға герц жиілігі арқылы пьезо -дыбыстық сигнал шығаратын белгілі бір дыбысқа орнатылған түймені басуға мүмкіндік беру.

Матрицалық модуль түйрегіші - Arduino түйреуіші

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

Piezo Buzzer - Arduino Pin

Қара - GND

Қызыл - Қуат

Бұл құрылыстағы менің ең қиын міндетім - әрбір сымның қай жерге қосылғанын анықтау. Жоғарыда мен сізге сымдардың орналасу жолын жылдам және оңай ұсынамын, егер жоғарыдан төменге қарай жүретін болсаңыз, уақытты алыңыз және әр істіктің дұрыс ұяға дұрыс салынғанына көз жеткізіңіз.

*Кеңес - әрбір сымның бір шетінен екінші шетіне дейін орналасуын қадағалау.

Белгілі бір компоненттер сымдарының барлық Tinkercad эскиздері түспен дұрыс кодталған, сондықтан оларды мұқият орындаңыз

3 -қадам: дыбыстық сенсор модулі және RGB жарықдиодты шамы

Дыбыс сенсоры модулі және RGB жарық диоды
Дыбыс сенсоры модулі және RGB жарық диоды
Дыбыс сенсоры модулі және RGB жарық диоды
Дыбыс сенсоры модулі және RGB жарық диоды
Дыбыс сенсоры модулі және RGB жарық диоды
Дыбыс сенсоры модулі және RGB жарық диоды

Дыбыс сенсоры модулі және RGB жарық диоды

Теория

Дыбыс сенсоры модулі дыбыстың таңдалған нүктеден асып кеткенін анықтауға мүмкіндік береді. Дыбыс микрофон арқылы анықталады және LM393 жұмыс күшейткішіне беріледі. Дыбыс деңгейі белгіленген нүктеден асып кеткенде, модульдегі жарық диоды жанады және жарық шығады.

Мақсаты

Бұл компоненттердің бүкіл жобаның мақсаты - дыбыс сенсоры модулінің дыбыс/дыбыс көрсеткішін алу және сол арқылы RGB светодиодты оқу дыбысқа қатысты дұрыс түсті белсендіреді.

Дыбыс сенсоры модулі - Arduino түйреуіші (3 істікшелі секіргішті қолданыңыз)

  • Шығу - A0 аналогтық түйреуіш
  • GND - кез келген ашық GND түйреуіш ұясы
  • VCC - 3В

RGB жалпы анодты (+) жарықдиодты - Arduino Pin

  • Қызыл - 9
  • Қуаты - 5 В.
  • Жасыл - 10
  • Көк - 11

Әрбір жеке сымды 330 Ом резистор арқылы өткізуді ұмытпаңыз. Анықтама ретінде жоғарыдағы суретті пайдаланыңыз.

Бұл құрылыстағы менің ең қиын міндетім - әрбір сымның қай жерге қосылғанын анықтау. Жоғарыда мен сізге сымдардың орналасу жолын тез және оңай ұсынамын, егер жоғарыдан төменге қарай жүретін болсақ, уақытты бөліп, болашақ отладтауды болдырмау үшін әр түйреуіш дұрыс ұяға дұрыс салынғанына көз жеткізіңіз.

*Кеңес - әрбір сымның қай жаққа да енгізілгенін қадағалау

Белгілі бір компоненттер сымдарының барлық Tinkercad эскиздері түспен дұрыс кодталған, сондықтан жалғастырыңыз

4 -қадам: код

Код

Бұл код барлық компоненттерге жаңа анықталған функцияны қолдана отырып, көптеген басқару элементтерін қосуға мүмкіндік береді, олардың құрамында көптеген өзгермелі айнымалы мәндері бар компоненттер бар, олар компоненттері RGB болды және rgb түсін пайдаланып түсі өзгергенде және пьезо дыбысы мен дыбыс батырманың басылуына байланысты болады.

Бұл кодта міндетті түрде пернетақта кітапханасы болды

Мұнда сілтеме:

Жүктелгеннен кейін arduino -ға жаңа кітапхананы қосыңыз, содан кейін оны іске қосу үшін қажет кодтың бір жолын енгізіңіз.

Код кезінде қиындықтар мен жаңадан анықталған функцияларды қайда орналастыру керек болды, себебі мен сынақ және қателік арқылы оның циклде емес, баптауда болуы керек екенін түсіндім.

Код

#қосу // Пернетақта кітапханасы

int greenPin = 11; // RGB Green Pin 9 цифрлық түйреуге қосылған

int redPin = 10; // RGB Red Pin 9 цифрлық түйреуішке қосылған

int bluePin = 9; // RGB Blue Pin цифрлық пинге қосылды 9 int speakerPin = 12; // динамик цифрлық пинге қосылды 12 const байт ROWS = 4; // төрт жолды const байт COLS = 4; // төрт колон const const soundPin = A0; // дыбыс датчигі A0 -ға бекітіледі

char пернелері [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Пернетақта модулінің визуализациясы

байт rowPins [ROWS] = {2, 3, 4, 5}; // пернетақтаның жол шеттеріне қосылу

байт colPins [COLS] = {6, 7, 8, 13}; // пернетақтаның бағаналы түйініне қосылыңыз

Пернетақта пернетақтасы = Пернетақта (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS); // Кілттерді жасайды

жарамсыз орнату () {

pinMode (SpeakerPin, OUTPUT); // SpeakerPin -ді шығыс етіп орнатады

pinMode (redPin, OUTPUT); // қызыл түйреуішті pinMode шығысына орнатады (greenPin, OUTPUT); // жасыл түйреуішті pinMode (bluePin, OUTPUT) шығыс етіп орнатады; // көк түйреуішті шығыс етіп орнатады

Serial.begin (9600);

} void setColor (int red, int green, int blue) // RGB түсі RGB коды арқылы көрсетуге мүмкіндік беретін жаңа анықталған функция {#ifdef COMMON_ANODE red = 255 - қызыл; жасыл = 255 - жасыл; көк = 255 - көк; #endif analogWrite (redPin, red); analogWrite (greenPin, жасыл); analogWrite (bluePin, көк); }

бос дыбыс сигналы (белгісіз char speakerPin, int жиілігіInHertz, ұзақ уақытInMilliseconds) {// дыбыс шығаратын функциялар

int x; long delayAmount = (long) (1000000/жиілігіInHertz); long loopTime = (ұзақ) ((timeInMilliseconds*1000)/(delayAmount*2)); үшін (x = 0; x

void loop () {

char пернесі = keypad.getKey (); int мәні = analogRead (soundPin); // A0 мәнін оқу Serial.println (мән); // мәнді басып шығару

if (key! = NO_KEY) {

Serial.println (кілт); } if (key == 'a') {дыбыстық сигнал (SpeakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {дыбыстық сигнал (SpeakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {дыбыстық сигнал (SpeakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {дыбыстық сигнал (SpeakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {дыбыстық сигнал (SpeakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {дыбыстық сигнал (SpeakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {дыбыстық сигнал (SpeakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {дыбыстық сигнал (SpeakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {дыбыстық сигнал (SpeakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {дыбыстық сигнал (SpeakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {дыбыстық сигнал (SpeakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {дыбыстық сигнал (SpeakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {дыбыстық сигнал (SpeakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {дыбыстық сигнал (SpeakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {дыбыстық сигнал (SpeakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {дыбыстық сигнал (SpeakerPin, 4186, 100); setColor (255, 0, 255); }}

5 -қадам: Қорытынды ойлар

Image
Image

Қорытынды ойлар

Бұл жобаның түпкі ойы - ойыншық болу, көңілді және қарапайым қуаныш әкелу. Бұл жоба аяқталған және жұмыс істеп жатқандықтан, менің ойымша, бұл құрылысты жазу элементі немесе көшірме/симонның элементі немесе тіпті белгілі бір әнді ойнауға арналған ноталары бар СКД сияқты қосымша компоненттермен толықтыруға болады.

Мен пернетақта модулі туралы сіздің пікіріңізді білгім келеді, сіз қандай компоненттерді қосуға болады деп ойладыңыз. Сіз оны кез келген жобаңызда қолданасыз ба? Төмендегі түсініктеме бөлімінде өз ойларыңызды жазыңыз.

Егер сізге arduino жобасы ұнаған болса, бөлісуді ұмытпаңыз.

Ұсынылған: