Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Arduino Nano Every vs. Uno R4 Minima - Un problema...

32 views
Skip to first unread message

Massimo Goldaniga

unread,
Jan 7, 2025, 4:52:51 AMJan 7
to milan...@googlegroups.com
Ciao a tutti e Buon Anno !

Un mio sketch "gira" bene su 
A) Arduino Uno R4 Minima
ed invece NON funziona su 
B) Arduino Nano Every
(naturalmente cambiando gli identificativi dei PIN).

Cioè:
1) Compilazione su IDE OK (sia per A che per B)
2) Upload OK (sia per A che per B)
3) Esecuzione OK (su A)
4) Esecuzione KO (su B)

L'esecuzione è KO In particolar modo nel rapporto con

HiLetgo CD74HC4067 CMOS 16 Channel Digital Analog Multiplexer Breakout Module

che va perfettamente con la UNO R4 Minima
e NON va per nulla con la Nano.

Sia A che B le ho provate alimentandole
via USB
ed anche via VIN (con pila da 9V)

Qualcuno ha qualche idea in proposito ?

Inoltre:
dove trovo una "bella comparazione" tra 
- Arduino Uno R4 Minima
e
- Arduino Nano Every
?

Ciao e.... a sabato 11 pomeriggio !
Max
:-)

Paolo Bonelli

unread,
Jan 7, 2025, 5:23:41 AMJan 7
to milan...@googlegroups.com

Hai tenuto conto che i livelli logini di Arduino UNO sono a 5 V e su nano 3.3V?

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Arduino User Group & Wearables Milano" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a milano-aug+...@googlegroups.com.
Per visualizzare questa discussione, visita https://groups.google.com/d/msgid/milano-aug/CAEoAVnmMzC%2BkELEe9%3DdL_%3Db2fZkcrX3aYkRoJ%2BxAtD%2B94fYw4Q%40mail.gmail.com.

Alfieri Mauro

unread,
Jan 7, 2025, 5:48:18 AMJan 7
to milan...@googlegroups.com, milan...@googlegroups.com
Ciao Massimo, 
A quali pin hai connesso il multiplexer su R4 e su Every?


Il giorno 7 gen 2025, alle ore 11:23, Paolo Bonelli <paol...@gmail.com> ha scritto:



Massimo Goldaniga

unread,
Jan 7, 2025, 7:23:51 AMJan 7
to milan...@googlegroups.com
Ciao Mauro e Paolo,
grazie per le vostre eMail !

@Paolo
NO, non l'ho tenuto presente.
Pensavo che se sul Nano Every faccio
digitalWrite(X,LOW) viene messo a 0
e
digitalWrite(X,HIGH) viene messo a +5V
Accipicchia !
ma se il Nano Every esce con +3V come si fa ad attaccargli qualche cosa di "esterno" ?
(che, magari, ha la soglia tra HIGH e LOW più in alto di +3V)

@Mauro
Ecco come ho usato i PIN nelle due schede per pilotare il
MUX = HiLetgo CD74 HC4067 CMOS 16 Channel Digital Analog Multiplexer

INVECE
Il D9 lo uso per pilotare un Buzzer Passivo che mi fa un minino di User FeedBack
(e funziona su tutte e due).

-------------------------
Per Arduino UNO Minima
-------------------------

  Digital PIN
  ===========
  D3  = Ara = MUX - Signal PWM
  D4  = Gia = MUX - Enable Pin (LOW=Enabled HIGH=Disabled )
  D7  = Ver = MUX - S3 - Binary Channel Choice
  D8  = Blu = MUX - S2
  D11 = Vio = MUX - S1
  D12 = Gri = MUX - S0

  D9  = Ros = Buzzer

  Analog PIN
  ===========
  GND = Ner = MUX - GND
  5V  = Ros = MUX - VCC

e nel Setup:

  int Mux1SignalPin = D3;                             // PWM Signal
  int Mux1EnablePin = D4;                             // Enable (se LOW=Enabled se HIGH=Disabled)
  int Mux1Enable = LOW;
  int Mux1Disable = HIGH;
  int Mux1BinPin[] = {D12, D11, D8, D7};              // Binary Address 0,1,2,3


