Ana Sayfa STM32F429 Discovery Park Sensörü Uygulaması

Park Sensörü Uygulaması

10 min read
9
0
3,239

Merhabalar,

Arkadaşlar sizler için STM32F429 Discovery ile yapılmamış,özgün projeler hazırlamaya devam ediyoruz.Bu yazımızda park sensörü ile yapmış olduğumuz projemizi kodlarıyla birlikte paylaşacağız.

Park sensörü,sürücüler park ederken, bazen otomobillerinin çevresindeki nesneleri görmekte zorlanır. Böyle durumlarda park sensörleri işlerini kolaylaştırır. Park sensörü, otomobille yakın çevresindeki nesneler arasındaki mesafeyi hesaplayarak sürücüye bildiren bir donanımdır. Park sensörlerinin iki çeşidi vardır. Bunlardan biri ses dalgaları gönderip alarak, diğeriyse elektromanyetik alan oluşturarak çalışır. Ses dalgalarıyla çalışan park sensörleri daha yaygın olarak kullanılır.
Eqpt3f_575x392

Bu sensörler ses dalgalarını gönderip alabilen aygıtlardır. Otomobilden ses dalgaları gönderilir. Otomobilin gittiği yönde bir nesne varsa bu ses dalgaları nesneye çarparak geri döner. Otomobildeki alıcılar bu ses dalgalarını algılar. Sensör, nesnenin otomobilden ne kadar uzakta olduğunu ses dalgalarının ne kadar sürede geri döndüğüne dayanarak hesaplar. Nesnenin uzaklığına bağlı olarak uyarı sinyali vermeye başlar. “Dıt dıt” diye bir ses çıkararak sürücüyü uyarmaya yarayan sinyal, otomobil nesneye aklaştıkça “dııııııt”a dönüşür. Bazı sensörler sürücüye otomobilin nesneye uzaklığının ölçüsünü de gösterir. Elektromanyetik alan kullanılan sensörler, bir manyetik alan oluşturur. Otomobil, park edilirken bir nesneye yaklaştığında yani manyetik alana bir nesne girdiğinde sensör bunu algılar. Ses dalgalarıyla çalışan park sensörlerinde olduğu gibi sesli uyarı sistemi devreye girer.Ama biz bu uygulamamızda hoparlör koymadık,bunu görsellikle sağlamaya çalıştık.Ama ilerleyen zamanlarda güncelleme yapabiliriz.

Kullanılan Malzemeler

-STM32F429 Discovery Board

STM32F429-disco_g

 

 

 

 

 

 

-HC-SR04 Ultrasonik Mesafe Sensörü

images (1)

 

 

 

 

 

HC-SR04 Ultrasonik Mesafe sensörü hakkında bilgi almak isterseniz,bu konu ile ilgili makalemize buradan ulaşabilirsiniz..

-Jumper Kablolar

images

 

 

 

 

 

Ultrasonik Sensör-Stm32f429 Discovery Bağlantısı

Trigger-PB2

Echo-PB3

 

Kodlar


#include "stm32f4xx.h"
#include "stm32f4xx_spi.h"
#include "defines.h"
#include "tm_stm32f4_ili9341.h"
#include "tm_stm32f4_fonts.h"
#include "tm_stm32f4_delay.h"
#include "tm_stm32f4_disco.h"
#include "tm_stm32f4_hcsr04.h"
#include <stdio.h>
char buf[50], buf2[50];
int main(void) {
int distance ;

SystemInit();
TM_DELAY_Init();
TM_DISCO_LedInit();

TM_ILI9341_Init();
TM_DISCO_LedOn(LED_RED);

if (!TM_HCSR04_Init()) {

while (1) {
TM_DISCO_LedToggle(LED_RED | LED_GREEN);
Delayms(100);
}
}

TM_ILI9341_Rotate(TM_ILI9341_Orientation_Landscape_2);

TM_ILI9341_Fill(ILI9341_COLOR_BLUE);

TM_ILI9341_Puts(105, 150, "PARK SENSORU", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_GREEN);

TM_ILI9341_Puts(100, 190, "BY BILAL KAYA", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_WHITE);

TM_ILI9341_Puts(80, 220, "www.roboturka.com", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_RED);

while (1) {

distance = TM_HCSR04_Read();

if (50>distance && 40<distance ) {
TM_ILI9341_Puts(200, 85, "40-50 CM", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_BLUE2);
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_MAGENTA);

TM_DISCO_LedOn(LED_RED);
TM_DISCO_LedOff(LED_GREEN);
} else if (40>distance && 30<distance ) {
TM_ILI9341_Puts(200, 85, "30-40 CM", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_BLUE2);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_MAGENTA);
TM_DISCO_LedOn(LED_GREEN);
TM_DISCO_LedOff(LED_RED);
}
else if (30>distance && 20<distance ) {
TM_ILI9341_Puts(200, 85, "20-30 CM", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_BLUE2);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_MAGENTA);

