Funzioni di input e output di Arduino

Funzioni di input e output di Arduino
Per interfacciarsi la scheda Arduino con diversi chip, sensori, LED e altre periferiche integrate vengono utilizzate diverse funzioni diverse per l'ingresso e l'output. Allo stesso modo, per eseguire il codice compilato sulla scheda Arduino, queste funzioni vengono utilizzate anche. Queste funzioni di input e output definiscono anche gli ingressi e le uscite del programma Arduino.

Funzioni di input/output

Esistono cinque diversi tipi di funzioni utilizzate in Arduino per la configurazione dei suoi input e output. Le seguenti funzioni di output di input sono brevemente discusse in questo discorso:

  • funzione pinMode ()
  • funzione digitaleRead ()
  • funzione digitalewrite ()
  • funzione analogread ()
  • funzione analogwrite ()

funzione pinMode ()

Per collegare le periferiche alla scheda Arduino, i suoi pin sono assegnati a ciascun dispositivo che deve essere collegato alla scheda Arduino. Il numero PIN è assegnato nel codice Arduino utilizzando la funzione Modalità PIN. La funzione Modalità PIN ha due argomenti: uno è il numero del pin e l'altro è la modalità del pin. Le modalità PIN sono ulteriormente divise in tre tipi.

  • INGRESSO
  • PRODUZIONE
  • Input_pullup

INGRESSO : Definisce il rispettivo pin che verrà utilizzato come input per Arduino.

PRODUZIONE : Questa modalità viene utilizzata quando le istruzioni devono essere fornite a qualsiasi dispositivo connesso.

Input_pullup : Questa modalità viene utilizzata anche per assegnare lo stato di input al pin. Usando questa modalità la polarità verrà annullata dall'input dato, ad esempio se l'ingresso è elevato, ciò significherà che il dispositivo è disattivato e se l'ingresso è basso, ciò significa che il dispositivo è acceso. Questa funzione funziona con l'aiuto di resistori interni che sono costruiti in Arduino.

Sintassi : Per utilizzare la modalità PIN, funzionare la seguente sintassi:

pinMode (pin-numero, modalità di pin);

Funzioni digitaliRead () e DigitalWrite ()

Ci sono 14 pin digitali nell'Arduino Uno che possono essere utilizzati per le funzioni di lettura e scrittura. Quando viene noto lo stato di qualsiasi pin specifico, viene utilizzata la funzione digitaleRead (). Questa funzione è una funzione di tipo di ritorno in quanto indicherà lo stato del pin nella sua uscita.

Allo stesso modo, quando uno stato deve essere assegnato a qualsiasi pin, viene utilizzata una funzione digitalewrite (). La funzione DigitalWrite () ha due argomenti uno è il numero PIN e l'altro è lo stato che sarà definito dall'utente.

Entrambe le funzioni sono di tipo booleano, quindi solo due tipi di stati sono utilizzati nella funzione di scrittura digitale uno è elevato e l'altro è basso. Per utilizzare le funzioni digitaliRead () e DigitalWrite (), è necessario utilizzare la seguente sintassi:

DigitalRead (pin-numero);
DigitalWrite (pin-numero, stato);

Esempio

Nell'esempio di seguito menzionato, vengono utilizzate le funzioni di PinMode (), DigitalRead () e DigitalWrite ():

int bottonPin = 2;
int ledpin = 12;
// Le variabili cambieranno:
Int ButtonState;
void setup ()
Seriale.Inizia (9600);
pinMode (ledpin, output);
pinMode (bottonpin, input_pullup);

void loop ()
ButtonState = DigitalRead (ButtonPin);
Seriale.println (bottonstate);
if (buttonstate == 1)
// Accendi LED:
DigitalWrite (LedPin, 1);
altro
// Spegni le led:
DigitalWrite (LedPin, 0);

Nel codice di esempio un LED viene effettuato e disattivato utilizzando le funzioni di input e output e viene utilizzato anche un pulsante.

