Mundarija:
- 1 -qadam: payvandlash pinlari
- 2 -qadam: Hammasini ulash
- 3 -qadam: kodlash
- 4 -qadam: uni quvvat manbaiga ulash
Video: Arduino gitara sozlagichini qanday qilish kerak: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Bu Arduino va boshqa bir qancha komponentlardan gitara sozlagichini tayyorlash bo'yicha ko'rsatmalar. Elektronika va kodlash bo'yicha asosiy bilimlarga ega bo'lsangiz, siz ushbu gitara sozlagichini yasashingiz mumkin bo'ladi.
Avvalo, siz qanday materiallar kerakligini bilishingiz kerak.
Materiallar:
- 1 Arduino (men Arduino 1 ishlatardim)
- 1 ta LCD displey (16x2)
- 1 ta potentsiometr
- 1 elektretli mikrofon
- 1 250 Ohm qarshilik
- Bir nechta simlar
-Lehimlash temir
- 1 ta piezo
1 -qadam: payvandlash pinlari
Siz qilishingiz kerak bo'lgan birinchi narsa - pinlarni LCD -ga lehimlash, lekin siz ularning to'g'ri lehimlanganligiga ishonch hosil qilishingiz kerak. Yuqoridagi rasmda qaysi pinlar qayerga ulanishi kerakligini ko'rsatadi. GND pimi Tinkercad diagramasidagi kabi potentsiometr terminaliga ulangan bo'lishi kerak. (QAYD: Pimlarni ko'rsatmalarga muvofiq ulash juda muhim, aks holda tyuner ishlamaydi.)
2 -qadam: Hammasini ulash
Simlarni LCDga lehimlagandan so'ng, siz ulashingiz kerak bo'lgan boshqa bir nechta simlar mavjud.
1.) Siz qilishingiz kerak bo'lgan birinchi narsa - Arduino -dagi GND va 5V -ni quvvat paneliga ulash. Keyin elektretni raqamli pin 7 va GND ga ulang.
2.) Keyin piezoni GND uchun non paneliga ulang va uni raqamli pin 6 ga ulang.
3.) Potansiyometr ishga tushgandan so'ng, siz 1 -terminalni non panelidagi ijobiy tasmaga, 2 -terminalini esa non panelidagi GND tasmasiga ulaysiz, so'ngra o'chirgichni LCD displeyidagi kontrastli pinga ulaysiz.
3 -qadam: kodlash
Hamma narsani to'g'ri ulaganingizdan so'ng, siz tyunerni o'z vazifasini bajarishi uchun dasturlashingiz kerak. Kod quyida
// kutubxona kodini o'z ichiga oladi: #include
// kutubxonani LiquidCrystal lcd interfeys pinlari (12, 11, 5, 4, 3, 2) raqamlari bilan ishga tushiring;
int A = 440;
int B = 494;
int C = 523;
int D = 587;
int E = 659;
int F = 699;
int G = 784;
int yuqoriA = 880;
int buzzer = 8; int funktsiyasiGenerator = A1;
bo'sh o'rnatish () {
// LCD -ning ustunlar va qatorlar sonini o'rnating:
lcd.begin (16, 2);
// Xabarni LCD displeyga chop eting.
lcd.print ("salom, dunyo!");
Serial.begin (9600);
// LCD -dagi hamma narsani tozalang, keyin kursorni, printt -ni o'rnating
lcd.setCursor (0, 1); }
void loop () {
Serial.println (analogRead (functionGenerator));
kechikish (50);
// kursorni 0 -ustun, 1 -qatorga o'rnating
// (eslatma: 1 -qator - ikkinchi qator, chunki sanash 0 bilan boshlanadi):
agar (analogRead (functionGenerator) == 450) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("A");
kechikish (1000);
} if if (analogRead (functionGenerator) == 494) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("B");
kechikish (1000);
} if if (analogRead (functionGenerator) == 523) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("C");
kechikish (1000);
} if if (analogRead (functionGenerator) == 587) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("D");
kechikish (1000);
} else if (analogRead (functionGenerator) == 659) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("E");
kechikish (1000);
} agar boshqa (analogRead (functionGenerator) == 699) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("F");
kechikish (1000);
} else if (analogRead (functionGenerator) == 784) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("G");
kechikish (1000);
} if if (analogRead (functionGenerator) == 880) {
lcd.clear ();
lcd.setCursor (8, 1);
ohang (signal, 250);
lcd.print ("A");
kechikish (1000);
} if if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("A");
kechikish (1000);
} if if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("A");
kechikish (1000);
} if if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("B");
kechikish (1000);
} if if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("B");
kechikish (1000);
} if if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("C");
kechikish (1000);
} if if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("C");
kechikish (1000);
} if if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("D");
kechikish (1000);
} if if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("D");
kechikish (1000);
} if if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("E");
kechikish (1000);
} if if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("E");
kechikish (1000);
} if if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("F");
kechikish (1000);
} if if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("F");
kechikish (1000);
} if if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("G");
kechikish (1000);
} if if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {
lcd.clear ();
lcd.setCursor (12, 1);
ohang (signal, 250);
lcd.print ("G");
kechikish (1000);
} if if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {
lcd.clear ();
lcd.setCursor (4, 1);
ohang (signal, 250);
lcd.print ("A");
kechikish (1000); }
else {noTone (ovozli signal); } kechiktirish (10); }
4 -qadam: uni quvvat manbaiga ulash
Oxirgi bosqichda siz faqat quvvat manbasini topishingiz va uni Arduino -ga ulashingiz kerak, siz tyunerdan foydalanishni boshlashingiz mumkin.
Tavsiya:
13003 tranzistoridan foydalangan holda kuchlanish nazorat qilish sxemasini qanday qilish kerak: 6 qadam
13003 tranzistorli kuchlanish nazorat qilish sxemasini qanday qilish kerak: do'stim, bugun men o'zgaruvchan kuchlanishli elektr ta'minotini ta'minlaydigan kuchlanish nazorat qilish sxemasini yaratmoqchiman. Elektron loyihalarni ishlab chiqsak, kontaktlarning zanglashiga olib kelishi uchun bizga har xil kuchlanish kerak bo'ladi. Men buni qilmoqchiman
Gitara kuchaytirgichini qanday qilish kerak - Tea2025b: 4 qadam
Gitara kuchaytirgichini qanday qilish kerak - Tea2025b: Aksariyat odamlar LM386 IC asosida shovqinli yoki TDA2030 tovushining etishmasligi asosida gitara kuchaytirgichini qurishadi. Garchi ular arzon bo'lsa -da, ular eng yaxshi gitara kuchaytirgichini ishlab chiqarish uchun etarlicha yaxshi emas. Shunday qilib, biz TEA2025B deb nomlangan boshqa ICni ishlatmoqchimiz
ARDUINO NANO/MINI QANDAY QILISH KERAK - Bootloader -ni qanday yoqish kerak: 5 qadam
ARDUINO NANO/MINI QANDAY QILISH KERAK | Bootloader -ni qanday yoqish kerak: Men sizga ko'rsatma beraman, Scratch -dan Arduino MINI -ni qanday yasashni ko'rsataman, bu ko'rsatmada yozilgan protsedura yordamida siz o'zingizning loyihangiz talablariga mos keladigan har qanday arduino taxtasini yasashingiz mumkin
Harorat, PH va erigan kislorod uchun ma'lumotlarni qayd qilish vositasini qanday qilish kerak: 11 qadam (rasmlar bilan)
Harorat, PH va erigan kislorod uchun ma'lumotlarni qayd qilish vositasini qanday qilish kerak: Maqsadlar: ≤ 500 dollarga ma'lumot yozuvchi yasang. U harorat, pH va DO ma'lumotlarini vaqt tamg'asi va I2C aloqasi yordamida saqlaydi. Nima uchun I2C (Inter-Integrated Circuit)? Bir nechta sensorlarni bir qatorga yig'ish mumkin, chunki ularning har birida
Tez yong'in rejimini qanday bepul qilish kerak (sizga faqat tornavida kerak): 10 qadam
Tez yong'in rejimini qanday bepul qilish kerak (sizga faqat tornavida kerak): Bugun men sizga xbox uskunasida tez o't o'chirish rejimini o'rgataman: xavfsizlik teshigiga ega bitta torx T8 tornavida YoKI kichik. tekis bosh. Bu safar men Titan Torx t8 -dan foydalanaman, xavfsizlik teshigiga ega, uni Autozone -da sotib olish mumkin.