Ana program, adım motoru kontrolü için Raspberry Pi Pico Eğitim Kartı'nı başlatır. Ayrıntılar...
#include "pico_training_board.h"
Fonksiyonlar | |
| void | button_callback (uint gpio, uint32_t events) |
| Button interrupt callback function. | |
| void | init_motor_buttons (void) |
| Initialize button interrupts for motor control. | |
| void | core1_main () |
| Core 1'de çalışacak işlev. | |
| void | send_motor_parameters (motor_direction_t direction, uint speed, float revolutions) |
| Step motor parametrelerini Core1'e gönderir (yön, hız, devir) | |
| void | write_analog_to_lcd (char *component_name, float value) |
| LCD ekrana isim:değer formatında yazı yazar. | |
| void | display_keypad_value () |
| Keypad’den tuş okur ve LCD’ye gösterir. | |
| void | display_potentiometer_value () |
| Potansiyometre değerini okuyup LCD’nin ilk satırına yazar. | |
| void | display_ldr_sensor_value () |
| LDR değerini okuyup LCD’nin ikinci satırına yazar. | |
| void | motion_detect (void) |
| Hareket algılandığında melodi çalar ve mesafeyi LCD'ye yazar. | |
| int | main () |
Değişkenler | |
| static volatile bool | motor_running = false |
| Kart üzerindeki motor durumunu tutan değişkenler. | |
| static volatile bool | motor_command_pending = false |
| static volatile motor_direction_t | current_direction = CW |
| static volatile motor_direction_t | requested_direction = CW |
| static const char * | MELODY1 [][2] |
| static volatile uint32_t | last_irq_time_us = 0 |
| static const uint32_t | IRQ_MIN_INTERVAL_US = 50000 |
| float | revolutions |
Ana program, adım motoru kontrolü için Raspberry Pi Pico Eğitim Kartı'nı başlatır.
| void button_callback | ( | uint | gpio, |
| uint32_t | events | ||
| ) |
Button interrupt callback function.
FIXME: Birden fazla komut geliyor kontrolü yapılacak !!!!
Buton kesme geri çağrısı
| gpio | Tetikleyen GPIO pini |
| events | IRQ olay bayrakları |


| void core1_main | ( | ) |
Core 1'de çalışacak işlev.
Bu fonksiyon RP2040'ın Core 1'inde çalışır ve multicore FIFO üzerinden Core 0'dan gelen adım motoru kontrol komutlarını işler. Üç parametre işler: yön, hız ve devir sayısı.
Fonksiyon:
Core1 ana döngüsü; FIFO üzerinden gelen step motor komutlarını işler


| void display_keypad_value | ( | ) |
Keypad’den tuş okur ve LCD’ye gösterir.


| void display_ldr_sensor_value | ( | ) |
LDR değerini okuyup LCD’nin ikinci satırına yazar.


| void display_potentiometer_value | ( | ) |
Potansiyometre değerini okuyup LCD’nin ilk satırına yazar.


| void init_motor_buttons | ( | void | ) |
Initialize button interrupts for motor control.
FIXME: buton callbak değişecek birden fazla komut gidiyor !!!
Motor kontrolü için buton kesmelerini başlatır


| int main | ( | ) |
Ana program, adım motoru kontrolü için Raspberry Pi Pico Eğitim Kartı'nı başlatır.
Bu program, adım motorunu kontrol etmek için gerekli olan ilklendirmeleri gerçekleştirir ve ana döngüde kullanıcıdan veya geri çağırma işlevlerinden veri alarak adım motoru kontrolünü sağlar.

| void motion_detect | ( | void | ) |
Hareket algılandığında melodi çalar ve mesafeyi LCD'ye yazar.

| void send_motor_parameters | ( | motor_direction_t | direction, |
| uint | speed, | ||
| float | revolutions | ||
| ) |
Step motor parametrelerini Core1'e gönderir (yön, hız, devir)
| direction | Motor yönü |
| speed | Adım/saniye |
| revolutions | Devir sayısı (float) |

| void write_analog_to_lcd | ( | char * | component_name, |
| float | value | ||
| ) |
LCD ekrana isim:değer formatında yazı yazar.
| component_name | Bileşen adı (ör. POT_1) |
| value | Yazdırılacak değer |


|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Kart üzerindeki motor durumunu tutan değişkenler.
|
static |
| float revolutions |