டி.டி.எம்.எஃப் தொகுதியைப் பயன்படுத்தி மொபைல் தொலைபேசி கட்டுப்படுத்தப்பட்ட ரோபோ கார்

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





இந்த திட்டத்தில் டி.டி.எம்.எஃப் தொகுதி மற்றும் அர்டுயினோவைப் பயன்படுத்தி எங்கள் செல்போன் மூலம் ஒரு கையேடு ரோபோவைக் கட்டுப்படுத்தப் போகிறோம்.

வழங்கியவர்: அங்கித் நேகி, கனிஷ்க் கோடியால் மற்றும் நவ்னீத் சிங் சஜ்வான்



டி.டி.எம்.எஃப் தொகுதியைப் பயன்படுத்தி மொபைல் தொலைபேசி கட்டுப்படுத்தப்பட்ட ரோபோ கார்

அறிமுகம்

இந்த திட்டத்தில் இரண்டு செல்போன்கள், ஒன்று அழைப்பதற்கு மற்றும் அழைப்பைப் பெறுவதற்கு ஒன்று பயன்படுத்தப்படுகின்றன. அழைப்பைப் பெறும் தொலைபேசி ஆடியோ ஜாக் வழியாக ரோபோவுடன் இணைக்கப்பட்டுள்ளது.

டயல் பேட் விசைகளை அழுத்துவதன் மூலம் அழைக்கும் நபர் ரோபோவைக் கட்டுப்படுத்த முடியும். (அதாவது ரோபோவை உலகின் எந்த மூலையிலிருந்தும் இயக்க முடியும்).



தேவையான கூறுகள்

1 - Arduino UNO

2 - கையேடு ரோபோ

3 - 4 மோட்டார்கள் (இங்கே நாங்கள் ஒவ்வொன்றும் 300 r.p.m ஐப் பயன்படுத்தினோம்)

4 - டிடிஎம்எஃப் தொகுதி

5 - மோட்டார் டிரைவர்

6 - 12 வோல்ட் பேட்டரி

7 - மாறு

8 - தலையணி பலா

9 - இரண்டு செல்போன்கள்

10 - கம்பிகளை இணைத்தல்

கையேடு ரோபோ பற்றி

ஒரு கையேடு ரோபோ சேஸ் (உடல்) கொண்டது, இதில் மூன்று அல்லது நான்கு மோட்டார்கள் (டயர்களால் திருகப்படுகின்றன) தேவையைப் பொறுத்து இணைக்கப்படலாம்.

பயன்படுத்த வேண்டிய மோட்டார்கள் எங்கள் தேவையைப் பொறுத்தது, அதாவது அவை அதிவேக அல்லது அதிக முறுக்குவிசை அல்லது இரண்டின் நல்ல கலவையை வழங்க முடியும். குவாட் காப்ட்டர் போன்ற பயன்பாடுகளுக்கு ஈர்ப்பு விசையை உயர்த்துவதற்கு அதிவேக மோட்டார்கள் தேவைப்படுகின்றன, அதே நேரத்தில் இயந்திரக் கையை நகர்த்துவது அல்லது செங்குத்தான சாய்வில் ஏறுவது போன்ற பயன்பாடுகளுக்கு அதிக முறுக்கு மோட்டார்கள் தேவைப்படுகின்றன.

ரோபோவின் இடது மற்றும் வலது பக்கத்தில் உள்ள இரண்டு மோட்டார்கள் இணையாக தனித்தனியாக இணைக்கப்பட்டுள்ளன. வழக்கமாக அவை டிபிடிடி (இரட்டை முள் இரட்டை வீசுதல்) சுவிட்சுகள் வழியாக 12 வோல்ட் பேட்டரியுடன் இணைக்கப்படுகின்றன.

ஆனால் இந்த திட்டத்தில் போட் கட்டுப்படுத்த டிபிடிடிக்கு பதிலாக மொபைல் ஃபோனைப் பயன்படுத்துவோம்.

மோட்டார் டிரைவர் பற்றி

Arduino GPIO (பொது நோக்கம் உள்ளீட்டு வெளியீடு) ஊசிகளைப் பயன்படுத்தி அதிகபட்சமாக 40mA மின்னோட்டத்தை அளிக்கிறது, அதே நேரத்தில் Vcc மற்றும் தரையைப் பயன்படுத்தி 200mA ஐ வழங்குகிறது.

