venerdì 1 marzo 2024

Standard 7090: Nano 33 BLE - Parte 1

In questo post descriverò una nuova scheda prototipale basata sullo Standard 7090 che su questo blog stiamo implementando per facilitare il riutilizzo di blocchi funzionali.

La scheda in questione utilizza un famoso modulo a microcontrollore della serie Arduino Nano. In particolare si tratta del modulo Nano 33 BLE Sense.

Pinout Nano 33 BLE Sense - Fonte arduino.cc

Basato sul microcontrollore ARM Cortex M4 con FPU, sottosistema RF BLE e clock 64MHz, prodotto dalla NORDIC Semiconductor con la sigla nRF52840, questo modulo rappresenta un vero e proprio gioiellino.

Infatti, al suo interno, ospita non solo un potente Core, ma una moltitudine di sensori che ne ampliano notevolmente il campo di applicazione. Tra questi notiamo un LSM9DS1 (Accelerometro, Giroscopio e Magnetometro Triassiali), un sensore di Temperatura, Umidità e Pressione, un microfono MEMS, un sensore di colori e luminosità. Il tutto nel formato Arduino Nano con tensioni di I/O a 3,3 Volt (Attenzione non è compatibile con segnali a 5,0 Volt).


Scheda 7090 Nano 33 BLE Sense + GPS + microSD

Come visibile dalla foto, sulla scheda è presente anche un ricevitore GPS basato sul Modulo uBlox Serie 7 e uno slot microSD.

* - * - * - *

Nella nostra prima applicazione utilizzeremo solo la porta UART 1 (Serial1) per comunicare con il Display TFT 320x240 precedentemente presentato su questo blog.

Assieme Standard 7090 con PSU, Display e Scheda BLE Sense

Il codice di test per dialogare con il display è il seguente:


/*

READ THIS BEFORE USE:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”

AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,

THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.

IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,

INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,

STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/


/*

  Nano 33 BLE Sense - Hello TFT

  Tx  Data on Serial1 (UART pin) 9600, n, 8, 1

  ver.1.0 last update 28/02/2024

*/


//Setup

void setup() {

  //debug only

  //Serial.begin(9600);

  //while(!Serial);

  //Serial.print("Nano BLE Sense ready. Tx=Serial1");


  Serial1.begin(9600); //UART 1 Tx --> Display Rx


  delay(5000); //leave time to TFT Init

  Serial1.print("$%CLEAR%\r\n"); //Reset display

  delay(500);

  Serial1.print("$Hello TFT\r\n");

  delay(200);

  Serial1.print("$I'm Nano 33 BLE Sense.\r\n");

  delay(200);

  Serial1.print("$%GREEN%\r\n");

  delay(200);

  Serial1.print("$Many sensors to test!\r\n");

  delay(200);

  Serial1.print("$%CYAN%\r\n");

  delay(200);

  Serial1.print("$This is a simple sketch.\r\n");

  delay(200);

  Serial1.print("$%LARGE%\r\n");

  delay(200);

  Serial1.print("$Bye\r\n");

  delay(200);

  Serial1.print("$%SMALL%\r\n");

  delay(200);

  Serial1.print("$%YELLOW%\r\n");

  delay(200);

  Serial1.print("$See You soon :)\r\n");

  delay(200); 

} //setup


// Main loop

void loop() {

  //do nothing    

} //loop


Buon divertimento e a presto.


Nessun commento:

Posta un commento