TM_DISCO_LedOn(LED_GREEN);
TM_DISCO_LedOff(LED_RED);
}
else if (20>distance && 10<distance ) {
TM_ILI9341_Puts(200, 85, "10-20 CM", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_BLUE2);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_RED);

TM_DISCO_LedOn(LED_GREEN);
TM_DISCO_LedOff(LED_RED);
}
else if (10>distance && 0<distance ) {
TM_ILI9341_Puts(200, 85, " 0-10 CM", &TM_Font_11x18, ILI9341_COLOR_BLACK, ILI9341_COLOR_BLUE2);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_RED);
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_RED);

TM_DISCO_LedOn(LED_GREEN);
TM_DISCO_LedOff(LED_RED);
}
else{
TM_ILI9341_DrawFilledRectangle(50, 30,70, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(140, 30, 160, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(170, 30,190, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(110, 30, 130, 130, ILI9341_COLOR_MAGENTA);
TM_ILI9341_DrawFilledRectangle(80, 30, 100, 130, ILI9341_COLOR_MAGENTA);

}
sprintf(buf2, "%02d",distance);
TM_ILI9341_Puts(10, 15, buf2, &TM_Font_11x18, ILI9341_COLOR_YELLOW, 0x0000);

Delayms(100);

}

}

 

Proje dosyalarına buradan ulaşabilirsiniz…

Çalışma Videosu

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Bilal Kaya
Daha Fazla Göster -  STM32F429 Discovery

9 Yorumlar

  1. mehmet

    28 Nisan 2015 at 15:08

    Paylaşım için teşekkürler. Bu uygulama mdk 5’te çalışmıyor. Mdk 5 için paylaşım yapmanız mümkün mü?

    Reply

    • Bilal Kaya

      Bilal Kaya

      28 Nisan 2015 at 20:46

      Mehmet Bey,güzel dilekleriniz için teşekkür ederiz.MDK4 te yazıldı program.Ne hatası veriyor?

      Reply

      • Mehmet

        29 Nisan 2015 at 06:06

        Aşağıdaki hataları veriyor. Bir çok driveri tanımıyor. Kodlara göre programı mdk 5e dönüştürmeye çalıştım ama timer sorunu çıkıyor. bir türlü çözemedim.
        —————————————————————
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_usart.c: 0 warnings, 1 error
        compiling stm32f4xx_spi.c…
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c: 0 warnings, 1 error
        compiling stm32f4xx_adc.c…
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_adc.c: 0 warnings, 1 error
        compiling main.c…
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\User\main.c: 0 warnings, 1 error
        compiling stm32f4xx_it.c…
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\User\stm32f4xx_it.c: 0 warnings, 1 error
        compiling tm_stm32f4_delay.c…
        ..\User\defines.h(9): warning: #1-D: last line of file ends without a newline
        #define HCSR04_ECHO_PIN GPIO_Pin_3
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\User\tm_stm32f4_delay.c: 1 warning, 1 error
        compiling tm_stm32f4_hcsr04.c…
        ..\CMSIS\core_cm4.h(171): error: #5: cannot open source input file “core_cm4_simd.h”: No such file or directory
        #include /* Compiler specific SIMD Intrinsics */
        ..\User\tm_stm32f4_hcsr04.c: 0 warnings, 1 error
        “.\project.axf” – 11 Error(s), 1 Warning(s).

        Reply

        • Bilal Kaya

          Bilal Kaya

          29 Nisan 2015 at 08:34

          Keil 5 ile çok çalışmıyorum.Genellikle 4 ile yazdığım için bu problemlere sık rastlamıyorum.Şunu önerebilirim.Yukarıda hata aldığınız kütüphanelere tekrar yol atayabilir misiniz?Çünkü hata muhtemelen hedefle alakalı bir durum.

          Reply

  2. Ahenk Vural

    26 Aralık 2015 at 12:38

    Merhabalar,bende aynı hataları alıyorum,keil v5 ile çalışıyorum. stm32f4xx_rcc.h yi bulamıyor. Bu header fileı eklersem çözülecek sanırım. Siz problemi çözebildiniz mi?

    Reply

    • Bilal Kaya

      Bilal Kaya

      26 Aralık 2015 at 15:40

      Merhabalar,mail adresinizi belirtirseniz size keil5 ile yapılmış bir örnek göndereyim.Sizde ondan yararlanarak problemi çözebilirsiniz.

      Reply

  3. vahit

    3 Aralık 2016 at 01:47

    bağlantı şemasını ve nasıl yükleyeceğim hakkında döküman varsa onuda atarmısın

    Reply

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

Lazer İşleme Makinesi Yapımı

Merhaba arkadaşlar,bu projemizde sizlerle birlikte lazer işleme makinesi yapımını göreceği…