搜索代码

Using Tilt Angle with a SCA60C Angle Sensor

Using Tilt Angle with a SCA60C Angle Sensor

Using this Arduino code and SCA60C tilt angle sensor, we can measure the angle of a robotic arm or element. If you need code to control a buzzer or relay at a desired angle, please click here.

Tilt angle sensor

306-Basic code to control the direction of rotation of a motor with two relays
语言: C++
/*
 * Tile Angle Sensor SCA60C1 N1000060
 * It displays the angle from 0 to 180 degrees.
 * 
 * Watch video instructions for this code: https://youtu.be/5DjO8Fo_AtE
 * 
Written by Ahmad Shamshiri on Mar 17, 2020 at 20:20 
 
 * in Ajax, Ontario, Canada. www.robojax.com
 * 
 Need a wiring diagram for this code: 
 Purchase My Arduino course on Udemy.com http://robojax.com/L/?id=62
 * 

 * Get this code and other Arduino codes from Robojax.com.
Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
all in one place. Purchase My course on Udemy.com http://robojax.com/L/?id=62

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

or make a donation using PayPal http://robojax.com/L/?id=64

 *  * 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
  //Watch video for details: https://youtu.be/5DjO8Fo_AtE
  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()
{
 //Watch video instructions: https://youtu.be/5DjO8Fo_AtE
   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()
{
  //Watch video for details: https://youtu.be/5DjO8Fo_AtE
  //
  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()
{
  //Watch video for details: https://youtu.be/5DjO8Fo_AtE
  //
  float vo = analogRead(d2Pin) * (5.0 / 1023.0);

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

}//d1Alarm() end

资源与参考

尚无可用资源。

文件📁

没有可用的文件。