Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare...

31
(http://www.mauroalfieri.it) Programmare con Arduino – Pin Digitali e Analogici By Mauro Alfieri (http://www.mauroalfieri.it/author/mauro) in Elettronica (http://www.mauroalfieri.it/category/elettronica), Informatica (http://www.mauroalfieri.it/category/informatica) 6 luglio 2011 Mi sono accorto che nel precedente articolo sono partito spedito a scrivere di pin, modalità di utilizzo e comandi di INPUT ed OUTPUT, in realtà ho sottovalutato l’aspetto relativo alla conoscenza dei pin presenti su un Arduino e il relativo significato. Innanzitutto va detto che ciascuna scheda Arduino possiede alcuni pin utilizzabili con segnali digitali, ed altri con segnali analogici, va anche detto che la distinzione non è così netta quando poi programmiamo e ti mostrerò il perchè nel corso di questo articolo, prima facciamo una panoramica:

Transcript of Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare...

Page 1: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

(http://www.mauroalfieri.it)

Programmare con Arduino – Pin Digitali e AnalogiciBy Mauro Alfieri (http://www.mauroalfieri.it/author/mauro) in Elettronica(http://www.mauroalfieri.it/category/elettronica), Informatica(http://www.mauroalfieri.it/category/informatica)6 luglio 2011

Mi sono accorto che nel precedente articolo sono partito spedito a scrivere di pin, modalità diutilizzo e comandi di INPUT ed OUTPUT, in realtà ho sottovalutato l’aspetto relativo allaconoscenza dei pin presenti su un Arduino e il relativo significato. Innanzitutto va detto che ciascuna scheda Arduino possiede alcuni pin utilizzabili con segnalidigitali, ed altri con segnali analogici, va anche detto che la distinzione non è così netta quando poiprogrammiamo e ti mostrerò il perchè nel corso di questo articolo, prima facciamo unapanoramica:

Page 2: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Pin Digitali: da 0 a 13 ( quadrato rosso )PinAnalogici: da 0 a 5 ( quadrato giallo/arancio )

Pin PWM: 3,5,6,9,10,11 ( quadrato verde )

Pin Digitali: da 0 a 13 ( indicato dalla serigrafia )Pin Analogici: da0 a 5 ( indicato dalla serigrafia a0-a5 )

Pin PWM: 3,5,6,9,10,11

Pin Digitali: da 0 a 13 ( indicato dalla serigrafia d0-d13)Pin Analogici: da 0 a 5 ( indicato dalla serigrafiaa0-a5 )

Pin PWM: 3,5,6,9,10,11

Non sono certo tutti i modelli disponbili, che puoi trovare sul sito ufficiale(http://arduino.cc/en/Main/Hardware), sono solo quelli che ho potuto vedere e sono sufficenti perchiarirci quali sono i Pin Digitali, i Pin Analogici e i Pin utilizzabili con segnali di tipo PWM ( PulseWidth Modulation ).

Page 3: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Quasi tutte le schede Arduino hanno 14 pin digitali: sono pin che puoi utilizzare sia in modo INPUT(ingresso), per acquisire il valore di un pulsante ad esempio o di un interruttore a leva, sia in modoOUTPUT (uscita) per inviare segnali logici ad una scheda aggiuntiva, ad un led, ecc… Siccome si tratta di impulsi di tipo digitale il valore che puoi ricevere/inviare è il classico 0/1 o inlinguaggio Arduino LOW/HIGH. Concentrati prima sulla acquisizione rilevare un valore LOW ( 0 ) equivale a dire che sul pin chestai controllando è arrivato un segnale logico basso 0v, viceversa ricevere HIGH ( 1 ) equivale adire che il pin ha ricevuto un segnale logico alto 5v. Il ragionamento appena fatto è valido anche in caso di utilizzo dl pin come OUTPUT, ossia perinviare segnali: se invii LOW ( 0 ) invierai un segnale logico basso 0v, se invii HIGH invierai unsegnale logico alto 5v.

Un po’ di sintassi:

Per definire come utilizzeremo un dato pin puoi usare il seguente comando: pinMode(pin,modalità) dove pin indica il numero del pin che vogliamo settare con la modalità definita nelsecondo parametro, modalità: INPUT o OUTPUT. Per inviare un segnale al pin utilizza il comando: digitalWrite(pin,level) dove pin indica sempre ilnumero del pin a cui vogliamo inviare il segnale definito nel secondo parametro, level: LOW oHIGHT ( 0 o 1 ).

Per leggere un valore digitale, magari quello di un interruttore collegato a massa puoi utilizzare ilcomando pinMode con modalità INPUT, ed il comando digitalRead(pin) dove pin indica il numerodel pin di cui vogliamo conoscere il valore.

Alcuni degli ingressi digitali presentano la sigla PWM, per la trattasione di cos’è un segnale PWMti invito a leggere in internet spiegazioni molto più esaurienti di quella che potrei darti io, per me èmolto chiara quella di Giovanni (http://www.tmasi.com/robotica/pwmtut/PWMTut_H.htm) che trovodavvero un ottimo punto di partenza e non solo, ovviamente c’è anche la Wiki dedicata al PWM(http://it.wikipedia.org/wiki/Pulse-width_modulation). Ma vediamo cosa puoi farci, io ho sperimentato come pilotare dei servocomandi da modellismooppure led con dissolvenza, scriverò presto degli articoli. Il segnale PWM accetta come valori da 0 a 255, per ciascun valore varia il duty-cycle generato, adesempio con il valore 0 otterrai un valore di duty-cycle dello 0% ossia sempre 0 in modo analogo aquello che avresti ottenuto utilizzando digitalWrite(pin,LOW). Un po’ di sintassi:

Ricorda sempre di settare la modalità del pin prima di eseguire l’invio dei comandi, in questoesempio ho utilizzato il pin 11 scrivendo: pinMode(11,OUTPUT) indico ad Arduino di utilizzarlo inmodo OUTPUT ( come una uscita ); posso quindi inviare il mio segnale con duty-cycle al 50%:analogWrite(11,127), avrai notato che ho utilizzato analog Write anche se il pin 11 è un pindigitale, il motivo è che il tipo di segnale che desidero generare ha una variazione di valori da 0 a255 e non solo 0 e 1, la funzione digitalWrite accetta come secondo parametro solo 0 e 1 oppureLOW e HIGH. Il valore 127 è esattamente a metà della mia scala ( 0 – 255 ) quindi il duty-cyclegenerato sarà del 50%.

Per comprendere meglio la questione duty-cycle ho preso l’immagine riportat sul sito Arduino(http://www.arduino.cc/en/Tutorial/PWM) contenete alcuni valori simbolo del duty-cycle in funzionedel numero che specificherai:

Page 4: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

(http://www.mauroalfieri.it/wp-

content/uploads/2011/07/pwm.gif)

Infine ci sono 6 pin dedicati ai segnali analogici, ma solo in input, ossia questi pin servonoprincipalmente per acquisire dei segnali provenienti da sensori di tipo analogico: trimmer,potenziometri, fororesistenze, ultrasuoni, IR, ecc… ossia tutti quei sensori che possono generareun segnale analogico in funzione della loro stimolazione (luminosa, meccanica, ecc) se adesempio volessi rilevare la distanza con un sensore IR dovrai utilizzare uno di questi pin.

Un po’ di sintassi:

Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già comeutilizzarli. Per leggere il valore presente sul pin 5, ad esempio, utilizza il comando: analogRead(pin) ->analogRead(5) il valore rilevato può variare da 0 a 1023, all’interno del range indicato ognivariazione del segnale sarà indicata con una variazione di tale valore.

Nei prossimi articoli vedremo come pilotare un led con dissolvenza(fade), come rilevare ladistanza di un oggetto con un sensore IR e man mano come pilotare dei servo motori, e tanto altroancora …

Cortesemente, prima di inserire i commenti leggi il regolamento(http://www.mauroalfieri.it/regolamento.html)

You may also like:

RTC DS3231 perarduino - Mauro

Halloween Pumpkin- Mauro Alfieri

Tutorial Arduino e iservo - Mauro Alfieri

Corso ArduinoGratuito con

Page 5: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Permanent link to this article: http://www.mauroalfieri.it/informatica/programmare-con-arduino-%e2%80%93-pin-digitali-e-analogici.html

103 comments

6 pings

Alfieri ElettronicaDomotica(https://www.mauroalfids3231-per-arduino.html)

Elettronica DomoticaRobotica Elettronica(http://www.mauroalfiepumpkin.html)

Elettronica DomoticaRobotica Elettronica(http://www.mauroalfiearduino-servo.html)

Tinkercad - MauroAlfieri TutorialElettronica(http://www.mauroalfiearduino-gratuito-con-tinkercad.html)

Batterie Li-Po cosasono e come legestisci Mauro AlfieriElettronica(http://www.mauroalfieli-po-cosa-sono.html)

Programmare conArduino - leggere unsegnale analogico -Mauro AlfieriElettronica DomoticaRobotica Elettronica(http://www.mauroalfiecon-arduino-leggere-un-segnale-analogico.html)

Corso Arduino online - Mauro AlfieriElettronica RoboticaFormazione(http://www.mauroalfiearduino-on-line.html)

Raspberry RAID5mdadm - MauroAlfieri Raspberry PiLinux(https://www.mauroalfraid5-mdadm.html)

analogRead (http://www.mauroalfieri.it/tag/analogread), analogWrite(http://www.mauroalfieri.it/tag/analogwrite), arduino(http://www.mauroalfieri.it/tag/arduino), digitalRead(http://www.mauroalfieri.it/tag/digitalread), digitalWrite(http://www.mauroalfieri.it/tag/digitalwrite), duty-cycle (http://www.mauroalfieri.it/tag/duty-cycle), IDE di sviluppo (http://www.mauroalfieri.it/tag/ide-di-sviluppo), pinMode(http://www.mauroalfieri.it/tag/pinmode), programmare arduino(http://www.mauroalfieri.it/tag/programmare-arduino), pwm(http://www.mauroalfieri.it/tag/pwm), segnali analogici(http://www.mauroalfieri.it/tag/segnali-analogici), segnali digitali(http://www.mauroalfieri.it/tag/segnali-digitali)

(http://www.mauroalfieri.it/author/mauro)

Mauro Alfieri (mailto:[email protected])

Page 6: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Skip to comment form

Agostino on 23 settembre 2011

Dove é possibile trovare gli argomenti sul comando di servo motori?

Mauro Alfieri (http://www.mauroalfieri.it) on 24 settembre 2011 Author

Ciao Agostino, io parto sempre dal sito ufficiale arduino.cc ci sono molte informazioni veramenteutili, sui servo ad esempio puoi consultare la paginahttp://arduino.cc/en/Reference/Servo (http://arduino.cc/en/Reference/Servo) chedescrive la classe Servo. Ho intenzione di scrivere un tutorial sull’uso dei servo, non garantisco l’uscita malo farò presto.

Mauro Alfieri (http://www.mauroalfieri.it) on 26 settembre 2011 Author

Ciao Agostino, è on-line il primo dei miei tutoria sui servo:http://www.mauroalfieri.it/elettronica/tutoria-arduno-servo.html(http://www.mauroalfieri.it/elettronica/tutoria-arduno-servo.html)

Spero possa esserti utile.

Angelozap on 15 settembre 2013

Un informazione! Ma gli altri Pin a cosa servono? Tipo Vin? Grazie mille!Ottimo sito!

Mauro Alfieri (http://www.mauroalfieri.it) on 17settembre 2013

Author

Ciao Angelo, nel blog ci sono molti articoli in cui descrivo l’uso degli altri pin. Vin é collegato alla tensione di ingresso di arduino.

Mauro

Page 7: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Andrea Zanni on 25 novembre 2011

Ciao, ho una domanda, è possibile settare HIGH a un valore diverso da 5V per un pin inoutput?ad esempio a 2 V? grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 26 novembre 2011 Author

Ciao Andrea, Il valore HIGH è preimpostato a 255 non ai volt erogati, potresti provare con unauscita PWM controllandola in analogWrite, cerca come usare l’output PWM comepotenziometro, penso sia quello che ti occorre, magari un prossimo articolo lodedico a questo problema.

Grazie e buon divertimento.

Andrea Zanni on 28 novembre 2011

Intanto grazie della risposta. Ti spiego meglio il mio problema, io con arduino devo pilotarealcuni componenti digitali che hanno come range massimo di tensione digitale in ingressoun valore di circa 3V. Io li piloto tramite i pin SPI di arduino mega 2560. per questo tichiedevo se era possibile cambiare il valore di default di High. ora la domanda che miviene da farti è posso conciliare l’output Pwm e quello SDI????grazie!!

Andrea Zanni on 28 novembre 2011

mi sono scordato di dire una cosa, l’alimentazione del mio componente è +- 2.5V

Mauro Alfieri (http://www.mauroalfieri.it) on 30 novembre 2011 Author

Ciao Andrea, non sono molto ferrato sull’uso dell’SPI, se pupo fornirmi qualchelink su cui documentarmi provo a capire se quelo che vuoi fare è fattibile. Pubblico i tuoi commenti perchè magari altri lettori del blog con maggioriconoscenze delle mie possano darti aiuto.

Ciao

Andrea Zanni on 1 dicembre 2011

Page 8: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Ciao…sinceramente non ho ancora trovato nulla di così interessante in giro riguardo almio problema…intanto grazie…

Davide on 21 febbraio 2012

Ciao Mauro, mi sto avvicinando ad Arduino e vorrei realizzare un progetto che prevedel’utilizzo di due componenti (sensore temperatura e orologio) che andrebbero collegati aglistessi PIN (+5V, GND, Clock (SCL), Data (SDA)): i primi 2 (+5V e GND) immagino nonsiano in problema, ma gli ultimi 2 (Clock (SCL) e Data (SDA), da connettererispettivamente ai PIN analogici 5 e 4) immagino che non sia possibile collegarli agli stessiPIN: hai qualche suggerimento per risolvere questo problema? Posso usare altri PIN (adesempio 3 e 2) per collegare questi 2? Se sì, significa che devo cambiare qualche libreria?Grazie mille!

Mauro Alfieri (http://www.mauroalfieri.it) on 21 febbraio 2012 Author

La tua ipotesi potrebbeessere una buona soluzione, che librerie utilizzi?

Mauro Alfieri (http://www.mauroalfieri.it) on 23 febbraio 2012 Author

Ciao Davide, come procede il tuo progetto? Mi hai inviato i nomi delle librerie cheintesi usare? Se vuoi seguimi su twiter @mauroalfieri ci sono altri appassionati ed esperticome noi che possono darti aiuto. Mauro

andreino on 28 aprile 2012

Salve Mauro, ti faccio una domanda forse banale :<>:

Grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 29 aprile 2012 Author

Quale domanda vuoi sottopormi?

Page 9: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro

ivob on 24 maggio 2012

intanto ringrazio anticipatamente !!!! sto cercando di leggere due o tre segnali analogicicollegati agli ingressi A0.A1,A2 io ho trovato il codie per uno solo come avrai capito sonoall’inizio puo darmi un aiuto grazie !!!

Mauro Alfieri (http://www.mauroalfieri.it) on 25 maggio 2012 Author

Ciao Ivob, prova a seguire un po’ di tutorial sul blog, se sei alle prime armi certamente potraitrovare tante cose interessanti da scoprire. Per la tua richiesta di leggere più segnali analogici puoi risolverla in molti modi, ilpiù semplice è usare lo stesso comando “analogRead” per ciascun ingresso.

Se mi scrivi cosa vuoi farci con questi segnali magari posso darti altre info piùdettagliate.

Mauro

gcam (https://sites.google.com/site/giandgisoftwaresolution/) on 22 giugno 2012

Salve, devo utilizzare un ADC esterno con arduino: MCP3301. L’ADC utilizza l’interfaccia SPI. Ho cercato di capire il funzionamento dell’interfaccia, chesembra semplice, utilizzando la libreria. Però mi sfuggono alcune cose specialmente nellafase di configurazione: SPI.setClockDivider, SPI.setDataMode, SPI.setBitOrder().Considerando l’ADC in questione quali sono i valori corretti da utilizzare ? Per quanto riguarda la gestione dell’ADC, utilizzo il codice sotto riportato, però devo capirese eseguo le cose correttamente. La gestione dei cicli e i bit che leggo, forse dovuto alfatto che ancora non so leggere il datasheet in particolare la pagina 21 e 22.

// inslude the SPI library: #include

# define CS 10 // Pin Selezione //# define MOSI 11 // MOSI // non utilizzato in quanto l’ADC non necessità diconfigurazione # define MISO 12 // MISO # define SCLK 13 // CLOCK

#define FASTADC 1 #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))

Page 10: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

#endif #ifndef sbi #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #endif

long readvalue0;

void setup() { // Set pin modalità pinMode (CS, OUTPUT); //pinMode (MOSI, OUTPUT); pinMode (MISO, INPUT); pinMode (SCLK, OUTPUT);

// Disabilitare il dispositivo per iniziare digitalWrite (CS, HIGH); //digitalWrite (MOSI, LOW); digitalWrite (SCLK, LOW);

Serial.begin (115200);

//SPI.setClockDivider (SPI_CLOCK_DIV2); //SPI.setClockDivider (SPI_CLOCK_DIV4); //SPI.setClockDivider (SPI_CLOCK_DIV8); //SPI.setClockDivider (SPI_CLOCK_DIV16); //SPI.setClockDivider (SPI_CLOCK_DIV32); //SPI.setClockDivider (SPI_CLOCK_DIV64); SPI.setClockDivider (SPI_CLOCK_DIV128);

SPI.setDataMode (SPI_MODE0); //SPI.setDataMode (SPI_MODE1);

//SPI.setBitOrder (MSBFIRST); //SPI.setBitOrder (LSBFIRST); }

void loop () { long t0=micros(); for(int k=0; k<500; k++) { readvalue0 = read_adcSlow (); Serial.println (readvalue0, DEC); } }

int read_adcSlow () { long avg = 0; int value=0; for (int k=0; k=0; i–) { //value += digitalRead (MISO) << i;

Page 11: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

value += (bitRead(PINB, 4) << i); //cycle clock digitalWrite (SCLK, HIGH); digitalWrite (SCLK, LOW); } avg=avg+value; digitalWrite (CS, HIGH); //delayMicroseconds (10); } avg=avg/4; return avg; }

sapete dirmi se eseguo le cose correttamente e come faccio a verificare ?

grazie.

Mauro Alfieri (http://www.mauroalfieri.it) on 22 giugno 2012 Author

Ciao gcam, purtroppo non ho mai provato l’ADC MCP3301 ed ho fatto poche esperienze conl’interfaccia SPI. Pubblico il tuo commento perchè altri appassionati possano darti un aiuto.

Se intanto riesco a sperimentare con questo ADC e trovo qualche dritta te lainvio.

Mauro

gcam (https://sites.google.com/site/giandgisoftwaresolution/) on 22 giugno 2012

Ti posso dire che il codice ‘funziona’.

Speravo di avere qualche dritta sulla lettura del datascheet, anche per poter utilizzare altridispositivi SPI.

grazie.

sul datasheet cosa si intende per SB ? praticamente ci sono due bit null, sb e poi 11 bit che dovrebbero corrispondere al valore.

Poichè l’ADC consente di settare una VREF esterna compresa tra 400mV e 5V, vorreisettare come VREF 400 mV. Come la creo ?

simone on 19 novembre 2012

Page 12: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

ciao, volevo porti una domanda: che tensioni e che correnti può gestire arduino negli ingressianalogici? cioè quanti volt e quanti ampere posso collegare in ingresso? grazie, simone.

Mauro Alfieri (http://www.mauroalfieri.it) on 20 novembre 2012 Author

Ciao Simone, puoi verificare sul sito ufficiale le caratteristiche della tua scheda, variano infunzione del modello ( Uno, Mega, Due, … )

Mauro

michele on 17 maggio 2013

salve, sto utilizzando ArduinoLeonardo e mi servirebbe il comando per configurare i piedinianalogici in digitale.. sapresti dirmi come si fa? grazie.

Mauro Alfieri (http://www.mauroalfieri.it) on 18 maggio 2013 Author

Ciao Michele, non ho compreso la richiesta, vuoi usare I pin analogici come digitali?

Hai provato a dichiararlo con il pinMode() e leggerli con digitalRead()?

Spero. Aver interpretato la tua richiesta.

Mauro

Loris on 27 novembre 2013

Ciao Mauro Devo per necessita creare un programmino per arduino uno Non e tanto complesso…. Sono disposto a finanziare il tutto Sei disposto ad aiutarmi ? Ciao Loris

Mauro Alfieri (http://www.mauroalfieri.it) on 27 novembre 2013 Author

Page 13: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Ciao Loris, descrivimi in una email ciò che vuoi realizzare, l’indirizzo é l’info del blog. Ti aiuto volentieri e se non richiede molto tempo non ci sono problemi economici.

Ti chiedo la cortesia, in email, di mettere tutti i dettagli possibili.

Mauro

Loris on 27 novembre 2013

Grazie mille ti sto inviando il tutto

LORIS on 28 novembre 2013

CIAO MAURO SCUSAMI SE TI DISTURBO… TI è ARRIVATA LA MIA MAIL CON IL VIDEO ?

Mauro Alfieri (http://www.mauroalfieri.it) on 28 novembre 2013 Author

Ciao Loris, no, non mi è arrivato nulla. Puoi evitare il MAIUSCOLO

Grazie Mauro

Loris on 28 novembre 2013

Te l’ho inviata con un video su [email protected] (mailto:[email protected]) e giusto?

Mauro Alfieri (http://www.mauroalfieri.it) on 29 novembre 2013 Author

Ciao Loris, Dot in inglese é . Quindi il dominio é mauroalfieri.it

Cosa contiene il video?

Mauro

Page 14: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Loris on 29 novembre 2013

Il video c’è il movimento che deve fare la macchina… Oggi te lo rinvio

Roberto on 13 gennaio 2014

Salve Mauro! Innanzi tutto volevo farle i complimenti per il suo sito che offre guide dettagliate e ottimeper iniziare con arduino. Veramente un ottimo lavoro. Volevo chiederle se riusciva a togliermi un dubbio con arduino: quando cerco di accendere2 led solo il primo si accende al pieno della potenza mentre gli altri si accendono fiacchi equasi non si vede nemmeno. Come posso fare per farli accendere? le ho provate tutte. Roberto

Mauro Alfieri (http://www.mauroalfieri.it) on 13 gennaio 2014 Author

Ciao Roberto, per poter rispondere con precisione avrei bisogno di sapere: – quanti sono i led – che tipo di led sono – a quali pin li hai connessi – quali resistenze hai utilizzato meglio ancora se sai l’assorbimento di ciascun led. La causa principale potrebbe essere l’elevata richiesta di corrente da parte deiled, arduino è in grado di erogare 40mA max per pin ed in totale 150mA massimi.

Mauro

Roberto on 13 gennaio 2014

Non conosco le specifiche dei led perchè li ho trovati in un kit di arduino. Per fare una prova avevo connesso i led senza resistenza per quellonon andavano. Mettendo delle resistenze da 220 ohm si accendono entrambi un pòmeno forte. Grazie mille Mauro. Volevo chiedere un’altra cosa: è possibile bloccare temporaneamente il loop ad un determinato puntofacendolo riprendere alla pressione di uno o più tasti? Grazie mille in anticipo.

Page 15: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 14 gennaio2014

Author

Ciao Roberto, ben fatto per i led. Si esistono diverse tecniche per ottenere una pausatemporanea fino alla pressione di un pulsante o altro segnale. Ti consiglio di approfondire i cicli di tipo “while” che consentonodi creare dei loop interni alla funzione loop() stessa.

Mauro

Fabiano on 2 agosto 2014

Ciao Mauro, vorrei collegare ad un pin digitale dell’Arduino UNO un telecomando per le luci delgiardino. L’idea è quella di mantenere sempre premuto con un morsetto il pulsantino deltelecomando ed agire, tramite Arduino, sulla sua alimentazione per accendere/spegnere leluci. Il telecomando funziona con due batterie a bottone (del tipo CR2032) da 3 Vciascuna, quindi 6 V in tutto. L’assorbimento medio del telecomando è di 14 mA.

Arrivo alla mia domanda: visto che l’output del pin digitale è di 5 V, questi potrebberobastare (e quindi potrei collegare direttamente il telecomando, ovviamente senza lebatterie, al pin) oppure il Volt di differenza mi obbliga ad usare un mosfet?

Tante grazie per l’attenzione. Fabiano

Mauro Alfieri (http://www.mauroalfieri.it) on 4 agosto 2014 Author

Ciao Fabiano, se, come dici i 5v sono sufficienti al telecomando non hai bisogno di mosfet oaltro, se non lo sono ti consiglio un relè per arduino. In ogni caso mi sembra una soluzione macchinosa, hai pensato di usaredirettamente arduino come telecomando? Ho scritto degli articoli in merito.

marco (http://maikoweb.net) on 1 settembre 2014

Volevo chiedere un parere,Vorrei utilizzare Arduino per sostituire la scheda di controllo diuna stufa a pellet,è fattibile la cosa?

Page 16: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 2 settembre 2014 Author

Ciao Marco, mi sembra pericoloso in quanto le stufe a pellet avranno sicuramente unacentralina complessa per il controllo fumi, erogazione del pellet e bruciatore. Solitamente i produttori sottopongono a complessi controlli e certificazioni i loroprodotti per dichiararli sicuri. Se la tua stufa non ha delle funzioni che desideri controlla che non sia possibileintegrare tali funzioni esternamente, magari tramite arduino, su protocolli di tiposeriale, I2C o SPI.

tesla668 on 20 settembre 2014

Carissimo Mauro, innanzitutto un sincero ringraziamento per come esponi laprogrammazione ed i passi per realizzare un progetto. Io ho perso il lavoro di tecnicocommercile con altre 90 persone, mi occupavo di soluzioni per la connessione elettrica.Adesso sto affrontando un percorso di riprofessionalizzazione, visto che vendendo unmonoprodotto mi sono perso molte cose per starda…tra cui Arduino, che mi staappassionando e aiuando. Ho un problema con la gestione di più cicli all’ionterno dellostesso programma. Faccio un esempio se devo gestire 4 input e 4 output ( Analog i primi eDigital i secondi), metti che devo timerizzare un OUTPUT e lo faccio con DELAY, tuto ilprogramma si ritarda. Mi sono letto tutti i manuali possibili ed ho trovato una soluzione neltuo Tutorial Interrupt ,ne ho capito il funzionamento edho realizzato tutto.

C’è qualcosa di più leggero ? Come posso gestire tempi di intervento divesi sugliOUTPUT?

GRAZIE e forza ,continua su questa strada

CIAO

Mauro Alfieri (http://www.mauroalfieri.it) on 22 settembre 2014 Author

Ciao Roberto, al posto del delay() puoi usare la funzione millis() per verificare il trascorrere deltempo ed evitare il delay. E’ più leggero ma di certo differente dall’uso degli interrupt che servono a tutt’altracosa e sono solo 2 in arduino uno.

Michael on 30 settembre 2014

Page 17: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Ciao non potresti fare un piccolo progetto serra con ecoduino non solo che dia da bere mache rinfreschi l’ ambiente se è troppo caldo e che tramite fotoresistenze si accendono deiled come illuminazione a mo di serra idroponica. Grazie se leggi questo commento belblog

Mauro Alfieri (http://www.mauroalfieri.it) on 6 ottobre 2014 Author

Ciao Michael, sarebbe un progetto interessante e sicuramente leggendo gliarticoli che ho già scritto sarai in grado di farlo di solo, pensa alla soddisfazione didire: l’ho fatto io al posto di dire agli amici “l’ho copiato da un sito”

Guglielmo on 27 dicembre 2014

Ciao Mauro da poco tempo sono entrato nel mondo di Arduino e ho letto alcuni dei tuoicorsi che sono veramente comprensibili anche per persone poco esperto come ilsottoscrito. Io vorrei costruire una piccala attrezzatura semi automatica movimentata da 2cilindri pneumatici comandati da 2 elettrovalvole con 2 solenoidi, come ingressi ho 3sensori di prossimità, 3 sensori di fine corsa dei cilindri, un pulsante di emergenza, uno diavvio ciclo e uno di fine cicli, con la scheda Shield IN/OUT cod.8220-VMA05 è possibilefarla funzionare? Grazie Ciao

Mauro Alfieri (http://www.mauroalfieri.it) on 29 dicembre 2014 Author

Ciao Guglielmo, contandoi sensori che vuoi inserire sono più di 6, se non conto male, e questascheda gestisce 6 sensori di input e 6 output che nel tuo caso sarebbero troppioutput. Probabilmente una shield con 4 relay sarebbe più che sufficiente ed i sensori licolleghi direttamente ad arduino se lavorano a 5v.

Guglielmo on 30 dicembre 2014

Ciao Mauro Avendo la scheda 6 ingressi analogici e 6 digitali pensavo di utilizzare dei sensori digitali ei pulsanti analogici, mentre non ho problemi per le uscite in quanto sono 4 per i 2 cilindri +1 per la valvola di scarico rapido per l’emergenza. Colgo l’occasione per augurati un buon 2015 Guglielmo

Page 18: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 2 gennaio 2015 Author

Ciao Guglielmo, perdonami ma avevo inteso che tu volessi utilizzare solo gli ingressi digitali dellashield in-out ( 6 appunto ) se usi anche quelli analogici puoi avere in ingresso 12input ( 6 analogici e 6 digitali ) ricorda che sono tutti ingressi a 5v e che glianalogici ti daranno un valore da 0 a 1023 in funzione del circuito che gli connetti.

Guglielmo on 10 gennaio 2015

Grazie delle informazioni. Pensavo anche; è possibile, avendo montato la scheda in / out suarduino, poter collegare anche il display LCD ACM1602B pervisualizzare istruzioni, allarmi o commenti.

grazie ancora per la disponibilità.

Guglielmo

Mauro Alfieri (http://www.mauroalfieri.it) on 11 gennaio2015

Author

Ciao Guglielmo, a memoria ti direi di no in quanto il display necessita di 8 pin +1 pin di blacklight per il controllo e la IN/OUT di 6 pin digitali. So che la Lemontech.cc ( http://www.lemontech.cc(http://www.lemontech.cc) ) sta per produrre una shield LCDche funziona con soli due pin ed a quel punto potresti riuscirci. Tieni sotto controllo il sito per sapere quando sarà disponibile.

Davide on 24 gennaio 2015

Salve Mauro, Avrei una domanda da porle, premetto che sono agli inizi! Come posso sapere la totale quantità di alimentazione che mi serve per un progetto fattoda Arduino uno+wifishield di adafruit+sensore dht22? Come si può fare? Mi servirebberopiù informazioni possibili a riguardo. La ringrazio tanto, davvero!

Page 19: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 26 gennaio 2015 Author

Ciao Davide, il modo più affidabile che conosco è costruire il circuito e misurare la correnteassorbita in fase di funzionamento per il periodo che ti interessa monitorare inmodo da avere valori certi.

Andrea on 5 febbraio 2015

Buongiorno Mauro,

e complimenti per il tuo spazio web che per me è diventato di riferimento, nel cercare dicapire Arduino. A proposito di segnali in ingresso ti chiedo:

ho bisogno di avviare un programma attraverso un pulsante, e poi il programma devetornare all’inizio, in attesa di una nuova pressione del pulsante. Il probema è che il pulsante, una volta premuto, può rimanere premuto anche a lungo,anche quando il programma è già finito ed attende il nuovo segnale. Io vorrei che il programma si riavviasse solo quando: il pulsante è stato rilasciato, e poi nuovamente premuto. Cioè, credo, con un impulso, anziché con uno stato. Come faresti?

Ti ringrazio per la disponibilità.

Andrea.

Mauro Alfieri (http://www.mauroalfieri.it) on 5 febbraio 2015 Author

Ciao Andrea, io userei un boolean di controllo se la pressione è avvenuta lo setti a “true” everifichi la pressione, al rilascio imposti “false” così sai se il pulsante è già statopremuto o è ancora premuto dalla volta precedente.

federico on 6 febbraio 2015

ciao, sono un ragazzo di 14 anni molto appassionato di queste cose. volevo davvero ringraziarti, perché grazie ai tuoi cosiddetti corsi sto riuscendo a capire laprogrammazione, in attesa di ricevere arduino. grazie 10000

Page 20: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 6 febbraio 2015 Author

Bene Federico, io lo faccio con piacere e so che tu imparerai tanto

ezio on 8 marzo 2015

Ciao a tutti ho bisogno di una mano sto realizzando un progetto ma mi sono bloccato … Ilprogetto è una macchina per riempire il vino nelle bottiglie … Tutto il progetto di basa suun loop che comanda una sequenza di operazioni solo che adesso mi servirebbe che ametà loop il sistema si fermasse e tramite un pulsante vorrei farlo ripartire io percontinuare l’altra metà rimanente di loop

Mauro Alfieri (http://www.mauroalfieri.it) on 9 marzo 2015 Author

Ciao Ezio, descritto con i pochi particolari che mi dici potrei ipotizzare tante soluzioni emagari nessuna adatta. Cosa intendi per “una sequenza di operazioni solo che adesso mi servirebbe chea metà loop il sistema si fermasse”:

quali sono le operazioni ? quanto dura ciascuna ? quanti sensori usi per capire in che punto sei ? quando capisci che sei a metà ? a metà del loop() cosa succede che ti fa capire che ci sei arrivato ? ogni loop() serve solo ad un ciclo o per riempire una bottiglia ci vogliono più cicli ? é un prodotto personale o devi industrializzarlo ?

Francesco on 8 agosto 2015

Ciao e grazie per l’articolo! Ho notato che quando pongo il servo in posizione 90°, il servo sembra rimani accesosenza che la testina si muova. Ad angoli tipo 45° o altri, il servo raggiunge la posizione epoi si spegne (non si sente nulla). A 90, raggiunge la posizione e rimane acceso (si sente ilrumore del motorino interno).

È normale?

Page 21: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 10 agosto 2015 Author

Ciao Francesco, non dovresti udire un sovraccarico del servo per mantenere la posizione, questoindica che il motore non riesce a raggiungere o mantenere la posizione el’elettronica del servo tende a correggere continuamente.

Francesco on 10 agosto 2015

Quindi è difettoso? Ho parlato con chi me l’ha venduto e mi ha detto cheè normale…

Mauro Alfieri (http://www.mauroalfieri.it) on 10 agosto2015

Author

Ciao Francesco, mi sono probabilmente spiegato in modo errato: ti ho scritto ilmotivo per cui verifichi questo comportamento. La causa non è necessariamente un malfunzionamento delprodotto potrebbe ad esempio dipendere dal tipo di controlloche effettui o da altri fattori esterni, ad esempio la meccanica acui è collegato, ecc… Per verificarlo ti consiglio di testare il servo con un controllerper modellisti, possibilmente della stessa ditta produttrice delservo, verificando che ad ogni comando il relativoposizionamento.

Alberto on 10 novembre 2015

Ciao Mauro, avrei bisogno di alcune informazioni per un progetto che sto tentando direalizzare con Arduino Mega SDK. Ti anticipo che sono molti anni che non tocco elettronica e non mi sono mai approcciato adarduino sinora, tuttavia ci provo. Il mio scopo è quello di leggere tramite input analogici dei valori di tensione e digitalizzarliper leggerli in tempo reale. Leggo sul sito di arduino che il range in input analogico è 0-5 v ed una corrente massimadi 40mA.

Come alimentazione utilizzo una normale batteria 9V duracell.

Page 22: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Vengo alle domande: – C’è modo di limitare la tensione di uscita da un circuito in mofo da non far mai arrivareoltre 5v ad arduino? (tento una risposta: con uno zener 5.1 o 4.7? e come dovrebbe essere fatto il circuito? Hoprovato col solo zener ed in pochi secondi è diventato rovente ergo troppi mA)

– C’è modo di limitare la corrente a 40mA (o meno) per lo stesso motivo di cui sopra?

Grazie per la disponibilità

Mauro Alfieri (http://www.mauroalfieri.it) on 11 novembre 2015 Author

Ciao Alberto, senza sapere a quale tipo di progetto stai lavorando e che tipo di sensore staicollegando non so risponderti.

Antonio on 6 gennaio 2016

Ciao Mauro, devo pilotare un motore attraverso arduino, controllando: 1 velocità del motore (attraverso un potenziometro); 2 tempo di lavoro, ovvero il tempo per cui deve girare (controllato sempre attraverso unpotenziometro); 3 tempo di pausa, ovvero quando il motore non deve girare (controllato sempre attraversoun potenziometro). per farlo ho scritto 2 programmi, quello che controlla la velocità e uno che controlla iltempo di lavoro, mentre per il tempo di pausa non ho visto ancora nulla. visto che i due programmi sono separati ho bisogno di unirli, non ci riesco perchè ci sono 2righe di codice per azionare il motore. potresti aiutarmi?

[[ codice rimosso in automatico ]]

Grazie in anticipo.

Mauro Alfieri (http://www.mauroalfieri.it) on 7 gennaio 2016 Author

Ciao Antonio, innanzitutto ti chiedo di rispettare le regole in fondo ad ogni articolo e nelle paginedel blog. Non correggo codici di altri e sopratutto nei commenti.

Per il tuo problema ti basta fare uno schema mentale delle fasi da eseguire e inche sequenza eseguirle, poi tradurre in un unico sketch il risultato, non puoiavere due righe che contemporaneamente debbano azionare il motore in quanto

Page 23: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

o sei in fase 1 o in fase 2 o in fase3 non sarai mai in fase 1 e 2contemporaneamente

Antonio on 7 gennaio 2016

Chiedo scusa per non aver utilizzato il tag per scrivere il codice, quindinon posso regolare la velocità del motore e contemporaneamenteregolare il tempo di lavoro? Ovviamente io voglio farlo con duepotenziometri.

Mauro Alfieri (http://www.mauroalfieri.it) on 7 gennaio2016

Author

Certo che puoi Antonio, leggi bene la mia risposta ed i consigli che ti ho scritto.

Guli on 3 giugno 2016

Con arduino uno mi ritrovo le uscite digitali non PWN in stato low con 3volt invece che agnd….non dovrei avere solo 0 o 5V?

Mauro Alfieri (http://www.mauroalfieri.it) on 6 giugno 2016 Author

Ciao Guli, hai già provato a collegarci un led+resistenza per verificare che sia una tensioneeffettiva? L’arduino è originale?

Angelo on 19 giugno 2016

Ciao Mauro, complimenti per il sito e per il modo con cui spieghi, sono a muovere i primipassi con Arduino uno, ti volevo chiedere se hai fatto una guida su come gestire unpulsante NO e un pulsante NC in serie. Volevo capire come si programma arduino con il classico comando marcia, arresto eblocco sicurezza. Grazie, intanto continuo a leggere i tuoi articoli.

Page 24: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 20 giugno 2016 Author

Ciao Angelo, nel corso Base trovi molti tutorial sui pulsanti che puoi adattare al tuo scopo.

Davide on 16 dicembre 2016

Salve. È possibile utilizzare una porta analogica come se fosse una porta pwm? Mi spiego:ho da utilizzare un led rgb ma ho gia tutte le porte pwm utilizzate posso usare le porteanalogiche in modo che possa “impostare” il colore del led? E se si come?

Mauro Alfieri (http://www.mauroalfieri.it) on 19 dicembre 2016 Author

Ciao Davide, i pin analogici possono essere usati come digitali in input o output ma come PWMin output mi sembra di no. Puoi verificare sul pinout arduino.

Nico on 14 gennaio 2017

ciao Mauro vorrei sapere da te se e possibile con arduino controllare l’automobile mispiego meglio vorrei che arduino controllasse lo stato porte aperte avaria luci o altre avarie controllotemperatura e via discorrendo ma essendo l’impianto della macchina a 12V spenta e circa14V accesa ti chiedo come superare tale o se mi puoi indirizzare in qualche modopremetto che non sono ne un tecnico ne un informatico ma solo un appassionatoautodidatta grazie in anticipo

Mauro Alfieri (http://www.mauroalfieri.it) on 16 gennaio 2017 Author

Ciao Nico, volendoti collegare direttamente agli impianti esistenti, io lo sconsiglio per unaquestione di garanzia e sicurezza stradale, puoi usare degli optoisolatoriopportunamente tarati per interfacciare i sensori a 12/14v a uscite a 5v. Nel blog trovi trattato l’argomento e dovrai costruirti tu un circuito adattopredendolo dal datasheet o da qualche manuale di elettronica.

Page 25: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

luigi on 4 aprile 2017

ciao mauro. sto creando un progetto scolastico in cui faccio comunicare due arduino uno cometrasmettitore/ricevitore. l’unico problema è che non so come settare tutti i pin digitali (chesaranno led) a livello basso. dove una volta andati HIGH tornino bassi dopo qualchemillisecondo (microsenddelay)

Mauro Alfieri (http://www.mauroalfieri.it) on 4 aprile 2017 Author

Ciao Luigi, trovi nel blog molti articoli in cui è spiegato come portare un pin da HIGH a LOW.

Gianpiero on 4 giugno 2017

Ciao Mauro….inizio a dirti che di elettronica non ci capisco un tubo…ho comprato però..Un kit da AMAZON e precisamente ELEGOO STARTER KIT mega 2560r3…vorreicostruire un sensore di umidità per interno con display a 16 pin ..ho provato ma nonriesco,anche perche non so come collegarli..mi invii per favore in e_mai uno schema sucome devo collegare il display alla scheda ? Grazie mille Gianpiero

Mauro Alfieri (http://www.mauroalfieri.it) on 5 giugno 2017 Author

Ciao Giampiero, trovi tutto nel blog, basta usare il campo di ricerca. Premetto che i display sono trai componenti più complessi da collegare e varianoi collegamenti da display a display, nel blog trovi alcuni esempi, per essere certodi non danneggiarli ti serve lo schema di collegamento del produttore.

Elia on 17 agosto 2017

Ciao Mauro, posso usare i pin 0 e 1 come input/output digitale? Sto provando con 2 pushbutton ma miritorna un segnale sempre HIGH (diversamente da altri pushbutton connessi su pindifferenti). Non so se usandoli come output per 2 led possa cambiare qualcosa…

Grazie tante.

Page 26: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 17 agosto 2017 Author

Ciao Elia, se li usi come pin digitali non puoi usare il serial monitor e le istruzioni Serial neltuo sketch. Trovi il motivo descritto in alcuni articoli del mio corso base gratuitoarduino on-line

Pierpaolo on 9 novembre 2017

Buongiorno, ho iniziato da poco a utilizzare Arduino non originale ma alla fine mi sembrache non cambi nulla. I primi problemi sono stati causati dal driver che non riconosceva lascheda sulla com3. Adesso tutto ok. Ma il maledetto led “L” che continua a lampeggiaresempre anche quando cambio listato. Ho letto sul forum che bisogna mettere un resistoreda 100k dal pin 13 (che corrisponde al pin 19 Atmega328p) e gnd!!! Proverò. Chissàperchè si utilizzano ancora le porte com (se fosse seriale ok) con la porta usb………………….. . In ogni caso volevo far presente che a me non funziona nulla, inseriscoun codice ma senza ottenere niente di niente. Volevo iniziare con il progetto pulse heartma per il momento sono fermo. Ho acquistato un libro per iniziare a utilizzare al meglioquesta schedina e appena mi arriva sperimento. Caspita forse era meglio il mitico ST7!Saluti.

Mauro Alfieri (http://www.mauroalfieri.it) on 10 novembre 2017 Author

Ciao Pierpaolo, se tu usassi l’originale non avresti tutti questi problemi.

renato de felice on 12 febbraio 2018

desidero contattare mauro alfieri per commissionarlo un mio progetto che non riesco a far funzionare ( forse 79 anni la memoria fa cilecca) renato de felice grazie

Mauro Alfieri (http://www.mauroalfieri.it) on 13 febbraio 2018 Author

Ciao Renato, puoi scrivermi del progetto alla casella info del blog, la medesima da cui ti èarrivata questa email.

Page 27: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Biagio Antonio Lo Cascio on 16 febbraio 2018

Ciao Mauro, ho conosciuto oggi il tuo sito. Ho un piccolo problema, ho ditate su IDE uno sketch ed in una ria di seta, ho digitato :digitalState(2); // Pin INPUT. Facendo la verifica mi spunta :exit status 1 ‘ was not declared in this scope’. Vorrei sapere cosa significa e cosa dovrei fare. Sono alle prime armi. Ringrazio anticipatamente

Mauro Alfieri (http://www.mauroalfieri.it) on 19 febbraio 2018 Author

Ciao Antonio, in primo luogo non ho compreso cosa tu sta facendo, forse a causa dellacorrezione del cellulare la frase è incomprensibile. Il comando “digitalState” non esiste.

Simone on 23 marzo 2018

Ciao Mauro, innanzitutto complimenti per il magnifico lavoro che hai realizzato. Ho un problema che apparentemente può sembrare stupido ma che non riesco a risolvereper via della mia poca conoscenza di Arduino. Sto utilizzando un Arduino Mega 2560 con il quale devo gestire un Mass Flow Controller. Il mio problema riguarda l’apertura della valvola del MassFlow il quale richiede unvoltaggio di +5 VDC e deve essere effettuato dal pin analogico (nel mio caso, il pin inquestione è il A4) quindi dal pin A4 di Arduino (il quale è collegato al pin relativo delMassFlow) mi deve uscire un voltaggio di +5 VDC che mi permette l’apertura della valvola. Ora le chiedo: come si scrive questo comando che vorrei effettuare nello sketch? La ringrazio anticipatamente per l’aiuto che mi darà.

Mauro Alfieri (http://www.mauroalfieri.it) on 26 marzo 2018 Author

Ciao Simone, innanzitutto ti consiglio di leggere e comprendere i miei articoli ed il corso arduinobase gratuito che ho realizzato e pubblicato in questo blog. Perché vuoi usare il pin A4 come output? I pin A0-A5 possono essere usati comeAnalogici in input o digitali in output.

Page 28: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Simone on 26 marzo 2018

Ciao Mauro, la scelta del pin A4 è stata casuale, serviva solo per capire comeeffettuare il comando; usare il pin A4 come output mi sono reso contoche era un errore. Comunque, leggendo i suoi articoli e il corso base di arduino, sonoriuscito a risolvere questo problema. La ringrazio di nuovo per l’aiuto e per la disponibilità.

Mauro Alfieri (http://www.mauroalfieri.it) on 26 marzo2018

Author

Bravissimo Simone.

Aldo Leardi on 11 aprile 2018

Buongiorno Mauro, cercando indicazioni su Arduino sono incappato sul tuo lavoro chetrovo impressionante e frutto sicuramente di una passione pura. Io sono datato e distrattoda altre cose ma per onorare il regalo di Arduino fattomi a Natale dai nipoti, ho provato afarne una applicazione. Si tratta di misurare un impulso che va alto per un tempo variabileda 4ms a 1004 ms . Ho usato l’istruzione durata = pulseIn(pin, HIGH, 1004000) . che poidivido per 1000 e visualizzo. Il risultato sembra coerente con la durata rilevatasull’oscilloscopio tranne che per valori superiorti a 30 ( 30000 micros ) ho inversione disegno. Ti sarei grato se potessi indicarmi come uscirne , ne va della mia onorabilità dinonno. Grazie e buon divertimento.

Mauro Alfieri (http://www.mauroalfieri.it) on 12 aprile 2018 Author

Ciao ALdo, lavoro encomiabile per essere un primo esperimento .. hai tutta la mia stima. L’inversione di segno potrebbe essere dovuta solo ad un errato tipo si variabileutilizzata che trasformando i numeri in binario ti riporta a valori negativi raggiuntoil suo limite superiore. Che tipo di variabile hai utilizzato?

Aldo Leardi on 12 aprile 2018

Page 29: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Buongiorno Mauro, ho risolto il problema impostando la variabile come ” unsigned long” .E’ bastato leggere qualche lezione del tuo corso. Lavoro meritorio. Grazie. Se dovessimettere la testa a posto, non è escluso che torni a disturbarti per altri consigli. Buon lavoro

Mauro Alfieri (http://www.mauroalfieri.it) on 12 aprile 2018 Author

Bene Aldo, se tu volessi condividere i tuoi progetti sarò lieto di pubblicarli. Leggi nella sezione “Collabora al Blog” come fare e pensa che se oggi quello cheho scritto è stato utile a te ciò che hai da raccontare domani sarà utile ai tuoinipoti e non solo.

Marco on 24 aprile 2018

Salve, è possibile alimentare Arduino con i 12-14 V di una automobile e usare anche i segali inentrata allo stesso voltaggio. Dalle caratteristiche che leggo nel sito sembrerebbe di si, mila lascia qualche dubbio l’Operating voltage a 5v. Grazie.

Mauro Alfieri (http://www.mauroalfieri.it) on 27 aprile 2018 Author

Ciao Marco, no, non è possibile. Puoi alimentare Arduino Uno attraverso il Vin o il connettore Jack nero frontale da7 a 20v, anche se il sito raccomanda 12v, ma gli ingressi e le uscite, pin, restanooperanti a 5v ( Operating voltage 5v )

Marco on 10 maggio 2018

Salve, e grazie mille per la risposta. Pensa che potrei risolvere il problemaalimentando sia l’Arduino che i sensori con i 12 v del veicolo e poiconvertendo solo l’uscita dei sensori con degli switching di step downper avere una caduta di tensione fino a 5 v ? Risolto questo dubbioinizierei subito con la programmazione del mio progetto ( un antifurtocon condizioni specifiche di allarme ) Grazie.

Page 30: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Mauro Alfieri (http://www.mauroalfieri.it) on 14 maggio2018

Author

Ciao Marco, si puoi alimentare arduino a 12v dal Vin, come ti ho scritto, maai pin devi far arrivare al max 5v.

Marco on 24 aprile 2018

Salve, sarebbe comunque possibile usare le entrate analogiche “come” digitali (facendoglileggere un ingresso alto o basso) in caso avessi bisogno di più ingressi per il mioprogetto?

Mauro Alfieri (http://www.mauroalfieri.it) on 27 aprile 2018 Author

Ciao Marco, si è possibile usare i pin analogici A0-A5 dell’arduino uno sia come inputanalogici, funzione designata, sia come IN/OUT digitali.

Mauro Alfieri » Blog Archive » Tutoria Arduno e i servo(http://www.mauroalfieri.it/elettronica/tutoria-arduno-servo.html) on 26 settembre 2011

[…] Se vuoi pilotare dei servo prima di tutto devi sapere che la complessità dell’operanasce dalla necessità di utilizzare un duty-cycle per impartire comandi a questimeravigliosi oggetti in grado di trasformare la volontà elettronica in movimento. Arduinodispone, secondo i modelli, di uscite PWM ossia pin digitali in grado di generare un duty-cycle utilizzabile per far muovere un servo, puoi trovare una panoramica sull’argomento inquesto mio articolo. […]

Mauro Alfieri » Blog Archive » Arduino: led rgb e Ikea(http://www.mauroalfieri.it/elettronica/arduino-led-rgb-e-ikea.html) on 16 novembre 2011

[…] il vaore ad Arduino sul pin definito alle linee 18-20, i valori passati saranno tradotti insegnali PWM dai pin di […]

Mauro Alfieri » Blog Archive » Tutorial: arduino, led rgb e potenziometri(http://www.mauroalfieri.it/elettronica/tutorial-arduino-led-rgb-e-potenziometri.html) on 30

Page 31: Programmare con Arduino – Pin Digitali e Analogici...2018/10/04  · Non è necessario settare questi pin con la modalità essendo solo pin di input Arduino sa già come utilizzarli.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati(https://akismet.com/privacy/).

marzo 2012

[…] Se non ti è chiaro perchè utilizzo la funzione analoWrite() se ho collegato il led alleuscite digitali PWM puoi leggere questo mio articolo che ti chiarirà le idee: Programmarecon Arduino – Pin Digitali e Analogici. […]

WiRC: collegato ad arduino per comandare il tuo robot(http://www.mauroalfieri.it/elettronica/wirc-collegalo-ad-arduino.html) on 11 settembre 2012

[…] indica il tempo del duty-cycle, se non sai cos’è ti invito a leggere questo mio articolo:Programmare con Arduino – Pin Digitali e Analogici in cui trovi una semplice spiegazionedi come funziona e a cosa […]

Frequenza PWM su Arduino Duty Cycle Mauro Alfieri Elettronica Robotica(http://www.mauroalfieri.it/elettronica/frequenza-pwm-arduino-duty-cycle.html) on 10 luglio2013

[…] Ti invito a leggere l’introduzione sul’argomento in questo articolo. […]

Programmare con Arduino - leggere un segnale analogico - Mauro Alfieri ElettronicaDomotica Robotica Elettronica (http://www.mauroalfieri.it/elettronica/programmare-con-arduino-leggere-un-segnale-analogico.html) on 10 gennaio 2017

[…] linea 11: indico ad Arduino che utilizzerò la comunicazione seriale a 9600 boud (vediarticolo) […]