Sisukord:
Video: Arduino mõistatuskast: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selle projekti jaoks valmistame mõistatuskarbi, mis töötab muusikaga. Selle põhiolemus on see, et kui vajutate nuppu, vabastab see viisi ja Arduino arvutab, milliseid nuppe vajutatakse, nii et ta teab, mis on õige ja mis vale vastus.
Tarvikud
1 x Arduino uno
1 x 1 kΩ takisti
5 x 220 oomi takistid
1 x Piezo summer
5 x nupp 6x6 mm
1 x komplekt Jumper juhtmed
1 x perf/ribaplaat
1 x jootekomplekt
1 x liigend
1 x klamber
1 x väike kummut/puit
1x kuum liimipüstol + liimipulgad
1 x 9v aku + hoidik
natuke muret
värvida
Samm 1:
Alustuseks peate vajutama oma leivalauale nööpnõelad. Nüüd ühendage analoog 2 juhtmega plaadi nurga külge. Me ühendame sellega kaks takisti reas. Esimene on 10k oomi takisti. Selle takisti teise otsa ühendame juhtme analoogmaandusega. Teine takisti on 220 oomi takisti, mille ühendame esimese nupuga. Kasutage teist sama väärtusega takistit, et ühendada nupu teine avatud külg teise nupuga. Jätkake selliste nuppude ühendamist viimasega. Viimasel võtate juhtmest kinni ja ühendate selle nupu vastava suletud küljega ning ühendate selle järgmisega. Nüüd kordate protsessi, mida tegite takistitega, mida teame ainult tavaliste juhtmetega. Ühendage esimene nupp oma Arduino analoog -3, 3V pordiga. Kokkuvõttes saate mingi ristipatteri, nagu allpool kujutatud.
2. samm:
Seejärel ühendage helisignaal leivaplaadiga ja kinnitage üks külg digitaalse maanduse külge ja teine 12 -porti. Tark on juba järgmine kood oma Arduinosse üles laadida, et saaksite testida, kas kõik töötab õigesti. Kui see on nii, võite hakata komponente kokku jootma. Selleks võtke need leivaplaadist välja ja jootke juhtmed ja ühendused otse kokku. Kui arvate, et vajate nuppude vahel rohkem pikkust, saate takistite vahele lisada lisatraadi. Leivalaud pole praegu enam vajalik.
3. samm:
Kui kõik on joodetud, on aeg karp ise valmistada. Mina kasutasin oma alusena odavat sahtlikomplekti. Lõikasin lihtsalt pikuti pooleks ja eemaldasin selja ja külje, mille läbi lõikasin. Nüüd peaks teil olema kaks c -kujulist tükki. Lõigake üks neist ühest küljest, et seda kaanena kasutada. Nüüd pöörake üht ülejäänud tükki nii, et need sobiksid kokku nagu kaaneta kast ja liimige need kokku. Kui liim on korralikult tardunud, puurige kasti mõlemasse külge väike auk nuppude jaoks ja suurem kaane sumina jaoks.
4. samm:
Nüüd saate hakata kasti värvima. Ma tegin oma BOTW -l põhineva lillekujundusega, kuid saate tõesti valida mis tahes kujunduse. Pärast seda saate nööbid aukudesse panna ja nööbi tagaküljele ning ümbritsevale puidule liimikera panna. Sama põhimõte kehtib sumisti kohta, kuid minu oma sobib ideaalselt auku, muutes selle tarbetuks. Järgmisena haarate töölaua ja kuumutate ning lõigake see väikeste nuppude tegemiseks. Liimige need ettevaatlikult nuppude külge, kuid ärge kasutage liiga palju liimi, sest võite nupud kogemata kinni jääda. Nüüd saate need üle värvida, et need karbiga paremini seguneksid.
5. samm:
Lõpuks liimite või kruvite, klamber ja hinged karbil ja kaanel, mis neid kahte ühendavad.
6. samm:
Nüüd, kui teie kast on valmis, peate vaid panema Arduino ja aku selle sisse ning sulgema kaas.
Samm: kood
// See on Zelda -teemalise pusle/muusikakasti kood.
// see ühendab teie koodi märkmete loendiga teisel vahekaardil
#include "pitchid.h"
// see muutuja tagab, et Arduino näeb nupu pikemat vajutamist vaid ühe vajutusena
int sama = 0;
// siit loeb see teie sisendit
int k = 2;
// see on teie väljundnõel
int kõneleja = 12;
// allpool on lõppmeloodiad
int Zelda = {NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A5, NOTE_G5, NOTE_D5, NOTE_C5, NOTE_B4, NOTE_A5};
int ZeldaTime = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_B4, NOTE_A4};
int EponaTime = {4, 4, 1,5, 4, 4, 1,5, 4, 4, 2, 2, 1};
int Saria = {NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_E5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_4, int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// noodi tavaline kestus
int BEATTIME = 300;
// loendur, mida me jälgime, kui oleme lahenduses
int teller = 0;
tühine seadistus () {
Seriaalne algus (9600);
pinMode (2, INPUT);
pinMode (1, INPUT);
}
void loop () {
// loeb sisendit tihvtidelt
k = analoogLoe (2);
int p = analoogLoe (1);
// kui ühtegi nuppu ei vajutata, ei tohiks tooni olla
kui (teller == 0) {
noTone (12);
}
// kui loetud andmed vastavad parameetritele, käivitage kirjeldatud koodibitt
kui (k> 320 && k <350) {
rechts ();
}
//""
muidu kui (k 290) {
lingid ();
}
//""
muidu kui (k> 260 && k <280) {
kootud ();
}
//""
muidu kui (k> 240 && k <260) {
onder ();
}
//""
muidu kui (k> 220 && k <240) {
a ();
}
// kui seda ei tehta (kui ühtegi nuppu ei vajutata), käivitage see kood
muu {
// lähtesta sama, et seda saaks järgmisel nupuvajutusel kasutada
sama = 0;
// kui loendur on teatud arvuni, käivitage kirjeldatud koodibitt
kui (teller == 166) {
zelda ();
}
//""
muidu kui (teller == 386) {
saria ();
}
//""
muidu kui (teller == 266) {
epona ();
}
//""
muidu kui (teller == 999) {
// esita seda tooni vea märkimiseks
toon (kõlar, NOTE_C3, BEATTIME);
// lähtesta loendur 0 -le
teller = 0;
}
}
// viivitus sisendi ja väljundi vahel
viivitus (100);
// prindib jadamonitori sisendi väärtused
Seeria.println (k);
}
// see on esimene meloodia
tühine zelda () {
// see seab loenduri, mis värskendab ennast meloodia esitamise ajal, et see saaks seda lugeda ja peatada, kui peaks
jaoks (int i = 0; i <sizeof (Zelda); i ++) {
// ütleb, kui kaua peaks noot kestma
int ZTime = 1000 / ZeldaTime ;
// genereerib toonid
toon (kõneleja, Zelda , ZTime);
// loob õige viivituse
int paus = ZTime * 1.30;
viivitus (paus);
// lähtestab loenduri
teller = 0;
// prindib jadamonitori sisendi väärtused
Serial.println (teller);
}
}
//""
tühine epona () {
jaoks (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / EponaTime ;
toon (kõneleja, Epona , ETime);
int paus = ETime * 1.30;
viivitus (paus);
teller = 0;
Serial.println (teller);
}
}
//""
tühine saria () {
jaoks (int i = 0; i <sizeof (Saria); i ++) {
int STime = 1000 / SariaTime ;
toon (kõneleja, Saria , STime);
int paus = STime * 1.30;
viivitus (paus);
teller = 0;
Serial.println (teller);
}
}
tühine rets
hts () {
// kui seda pole juba vajutatud
kui (sama == 0) {
// kui loenduril on praegu üks neist väärtustest, lisage see sellele
kui (teller == 0 || teller == 132 || teller == 165 || teller == 232 || teller == 265 || teller == 331 || teller == 374) {
teller = teller + 1;
}
// muidu määrake see 999 -le, nii et kuulete veamüra
muu {
teller = 999;
}
// seada samale ühele, nii et Arduino ei loe pikemaajalisi vajutusi mitme vajutusena
sama = 1;
}
// mängi tooni
muu {
toon (kõlar, NOTE_A4, BEATTIME);
}
// prindib jadamonitori sisendi väärtused
Serial.println (teller); }
//""
tühjad lingid () {
kui (sama == 0) {
kui (teller == 133 || teller == 254 || teller == 244 || teller == 332 || teller == 375 || teller == 221) {
teller = teller + 11;
}
muidu kui (teller == 0) {
teller = 111;
}
muu {
teller = 999;
}
sama = 1;
} muud {
toon (kõlar, NOTE_B4, BEATTIME);
} Serial.println (teller);
}
//""
void boven () {
kui (sama == 0) {kui (teller == 111 || teller == 144 || teller == 233) {
teller = teller + 21;
}
muidu kui (teller == 0) {
teller = 221;
}
muu {
teller = 999;
}
sama = 1;
}
muu {
toon (kõlar, NOTE_D5, BEATTIME);
Serial.println (teller);
}
}
//""
void onder () {
kui (sama == 0) {
kui (teller == 343) {
teller = teller + 31;
}
muidu kui (teller == 0) {
teller = 331;
} muud {
teller = 999;
} sama = 1;
} muud {
toon (kõlar, NOTE_F4, BEATTIME);
Serial.println (teller);
}
}
//""
tühine a () {
kui (sama == 0) {
kui (teller == 0) {
teller = 461;
}
muu {
teller = 999;
}
sama = 1;
}
toon (kõlar, NOTE_D4, BEATTIME);
Serial.println (teller);
}
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Crack the Code Game, Arduino -põhine mõistatuskast: 4 sammu (piltidega)
Crack the Code Game, Arduino -põhine mõistatuste kast: Selles juhendis näitan teile, kuidas luua oma crack -koodimäng, milles kasutate pöörlevat kodeerimisnuppu, et arvata juhuslikult loodud kood seifi. Seifi esiküljel on 8 LED -i, mis näitavad, kui palju on
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
Tulekahjusignalisatsioon Arduino abil [paar lihtsat sammu]: 3 sammu
Arduino kasutav tulekahjusignalisatsioon [paar lihtsat sammu]: Kas soovite Arduinoga teha lihtsa ja huvitava projekti, mis võiks samal ajal olla tõesti kasulik ja potentsiaalselt elupäästev? Kui jah, siis olete jõudnud õigesse kohta õppima midagi uut ja uuenduslikku. Selles postituses läheme
Odavaim Arduino -- Väikseim Arduino -- Arduino Pro Mini -- Programmeerimine -- Arduino Neno: 6 sammu (piltidega)
Odavaim Arduino || Väikseim Arduino || Arduino Pro Mini || Programmeerimine || Arduino Neno: …………………………. Palun TELLI minu YouTube'i kanalile, et saada rohkem videoid ……. .See projekt käsitleb kõigi aegade väikseima ja odavaima arduino liidestamist. Väikseim ja odavaim arduino on arduino pro mini. See sarnaneb arduinoga