Pico Eğitim Kartı
 
Yüklüyor...
Arıyor...
Eşleşme Yok
sensors.c Dosya Referansı

Pico Eğitim Kartı için PIR ve ultrasonik sensör fonksiyonlarının uygulanması Ayrıntılar...

sensors.c için içerme bağımlılık grafiği:

Makrolar

#define SOUND_SPEED   343.0f
 
#define SENSOR_TIMEOUT   26100
 
#define TRIGGER_PULSE   10
 

Fonksiyonlar

void init_pir (void)
 PIR hareket sensörünü başlatır.
 
bool detect_motion (void)
 PIR sensörü tarafından hareket algılanıp algılanmadığını kontrol eder.
 
void init_ultrasonic (void)
 Ultrasonik sensör pinlerini başlatır.
 
float measure_distance (void)
 Ultrasonik sensör kullanarak mesafe ölçer.
 
bool wait_for_motion (uint32_t timeout_ms)
 Zaman aşımı ile hareket algılamayı bekler.
 
float get_average_distance (uint8_t num_samples, uint32_t delay_ms)
 Birden fazla ölçümden ortalama mesafeyi alır.
 

Ayrıntılı tanımlama

Pico Eğitim Kartı için PIR ve ultrasonik sensör fonksiyonlarının uygulanması

Ayrıca Bakınız
Sensörler (PIR + Ultrasonik)

Makro Dokümantasyonu

◆ SENSOR_TIMEOUT

#define SENSOR_TIMEOUT   26100

◆ SOUND_SPEED

#define SOUND_SPEED   343.0f

◆ TRIGGER_PULSE

#define TRIGGER_PULSE   10

Fonksiyon Dokümantasyonu

◆ detect_motion()

bool detect_motion ( void  )

PIR sensörü tarafından hareket algılanıp algılanmadığını kontrol eder.

Döndürdüğü değer
Hareket algılandıysa true, aksi halde false
Bu fonksiyon için çağırılma şeması:

◆ get_average_distance()

float get_average_distance ( uint8_t  num_samples,
uint32_t  delay_ms 
)

Birden fazla ölçümden ortalama mesafeyi alır.

Parametreler
num_samplesOrtalama alınacak örnek sayısı
delay_msÖrnekler arasındaki gecikme süresi (milisaniye)
Döndürdüğü değer
float Santimetre cinsinden ortalama mesafe veya ölçümler başarısız olursa -1.0
Not
Negatif dönen ölçümler (zaman aşımı) ortalamaya dahil edilmez.
Bu fonksiyon için çağırılma şeması:

◆ init_pir()

void init_pir ( void  )

PIR hareket sensörünü başlatır.

PIR sensör pinini giriş olarak yapılandırır

Bu fonksiyon için çağırılma şeması:

◆ init_ultrasonic()

void init_ultrasonic ( void  )

Ultrasonik sensör pinlerini başlatır.

Tetikleme pinini çıkış ve yankı pinini giriş olarak yapılandırır

Bu fonksiyon için çağırılma şeması:

◆ measure_distance()

float measure_distance ( void  )

Ultrasonik sensör kullanarak mesafe ölçer.

Döndürdüğü değer
float Santimetre cinsinden mesafe veya ölçüm başarısız olursa -1.0
Not
Ölçüm aralığı tipik olarak ~2 cm ile ~450 cm arasındadır. Zaman aşımlarında -1.0 döner.
Ölçüm öncesi init_ultrasonic() çağrılmış olmalıdır.
Bu fonksiyon için çağırılma şeması:

◆ wait_for_motion()

bool wait_for_motion ( uint32_t  timeout_ms)

Zaman aşımı ile hareket algılamayı bekler.

Parametreler
timeout_msBeklenecek maksimum süre (milisaniye), 0 ise zaman aşımı yok
Döndürdüğü değer
Hareket algılandıysa true, zaman aşımı oluştuysa false
if (wait_for_motion(5000)) {
// 5 saniye içinde hareket algılandı
} else {
// zaman aşımı
}
bool wait_for_motion(uint32_t timeout_ms)
Zaman aşımı ile hareket algılamayı bekler.
Definition sensors.c:111
Bu fonksiyon için çağırılma şeması: