Cerca codice

Lezione 18: Corso RoboJax Arduino Passo-Passo: Utilizzo del Sensore di Inclinazione SCA60C SCA60C1

Lezione 18: Corso RoboJax Arduino Passo-Passo: Utilizzo del Sensore di Inclinazione SCA60C SCA60C1

Benvenuti a questo tutorial pratico di Robojax. In questa lezione presentiamo il sensore angolare SCA60C di VTI Technologies e dimostriamo come può essere utilizzato con Arduino per rilevare e misurare posizioni angolari in vari progetti di robotica o automazione.

SCA60C-tilt-Sensor-1

Cos'è il SCA60C1?

Il SCA60C1 è un sensore angolare di precisione in grado di rilevare lo spostamento angolare in un intervallo di circa -180° a +90°. Fornisce dati in tempo reale che possono essere utilizzati per determinare l'inclinazione o la rotazione di componenti meccanici, bracci o piattaforme. Questo lo rende particolarmente utile per:

  • Giunti robotici

  • Piattaforme rotanti

  • Articolazione del braccio e feedback di posizione

SCA60C_wiring-2

Perché il rilevamento angolare è importante

Misurare accuratamente gli angoli è fondamentale nella robotica e nella meccatronica. Che tu stia costruendo un braccio robotico o un sistema gimbal, conoscere l'angolo in tempo reale garantisce controllo, sicurezza e automazione adeguati. Questo tutorial ti guida nell'uso del SCA60C1 con una scheda Arduino per creare un sistema affidabile di misurazione angolare.

 

Panoramica della dimostrazione

Nel video:

  • Il sensore è collegato ad Arduino.

  • L'angolo viene stampato sul Monitor Seriale in gradi.

  • L'istruttore mostra come la lettura dell'angolo cambia mentre il sensore viene ruotato.

  • Consulta il datasheet fornito per ulteriori dettagli

Vedrai l'uscita passare da +90°, a 0°, a -90°, e poi fino a -180°, a seconda dell'orientamento. Questo aiuta a visualizzare come il sensore risponde al movimento nel mondo reale.

Cablaggio e configurazione

S02-11-Angle_Sensor_SCA60C_wiring

Il sensore è montato saldamente e collegato ad Arduino per leggere le uscite analogiche o digitali (a seconda della variante del modello). Il video dimostra chiaramente questo passaggio di cablaggio.

📷 Didascalia immagine: Schema di cablaggio che mostra il sensore angolare SCA60C1 collegato ad Arduino con i pin appropriati di alimentazione, terra e segnale.


Questo sensore è ideale per imparare a misurare inclinazione e rotazione. Guarda il video per vedere come funziona in tempo reale e segui per integrare il rilevamento angolare nei tuoi progetti di robotica.

SCA60C_arduino_showing_angle

 

Immagini

SCA60C-tilt-Sensor-3
SCA60C-tilt-Sensor-3
SCA60C-tilt-Sensor--2-dimensions
SCA60C-tilt-Sensor--2-dimensions
SCA60C-tilt-Sensor-1
SCA60C-tilt-Sensor-1
SCA60C-tilt-Sensor-4
SCA60C-tilt-Sensor-4
S02-11-Angle_Sensor_SCA60C_wiring
S02-11-Angle_Sensor_SCA60C_wiring
SCA60C_arduino_showing_angle
SCA60C_arduino_showing_angle
SCA60C_wiring-2
SCA60C_wiring-2
553-Lesson 18, Robojax Arduino Step-by-Step Course: Using Tilt Angle Sensor SCA60C1
Lingua: C++
/*
 *  Robojax Arduino Step By Step Course
 * Tilt Angle Sensor SCA60C1 SCA60C N1000060
 * It displays the angle from 0 to 180 degrees.
 * 
  Please watch video instruction here https://youtu.be/hkhepVzWyWE
Download and resource page https://robojax.com/RJT874
Download and resource page https://robojax.com/RJT18


 

 * 
Written by Ahmad Shamshiri on Mar 17, 2020 at 20:20 
 
 * in Ajax, Ontario, Canada. www.robojax.com


If you found this tutorial helpful, please support me so I can continue creating 
content like this. 

 *  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

const int anglePin =A0;
int angle =0;
const int angleCompensate =0;

const int d1Pin =A1;
int d1State =LOW;
int d1Delay =0;//watch 

const int d2Pin =A2;
int d2State =LOW;
int d2Delay =0;

char *lables[]={"Angle","Alarm D1","Alarm D2"};

void setup()

{

  Serial.begin(9600);          //  setup serial
  Serial.println("Robojax SCA60C Angle Sensor");

}



void loop(){
  //Robojax Tilt Angle Sensor
  	//Robojax Arduino Step By Step Course http://robojax.com/L/?id=338
  getAngle();
  d1Alarm();
  d2Alarm();
  
  
  // print out the value you read:
  Serial.print(lables[0]);// 
  Serial.print(":");
  Serial.print(angle);
  Serial.println("\xC2\xB0");//degree symbol
//  Serial.print("\t");
//  Serial.print(lables[1]);
//  Serial.print(":");  
//  Serial.print(d1State);
//  Serial.print("\t");
//  Serial.print(lables[2]);
//  Serial.print(":");
//  Serial.println(d2State);  
//  Serial.println("======");
  delay(100);
//Robojax Tilt Angle Sensor
}

void getAngle()
{
 
   angle =map(analogRead(A0), 96, 927, -90, 90) + angleCompensate; 
 
}

/**************************************/
/*! 
    @brief  Get the state of the D1 alarm. HIGH if triggered.
    @param  no parameter
    @returns returns nothing
    Written by Ahmad Shamshiri on Mar 17, 2020 at 20:20 in Ajax, Ontario, Canada.
*/
/**************************************/
void d1Alarm()
{
  	//Robojax Arduino Step By Step Course http://robojax.com/L/?id=338
  //
  float vo = analogRead(d1Pin) * (5.0 / 1023.0);
  if(vo < 3.5)
  {
    d1State =HIGH;
    delay(d1Delay);    
  }else{
    d1State =LOW;    
  }

}//d1Alarm() end


/**************************************/
/*! 
    @brief  Get the state of the D1 alarm. HIGH if triggered.
    @param  no parameter
    @returns returns nothing
    Written by Ahmad Shamshiri on Mar 17, 2020 at 20:20 in Ajax, Ontario, Canada.
*/
/**************************************/
void d2Alarm()
{
  	//Robojax Arduino Step By Step Course http://robojax.com/L/?id=338
  //
  float vo = analogRead(d2Pin) * (5.0 / 1023.0);

  if(vo < 3.5)
  {
    d2State =HIGH;
    delay(d2Delay);    
  }else{
    d2State =LOW;    
  }  

}//d1Alarm() end

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Altri file