மோட்டார்கள் இயங்குவதற்கு பெரிய மின்னோட்டம் தேவைப்படுகிறது. எங்கள் மோட்டார்கள் இயக்குவதற்கு நேரடியாக arduino ஐப் பயன்படுத்த முடியாது, எனவே நாங்கள் ஒரு மோட்டார் டிரைவரைப் பயன்படுத்துகிறோம்.

மோட்டார் இயக்கி எச் பிரிட்ஜ் (இது டிரான்சிஸ்டர்களின் கலவையாகும்) கொண்டுள்ளது. மோட்டார் டிரைவரின் ஐசி (எல் 298) 5 வி மூலம் இயக்கப்படுகிறது, இது அர்டுயினோவால் வழங்கப்படுகிறது.

மோட்டார்கள் சக்தியளிக்க, இது 12 வி உள்ளீட்டை arduino இலிருந்து எடுக்கும், இது இறுதியில் 12 v பேட்டரி மூலம் வழங்கப்படுகிறது. எனவே arduino பேட்டரியிலிருந்து சக்தியை எடுத்து மோட்டார் டிரைவருக்கு கொடுக்கிறது.

அதிகபட்சமாக 2 ஆம்பியர்களைக் கொடுப்பதன் மூலம் மோட்டார்களின் வேகத்தையும் திசையையும் கட்டுப்படுத்த இது நம்மை அனுமதிக்கிறது.

டி.டி.எம்.எஃப் தொகுதிக்கு அறிமுகம்

டி.டி.எம்.எஃப் என்பது இரட்டை தொனி பல அதிர்வெண்ணைக் குறிக்கிறது. எங்கள் டயல் பேட் இரண்டு டோனர் பல அதிர்வெண் ஆகும், அதாவது ஒரு பொத்தான் வெவ்வேறு அதிர்வெண் கொண்ட இரண்டு டோன்களின் கலவையை அளிக்கிறது.

ஒரு தொனி அதிக அதிர்வெண் கொண்ட டோன்களிலிருந்து உருவாக்கப்படுகிறது, மற்றொன்று குறைந்த அதிர்வெண் குழுவிலிருந்து. எந்தவொரு குரலையும் டோன்களைப் பின்பற்ற முடியாத வகையில் இது செய்யப்படுகிறது.

எனவே, இது தொலைபேசி விசைப்பலகையின் உள்ளீட்டை நான்கு பிட் பைனரி குறியீடாக டிகோட் செய்கிறது. எங்கள் திட்டத்தில் நாங்கள் பயன்படுத்திய விசைப்பலகை எண்களின் அதிர்வெண்கள் கீழே உள்ள அட்டவணையில் காட்டப்பட்டுள்ளன

டிஜிட்லோ அதிர்வெண் (ஹெர்ட்ஸ்) உயர் அதிர்வெண் (ஹெர்ட்ஸ்) 2697133647701209677014778852133609411336

டயல் பேட்டின் இலக்கங்களின் பைனரி டிகோட் செய்யப்பட்ட வரிசை கீழே உள்ள அட்டவணையில் காட்டப்பட்டுள்ளது.

இலக்க டி 3 டி 2 டி 1 டி 0 1 0 0 0 1 இரண்டு 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 0 1 0 1 0 * 1 0 1 1 # 1 1 0 0

CIRCUIT DIAGRAM

இணைப்புகள்

மோட்டார் டிரைவர் -

  • முள் ‘ஏ’ மற்றும் ‘பி’ இடது பக்க மோட்டாரைக் கட்டுப்படுத்துகின்றன, பின் ‘சி’ மற்றும் ‘டி’ மோட்டரின் வலது பக்கத்தைக் கட்டுப்படுத்துகின்றன. இந்த நான்கு ஊசிகளும் நான்கு மோட்டர்களுடன் இணைக்கப்பட்டுள்ளன.
  • முள் ‘இ’ என்பது ஐ.சி (எல் 298) ஐ ஆற்றுவதாகும், இது அர்டுயினோ (5 வி) இலிருந்து எடுக்கப்படுகிறது.
  • முள் ‘எஃப்’ தரையில் உள்ளது.
  • முள் ‘ஜி’ பேட்டரிலிருந்து 12 வோல்ட் சக்தியை வின் பின் ஆர்டுயினோ வழியாக எடுக்கிறது.
  • பின்ஸ் ‘எச்’, ‘நான்’, ‘ஜே’ மற்றும் ‘கே’ ஆகியவை அர்டுயினோவிலிருந்து தர்க்கத்தைப் பெறுகின்றன.

