STM32F429 Discovery STM32F429 Discovery ile BMP180 Dijital,Barometrik Basınç Sensörü Uygulaması By Konuk Yazar Posted on 4 Temmuz 2015 5 min read 0 0 3,133 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr bmp180 dijital basınç uygulaması Merhaba Arkadaşlar, Bu çalışmamızda sizlere,STM32F429 Discovery ile BMP180 basınç sensöründen aldığımız verileri dokunmatik ekranda göstereceğiz.BMP180 dijital barometrik basınç sensörü,akıllı telefonlar gibi gelişmiş mobil cihazlar, tablet PC’ler ve spor cihazlar için uygulamalar geliştirmemizi sağlayan bir sensördür.BMP180 ile sıcaklığı da ölçebiliyoruz.Veri transferi I2C veya SPI aracılığıyla gerçekleştirilebilir.BMP180,BMP085 sensörünü takip etmekle birlikte,dijital arayüz genişlemesi ve daha küçük boyutu ile birçok yeniliği de beraberinde getiriyor.3 µA’a kadar düşük güç tüketimi ile cihazlarda güç tasarrufu sağlamaktadır. Basınç aralığı—–>300 … 1100 hPa aralığındadır. Çalışma sıcaklığı—–>40 … +85 °C -0 … +65 °C Besleme gerilimi—–>1.8 … 3.6 V BMP180 Hedef Uygulamaları Kapalı navigasyon Spor cihazlar,yükseklik profili Eğim bulma Hava tahmini Dikey hız göstergesi (rise/sink speed) Kullanılan Malzemeler -STM32F429 Discovery -BMP180 -Jumper Kablolar -Bread Board STM32F429 Discovery ve BMP180 Bağlantısı BMP180 STM32F429 GND —– >GND Vın —– >3,3 volt SCL —– >PA8 SDA —– >PC9 Proje dosyalarının tamamına buradan ulaşabilirsiniz. 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_disco.h" #include "tm_stm32f4_bmp180.h" #include "tm_stm32f4_usart.h" #include <stdio.h> int main(void) { char buffer[50]; TM_BMP180_t BMP180_Data; SystemInit(); TM_DELAY_Init(); TM_ILI9341_Init(); TM_ILI9341_Rotate(TM_ILI9341_Orientation_Landscape_2); TM_ILI9341_Fill(ILI9341_COLOR_BLUE2); TM_ILI9341_Puts(70, 200, "www.roboturka.com", &TM_Font_11x18, ILI9341_COLOR_WHITE, ILI9341_COLOR_BLUE2); TM_ILI9341_Puts(110, 170, "Bilal Kaya", &TM_Font_11x18, ILI9341_COLOR_WHITE, ILI9341_COLOR_BLUE2); TM_ILI9341_Puts(0, 30, "BMP180 Dijital Basinc Sensoru", &TM_Font_11x18, ILI9341_COLOR_WHITE, ILI9341_COLOR_BLUE2); TM_ILI9341_Puts(110, 50, "Uygulamasi", &TM_Font_11x18, ILI9341_COLOR_WHITE, ILI9341_COLOR_BLUE2); if (TM_BMP180_Init(&BMP180_Data) == TM_BMP180_Result_Ok) { } else { while (1); } while (1) { TM_BMP180_StartTemperature(&BMP180_Data); Delay(BMP180_Data.Delay); TM_BMP180_ReadTemperature(&BMP180_Data); TM_BMP180_StartPressure(&BMP180_Data, TM_BMP180_Oversampling_UltraHighResolution); Delay(BMP180_Data.Delay); TM_BMP180_ReadPressure(&BMP180_Data); sprintf(buffer, "Sicaklik: %2.3f C\nP: %6d Pascals\nYukselti: %3.2f m\n\n", BMP180_Data.Temperature, BMP180_Data.Pressure, BMP180_Data.Altitude ); TM_ILI9341_Puts(72, 90, buffer, &TM_Font_11x18, ILI9341_COLOR_RED, ILI9341_COLOR_BLUE2); Delayms(1000); } } [/php]