Jinsi ya Kupima Pembe ya Mwinuko Kwa Kutumia Sensor ya Pembe ya SCA60C na Kuchukua Hatua Kulingana na Pembe Hiyo
Mafunzo haya yanachunguza kihisi cha pembe cha SCA60C, njia ya gharama nafuu ya kupima mwelekeo na mkao katika miradi yako ya robotiki na elektroniki. Kihisi hutoa voltage ya analogi inayolingana na pembe yake, ambayo Arduino inaweza kusoma na kubadilisha kuwa kipimo sahihi cha digrii kati ya 0 na 180. Mradi huu ni bora kwa kuongeza ufahamu wa mkao katika matumizi mbalimbali.
Hapa kuna njia kadhaa za vitendo za kutumia kihisi hiki katika miundo yako:
- Udhibiti wa Mkono wa Roboti: Fuatilia mkao wa kila kiungo ili kuhakikisha harakati sahihi na salama.
- Mifumo ya Kusawazisha: Unda jukwaa la kujisawazisha kwa kamera, paneli za jua, au vifaa vingine nyeti.
- Kengele za Mwendo: Gundua wakati kifaa au kitu kinapohamishwa kutoka mkao wake wa awali uliosawazishwa.
- Sanaa ya Mwingiliano: Jenga kipande kinachobadilisha tabia au onyesho lake kulingana na jinsi kinavyoinamishwa.
- Maoni ya Mkao: Toa maoni ya wakati halisi kwenye skrini kwa mwinuko au mzunguko wa kifaa.
Mwongozo huu utakupitia uendeshaji wa kihisi, jinsi ya kuunganisha kwenye Arduino yako, na jinsi ya kutumia msimbo uliotolewa kusoma na kutenda kulingana na data ya pembe.
Vifaa na Vipengele
Ili kufuata mradi huu, utahitaji vipengele vifuatavyo:
- Bodi ya Arduino (Uno, Nano, Mega, n.k.)
- Moduli ya Kihisi cha Pembe cha SCA60C
- Breadboard na waya za jumper
- LED mbili (hiari, kwa maonyesho ya kengele)
- Resistor mbili za 220-ohm (hiari, kwa LED)
Kihisi cha SCA60C ni moduli ndogo inayotoa voltage inayolingana na pembe yake ya mwinuko. Kama inavyoonyeshwa kwenye video, moduli pia inajumuisha op-amp ya ndani (LM393) na potentiometer mbili zinazoweza kutumika kuweka viwango vya kengele, kuendesha matokeo ya dijiti ya D1 na D2. (katika video saa 03:20)
Mwongozo wa Uunganishaji
Kuunganisha kihisi cha SCA60C ni rahisi. Tafadhali rejea mchoro hapa chini kwa mwongozo wa kuona.
Hapa kuna mchakato wa uunganishaji hatua kwa hatua:
- Nguvu: Unganisha pini ya VCC kwenye kihisi kwenye pini ya 5V ya Arduino yako. Unganisha pini ya GND kwenye GND ya Arduino.
- Ishara: Unganisha pini ya Vout (pini ya katikati) kwenye pini ya analogi ya A0 ya Arduino. Hii ndiyo pini kuu inayotumika kusoma pembe. (katika video saa 05:25)
- Matokeo ya Kengele (Hiari): Moduli ina matokeo mawili ya ziada ya dijiti, D1 na D2. Ikiwa unataka kutumia vipengele vya kengele, unganisha hizi kwenye pini za A1 na A2 za Arduino, mtawalia. (katika video saa 05:30)
Ikiwa hauitaji vipengele vya kengele, unaweza kuacha pini za D1 na D2 zisizounganishwa, ikitoa pini za analogi za A1 na A2 kwa vihisi vingine. (katika video saa 12:00)
Maelezo ya Msimbo
Msimbo uliotolewa umeundwa kusoma voltage ya analogi kutoka kwenye kihisi na kuibadilisha kuwa pembe katika digrii. Sehemu muhimu zaidi za msimbo za kurekebisha ni vigezo vya usanidi vilivyo juu ya sketch.
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;
Hapa kuna maelezo ya kila kigezo kinachoweza kusanidiwa:
anglePin: Hii inafafanua pini ya analogi kwenye Arduino iliyounganishwa na pini yaVoutya kihisi. Unaweza kuibadilisha ikiwa unahitaji kutumia pini tofauti ya analogi.angleCompensate: Hii ni kigezo muhimu kwa urekebishaji. Kihisi hutoa digrii 0 wakati kiko gorofa kabisa. Ikiwa matumizi yako yanahitaji kihisi kuwekwa kwa pembe, unaweza kuongeza kipimo cha digrii hapa. Kwa mfano, kuweka hii kuwa20kutafanya kihisi kusoma digrii 0 wakati kimeinamishwa kimwili kwa digrii 20. (katika video saa 06:24)d1Pinnad2Pin: Hizi zinafafanua pini za analogi zinazotumika kusoma hali ya matokeo ya kengele ya kihisi. Ikiwa hautumii kipengele cha kengele, unaweza kupuuza hizi.d1Delaynad2Delay: Vigezo hivi vinaletewa kuchelewa kwa millisecond baada ya kengele kuanzishwa. Hii inaweza kuwa muhimu kwa kusafisha ishara au kuhakikisha hali ya kengele inadumu kwa muda wa chini. (katika video saa 06:48)
Unaweza pia kubadilisha safu ya lables[] ili kubadilisha maandishi yanayochapishwa kwenye Serial Monitor. Kwa mfano, unaweza kubadilisha "Angle" kuwa "Robot Arm Position" ili kufaa zaidi mradi wako. (katika video saa 07:08)
Maonyesho ya Moja kwa Moja ya Mradi
Katika video, sensor inaonyeshwa kwa kuisogeza katika anuwai ya mwendo wake huku Serial Monitor ikionyesha pembe inayolingana. Mwasilishaji anaonyesha jinsi sensor inavyosoma digrii sifuri ikiwa imelala, na jinsi inavyoweza kupima hadi digrii 90 upande mmoja na digrii -90 upande mwingine. (katika video saa 08:05)
Maonyesho pia yanaangazia kipengele cha kengele. Kwa kurekebisha potentiometers zilizo kwenye bodi, matokeo ya D1 na D2 yanaweza kusanidiwa kuanza wakati sensor inapoinamishwa kutoka nafasi yake ya digrii sifuri. Msimbo unasoma matokeo haya ya dijiti na kuonyesha hali yake (HIGH au LOW) kwenye Serial Monitor, ambayo inaweza kutumika kuanzisha vitendo vingine katika mradi wako. (katika video saa 10:29)
Sura
- [00:00] Utangulizi wa Sensor ya Pembe ya SCA60C
- [00:52] Matumizi na Kesi za Matumizi kwa Kuhisi Pembe
- [02:19] Kuelewa Moduli ya SCA60C na Vipengele Vyake
- [04:56] Mwongozo wa Uunganishaji wa Sensor ya SCA60C
- [06:09] Maelezo ya Msimbo na Vigezo vya Usanidi
- [08:05] Maonyesho ya Moja kwa Moja ya Upimaji wa Pembe na Urekebishaji
- [10:29] Maonyesho ya Vipengele vya Kengele vya D1 na D2
- [13:17] Hitimisho
/*
* 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
Tänker att du kanske behöver
-
AmazonSCA60C tilt sensor on Amazonamzn.to
-
eBaySCA60C tilt sensor on eBayebay.us
-
AliExpressSCA60C tilt sensor on AliExpresss.click.aliexpress.com
Resurser och referenser
Inga resurser än.
Filer📁
Datablad (pdf)
-
robojax_tilt_angle_sensor_SCA60C_datasheet
robojax_tilt_angle_sensor_SCA60C_datasheet.pdf0.18 MB