-------------------------
Per Arduino Nano Every
-------------------------

Idem come sopra
però nel Setup ho fatto:

  int Mux1SignalPin = 3;                             // PWM Signal
  int Mux1EnablePin = 4;                             // Enable (se LOW=Enabled se HIGH=Disabled)
  int Mux1Enable = LOW;
  int Mux1Disable = HIGH;
  int Mux1BinPin[] = {12, 11, 8, 7};              // Binary Address 0,1,2,3

Ciao e grazie per il vostro aiuto !
Max

Christian Sarnataro

unread,
Jan 7, 2025, 7:33:43 AMJan 7
to Arduino User Group & Wearables Milano
> ma se il Nano Every esce con +3V come si fa ad attaccargli qualche cosa di "esterno" ?
> (che, magari, ha la soglia tra HIGH e LOW più in alto di +3V)

Bisogna usare un Logic Level Shifter (l'ho sperimentato da poco anch'io per controllare i NeoPixel a 5V da una scheda 3.3V)

Ho cercato a caso una pagina con dei riferimenti:
https://www.instructables.com/A-Quick-Guide-on-Logic-Level-Shifting/

Paolo Bonelli

unread,
Jan 7, 2025, 8:04:35 AMJan 7
to milan...@googlegroups.com

Di solito i dispositivi che accettano segnali d'ingresso a 5V come HiGh li accettano anche a 3V3 come HIGH . Bisogna stare attenti al viceversa, ossia i chip che vogliono tensioni non superiori a 3.3 V si possono guastarsi se gli mandi segnalio a 5V.  Un partitore di resistenze o un level shifter possono risolvere il problema.

L'hardware viene prima del software!!  (Massima di inizio anno) :):)

Paolo

Massimo Goldaniga

unread,
Jan 7, 2025, 8:20:13 AMJan 7
to milan...@googlegroups.com
Ciao Paolo,
grazie di tutto (anche delle "massime" 😁).

Ho provato a leggere il DataSheet del Nano Every (che sembra essere SKU: ABX00028)
te lo allego.

Peccato che io sono davvero un cane e NON ho mica capito (dal DataSheet)
che i pin di output digital vanno a 3.3 !

Ho provato a leggere il DataSheet del MUX (che ti allego)
e mi sembra di capire che (come dici tu)
lui accetta in INPUT (nei pin dei segnali)
da +2V a +6V
QUINDI.....
dovrebbe funzionare anche a +3.3V
(cioè anche con il Nano).

In ogni caso:
prima di "lanciarmi" in cose al di sopra delle mie conoscenze
(e forse anche al di sopra delle mie capacità 😭 )
come il porting di uno sketch da UNO R4 Minima a Nano Every
forse ho bisogno di un corso di come si legge un datasheet !!!
(e di altri K di aiuti !).

Ciao e grazie di tutto
Max




ABX00028-datasheet.pdf
cd74hc4067-datasheet.pdf

Christian Sarnataro

unread,
Jan 7, 2025, 12:32:37 PMJan 7
to Arduino User Group & Wearables Milano
Leggendo la specifica, mi pare che la Every operi a 5V.
(dice: NOTE: Arduino Nano Every is 5V compatible so it is a drop in replacement for the standard Nano board)

Massimo Goldaniga

unread,
Jan 7, 2025, 12:38:55 PMJan 7
to milan...@googlegroups.com
Ciao a tutti,

Vabbe'....
Io sabato pomeriggio porto il tutto.

Se ci sarete AND avrete tempo di darmi una mano: *bene*  !

Se non ci sarete OR non avrete tempo (o voglia...): *bene lo stesso*  !

😆😆😆😆

A presto e grazie a tutti
Max

Massimo Goldaniga

unread,
Jan 9, 2025, 10:51:06 AMJan 9
to milan...@googlegroups.com
Ciao a tutti,
ecco un mio aggiornamento al problema che vi ho segnalato
(MUX che NON va sulla Nano Every e che va sulla Uno Minima).

Andando a fare dei check con un tester sui PIN del MUX quando è pilotato dalla Nano Every, mi sono accorto che:

