Arduino Basit Vu Metre - Kodla Gitsin

Ana içeriğe atla

Arduino Basit Vu Metre

Arduino Uno kullanarak müziğe duyarlı LCD göstergeli basit bir vu metre yapalım. Kullanılan malzemeler: Arduino Uno I2C haberleşme modülü 16x2 LCD Biraz jumper Arduino Uno A0 ve A1 pinleri sağ ve sol kanal girişleri için kullanılıyor. A0-GND , A1-GND şeklinde kullanın. Arduino Uno A5 pinine I2C LCD'nin SCL pini Arduino Uno A4 pinine I2C LCD'nin SDA pini I2C LCD'nin VCC(+5V) ve GND bağlantılarını unutmayın Sistem A0 ve A1 analog girişlerinden alınan sinyalin işlenmesine dayanıyor. Sinyal büyüklüğüne göre LCD ekranındaki 2 satırı da sağ ve sol kanaların sinyal seviyesini yatay sütun olarak gösteriyoruz. Devre basit olduğu için her iki kanalda gelen ses sinyali işlemesini aynı anda işleyip aynı anda göstermiyor. Bu durumu millis() fonksiyonu ile düzenleyip, görsel farkı en aza indirmeye çalıştım. Ayrıca map() fonksiyonunu kullandım. vu1=map(analog_deger1, 0, 1023, 0,64); vu2=map(analog_deger2, 0, 1023, 0,64); Burada A0-1girişlerinden aldığımız sinyalin seviyesi 0-1023, 64 rakamı yerinde 16 olması lazım, 16 rakamı LCD sütun sayısı, fakat 16 kullanınca vumetre duyarlılığı düşük oluyor, bende iki kat iki kat deneye deneye 64 sayısını buldum, mantıksal olarak ortaya çıkan değer LCD sütun sayısını çok aşıyor ama olay hızlı geliştiği için fark edilmiyor zaten. Map fonksiyonu, 0-255 arası değerleri 0-1023 arasında ölçekler. map(değer, a, b, x, y) => Burada değer olarak giren sayı a-b aralığından x-y aralığına ölçeklenir. Devre deneysel olarak oynanabilir. Özellikle kendini geliştirmek isteyenler için. Ben denemelerimde ses kaynağı olarak laptopu kullandım. vumetre göstergesinin düzgün göstermesi için sesi sonuna kadar açtım. Tavsiyem A0 ve A1 girişlerindeki sinyali yükseltmek için 1 transistörlü yükselteç (BC serisi) kullanmanız. ARDUINO IDE KODLARI: /* kodlagitsin.blogspot.com * Arduino Uno Basit Vu Metre * Arduino Uno, I2C Haberleşme Modülü, 16x2 LCD */ #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); int vu1 = 0; int vu2 = 0; int analog_deger1; int analog_deger2; int basla1=0; int basla2=0; // kanalların zaman kontrol değişkenleri: unsigned long Zaman_1 = 1; //ms unsigned long Zaman_2 = 2; //ms unsigned long Zaman_3 = 251; //ms unsigned long Zaman_4 = 250; //ms unsigned long EskiZaman_1 = 0; unsigned long EskiZaman_2 = 0; unsigned long EskiZaman_3 = 0; unsigned long EskiZaman_4 = 0; void setup() { Serial.begin(9600); lcd.begin(16, 2); lcd.setBacklightPin(3,POSITIVE); lcd.setBacklight(HIGH); } void loop() { analog_deger1 = analogRead(A0); analog_deger2 = analogRead(A1); vu1=map(analog_deger1, 0, 1023, 0,64); vu2=map(analog_deger2, 0, 1023, 0,64); unsigned long SimdikiZaman = millis(); // zamanlayıcıyı oku //ZAMANI gelen GÖREVİ yap: // ----- GÖREV#1: if (SimdikiZaman - EskiZaman_1 >= Zaman_1) { EskiZaman_1 = SimdikiZaman; Gorev_1(); } // ----- GÖREV#2: if (SimdikiZaman - EskiZaman_2 >= Zaman_2) { EskiZaman_2 = SimdikiZaman; Gorev_2(); } // ----- GÖREV#3: if (SimdikiZaman - EskiZaman_3 >= Zaman_3) { EskiZaman_3 = SimdikiZaman; Gorev_3(); } // ----- GÖREV#4: if (SimdikiZaman - EskiZaman_4 >= Zaman_4) { EskiZaman_4 = SimdikiZaman; Gorev_4(); } } //------------------------------------------------------------ // GÖREV FONKSİYONLARI: void Gorev_1(){ while (basla1 < vu1) { lcd.setCursor(basla1, 0); lcd.print(char(255)); basla1++; } } void Gorev_2(){ while (basla2 < vu2) { lcd.setCursor(basla2, 1); lcd.print(char(255)); basla2++; } } void Gorev_3(){ while (basla1 > 0) { lcd.setCursor(basla1, 0); lcd.print(" "); basla1--; } } void Gorev_4(){ while (basla2 > 0) { lcd.setCursor(basla2, 1); lcd.print(" "); basla2--; } } // -----------------------kod sonu-------------------- KULLANILAN PROGRAMLAYICI:Arduino 1.8.10

