ARDUINO Nano HiLetgo

ultimo aggiornamento 24 luglio 2018


JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Continua la produzione dei PCB standard a 2 strati durante le festività primaverili


Indice

Descrizione

Quello qui presentato è un Arduino Nano venduta dalla HiLetgo il cui negozio online potrete trovare su AMAZON

 

homotix

 

La scheda è del tutto analoga alla scheda Arduino Nano 3.0 prodotta dalla GRAVITECH, ma venduta ad un presso molto vantaggioso.
Il microcontrollore è un Atmel ATmega328P con package 32-TQFP, per la comunicazione USB e per fornire 3,3 V in uscita, la scheda utilizza un convertitore USB to Serial tipo CH340G prodotto dalla cinese WCH in package SOP-16
Ci sono 4 LED smd  con le seguenti diciture:RX, TX, POW, L. i primi due indicano lo stato delle linee di comunicazione RxD e TxD, POW indica la presenza dell'alimentazione mentre il led L è collegato al pin di uscita digitale D13.
Il Nano può essere alimentato tramite la connessione USB Mini-B, oppure tramite alimentatore esterno non regolato da 6-12 V (pin 30) o l'alimentazione esterna regolata da 5 V (pin 27), la scheda utilizza come regolatore, l'integrato AMS1117  SOT-223 stabilizzatore lineare 5,0 V con basso drop-out (tip. 1,2 V) e una corrente d'uscita di 1A
La fonte di alimentazione viene automaticamente selezionata sulla sorgente di tensione più alta.
Ciascuno dei 14 piedini digitali può essere utilizzato come ingresso o uscita. Funzionano a 5 volt. Ogni pin può fornire o ricevere un massimo di 40 mA e ha una resistenza di pull-up interna (scollegata di default) di valore di 20-50 kOhm.
Il Nano ha 8 ingressi analogici, ognuno dei quali fornisce 10 bit di risoluzione. Di default essi misurano un valore compreso tra 0 e 5 volt, anche se è possibile cambiare l'estremità superiore del loro intervallo usando la funzione analogReference ().
I pin analogici 6 e 7 non possono essere utilizzati come pin digitali.
Il Nano permette di comunicare tramite protocolli quali seriale UART TTL (5V) e comunicazione I2C (TWI) e SPI.
Sulla scheda sono presenti un connettore USB mini-B, e un connettore SPI a 6 pin.
L'integrato CH340 richiede per operare l'installazione di un apposito driver software senza il quale non sarà possibile la programmazione e la comunicazione con Arduino (IDE).

 

Caratteristiche

Microcontroller

Atmel Atmega328
Tensione di funzionamento 5 V

Tensione in ingresso

7-12 V (consigliati)

Tensione in ingresso

6-20 V (limiti)

I / O digitale

14 pins (di cui 6 PWM)

Ingresso analogico

8 pins
Corrente continua per I / O 40 mA

Flash Memory

32 kB di cui 2 KB utilizzati dal bootloader

SRAM

2 kB

EEPROM

2 KB

Velocità di clock

16 MHz

Dimensioni 

4,31 x 1,85 cm

I Datasheet dei principali componenti

Processore ATmega328 8-bit Microcontroller with 32K Bytes In-System Programmable Flash

Piedinatura Datasheet Foto dell'integrato

CH340G  USB to serial chip

Piedinatura Datasheet Foto dell'integrato

AMS1117  Low Dropout Voltage Regulator 1A

Piedinatura Datasheet Foto dell'integrato

Led smd 0805

Piedinatura Datasheet (Verde, Giallo) Foto

 Installazione del driver CH340G

Come spiegato la scheda utilizza come convertitore USB-seriale il chip CH340G  invece che il più diffuso chip di FTDI, siccome Windows non supporta nativamente questo chip, il modulo non viene riconosciuto.

Per questo motivo è necessario scaricare il driver dal sito ufficiale del fornitore (sfortunatamente è in cinese. ma google traduttore verrà in vostro). Una volta eseguito l’unzip del pacchetto, è possibile procedere con l’aggiornamento del driver per la periferica:

Dopo l'apertura della finestra si effettuerà l'installazione dei driver, che avverrà in automatico premendo INSTALL
A fine procedura sarà mostra la seguente finestra

A questo punto collegando il modulo, questo sarà riconosciuto e Windows configurerà correttamente la nuova porta COM

Il successo sarà anche rappresentato dal successo della programmazione di uno sketch di prova come "Blink" in cui il led L  inizierà a lampeggiare

Esempio di utilizzo del modulo con un display OLED

Sia la scheda Arduino Nano che il display OLED sono stati montati su una breadboard 400 punti dalle dimensioni di 85x55mm, per i collegamenti si utilizzeranno dei cavi jumper 100mm maschio/maschio di diverso colore. Nello schema sotto riportato sono riportati i vari collegamenti.
Una volta effettuati i collegamenti si collegherà l'Arduino Nano al PC e si caricherà lo Sketch nella memoria.  Una volta caricato, lo Sketch, mostrerà una serie di parole sul display.

Piedinatura display OLED

GND  Power ground
VCC  2.8-5.5V power supply
SCL (SCLK)  Serial Clock (emesso dal master)
SDA (MOSI)  Serial Data Output, Master Output Slave Input (uscita dal master)
RES  Reset
DC  Data / command
CS Chip Select, Slave Select, emesso dal master per scegliere con quale dispositivo slave vuole comunicare

 


sketch di Test_oled_SSD1331_arduino_nano.ino

Sketch testato con versione IDE 1.8.5 e libreria versione 1.0.2

/*
    Programma: Test_oled_SSD1331_arduino_nano.ino
    
   This is a example sketch demonstrating the graphics
   capabilities of the SSD1331 library  for the 0.96"
   16-bit Color OLED with SSD1331 driver chip

    Ultima modifica il 22/7/2018

    Applicazione realizzata da Adriano Gandolfo
    Sito http://www.adrirobot.it
    Blog http://it.emcelettronica.com/author/adrirobot
    Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
    Istagram https://www.instagram.com/adrirobot/
    This example code is in the public domain.
*/

// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs   10
#define rst  9
#define dc   8

// Definizione dei colori
#define BLACK           0x0000
#define BLUE            0x001F
#define RED             0xF800
#define GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0
#define WHITE           0xFFFF

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>

Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);

void setup(void) {
  display.begin();
}

void loop() {
  display.fillScreen(BLACK);
  display.setTextSize(2);
  display.setCursor(5, 0);
  display.setTextColor(WHITE);
  display.print("ARDUINO");
  display.setCursor(25, 16);
  display.setTextColor(GREEN);
  display.print("NANO");
  display.setCursor(10, 32);
  display.setTextColor(RED);
  display.print("Hi");
  display.setTextColor(WHITE);
  display.print("Letgo");
  display.drawFastHLine(0, 50, display.width() - 1, RED);
  display.setCursor(0, 54);
  display.setTextColor(BLUE);
  display.setTextSize(1);
  display.print("WWW.ADRIROBOT.IT");
  delay(1500);
}

Alcuni esempi di utilizzo del modulo Arduino Nano

Robot LittleBot

Uso modulo Bluetooth

Pilotaggio led RGB

Lettura sensore temperatura/umidità SHT11

Lettura sensore magnetico S411A

Lettura sensore a forcella Uso Lettura sensore a forcella
Lettura fotoresistenza Comando modulo relè

 

Elenco revisioni
24/07/2018 Aggiornato la pagina con inserimento Sketch gestione display OLED.
18/07/2018 Emissione preliminare