Pubblicato il

Esempio Arduino Snap Action o End Stop Tutorial – Lezione 10

Premessa:

Con questa guida potrete decidere di utilizzare una shield che permette di avere la parte hardware già tutta integrata oppure costruirvi da zero il vostro Snap Action. Per i neofiti lo Snap Action è un pulsante che normalmente alla sua pressione può assumere il valore high o low a seconda delle vostre esigenze e al suo rilascio tornare nella fase di “partenza”. Principalmente viene chiamato END STOP nelle stampanti 3d. Immagginate la vite senza fine dell’asse z che comincia a girare facendo alzare il piatto fino a quando non incontra uno Snap Action che scatena l’evento di interrupt facendo fermare il piatto. Normalmente esistono Snap action ottici tramite sensore ir o normali con una leva meccanica che permette di azionare o meno il bottone.

LISTA DEI MATERIALI:

Tipi Snap Action

SnapAction1EndStop

Qualora scegliete di non comprare gli end stop a shield come quello nella figura di destra, ma bensì scegliete di costruirvene uno proprio con i componenti elettronici della figura di sinistra troverete a disposizione lo schema elettrico per costruirvi lo snap action con la sua resistenza.

SnapAction

NOTA BENE: una volta collegato bene lo snap action avremo come da schema riportato 5 volt che andremo ad attacare ai 5 volt dell arduino e il GND al GND dell’arduino. il PIN IN che da schema è quello centrale, lo andremo ad attaccare al pin digitale 2  (D2). Ora non vi resta che caricare lo sketch su arduino.

Codice Arduino Snap Action:

void setup(){
  //start serial connection
  Serial.begin(9600);
  //configure pin2 as an input and enable the internal pull-up resistor
  pinMode(2, INPUT_PULLUP);

}

void loop(){
  //read the pushbutton value into a variable
  int sensorVal = digitalRead(2);
  //print out the value of the pushbutton
  Serial.println(sensorVal);

  // Keep in mind the pullup means the pushbutton's
  // logic is inverted. It goes HIGH when it's open,
  // and LOW when it's pressed. Turn on pin 13 when the 
  // button's pressed, and off when it's not:
  if (sensorVal == HIGH) {
    Serial.println("in funzione");
  } 
  else {
    Serial.println("non in funzione");
  }
}

Buon Progetto.