Innanzitutto il numero pin per il pulsante e il LED viene dichiarato e l'ingresso_pullup viene dato al pulsante come modalità e quindi il LED viene dato l'uscita come modalità.

Per leggere lo stato del pulsante deve essere nella modalità di input ecco perché input_pullup viene dato al pulsante e nella funzione di configurazione utilizzando la modalità pin i pin dichiarati sono assegnati ad Arduino per il pulsante e il LED.

Allo stesso modo, dopo di che il loop legge lo stato iniziale del pulsante usando la funzione digiterato ().Se lo stato del pulsante è elevato, il LED verrà dato lo stato alto, il che significa che il LED si accenderà. Tuttavia, se lo stato del pulsante è basso, lo stato del LED sarà basso, ciò significa che il LED si spegne.

Poiché input_pullup viene utilizzato per un pulsante che inverte gli ingressi del pulsante come cambiare in alto e viceversa. Quindi, quando il programma viene compilato, anche il LED si accende e, alla pressione del pulsante, il LED spegne.

Produzione

Funzioni Analogread () e AnalogWrite ()

Arduino Uno ha 6 porte analogiche che possono essere utilizzate da queste funzioni analogiche di lettura e scrittura. La funzione Analogread () leggerà lo stato del pin analogico e restituirà un valore sotto forma di numeri nell'intervallo da 0 a 1024 per una risoluzione di 10 bit e per una risoluzione di 12 bit l'intervallo sarà da 0 a 4095.

La risoluzione dei bit è la conversione da analogico a digitale, quindi per 10 bit l'intervallo può essere calcolato per 2^10 e per 12 bit sarà rispettivamente 2^12. Tuttavia, per assegnare uno stato a qualsiasi pin analogico su Arduino UNO viene utilizzata la funzione AnalogWrite (). Genera l'onda di modulazione dell'impulso e lo stato sarà definito dando il suo ciclo di lavoro che varia da 0 a 255.

La differenza principale tra le funzioni analogiche e digitali è che il digitale definisce i dati sotto forma di alto o basso, mentre l'analogico fornisce i dati sotto forma di un duty heart di modulazione della larghezza dell'impulso. Viene fornita la sintassi della lettura e della scrittura analogiche e successivamente viene fornito un codice di esempio per scopi di illustrazione:

analogread (pin-numero);
analogwrite (pin-numero, valore del pin);

Esempio

Per dimostrare l'uso di DigitalRead () e DigitalWrite () funziona un programma Arduino per la modifica del LED di luminosità. La luminosità del LED viene modificata usando il potenziometro che è collegato al pin A3 analogico dell'Arduino. La funzione Analogread () legge l'uscita del potenziometro e quindi i valori del potenziometro vengono ridimensionati usando la funzione MAP. Dopo che il valore è stato ridimensionato, viene dato al LED.

int led_pin = 4;
void setup ()
Seriale.Inizia (9600);
pinMode (led_pin, output);

void loop ()
int analogValue = analogread (A3);
int luminosità = mappa (analogValue, 0, 1023, 0, 255);
AnalogWrite (led_pin, luminosità);
Seriale.print ("analogico:");
Seriale.stampa (analogValue);
Seriale.print (", luminosità:");
Seriale.println (luminosità);
ritardo (100);

Quando il valore del potenziometro è zero, ciò significa che la resistenza è massima e non vi sarà alcuna tensione fornita al LED. Quindi, il valore per la luminosità sarà anche zero, quindi il LED rimarrà nello stato fuori.

Quando il valore del potenziometro viene ridotto, il valore della luminosità aumenterà e quindi il LED sarà sullo stato.

Conclusione

Le funzioni di output di input svolgono una parte molto importante quando si tratta di dispositivi di interfaccia con Arduino o quando si realizzano progetti basati su hardware. Queste funzioni sono blocchi per ogni progetto Arduino. In questa scrittura le funzioni di output di input sono discusse in dettaglio con l'aiuto dei codici di esempio.