Início›Introdução
⬤ Leitura obrigatória · Início aqui

🔍 Introdução à Placa PR.FT9_5

⏱️ 20 min📚 Dois subsistemas · I2C · L293D · Bibliotecas

Nesta página

🖥️ Visão Geral da Placa

A placa PR.FT9_5 é um shield que encaixa diretamente no Arduino UNO Rev3 e integra dois subsistemas independentes: um display LCD 20×4 via I2C para output visual e um controlador L293D para motores DC, servos e motores de passo.

Display
LCD 20×4
20 cols × 4 linhas · azul negativo
Interface
I2C
SDA=A4 · SCL=A5 · end. 0x27
Motor Driver
L293D
H-bridge dual — 2 canais DC
Corrente máx.
600 mA
Por canal do L293D
Servos
2
Pinos D9 e D10 — PWM 50 Hz
Stepper
✓
AF_Stepper — unipolar/bipolar
Bibliotecas
2
LiquidCrystal_I2C + AFMotor
Plataforma
Arduino UNO
Rev3 · encaixe direto

🖥️ Subsistema LCD 20×4

📺

20×4 Caracteres

20 colunas e 4 linhas de texto — espaço para dashboards ricos, menus e telemetria. Cada caractere tem matriz 5×8 px.

lcd.print() · lcd.setCursor()
🔵

Azul Negativo

Fundo azul com retroiluminação branca — alta legibilidade. Brilho ajustável pelo potenciómetro onboard.

lcd.backlight() · noBacklight()
🔗

Interface I2C

Apenas 2 fios de dados (SDA/SCL) — liberta os pinos digitais. Resistências pull-up incluídas no módulo I2C.

A4(SDA) · A5(SCL)
✏️

Chars Custom

Até 8 caracteres 5×8 na CGRAM. Criar ícones de grau °, seta, termómetro, barra de progresso.

lcd.createChar() · CGRAM
ℹ️
O endereço I2C padrão é 0x27. Se o LCD não inicializar, alguns módulos usam 0x3F. Corre Ficheiro → Exemplos → Wire → i2c_scanner para descobrir.

⚙️ Subsistema Motor Driver L293D

🔄

2 Motores DC

Controlo independente de direção (FORWARD/BACKWARD/RELEASE) e velocidade (0–255 PWM). Base de chassis diferencial.

AF_DCMotor · setSpeed()
🦾

2 Servos

Pinos D9 e D10 geram PWM 50 Hz. Compatível com SG90, MG90S e servos de torque médio.

D9 · D10 · Servo.write()
🔩

Motor de Passo

AFMotor suporta unipolar e bipolar. Modos SINGLE, DOUBLE, INTERLEAVE, MICROSTEP. Posicionamento preciso.

AF_Stepper · step()
🛡️

Proteção Flyback

Díodos de roda livre integrados no L293D protegem contra picos indutivos ao desligar os motores.

Proteção automática
⚠️
Limite de corrente: 600 mA por canal. Se o Arduino reiniciar ao arrancar o motor, usa alimentação externa no terminal VM da placa.

🔌 Pinagem Completa

Subsistema LCD (I2C):

A4 (SDA)Dados I2C → LCD · endereço padrão 0x27
A5 (SCL)Relógio I2C → LCD
5V / GNDAlimentação LCD (~30 mA com retroiluminação

Subsistema Motor Driver (L293D):

D3 (PWM)Velocidade Motor 1 — analogWrite(3, 0–255)
D4Direção Motor 1 — IN1
D8Direção Motor 1 — IN2
D11 (PWM)Velocidade Motor 2 — analogWrite(11, 0–255)
D7Direção Motor 2 — IN3
D2Direção Motor 2 — IN4
D9 (PWM)Servo 1 — sinal PWM 50 Hz
D10 (PWM)Servo 2 — sinal PWM 50 Hz

📦 Instalar as Bibliotecas

1

Abrir o Gestor de Bibliotecas

Ferramentas → Gerir Bibliotecas no Arduino IDE 2 (ou ícone de livro na barra lateral).

2

Instalar LiquidCrystal_I2C

Pesquisa LiquidCrystal I2C → instala LiquidCrystal_I2C de Frank de Brabander. Versão mais recente.

3

Instalar AFMotor

Pesquisa AFMotor → instala Adafruit Motor Shield library v1. A v1 é compatível com o chip L293D desta placa.

4

Verificar

Em Ficheiro → Exemplos devem aparecer LiquidCrystal_I2C e AFMotor. Se sim, estás pronto.

💻 Primeiro Sketch de Teste

intro_teste.ino
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <AFMotor.h>

LiquidCrystal_I2C lcd(0x27, 20, 4);  // addr, cols, linhas
AF_DCMotor motor(1);                    // canal M1

void setup() {
  lcd.init();       // inicializar controlador I2C
  lcd.backlight(); // ligar retroiluminação
  lcd.setCursor(0, 0); lcd.print("PR.FT9_5 LCD OK!");
  lcd.setCursor(0, 1); lcd.print("Motor: FORWARD");
  lcd.setCursor(0, 2); lcd.print("Speed: 150/255");
  lcd.setCursor(0, 3); lcd.print("Biblioteca: AFMotor");

  motor.setSpeed(150);
  motor.run(FORWARD);  delay(2000);
  motor.run(RELEASE);
  lcd.setCursor(0, 1); lcd.print("Motor: PARADO  ");
}
void loop() {{}}
💡
Se o LCD mostrar quadrados, ajusta o potenciómetro azul na parte traseira do módulo I2C. Se não aparecer nada, o endereço pode ser 0x3F — altera no construtor.

🏆 Para ir mais longe

PR.FT9_5 · LCD 20×4 · L293D Motor Driver · Arduino UNO Rev3 · Início · led.dge.medu.pt