Yorumlar

Yorum Gönder

  • Ana Sayfa
  • Konular
  • Blog Hakkında

Etiketler

  • 'void loop()' previously defined here
  • 'void loop()' previously defined here error
  • #include <IRremote.h>
  • 1602A
  • 1602A LCD
  • 1684
  • 16F
  • 16F628
  • 16F628 buton
  • 16F628 buton kontrol
  • 16F628 led yakma
  • 16F628 tek butonla led yakıp söndürme
  • 16F628A
  • 16F628A & LCD
  • 16F628A &DFPlayer
  • 16F628A buton kontrolü
  • 16F628A DS1302 saat takvim
  • 16F628A I2C bağlantısı
  • 16F628A icsp
  • 16F628A ile Büyük Yazı
  • 16F628A ile LCD Kayan Yazı
  • 16F628A ile LCD Yazı
  • 16F628A ile sayıcı
  • 16F628A konfigürasyon bitleri
  • 16F628A LCD bağlantısı
  • 16F628A mesafe ölçer
  • 16F628A saat
  • 16F628A saat takvim buton kontrolü
  • 16F628A saat ve takvim
  • 16F628A takvim saat
  • 16F628A uzaklık ölçer
  • 16F84
  • 16F84A
  • 16F877 LCD
  • 16F877A
  • 2x16 LCD
  • 4 Digit 7 Segment
  • 4 Digit 7 Segment saat
  • 6F628A sayıcı devresi
  • 7 segment ortak katot
  • AA3P TK19
  • Access Point
  • aktif buzzer
  • aktif buzzer yapalım
  • aktif buzzer yapımı
  • Alice 3
  • All files up to date
  • All files up to date hatası
  • All files up to date uyarısı
  • Animated LED
  • ardu
  • Arduinı ısı ölçme
  • Arduino
  • arduino park sensörü
  • arduino & processing
  • arduino alarmlı saat
  • arduino alarmlı saat arduino butonlu saat Arduino Uno Arduino Uno saat ve takvim DS1032 saat DS1302 I2C I2C LCD saat ve takvim LCD 1302A saat takvim
  • arduino besleme
  • Arduino buton
  • arduino buton kontrol
  • arduino buton set
  • arduino butonlu saat
  • Arduino demodulator
  • Arduino dfplayer
  • arduino hata
  • Arduino I2C
  • Arduino I2C Seri Adaptör
  • Arduino Ide
  • Arduino IR
  • Arduino IR (Kızılötesi) Kod Çözücü
  • Arduino IR demodulator
  • Arduino IR Kumanda ile Menü Kontrol
  • arduino IR menü
  • Arduino için IRremote Kütüphanesi
  • arduino joysitick
  • Arduino Joystick
  • Arduino Joystick & I2C
  • Arduino kızılötesi
  • Arduino kod çözücü
  • Arduino kütüphanesi
  • Arduino LCD
  • Arduino LCD1602A
  • Arduino library
  • Arduino menü
  • Arduino mesafe sensörü
  • Arduino Mors Alfabesi
  • Arduino Mors Kodu
  • Arduino müzik
  • Arduino pil kapasite ölçme
  • Arduino pil ölçer
  • arduino pot
  • arduino pot kullanımı
  • arduino pot okuma
  • Arduino RGB
  • Arduino saat
  • arduino saat ayar
  • Arduino saat ve takvim
  • Arduino takvim
  • arduino uçak oyunu
  • Arduino Uno
  • Arduino Uno pin
  • Arduino Uno saat ve takvim
  • Arduino uzaklık sensörü
  • Arduino uzaktan kumanda
  • Arduino voltmetre
  • arduino vu metre
  • arduino vumetre
  • Arduino zaman
  • Arduinolibrary for Proteus
  • ASM
  • assambly
  • ASSEMBLER
  • ASSEMBLY
  • ASSEMBLY ile Döngü
  • ayarlı mosfet güç kaynağı
  • BC547
  • BC557
  • bcf
  • besleme devresi
  • BIN
  • big font
  • big karakter
  • blink
  • Blockly
  • Blockly Games
  • bluetooth
  • bluetooth 4.0.bluetooth ses alıcı modülü
  • BOREN
  • bsf
  • buton kontrol
  • buton kontrolü
  • buton set
  • buzzer
  • büyük font
  • büyük yazı
  • c7thn50004
  • c7thn50004 bluetooth
  • CCS C
  • CCS C bir buton ile kontrol
  • CCS C Compiler
  • CCS C hata
  • CCS C tek butonla led yakma
  • CLRF
  • configurations bits
  • CP
  • CPD
  • çift satır yazı
  • Darbe Genlik Modülasyonu
  • DEC
  • DECFSZ
  • derece
  • DFPlayer
  • DFPlayer kütüphanesiz
  • DFPlayeruzaktan kontrol
  • display parlaklığını değiştirme
  • DS 1302
  • DS 1302 RTC Modülü
  • DS1032 RTC
  • DS1032 saat
  • DS1302
  • ds1302 saat
  • DS1307 Library
  • DS18B20
  • DS18B20 ısı sensörü
  • ESP8266
  • ESP8266 Access Point
  • ESP8266 board kurulumu
  • ESP8266 kart kurulumu
  • ESP8266 kart kurulumu sorunu
  • ESP8266 led yakma
  • ESP8266 Web Server
  • ESP8266 WiFi Tarayıcı
  • ESP8266-01
  • EX 838
  • ex838
  • excel
  • Flame Sensor
  • formatlı saat
  • FOSC
  • Foto
  • foto direnç
  • Gas Sensor
  • Genuino
  • GOTO
  • göz kırpma
  • GPS
  • GSM
  • HC-SR04
  • HC-SR04 kütüphanesi
  • HC-SR04 park sensörü
  • HC-SR04 uçak oyunu
  • HEX
  • HEX dosyasını ASSEBLY'e Çevirmek
  • HEX to ASSEMBLY
  • HEX'den ASSEMBLY'e
  • I2C
  • I2C LCD
  • I2C LCD bağlantısı
  • I2C LCD özel karakter
  • I2C LCD saat ve takvim
  • I2C LCD türkçe karakter
  • I2C Modüllü 16x2 LCD
  • I2C saat takvim
  • ICSP
  • ICSP ile programlama
  • IDE
  • Infrared Receiver
  • Instruction Time
  • IR
  • IR alıcı
  • IR Module
  • IRModül
  • IRremote
  • IRremote Kütüphanesi
  • Irremote library
  • ısı ölçme
  • iki satır yazı
  • Jal Edit
  • JAVA
  • joystick
  • K150
  • K150 PIC Programmer
  • kara şimşek
  • karanlık aydınlık dedektörü
  • Kızılötesi Alıcı
  • kızılötesi kontrol
  • kodlama
  • komut işletme süresi
  • konfig bitleri
  • konfigürasyon bitleri
  • kütüphane
  • LCD
  • LCD 1302A
  • LCD 1302A saat takvim
  • LCD 1602A
  • LCD büyük yazı
  • LCD Ekranda Hareket
  • LCD Karakter Yapımı
  • LCD kullanımı
  • LCD özel karakter
  • LCD yazı
  • LDR
  • LED
  • LED animasyon
  • led yakma
  • library for proteus
  • Ligh Dependent Resistor
  • Liquid Crystal Display
  • LVP
  • Manual
  • map() fonksiyonu örnek
  • mBlock
  • MCLRE
  • Mega
  • Mhz
  • Micro Code Studio
  • microbrn
  • millis() fonksiyonu örnek
  • Mors Alfabesi
  • Mors Kodu
  • mosfetli besleme devresi
  • mosfetli güç kaynağı
  • movlw
  • movwf
  • MP3 player
  • MPLAB IDE
  • Nano
  • no ultrasonik uçak
  • Ortak Anot
  • ortak katodlu led
  • Ortak Katot
  • özel karakter
  • pacman
  • PIC
  • PIC 16F628A ile LDR Kullanımı
  • PIC Assembly
  • PIC C Compiler
  • PIC DECA V3 Deneme Kartı
  • PIC denemekartı
  • PIC döngü
  • PIC gecikme
  • PIC K150
  • PIC K150 Programlayıcı
  • PIC K150 Programmer
  • PIC ve LCD
  • PICBASIC
  • PICBASIC LCD_DEFINE
  • PICBASIC ile LCD Kullanımı
  • PICBASIC’te kullanılan LCD komutları
  • PIR Sensor
  • Pic Basic
  • pic basic ile LCD yazı
  • Pic Basic Pro
  • pic besleme
  • pic DFPlayer
  • Pic ile Lcd Display
  • pic ile LCD yazı
  • pic ile LCDyazı
  • pic ile seri lcd kullanımı
  • pic programlama
  • pil ölçer
  • pin
  • pinler
  • pinouts
  • pins
  • portb
  • pot
  • pot ile port kontrol
  • pot okuma
  • potansiyometre okuma
  • pratik ayarlı besleme devresi
  • previously defined here
  • Pro Mini
  • proteus
  • Proteus 8
  • Proteus için Arduino Kütüphanesi
  • Proteus için HC-SR04 kütüphanesi
  • Proteus için Ultrasonic sensör kütüphanesi
  • proteus libraries
  • proton basic
  • proton basic case
  • proton basic if then
  • proton basic select case
  • proton ide
  • Pulse Width Modulation
  • PWM
  • PWM ile RGB LED Kontrolü
  • Random RGB
  • Random RGB LED
  • return
  • RGB
  • RGB LED
  • RGB&PWM
  • saat
  • saat ayar
  • saat ve takvim
  • sayıcı
  • Schematic
  • Scratch
  • select case
  • seri lcd
  • seri programlama
  • sevseg kütüphanesi
  • sevseg library
  • sevseg.setBrightness
  • sıcaklık ölçer
  • sıcaklık sensörü
  • Super IR
  • Süper Kızılötesi alıcı
  • şiir
  • takvim
  • tek satır yazı
  • tk19
  • Ultrasonic Sensor
  • Ultrasonic Sensor Library for Proteus
  • ultrasonik uçak
  • UNO
  • up to date hatası
  • up to date uyarısı
  • uzaklık sensörü
  • uzaktan kumanda
  • uzaktan kumanda ile menü kontrol
  • uzaktan kumanda LED kontrol
  • üç boyutlu kodlama
  • Vibration Sensor
  • void loop hatası
  • voltmetre
  • vu metre
  • vumetre
  • WDTE
  • Web Server
  • WIN668
  • WiFi erişim noktası
  • WiFi Scan
  • WiFi Tarayıcı
  • XBee
  • yürüyen ışıklar
  • ZD25D80