டி.டி.எம்.எஃப் -

  • ஐசி (எஸ்சி 9270 டி) க்கு சக்தி அளிக்க முள் ‘அ’ 3.5 வோல்ட் அர்டுயினோவுடன் இணைக்கப்பட்டுள்ளது.
  • முள் ‘பி’ தரையில் இணைக்கப்பட்டுள்ளது.
  • டி.டி.எம்.எஃப் இன் உள்ளீடு தொலைபேசியிலிருந்து ஜாக் வழியாக எடுக்கப்படுகிறது.
  • (D0 - D3) ஊசிகளின் வழியாக பைனரி தரவு வடிவத்தில் வெளியீடு arduino க்கு செல்கிறது.

அர்டுயினோ -

  • (D0 - D3) ஊசிகளிலிருந்து DTMF இன் வெளியீடு arduino இன் டிஜிட்டல் ஊசிகளுக்கு வருகிறது. இந்த வெளியீட்டை arduino இல் (2 - 13) மாறுபடும் நான்கு டிஜிட்டல் ஊசிகளுடன் இணைக்க முடியும். இங்கே நாம் 8, 9, 10 மற்றும் 11 ஊசிகளைப் பயன்படுத்தினோம்.
  • டிஜிட்டல் ஊசிகளின் 2 மற்றும் 3 ஆர்டுயினோ மோட்டார் டிரைவரின் முள் எண் ‘எச்’ மற்றும் ‘நான்’ உடன் இணைக்கப்பட்டுள்ளன, அதே நேரத்தில் ஆர்டுயினோவின் 12 மற்றும் 13 ஊசிகளும் ‘ஜே’ மற்றும் ‘கே’ உடன் இணைக்கப்பட்டுள்ளன.
  • Arduino 12 வோல்ட் பேட்டரியுடன் இணைக்கப்பட்டுள்ளது.

நிரல் குறியீடு-

int x // initialising variables
int y
int z
int w
int a=20
void setup()
{
pinMode(2,OUTPUT) //left motor
pinMode(3,OUTPUT) //left
pinMode(8,INPUT) // output from DO pin of DTMF
pinMode(9,INPUT) //output from D1 pin of DTMF
pinMode(10,INPUT) //output from D2 pin of DTMF
pinMode(11,INPUT) // output from D3 pin of DTMF
pinMode(12,OUTPUT) //right motor
pinMode(13,OUTPUT) //right
Serial.begin(9600)// begin serial communication between arduino and laptop
}
void decoding()// decodes the 4 bit binary number into decimal number
{
if((x==0)&&(y==0)&&(z==0)&&(w==0))
{
a=0
}
if((x==0)&&(y==0)&&(z==1)&&(w==0))
{
a=2
}
if((x==0)&&(y==1)&&(z==0)&&(w==0))
{
a=4
}
if((x==0)&&(y==1)&&(z==1)&&(w==0))
{
a=6
}
if((x==1)&&(y==0)&&(z==0)&&(w==0))
{
a=8
}
}
void printing()// prints the value received from input pins 8,9,10 and 11 respectively
{
Serial.print(' x ')
Serial.print( x )
Serial.print(' y ')
Serial.print( y )
Serial.print(' z ')
Serial.print( z )
Serial.print(' w ')
Serial.print( w )
Serial.print(' a ')
Serial.print(a)
Serial.println()
}
void move_forward()// both side tyres of bot moves forward
{
digitalWrite(2,HIGH)
digitalWrite(3,LOW)
digitalWrite(12,HIGH)
digitalWrite(13,LOW)
}
void move_backward()//both side tyres of bot moves backward
{
digitalWrite(3,HIGH)
digitalWrite(2,LOW)
digitalWrite(13,HIGH)
digitalWrite(12,LOW)
}
void move_left()// only left side tyres move forward
{
digitalWrite(2,HIGH)
digitalWrite(3,LOW)
digitalWrite(12,LOW)
digitalWrite(13,HIGH)
}
void move_right()//only right side tyres move forward
{
digitalWrite(2,LOW)
digitalWrite(3,HIGH)
digitalWrite(12,HIGH)
digitalWrite(13,LOW)
}
void halt()// all motor stops
{
digitalWrite(2,LOW)
digitalWrite(3,LOW)
digitalWrite(12,LOW)
digitalWrite(13,LOW)
}
void reading()// take readings from input pins that are connected to DTMF D0, D1, D2 and D3 PINS.
{
x=digitalRead(8)
y=digitalRead(9)
z=digitalRead(10)
w=digitalRead(11)
}
void loop()
{
reading()
decoding()
if((x==0)&&(y==0)&&(z==1)&&(w==0))
{
move_forward()
reading()
decoding()
printing()
}
if((x==1)&&(y==0)&&(z==0)&&(w==0))
{
move_backward()
reading()
decoding()
printing()
}
if((x==0)&&(y==1)&&(z==0)&&(w==0))
{
move_left()
reading()
decoding()
printing()
}
if((x==0)&&(y==1)&&(z==1)&&(w==0))
{
move_right()
reading()
decoding()
printing()
}
if((x==0)&&(y==0)&&(z==0)&&(w==0))
{
halt()
reading()
decoding()
printing()
}
a=20
printing()
}

