DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arkadaşlar iyi çalışmalar öncelikle.Elimde bir sensör var lcd ye bağlı.Sensörden gelen verileri lcd ekrana veriyorum. Ama gelen veriler sabit değil.örneğin gelen ilk 5-10 verinin ortalamasını nasıl alabilirim
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Yazdığınız kodları paylaşırsanız çözümler önerilebilir diğer türlü alacağınzı cevap; 10 tane değeri toplayın sonra 10'a bölün çıkan sonuç istediğiniz ortalama değer olacaktır.
while(TRUE) { output_toggle(pin_a0); signed int16 acc1,acc2,acc3;
A_data[0]=mpu6050_read(0x43);//(0x3B); //X eksen(LSB) ilk byte okunuyor A_data[1]=mpu6050_read(0x44); //X eksen(MSB) son biti okunuyor A_data[2]=mpu6050_read(0x45); //Y eksen(LSB) ilk biti okunuyor A_data[3]=mpu6050_read(0x46); //Y eksen(MSB) son biti okunuyor A_data[4]=mpu6050_read(0x47); //Z eksen(LSB) ilk biti okunuyor A_data[5]=mpu6050_read(0x48); //Z eksen(MSB) son biti okunuyor
Aşağıdaki örneğe benzer bir mantık işinizi görecektir.
#define ORTALAMA_ADET 10 ile ortalama almak istediğiniz değeri seçin. sonuçlar ortalama_a1_sonuc ortalama_a2_sonuc ortalama_a3_sonuc
içerisine aktarılır, sizde bu değeri LCD de görüntüleyebilirsiniz. Kısa açıklamalar zaten kod içerisinde yapıldı. Syntax hataları olabilir belki, kodları derleme imkanım olmadı.
#include <16f877A.h> #device ADC=8
#FUSES NOWDT //No Watch Dog Timer #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #use delay(crystal=8MHz) #use I2C(master, sda=PIN_d0, scl=PIN_d1, slow) //i2c ayarlari yapılıyor.
while(TRUE) { output_toggle(pin_a0); signed int16 acc1,acc2,acc3;
A_data[0]=mpu6050_read(0x43);//(0x3B); //X eksen(LSB) ilk byte okunuyor A_data[1]=mpu6050_read(0x44); //X eksen(MSB) son biti okunuyor A_data[2]=mpu6050_read(0x45); //Y eksen(LSB) ilk biti okunuyor A_data[3]=mpu6050_read(0x46); //Y eksen(MSB) son biti okunuyor A_data[4]=mpu6050_read(0x47); //Z eksen(LSB) ilk biti okunuyor A_data[5]=mpu6050_read(0x48); //Z eksen(MSB) son biti okunuyor
Üç satırın sonudanda parantez eksiği var. " );" Tırnaklar olmadan satır sonlarına bunları ekleyin. Not: 3 değeride lcd_gotoxy(1,1) ile belirtilen komumunda üst üste yazacak, sizin lcd yerleşiminize bu kısmı düzenlemeniz gerekecek.
//------------- // lcd yazma örneği lcd de hangi koordinata yazılacağını belirleyiniz.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.