Página do controle remoto com Arduino, desenvolvido por Clóvis Fritzen. A ideia é desenvolver um controle remoto via rádio frequência (433Mhz) para controle de objetos á distância (carrinhos, quadcópteros, aeromodelos, ferromodelos, etc).

Protótipo do controle remoto

OBJETIVO:  Desenvolvimento de um sistema de controle remoto baseado em Arduino UNO, contendo emissor (controle) e receptor. Projeto eletrônico e desenho de placas de circuito impresso específicas para o sistema.

JUSTIFICATIVA: Aprendizado de conceitos:

  • Projeto eletrônico e desenho de placas de circuito impresso,
  • Programação em Arduino para controle de sistemas embarcados,
  • Elaboração e testes com telemetria,
  • Aprender pilotagem de veículos teleguiados,
  • Diversão!

Linha do tempo:

  • Janeiro/2018: apresentação da ideia neste post e montagem do primeiro protótipo do receptor.
  • Fevereiro/2018: montagem do protótipo do emissor (controle) e desenho dos circuitos e placas no software Eagle CAD, conforme visto neste post. Envio de arquivos para fabricação das PCI’s na China.
  • Maio/2018: Recebi as placas do emissor e do receptor, direto da China. Unboxing aqui !!
  • Maio-Junho/2018: Codificação de sketchs em Arduino para fins de validação do hardware e também testes de comunicação via link RF 433MHz (HC-12). Repositório em construção neste link.

DETALHAMENTO TÉCNICO

  • Pinagem do emissor (pinos do ATMEGA328, Arduino):
Arduino Função
A0 Potenciômetro 100K
A1 Joystick eixo X
A2 Joystick eixo Y
0 RX (comunicação/gravação)
1 TX (comunicação/gravação)
2 Chave S1 (esquerda)
3 LED1 (esquerda)
4 Joystick (chave, contato seco)
5 LED2 (direita)
6 Chave S2 (direita embaixo)
7 Chave S3 (baixo)
8 Chave S4 (esquerda)
9 Chave S6 (direita)
10 Chave S5 (cima)
12 TX rádio (HC-12 433Mhz)
13 RX rádio (HC-12 433Mhz)

Portanto os pinos A3, A4, A5 e 11 não estão sendo utilizados (sobraram).

  • Pinagem do receptor (pinos do ATMEGA328, Arduino):
Arduino Função
0 RX (comunicação/programação)
1 TX (comunicação/programação)
3 Saída 8 (conector)
4 RX rádio (HC-12 433Mhz)
5 Saída 7 (conector)
6 Saída 6 (conector)
7 TX rádio (HC-12 433Mhz)
8 Saída 1 (conector)
9 Saída 5 (conector)
10 Saída 2 (conector)
11 Saída 3 (conector)
12 Saída 4 (conector)

Portanto os pinos A0-A5, 2 e 13 não estão sendo utilizados (sobraram).

 

– Lista de materiais (BOM, Bill of materials):

  • Emissor (controle remoto):
Part Value Device Description
C1 22p C-US025-025X050 CAPACITOR
C2 22p C-US025-025X050 CAPACITOR
C3 100n C-US025-025X050 CAPACITOR
C4 100n C-US025-025X050 CAPACITOR
C5 100n C-US025-025X050 CAPACITOR
C6 100n C-US025-025X050 CAPACITOR
C7 100n C-US025-025X050 CAPACITOR
C8 100n C-US025-025X050 CAPACITOR
C9 100n C-US025-025X050 CAPACITOR
IC1 ATMEGA328-20P ATMEGA168-20P MICROCONTROLLER
ICSP1 AVRISP-6 AVRISP-6 AVR ISP HEADER
JOYSTICK PINHD-1X5 PIN HEADER
LED1 LED5MM LED
LED2 LED5MM LED
Q1 CRYSTALHC49S CRYSTAL
R1 1k R-US_0207/12 RESISTOR
R2 1k R-US_0207/12 RESISTOR
R3 1k R-US_0207/12 RESISTOR
R5 1k R-US_0207/12 RESISTOR
R6 1k R-US_0207/12 RESISTOR
R7 1k R-US_0207/12 RESISTOR
R8 1k R-US_0207/12 RESISTOR
R9 1k R-US_0207/12 RESISTOR
R10 1k R-US_0207/12 RESISTOR
R11 1k R-US_0207/12 RESISTOR
R12 1k R-US_0207/12 RESISTOR
RADIO PINHD-1X5 PIN HEADER
S1 10-XX OMRON SWITCH
S2 10-XX OMRON SWITCH
S3 40-XX-ROUND OMRON SWITCH
S4 40-XX-ROUND OMRON SWITCH
S5 40-XX-ROUND OMRON SWITCH
S6 40-XX-ROUND OMRON SWITCH
USB5V PINHD-1X5 PIN HEADER
X1 W237-103 WAGO SCREW CLAMP
  • Receptor (controle de motores):
