STM32F429 Discovery STM32F429 Discovery ADC Uygulaması By Konuk Yazar Posted on 19 Temmuz 2015 4 min read 3 0 7,364 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr stm32f4 discovery adc uygulaması Merhaba Arkadaşlar, STM32F429 Discovery ADC uygulaması hakkında bilgi vereceğiz.İlk önce biraz ADC’den bahsedelim.ADC’nin açılımı,Analog Dijital Converter’dır. Çevremize baktığımızda bir çok fiziksel büyüklük var.Sıcaklık,basınç,ışık şiddeti,basınç,ağırlık vb. örnekler verilebilir.Bu büyüklükler analog veri üretmektedir.Bu verileri mikrodenetleyicimizde kullanabilmemiz için,dijital formata dönüştürmemiz gerekmektedir.Bunun içinde ADC modulü kullanılmaktadır.STM32F429 Discovery 3 adet ADC’ye sahiptir.Her ADC’nin de kendine ait channellerı mevcuttur.Bu uygulamada,ADC1’in Channel0’ı kullanılmıştır.Bu da,STM32f429 Discovery’nin PA0 nolu pinidir. STM32F429 Discovery ADC ile daha detaylı bilgiye buradan ulaşabilirsiniz. STM32F429 Discovery –10K Potansiyometre Bağlantısı Potansiyometrenin 3 ucu vardır.Ortadaki uç,STM32F429 Discovery’nin PA0 no’lu ucuna bağlanmaktadır.Kalan iki ucundan biri 3 volta,diğeri toprağa bağlanmıştır.Videoda da uygulamalı olarak gösterilmiştir. Kullanılan Malzemeler -STM32F429 Discovery -10k Potansiyometre -Bread Board -Jumper Kablolar Keil ile Yazılmış Kodlar [php] #include "stm32f4xx.h" #include "stm32f4xx_spi.h" #include "defines.h" #include "tm_stm32f4_ili9341_ltdc.h" #include "tm_stm32f4_fonts.h" #include "tm_stm32f4_delay.h" #include "tm_stm32f4_adc.h" #include "tm_stm32f4_disco.h" #include <stdio.h> int main(void) { char str[15]; int a; SystemInit(); TM_DELAY_Init(); TM_ILI9341_Init(); /*PA0 */ TM_ADC_Init(ADC1, ADC_Channel_0); TM_ILI9341_Rotate(TM_ILI9341_Orientation_Landscape_2); while (1) { a=TM_ADC_Read(ADC1, ADC_Channel_0); if (5000>a && 3200<a ) { TM_ILI9341_Fill(ILI9341_COLOR_RED); } else if (3200>a&& 2400<a ) { TM_ILI9341_Fill(ILI9341_COLOR_BLUE2); } else if (2400>a && 1600<a ) { TM_ILI9341_Fill(ILI9341_COLOR_BLUE); } else if (1600>a && 800<a ) { TM_ILI9341_Fill(ILI9341_COLOR_GREEN); } else if (800>a && 0<a ) { TM_ILI9341_Fill(ILI9341_COLOR_GREEN2); } sprintf(str, "%4d",a); TM_ILI9341_Puts(130, 175,str, &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_WHITE); TM_ILI9341_Puts(80, 150,"ADC UYGULAMASI", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_WHITE); TM_ILI9341_Puts(70, 200,"www.roboturka.com", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_WHITE); Delayms(100); } } [/php]