Daha fazla göster

Popüler Yazılar

Arduino IR (Kızılötesi) Kod Çözücü

Resim Bütün kızılötesi kumandaların tuş kodlarını öğrenmek için bu çalışmayı kullanabilirsiniz. İhtiyacınız olanlar Arduino Uno veya diğerleri, IR alıcı LED, birkaç direnç ve LED. Direnç ve LED'ler olaya görsellik katmak için kullanıldı. Kullanmasanız da olur. Seri port ekranında, kumandadan bastığınız tuşların HEX, BIN, DEC kodlarını görüyorsunuz. Devamı

Proteus Kütüphaneleri

Resim Projelerinizde kullanabileceğiniz çeşitli Proteus programı kütüphaneleri Devamı

Proteus İçin Ultrasonik Sensör Kütüphanesi

Resim Proteus simülasyonlarınız için ultrasonik sensör kütüphanesi. Proteus için  HC-SR04 kütüphanesi. Devamı

Arduino Voltmetre & Pil Ölçer

Resim Bu seferki projemiz arduino uno kullanarak voltmetre ve pil kapasitesini % olarak ölçmek. Devamı

Arduino için IRremote Kütüphanesi

Resim #include <IRremote.h> Arduino projeleriniz için lazım olan Kızılötesi (IR) uzaktan kumanda kütüphanesi Devamı

Tag » Arduino Vumetre Yapımı