Per tutti coloro che non hanno mai avuto a che fare con la piattaforma Arduino vi presento il primo esperimento, in rete ne troverete a migliaia, ma cercherò di spiegarvi soprattutto il funzionamento del programma, in modo da potervi avvicinare il più possibie.
Come vedete ho collegato all'uscita D13 all'anodo un semplice LED e per sicurezza ho messo una resistenza da 10K tra il catodo e la massa.
Ora avendo preparato il circuito basta passare alla programmazione dell'arduino.
Il linguaggio si basa sul linguaggi "C" ma bisogna tenere conto che ci sono due funzioni indispensabili che devono essere sempre presenti su nostro programma.
La prima è la funzione "setup" dove andiamo a scrivere che tipo di funzione dobbiamo ad inizializzare, la seconda la "loop" dove il nostro programma gira all'infinito, infatti una piccoa differenza sui normali PC il programma si può terminare in Arduino invece questo si ripete fino allo spegnimento.
Ora inizializziamo il piedino D13 dicendogli che è una semplice uscita, quindi viene fornita una differenza di potenziale di 5v e una corrente massima di 40mA.
void setup() {
pinMode(13, OUTPUT);
}
Ora vogliamo che ad ogni secondo il nostro LED si accende e spegne quindi basta scrivere nela funzione loop:
Il comando "digitalWrite" ci permette di far reagire l'uscita 13 infatti i LED si accende quanto c'è il valore "HIGH" o "1" e si spegne quando c'è "LOW" o "0",
la funzione delay è un ciclo vuoto e viene espresso in milliSecondi infatto per arrivare ad un secondo ce ne vogliono 1000.
Come in tutte le programmazioni possiamo utilizzare le variabili e quindi una variante del nostro programma potrebbe diventare:
int LEDpin = 13;
int LEDstato = LOW;
long milliprecedenti = 0;
long intervallo = 1000;
void setup() {
pinMode(LEDpin, OUTPUT);
}
void loop() {
unsigned long millicorrenti = milli();
if (millicorrenti - milliprecedenti > intervalo) {
milliprecedenti = millicorrenti;
if (LEDstato == LOW) {
LEDstato = HIGH;
} else {
LEDstato = LOW;
}
digitalWrite(LEDpin, LEDstato);
}
}
Ora il risultato finale fra i due sketch non cambia ma anche se ho allungato e complicato la stesura il mio intento è quello di farvi capire come sul PC la programmazione è reativa al programmatore.
Per tutti coloro che non hanno mai avuto a che fare con la piattaforma Arduino vi presento il primo esperimento, in rete ne troverete a migliaia, ma cercherò di spiegarvi soprattutto il funzionamento del programma, in modo da potervi avvicinare il più possibie.
LED Lampeggiante
Disegno realizzato con Fritzing
Come vedete ho collegato all'uscita D13 all'anodo un semplice LED e per sicurezza ho messo una resistenza da 10K tra il catodo e la massa.
Ora avendo preparato il circuito basta passare alla programmazione dell'arduino.
Il linguaggio si basa sul linguaggi "C" ma bisogna tenere conto che ci sono due funzioni indispensabili che devono essere sempre presenti su nostro programma.
La prima è la funzione "setup" dove andiamo a scrivere che tipo di funzione dobbiamo ad inizializzare, la seconda la "loop" dove il nostro programma gira all'infinito, infatti una piccoa differenza sui normali PC il programma si può terminare in Arduino invece questo si ripete fino allo spegnimento.
Ora inizializziamo il piedino D13 dicendogli che è una semplice uscita, quindi viene fornita una differenza di potenziale di 5v e una corrente massima di 40mA.
Ora vogliamo che ad ogni secondo il nostro LED si accende e spegne quindi basta scrivere nela funzione loop:
Il comando "digitalWrite" ci permette di far reagire l'uscita 13 infatti i LED si accende quanto c'è il valore "HIGH" o "1" e si spegne quando c'è "LOW" o "0",
la funzione delay è un ciclo vuoto e viene espresso in milliSecondi infatto per arrivare ad un secondo ce ne vogliono 1000.
Programma intero:
Come in tutte le programmazioni possiamo utilizzare le variabili e quindi una variante del nostro programma potrebbe diventare:
Ora il risultato finale fra i due sketch non cambia ma anche se ho allungato e complicato la stesura il mio intento è quello di farvi capire come sul PC la programmazione è reativa al programmatore.
Schema elettrico:
Modificato da RyujiAndy