Post

Visualizzazione dei post da aprile, 2024

Sensore di temperatura DHT11 con scheda STM32F401RE Nucleo

Immagine
 Il progetto si pone come obiettivo quello di implementare un sensore di temperatura DHT11 con la scheda di sviluppo STM32F401RE Nucleo.  Per il progetto si ringrazia Alexandro Brinoveanu , per gli amici Alex, che mi ha stimolato alla scrittura di un firmware per questa applicazione. Il sensore DHT11 Si tratta di un sensore digitale di temperatura e umidità, che rende i dati in uscita in modo seriale attraverso un singolo BUS. Vi sono tre terminali: VCC e GND, dedicati all'alimentazione del sensore, e Data, dedicato allo scambio di informazioni tra il sensore e il microcontrollore.  Se non si dispone del modulo, è necessario connettere il sensore come mostrato in figura 1: il pin 1, VDD, alla tensione di alimentazione (3.3 V o 5 V), il pin 2, GND, a massa e il pin 4, Data, a un ingresso della scheda. E' necessario inserire una resistenza di Pull-Up tra VDD e Data da 5 kOhm. Il pin 3 non è connesso (NC). Datasheet del sensore a questo link Figura 1: schema di collegamento....

Funzione di lettura analogica per microcontrollori ST (STM32xxxxxx)

Immagine
Gran parte delle applicazioni delle schede di sviluppo a microcontrollore, come Arduino e la Nucleo ST, richiedono l'acquisizione di grandezze esterne tramite sensori analogici. Si pensi, ad esempio, alla temperatura o all'intensità luminosa. E' quindi necessario convertire la grandezza analogica ottenuta dai sensori in una grandezza digitale. Se per Arduino questo procedimento è relativamente semplice, poiché esiste già una funzione atta alla lettura ( analogRead(...) per intenderci), per i microcontrollori ST e per le relative schede Nucleo la lettura e conseguente conversione da analogica a digitale richiedono diversi passaggi. Ho deciso quindi di creare una funzione analoga alla primitiva analogRead(...) di Arduino, che riesca a leggere e convertire una grandezza proveniente da un ingresso analogico.      1. Si apre l'IDE di sviluppo STM32CubeIDE e si crea un nuovo progetto di firmware corrispondente alla scheda di sviluppo/microcontrollore in possesso (nel mio ca...