1) Sembrerebbe che il MUX funzioni
2) Sembrerebbe che il PIN del Signal (input del Mux) sia sempre LOW
3) Di conseguenza i PIN di OUTPUT  del Mux sono sempre LOW (proprio come il PIN di input del Signal)

Quindi ho staccato il MUX ed ho fatto dei check con un tester sui PIN dell'Arduino Nano Every (senza MUX) e...
il PIN del Nano (che era collegato al Signal del MUX) è SEMPRE LOW !

Quindi cambio il soggetto della mia segnalazione:
NON è più che il MUX NON funziona quando è attaccato alla NANO Every
è invece certo che 
il mio sketch (che funziona su Arduino Uno Minima) NON funziona sul NANO Every
(anche se il Mux NON è più collegato alla Nano).

Ho googolato un sacco ed ho trovato che:

Le NANO hanno delle limitazioni in merito all'uso "concomitante" delle istruzioni
- tone (per pilotare un buzzer)
- analogWrite (se pilota il PWM del Signal da mandare al MUX)

Questo problema (che NON c'è sulla Uno Minima) sembra dipendere da 
una gestione diversa dei "Timer" da parte delle Nano
(o, forse, una "disponibilità" di Timer limitata da parte delle Nano).

Farò altri esperimenti per capire meglio
(per esempio:
Esperimento1: mettere // davanti a tutte le tone
Esperimento2: sostituire le analogWrite del PWM con delle digitalWrite(HIGH) rinunciando al PWM
Esperimento3: altro che mi verrà in mente...
)
e sabato vi informerò sull'esito.

Da tutto ciò io capisco che:
sono un pollo e non so leggere i DataSheet !
😭

Ciao (e grazie che mi supportate e SOPPORTATE)
😁
Max

P.S.
capisco anche che NON E' VERO
che se una cosa funziona su un modello di Arduino
funziona per forza anche su un altro modello di Arduino
(ma io credevo di si, ve l'ho detto che sono un pollo !)



Massimo Goldaniga

unread,
Jan 10, 2025, 6:07:31 AMJan 10
to milan...@googlegroups.com
Ciao a tutti,
OK, RISOLTO l'enigma.

***PRIMO TEST*** (quello KO...)

D3 = PWM x LED
D9 = Buzzer

Su Arduino Uno R4 Minima = OK
sia il PWM del LED che la tone() del Buzzer vanno benissimo anche insieme

Su Arduino Nano Every = KO
Il D3 (PWM) funziona bene solo fino a quando non viene eseguita la prima tone() sul D9.
POI il D3 perde la capacità di fare PWM
(ma la digitalWrite sul D3 (senza PWM) è ancora funzionante)

***SECONDO TEST*** (quello OK !!!)

D10 = PWM x LED
D9 = Buzzer

TUTTO OK !!!
(su entrambi gli Arduino)

***MORALE DELLA FAVOLA***
Su Arduino Nano Every
la tone() sul D9
interferisce sul buon funzionamento del PWM sul D3
(ma NON con il PWM sul D10)

Da questa lezione ho capito che 
quando si sceglie su "quale" PIN mettere "qualche cosa"
si devono tenere presente 
alcuni fattori più "tosti" di quelli che pensavo io
(incrociandoli anche con il tipo di Arduino a disposizione).


Ciao e a domani
Max

ATTENZIONE!
Questa cosa è scritta nella documentazione ufficiale di Arduino della funzione tone()

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Home / Programming / Language Reference / Functions / tone()

tone()

Last revision 15/05/2024

Description

Generates a square wave of the specified frequency (and 50% duty cycle) on a pin. A duration can be specified, otherwise the wave continues until a call to noTone(). The pin can be connected to a piezo buzzer or other speaker to play tones.

Only one tone can be generated at a time. If a tone is already playing on a different pin, the call to tone() will have no effect. If the tone is playing on the same pin, the call will set its frequency.

Use of the tone() function will interfere with PWM output on pins 3 and 11 (on boards other than the Mega).

It is not possible to generate tones lower than 31Hz. For technical details, see Brett Hagman’s notes.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-


Reply all
Reply to author
Forward
0 new messages