குறியீடு விரிவாக்கம்

  1. முதலாவதாக, வெற்றிட அமைப்பிற்கு முன் அனைத்து மாறிகளையும் துவக்குகிறோம்.
  2. வெற்றிட அமைப்பில், பயன்படுத்த வேண்டிய அனைத்து ஊசிகளும் அவற்றின் நோக்கத்திற்கு ஏற்ப உள்ளீடு அல்லது வெளியீடாக ஒதுக்கப்படுகின்றன.
  3. ஒரு புதிய செயல்பாடு “வெற்றிட டிகோடிங் ()” செய்யப்படுகிறது. இந்த செயல்பாட்டில் டி.டி.எம்.எஃப் இலிருந்து நாம் பெறும் அனைத்து பைனரி உள்ளீடும் அர்டுயினோவால் தசமத்திற்கு டிகோட் செய்யப்படுகிறது. இந்த தசம மதிப்புக்கு ஒதுக்கப்பட்ட மாறி a.
  4. மற்றொரு செயல்பாடு “வெற்றிட அச்சிடுதல் ()” செய்யப்படுகிறது. டி.டி.எம்.எஃப் ஊசிகளிலிருந்து உள்ளீட்டு மதிப்புகளை அச்சிட இந்த செயல்பாடு பயன்படுத்தப்படுகிறது.
  5. இதேபோல், ஐந்து செயல்பாடுகள் தேவை, தேவையான பணியைச் செய்ய செயல்பாடுகள் தேவை. இந்த செயல்பாடுகள்:

void move_left () // ரோபோ இடதுபுறம் திரும்பும்

void move_right () // ரோபோ வலதுபுறம் திரும்பும்

void move_forward () // ரோபோ முன்னோக்கி நகர்கிறது

void move_backward () // ரோபோ பின்னோக்கி நகர்கிறது

void halt () // ரோபோ நிறுத்தப்படும்

  1. இப்போது இந்த செயல்பாடுகள் வெற்றிட லூப் செயல்பாட்டில் பயன்படுத்தப்படுகின்றன, அவை செல்போனின் டயல்பேடில் இருந்து உள்ளீட்டின் படி அழைக்கப்படும் போதெல்லாம் அவற்றின் பணியைச் செய்கின்றன.

உதாரணத்திற்கு:::

if((x==0)&&(y==0)&&(z==1)&&(w==0))
{
move_forward()
reading()
decoding()
printing()
}

எனவே பொத்தான் 2 அழுத்தும் போது அல்லது உள்ளீட்டு ஊசிகளில் 0010 பெறப்படும் போது, ​​arduino இதை டிகோட் செய்கிறது, இதனால் இந்த செயல்பாடுகள் அவற்றின் வேலையைச் செய்கின்றன: move_forward ()

வாசிப்பு ()

டிகோடிங் ()

அச்சிடுதல் ()

சுற்றறிக்கை வேலை