Part Value Device Description
C1 22p C-US025-025X050 CAPACITOR
C2 22p C-US025-025X050 CAPACITOR
C3 100n C-US025-025X050 CAPACITOR
CONN1 CONN1 PINHD-2X4 PIN HEADER
CONN2 CONN2 PINHD-2X4 PIN HEADER
CONN3 CONN3 PINHD-2X4 PIN HEADER
IC1 ATMEGA168-20P ATMEGA168-20P MICROCONTROLLER
IC2 7805TV 7805TV Positive VOLTAGE REGULATOR
ICSP1 AVRISP-6 AVRISP-6 AVR ISP HEADER
JP1 PINHD-1X2 PIN HEADER
LED1 LED1 LED5MM LED
Q1 CRYSTALHC49S CRYSTAL
R1 1k R-US_0207/12 RESISTOR
R2 1k R-US_0207/12 RESISTOR
R11 1k R-US_0207/12 RESISTOR
R12 1k R-US_0207/12 RESISTOR
RADIO PINHD-1X5 PIN HEADER
USB5V PINHD-1X5 PIN HEADER
X1 W237-102 WAGO SCREW CLAMP

Como programar o emissor (controle remoto) e o receptor: ambas as placas podem ser programadas via ICSP, para o caso de não se utilizar bootloader do Arduino UNO; porém eu decidi utilizar o form-factor do conector ICSP para programação serial do Arduino (ATMEGA328 já com bootloader). Isto significa que o conector 6 pinos (2×3) – normalmente utilizado para ICSP no Arduino – na minha placa será utilizado para programação e comunicação serial.

porta de programação do controle remotoPorta de programação do controle remoto (emissor)

porta de programaçao do receptorPorta de programação do receptor (controlador de motor)

   Qualquer conversor USB-serial pode ser utilizado para este fim, desde que possua o pino DTR (data terminal Ready). A maioria dos módulos-conversores comprados na China (ex: FT232, CH340, PL2303) possuem este pino; também é necessário que este conversor seja reconhecido na USB do seu computador.

Conversor USB-serial

   Os sketchs (programas) tanto do emissor como do receptor podem ser elaborados em qualquer ferramenta que compile código para o Arduino UNO. Eu utilizei como base a IDE oficial do Arduino 1.8.5 em Linux (Lubuntu).

 

MAPEAMENTOS DOS PINOS I/O (ENTRADA/SAÍDA)

   O controle remoto e o receptor são baseados em Arduino, mais especificamente em Arduino UNO; os pinos de I/O (entradas e saídas) foram mapeados para serem utilizados conforme tabelas á seguir.

  • Controle remoto (emissor):

  • Receptor (controle de motores):

 – Módulo de rádio (comunicação entre controle e receptor)

Utilizo o módulo transceptor 433MHz modelo HC-12 (datasheet aqui, mais info aqui), tanto no emissor como no receptor.

módulo rádio 433MHz amazonFonte: Amazon

O código que utilizei para testes é visto abaixo (tanto no emissor como no receptor) e foi obtido na página HowToMechatronics.


O que este código faz é escutar o módulo 433 de cada placa (receptor e emissor) e a cada caractere digitado no monitor serial, envia-lo para a outra placa via aérea (e mostrar este caracter também no monitor serial).

COM O TEMPO ESTA PÁGINA VAI SENDO COMPLETADA.