Mobiele telefoon bestuurde robotauto met behulp van DTMF-module

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In dit project gaan we een handmatige robot besturen via onze mobiele telefoon met behulp van DTMF-module en Arduino.

Door: Ankit Negi, Kanishk Godiyal en Navneet Singh sajwan



Mobiele telefoon bestuurde robotauto met behulp van DTMF-module

INVOERING

In dit project worden twee mobiele telefoons gebruikt, een om te bellen en een om de oproep te ontvangen. De telefoon die de oproep ontvangt, is via een audio-aansluiting met de robot verbonden.

De persoon die belt, kan de robot besturen door op de kiestoetsen te drukken. (d.w.z. de robot kan vanuit elke hoek van de wereld worden bediend).



COMPONENTEN VEREIST

1 - Arduino UNO

2 - Handmatige robot

3 - 4 motoren (hier gebruikten we elk 300 omwentelingen per minuut)

4 - DTMF-module

5 - Motorbesturing

6-12 volt batterij

7 - Schakelaar

8 - Koptelefoonaansluiting

9 - Twee mobiele telefoons

10 - Verbindingsdraden

OVER HANDMATIGE ROBOT

Een handmatige robot bestaat uit een chassis (carrosserie) waarin drie of vier motoren (die met banden zijn vastgeschroefd) kunnen worden bevestigd, afhankelijk van de behoefte.

De te gebruiken motoren zijn afhankelijk van onze vereisten, d.w.z. ze kunnen een hoge snelheid of een hoog koppel leveren, of een goede combinatie van beide. Toepassingen zoals quadcopter vereisen motoren met zeer hoge snelheid om tegen de zwaartekracht in te heffen, terwijl toepassingen zoals het verplaatsen van een mechanische arm of het beklimmen van een steile helling motoren met een hoog koppel vereisen.

Beide motoren aan de linker- en rechterkant van de robot zijn afzonderlijk parallel geschakeld. Meestal worden ze via DPDT-schakelaars (double pin double throw) op een 12 volt accu aangesloten.

Maar in dit project zullen we mobiele telefoons gebruiken in plaats van DPDT's om de bot te besturen.

OVER DE MOTOR BESTUURDER

Arduino geeft een maximale stroom van 40mA met GPIO-pinnen (General Purpose Input Output), terwijl het 200mA geeft met Vcc en aarde.

Motoren hebben een grote stroom nodig om te werken. We kunnen arduino niet rechtstreeks gebruiken om onze motoren van stroom te voorzien, dus gebruiken we een motorstuurprogramma.

De motordriver bevat H-brug (een combinatie van transistors). Het IC (L298) van de motordriver wordt aangedreven door 5v die wordt geleverd door arduino.

Om de motoren van stroom te voorzien, is 12v-input van Arduino nodig, die uiteindelijk wordt geleverd door een 12v-batterij. Dus de arduino neemt gewoon stroom van de batterij en geeft aan de motorbestuurder.

Het stelt ons in staat om de snelheid en richting van motoren te regelen door een maximale stroom van 2 ampère te geven.

INLEIDING TOT DTMF-MODULE

DTMF staat voor Dual Tone Multi Frequency. Ons toetsenblok is een tweevoudige tonersfrequentie, d.w.z. één knop geeft een combinatie van twee tonen met verschillende frequentie.

De ene toon wordt gegenereerd uit een groep tonen met een hoge frequentie, de andere uit een groep met een lage frequentie. Het is zo gedaan dat elk type stem de tonen niet kan imiteren.

Het decodeert dus eenvoudig de invoer van het telefoontoetsenbord in vier bits binaire code. De frequenties van toetsenbordnummers die we in ons project hebben gebruikt, worden weergegeven in de onderstaande tabel

Cijfer Lage frequentie (hertz) Hoge frequentie (hertz) 2697133647701209677014778852133609411336

De binair gedecodeerde reeks van de cijfers op het toetsenblok wordt in de onderstaande tabel weergegeven.

cijfer D3 D2 D1 D0 1 0 0 0 1 twee 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

SCHAKELSCHEMA

AANSLUITINGEN

Motor bestuurder -

  • Pin ‘A’ en ‘B’ besturen de motor aan de linkerkant, terwijl pin ‘C’ en ‘D’ de rechterkant van de motor bedienen. Deze vier pinnen zijn verbonden met de vier motoren.
  • Pin ‘E’ is om IC (L298) van stroom te voorzien, die is overgenomen van Arduino (5v).
  • pin ‘F’ is geslepen.
  • Pin ‘G’ neemt 12 volt stroom van de batterij via Vin-pin van arduino.
  • Pinnen 'H', 'I', 'J' en 'K' ontvangen logica van arduino.

DTMF -

  • pin ‘a’ is verbonden met 3,5 volt arduino om het IC (SC9270D) van stroom te voorzien.
  • Pin ‘b’ is verbonden met aarde.
  • De invoer van DTMF wordt van de telefoon via de aansluiting gehaald.
  • De output in de vorm van binaire data via (D0 - D3) pinnen gaat naar arduino.

