Tinkercad Servo control buttons

Tinkercad Servo control buttons è il tutorial dedicato alla serie tinkercad che riparte dalle basi della programmazione arduino per realizzare tutti i tuoi progetti.

Tinkercad Servo control buttons tutorial

Nel precedente tutorial “servo control” hai letto e imparato come controllare un servo usando una semplice libreria già fornita con l’IDE arduino: la Servo.h

Nel primo articolo dedicato ai pulsanti hai visto come leggere un segnale digitale proveniente da un pulsante.

In questo tutorial unirai i concetti appresi in entrambi al fine di realizzare un sistema di controllo del servo motore basato su tre pulsanti ( in inglese buttons ).

Il circuito Tinkercad Servo control buttons

Per realizzare tutto il tutorial userai gli strumenti di disegno e simulazione di tinkercad come già fatto nei precedenti articoli dedicati a questa serie.

Iniziamo dalla realizzazione del circuito per la quale puoi seguire il diagramma seguente:

Tinkercad Servo control buttons schema

che vedrai anche nel vido in fondo a questo articolo.

Nota che ciascun bottone è connesso ad un pin digitale di arduino e che il servo è collegato al pin PWM 3 con cui puoi controllare facilmente il suo movimento.

Ciascun pulsante è connesso, inoltre ad una resistenza da 10Kohm verso il pin negativo ( Gnd ) connessa in PULL DOWN.

In questa configurazione il valore ricevuto sui pin digitali arduino 4,5 e 6 sarà normalmente 0 passando dalla resistenza ed alla pressione il valore passerà a 1.

Lo sketch del tinkercad servo control buttons

lo sketch del tinkercad servo control buttons è presente sia nel progetto tinkercad condiviso e pubblico.

#include <Servo.h>

#define pinServo 3
#define pinButt1 4
#define pinButt2 5
#define pinButt3 6

Servo myservo;

void setup() {
  myservo.attach(pinServo);
  
  pinMode( pinButt1,INPUT );
  pinMode( pinButt2,INPUT );
  pinMode( pinButt3,INPUT );
}

void loop() {
  if ( digitalRead(pinButt1) == 1 ) myservo.write(0);
  if ( digitalRead(pinButt2) == 1 ) myservo.write(90);
  if ( digitalRead(pinButt3) == 1 ) myservo.write(180);
  delay(15);
}

la prima linea include la libreria Servo.h che ti serve per controllare il servo motore connesso al pin 3 ( Pwm ) di arduino;

linee 03-06: imposta le define relative ai pin a cui è connesso il servomotore ed i tre pulsanti, rispettivamente

  • button1 connesso al pin 4
  • button2 connesso al pin 5
  • button3 connesso al pin 6

linea 08: definisci l’istanza myservo che userai per collegarti ed impartire comandi al servo;

linea 11: usa il metodo attach per indicare allo sketch quale pin utilizzare per la connessione al servo;

linee 13.15: imposta ciascun pin a cui è connesso un pulsante come INPUT per il tuo sketch ed Arduino;

linea 19: usando l’istruzione condizionale if in cui valuti se il valore digitale letto sul pin 4 ( pinButt1 ) passa da 0 a 1 ed in tal caso esegue il comando myservo.write(0) passandogli come angolo a 0;

linee 20-21: esegui le stesse operazioni per i pin 5 e 6 con angolo 90 e 180;

linea 22: attendi un tempo di 15 millisecondi tra un loop ed il successivo per consentire al servo di raggiungere la posizione desiderata.

Il video Tinkercad Servo control buttons

Il video in cui puoi seguire tutto il processo di creazione del circuito tinkercad servo control buttons dalla costruzione alla simulazione:

Puoi provare ad aggiungere altri pulsanti ed utilizzarli per eseguire spostamenti da 30,45 e 60 gradi o loro multipli.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/tinkercad-servo-control-buttons.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.