எங்கள் திட்டத்தில் நாங்கள் பயன்படுத்திய கட்டுப்பாடுகள் பின்வருமாறு -

2 - முன்னேற

4 - இடதுபுறம் திரும்ப

6 - வலதுபுறம் திரும்ப

8 - பின்னோக்கி செல்ல

0 - நிறுத்த

ரோபோவுடன் இணைக்கப்பட்ட தொலைபேசியில் அழைப்பு விடுத்த பிறகு, அந்த நபர் தனது டயல் பேட்டைத் திறக்கிறார்.

  • ‘2’ அழுத்தினால். டி.டி.எம்.எஃப் உள்ளீட்டைப் பெறுகிறது, அதை அதன் பைனரி சமமான எண்ணில் டிகோட் செய்து, ‘0010’ மற்றும் ஆர்டுயினோவின் டிஜிட்டல் ஊசிகளுக்கு அனுப்புகிறது. ‘0010’ குறியீடாக இருக்கும் போது நாங்கள் திட்டமிடப்பட்டபடி இந்த குறியீட்டை மோட்டார் டிரைவருக்கு அர்டுயினோ அனுப்புகிறது, மோட்டார்கள் கடிகார திசையில் சுழலும், எனவே எங்கள் ரோபோ முன்னோக்கி நகரும்.
  • ‘4’ அழுத்தினால், அதற்கு சமமான குறியீடு ‘0100’ மற்றும் நிரலாக்கத்தின்படி இடது பக்க மோட்டார்கள் நின்றுவிடும், வலது பக்க மோட்டார்கள் மட்டுமே கடிகார திசையில் சுழலும், எனவே எங்கள் ரோபோ இடதுபுறமாக மாறும்.
  • ‘6’ அழுத்தினால், வலது பக்க மோட்டார் நிறுத்தப்படும், இடது பக்க மோட்டார்கள் மட்டுமே கடிகார திசையில் சுழலும், எனவே நமது ரோபோ வலதுபுறம் திரும்பும்.
  • ‘8’ அழுத்தினால், எங்கள் மோட்டார்கள் எதிரெதிர் திசையில் சுழலும், இதனால் நமது ரோபோ பின்னோக்கி நகரும்.
  • ‘0’ அழுத்தினால், எங்கள் மோட்டார்கள் அனைத்தும் நின்றுவிடும், ரோபோ நகராது.

இந்த திட்டத்தில் ஐந்து டயல் பேட் எண்களுக்கு மட்டுமே ஒரு செயல்பாட்டை ஒதுக்கியுள்ளோம். இந்த திட்டத்தின் மேம்படுத்தப்பட்ட பதிப்பை உருவாக்க எந்தவொரு பொறிமுறையையும் நாம் சேர்க்கலாம் மற்றும் டயல் பேட் எண்ணை அந்த பொறிமுறைக்கு ஒதுக்கலாம்.

மனதில் கொள்ள வேண்டிய புள்ளிகள்

1 - பலா தளர்வாக இருக்கக்கூடாது.

2 - தொலைபேசி விசைப்பலகை அதிகபட்சமாக இருக்க வேண்டும்.

3 - குறுக்கீடு விளைவுகளைத் தவிர்க்க தொலைபேசியைப் பெறுவதற்கான இணையம் / வைஃபை மூடப்பட வேண்டும்.

4 - டி.டி.எம்.எஃப் இன் இடது முள் (அதாவது முள் ‘பி’) தரை மற்றும் வலது முள் (அதாவது முள் ‘அ’) 3.3 வி உடன் இணைக்கப்பட்டுள்ளது.

டி.டி.எம்.எஃப் பயன்படுத்தி செல்போன் கட்டுப்படுத்தப்பட்ட ரோபோ கார் சுற்றுக்கான முன்மாதிரி படங்கள்
டி.டி.எம்.எஃப் பயன்படுத்தி செல்போன் கட்டுப்படுத்தப்பட்ட ஆர்.சி காரின் வீடியோ ஆர்ப்பாட்டம்



முந்தைய: Arduino இல் EEPROM அறிமுகம் அடுத்து: அறிவியல் சிகப்பு திட்டத்திற்காக இந்த வரி பின்தொடர்பவர் ரோபோவை உருவாக்குங்கள்