Gomulu Sistemler
1 dakika okuma
STM32 ADC ile Analog Sinyal Okuma
STM32 ADC modulu ile analog sinyaller okuma ve DMA kullanimi.
E
Emre Cihan ADC Neden Onemli
Gercek dunya analog sinyallerle doludur. ADC bu kopruyu kurar.
Temel Kullanim
uint16_t ADC_Oku(void) {
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
uint16_t v = HAL_ADC_GetValue(&hadc1);
HAL_ADC_Stop(&hadc1);
return v;
}
float ADC_Voltaj(uint16_t ham) {
return (ham * 3.3f) / 4095.0f;
}
DMA ile Surekli Okuma
uint16_t tampon[4];
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)tampon, 4);
// tampon[] surekli guncellenir, CPU mesgul olmaz
Hareketli Ortalama
#define N 16
uint16_t ornekler[N];
uint8_t idx = 0;
uint16_t ortalama(uint16_t yeni) {
ornekler[idx++ % N] = yeni;
uint32_t toplam = 0;
for (int i = 0; i < N; i++) toplam += ornekler[i];
return toplam / N;
}
NTC Termistor
float ntc_sicaklik(uint16_t adc) {
float v = ADC_Voltaj(adc);
float r = 10000.0f * v / (3.3f - v);
float lnr = logf(r / 10000.0f);
return 1.0f/(0.001129f + 0.000234f*lnr + 0.0000000877f*lnr*lnr*lnr) - 273.15f;
}
Paylaş:
Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı
İlgili yazılar
Gomulu Sistemler
STM32 Nedir? ESP32'den Farkı ve Ne Zaman Tercih Edilmeli
4 dk
Gomulu Sistemler
I2C Nedir? Çoklu Sensör Bağlantısında Neden Tercih Edilir?
4 dk
Gomulu Sistemler
RS485 Nedir? Endüstriyel Haberleşmede Neden Hâlâ Kullanılıyor?
4 dk
Gomulu Sistemler
MQTT Nedir? IoT Projelerinde Neden Bu Kadar Popüler?
4 dk