ARDUINO -

  • de output van DTMF van (D0 - D3) pinnen komt naar digitale pinnen van Arduino. We kunnen deze uitgang aansluiten op een van de vier digitale pinnen, variërend van (2 - 13) in arduino. Hier hebben we pinnen 8, 9, 10 en 11 gebruikt.
  • Digitale pinnen 2 en 3 van arduino zijn verbonden met pinnummer ‘H’ en ‘I’ van de motordriver, terwijl pinnen 12 en 13 van arduino zijn verbonden met ‘J’ en ’K’.
  • De arduino is aangesloten op een 12 volt accu.

Programma CODE-

CODE UITLEG

  1. Allereerst initialiseren we alle variabelen voordat we de ongeldigheid instellen.
  2. In de ongeldige opstelling worden alle te gebruiken pennen toegewezen als invoer of uitvoer volgens hun doel.
  3. Er is een nieuwe functie 'void decoding ()' gemaakt. In deze functie wordt alle binaire invoer die we van DTMF krijgen, door arduino naar decimaal gedecodeerd. En de variabele die is toegewezen voor deze decimale waarde is een.
  4. Een andere functie 'leegmaken afdrukken ()' wordt gemaakt. Deze functie wordt gebruikt om invoerwaarden af ​​te drukken vanaf DTMF-pinnen.
  5. Evenzo zijn vijf functies vereist, zijn functies vereist om de vereiste taak uit te voeren. Deze functies zijn:

void move_left () // robot draait naar links

void move_right () // robot draait naar rechts

void move_forward () // robot gaat vooruit

void move_backward () // robot beweegt achteruit

void halt () // robot stopt

  1. Nu worden deze functies gebruikt in de ongeldige lusfunctie om hun taak te doen wanneer ze worden gebeld volgens de invoer van het toetsenblok van de mobiele telefoon.

Bijvoorbeeld:::

dus wanneer knop 2 wordt ingedrukt of 0010 wordt ontvangen op invoerpinnen, decodeert arduino dit en dus doen deze functies hun werk: move_forward ()

lezing()

decodering ()

afdrukken ()

HET CIRCUIT WERKT

De bedieningselementen die we in ons project hebben gebruikt, zijn als volgt -

2 - Om verder te gaan

4 - Om naar links te draaien

6 - Om rechtsaf te slaan

8 - Om achteruit te gaan

0 - om te stoppen

Nadat hij de telefoon heeft gebeld die met de robot is verbonden, opent de persoon zijn toetsenblok.

  • Als ‘2’ wordt ingedrukt. De DTMF ontvangt de invoer, decodeert deze in zijn binaire equivalente nummer, d.w.z. '0010', en stuurt deze naar de digitale pinnen van Arduino. De arduino stuurt deze code vervolgens naar de motorbestuurder zoals we hebben geprogrammeerd, wanneer de code ’0010’ zal zijn, de motoren zullen met de klok mee draaien en daarom zal onze robot vooruit gaan.
  • Als ‘4’ wordt ingedrukt, is de equivalente code ‘0100’ en volgens de programmering zullen de motoren aan de linkerkant stoppen en zullen alleen de motoren aan de rechterkant met de klok mee draaien en daarom zal onze robot naar links draaien.
  • Als ‘6’ wordt ingedrukt, stopt de motor aan de rechterkant en zullen alleen de motoren aan de linkerkant met de klok mee draaien en daarom zal onze robot naar rechts draaien.
  • Als ‘8’ wordt ingedrukt, draaien onze motoren tegen de klok in en dus beweegt onze robot achteruit.
  • Als ‘0’ wordt ingedrukt, stoppen al onze motoren en beweegt de robot niet.

In dit project hebben we een functie toegewezen aan slechts vijf kiestoetsen. We kunnen elk type ander mechanisme toevoegen en een kiestoetsenbordnummer aan dat mechanisme toewijzen om een ​​verbeterde versie van dit project te maken.

PUNTEN OM IN LET OP TE HOUDEN

1 - De krik mag niet loszitten.

2 - Tonen op het toetsenbord van de telefoon moeten maximaal zijn.

3 - Internet / Wi-Fi van de ontvangende telefoon moet worden afgesloten om interferentie-effecten te voorkomen.

4 - Linker pin (d.w.z. pin ‘b’) van DTMF is massa en rechter pin (d.w.z. pin ‘a’) is verbonden met 3.3v.

Prototype afbeeldingen van het door mobiele telefoons bestuurde robotcircuit met behulp van DTMF
Videodemonstratie van door mobiele telefoons bestuurde RC-auto met behulp van DTMF



Vorig: Inleiding tot EEPROM in Arduino Volgende: Maak deze lijnvolgerrobot voor het Science Fair-project