Benvenuti su PLAY Embedded

Su PLAY Embedded puoi trovare utilissime risorse per iniziare a usare i sistemi embedded: Trovi anche media, esempi e descrizione accurate. Dai, impara facendo!

Rilevare gli ostacoli usando un sensore ad ultrasuoni HC-SR04

Rilevare gli ostacoli usando un sensore ad ultrasuoni HC-SR04

1 HC-SR04: un sensore a ultrasuoni economico

1.1 Descrizione

Vista frontale del HC-SR04
Fig.1 – Un HC-SR04 visto frontalmente.

Lo HC-SR04 è un sensore a ultrasuoni comunemente usato che è capace di rilevare ostacoli nel range di 2-300cm. Il sensore appare come un piccolo PCB avente due cilindri di metallo sul lato frontale e un piccolo circuito sul lato posteriore (guarda Fig.1).

1.2 Documentazione

In questo articolo forniremo una semplice demo per utilizzare lo HC-SR04. Questo richiede una lettura preliminare dello user manual del sensore:
User manual del HC-SR04

1.3 Descrizione dei pin

Il sensore ha 4 PIN:

  1. VCC, che deve essere connesso alla 5V;
  2. Trig, che è un PIN di input per avviare la misura;
  3. Echo, che è un PIN di output che produce un’onda quadra;
  4. GND, che deve essere connesso alla massa.

Nota che lo user manual specifica che è necessario connettere prima la massa poichè una 5V flottante potrebbe danneggiare permanentemente il sensore.

2 Come funziona

I due cilindri metallici sono in realtà un ricevitore (R) e un trasmettitore ad ultrasuoni (T) che sono pilotati dalla circuiteria. Il principio di funzionamento è piuttosto semplice: quando la misura viene avviata il trasmettitore spara alcuni impulsi. Quando il suono incontra un ostacolo esso viene rimandato indietro e captato dal ricevitore. continua a leggere…

Come pilotare un HD44780 I2C con una STM32

Come pilotare un HD44780 I2C con una STM32

1 Vantaggio del backpack I2C

Lo HD44780 è un controller per display divenuto standard de-facto. Lo abbiamo già usato fornendo del codice per usare un display LCD 16×2 con una STM32. In questo articolo faremo un passo avanti introducendo un backpack I2C per questo display. Spiegheremo, ovviamente, come modificare il vecchio codice per renderlo funzionante con questa nuova configurazione hardware.

Anche se è ancora popolare, questo controller è stato reso commerciale nei tardi anni ottanta. A quel tempo le comunicazioni seriali non erano molto diffuse perché costose e perché imponevano alcuni vincoli relativamente alla velocità del clock. Per questo lo HD44780 nasce con un bas parallelo che richiede fino a 16 linee per lavorare (8 per i dati, 3 per l’ handshake, 2 per l’alimentazione, 1 per il contrasto e 2 per la retroilluminazione). Con le MCU più veloci è possibile usare la comunicazione a 4-bit e con un paio di saldature ed un potenziometro possiamo ridurre il numero di linee richieste a 9.

Al giorno d’oggi, le comunicazioni seriali sono largamente usate e i convertitori SIPO (Serial-in Parallel-Out) sono molto economici. Usando un SIPO, è possibile pilotare un HD44780 con meno fili accettando un piccolo sovrapprezzo dovuto all’hardware extra.Oggi è possibile comprare display già dotati del SIPO con un lieve sur plus sul prezzo (circa 3.50 € invece di 2.40 € se prendiamo in considerazione un display LCD 16×2).

La soluzione più usata si basa su un PCF8574A, un I/O expander I2C di NXP. Questa soluzione è disponibile come un backpack pronto per essere saldato dietro al nostro display. Il backpack riduce il numero di fili a 4: 2 per l’alimentazione e 2 per la comunicazione I2C. continua a leggere…

Come passare alla development version di ChibiOS

Come passare alla development version di ChibiOS

1 Trunk!

La prima volta che ho avuto a che fare con del software un pò più complicato di quello usato per stampare “Ciao Mondo”, ho incontrato parole come “versionamento”, “revisione”, “diff”, “branch”, “trunk”, “checkout” e ho sentito parlare di certi software come “subversion”, “git”, “mercurial”.

Tenete presente quando  i vostri amici conoscono qualcosa che vi sfugge e continuano a parlarne facendovi sentire un perfetto idiota? Questo era il modo in cui mi sentivo! Ma è molto più semplice di quanto sembri: ci sono alcuni programmi il cui scopo è quello di tenere traccia di ogni singolo carattere modificato nel tuo codice. Essi sono chiamati software per il controllo del versionamento (come ad esempio git subversion noto anche come svn). ChibiOS è versionato attraverso subversion anche se la svn repository è specchiata (in sola lettura) su una git repository.

Cercherà di riassumere subversion in poche righe tanto per dare un’idea di quello che andremo a fare. Con subversion il codice è salvato in una repository remota contrassegnata da una URL. L’operazione di creare una copia locale dell’intera repository è nota come checkout mentre aggiornare tale copia è noto come update. Lo sviluppatore che ha anche i permessi di scrittura sulla repository può salvare il codice attraverso l’operazione di commit: ogni commit è come uno “snapshot” della cartella che stiamo versionando (file, gerarchia, contenuti) e questo snapshot, noto come revision, viene salvato sulla repository remota. In subversion, le revisioni sono identificate da un numero progressivo (ad esempio r9901).

continua a leggere…