28 dezembro 2024

Programando o Arduino | Aula 02 - Uno R3

Uno R3

Depois da conhecermos os conceitos iniciais sobre o mundo Arduino (o que é, tipos de placas e IDE) na aula 01, agora vamos detalhar a placa que inicialmente iremos utilizar nas nossas aplicações: a clássica Arduino Uno R3!!!
Uno R3
Fonte: https://docs.arduino.cc/retired/boards/arduino-uno-rev3-with-long-pins/

Descrição

A placa Arduino Uno R3 foi lançada em 2010, sendo baseada no microcontrolador Atmel ATmega328P. O nome da placa, Uno, significa um em italiano, sendo escolhido para marcar o lançamento da Arduino IDE 1.0 e a primeira série de placas Arduino.

Por ser um projeto de código aberto, qualquer pessoa pode construir sua placa própria utilizando o diagrama esquemático da placa Uno, disponibilizada no site da plataforma Arduino.

Especificações técnicas

A tabela abaixo apresenta as principais especificações técnicas da placa Arduino Uno R3.

MicrocontroladorATmega328P
Tensão de operação5V
Tensão de entrada (recomendada)7-12V
Tensão de entrada (limite)6-20V
Pinos de E/S digitais14 (sendo 6 saídas PWM)
Pinos de E/S digitais PWM6
Pinos de entradas analógicas6
Corrente DC Current por pino E/S20 mA
Corrente DC por pino 3.3V50 mA
Memória Flash32 KB (ATmega328P) sendo 0.5 KB para o bootloader
SRAM2 KB (ATmega328P)
EEPROM1 KB (ATmega328P)
Clock16 MHz
LED_BUILTINPino 13
Comprimento68.6 mm
Largura53.4 mm
Peso25 g

Pinagem

A placa Arduino Uno R3 disponibiliza 32 pinos de acesso com barra de pinos do tipo fêmea, 12 pinos de acesso com barra de pinos do tipo macho, um conector jack P4 para alimentação e uma porta USB tipo B usada para comunicação serial.
Pinagem da placa Uno R3
Fonte: montado a partir de https://content.arduino.cc/assets/Pinout-UNOrev3_latest.pdf

Alimentação

A placa Arduino Uno R3 pode ser alimentada pela porta USB, por uma fonte de tensão externa conectada ao conector jack P4 ou aos pinos Vin e GND.

Alimentação da placa UNO R3

PinosFunção
Vinpino de alimentação externa (6 a 12V). Quando alimentada a partir do conector jack P4, é disponível direto nesse pino
5Vfornece tensão regulada de 5V (não deve ser usada como entrada de alimentação)
3V3fornece tensão regulada de 3,3V (não deve ser usada como entrada de alimentação)
GNDpinos de referência (terra)
IOREFfornece tensão de referência para que shields (módulos externos) selecionem sua tensão de operação (3,3 ou 5Vdc)

Pinos de entrada e saída (E/S)

Os 14 pinos de E/S digital (pinos 0 a 13) operam com 5V-20mA, devendo ser previamente configurados como sendo de entrada ou de saída usando a função pinMode().

Pinos de E/S digital da placa UNO R3

Já os pinos das entrada analógicas (A0 a A5) possuem resolução de 10 bits, permitindo 1024 valores diferentes. 

Pinos de entradas analógicas da placa UNO R3

Na tabela abaixo são apresentadas outras funcionalidades específicas dos pinos de E/S.

TipoPinosFunção
Digital
0Comunicação serial - RX
1Comunicação serial - TX
2, 3Interrupção externa
3, 5, 6, 9, 10, 11Saída PWM com 8 bits de resolução
10Comunicação SPI - SS (Slave Select)
11Comunicação SPI - MOSI (Master Output Slave Input)
12Comunicação SPI - MISO (Master Input Slave Output)
13Comunicação SPI - SCK (Serial Clock)
13Led da placa
Analógico
A0, A1, A2, A3, A4 A5Entradas analógicas com 10 bits de resolução
A4Comunicação I2C - SDA (Serial Data)
A5Comunicação I2C - SCL (Serial Clock)

Além dos pinos de alimentação e de E/S, ainda existem mais dois pinos disponíveis na placa 
Arduino Uno R3:

PinosFunção
AREFTensão de referência para as entradas analógicas
RESETPino usado para resetar a placa, quando levada ao valor O (LOW)

Setup

Para as atividades práticas nesse curso introdutório sobre Arduino, iremos utilizar uma placa Uno R3, um protoboard com 400 pontos e uma fonte ajustável para protoboard (3V3 - 5V), montados em uma base de apoio.

Setup Uno R3

Nosso setup para desenvolvimento é apresentado na imagem abaixo, com a placa Uno R3 conectada ao computador via cabo USB.

Setup Uno R3 conectado ao computador






27 dezembro 2024

Programando o Arduino | Aula 01 - Introdução

O que é o Arduino?

O Arduino é uma plataforma eletrônica de código aberto, baseada em hardware e software de uso fácil, contendo os seguintes componentes:

  • Microcontrolador
  • Clock
  • Módulo de comunicação serial
  • Fonte de alimentação
  • Conectores de entrada e saída

O projeto Arduino foi desenvolvido no Instituto de Design de Interação Ivrea (IDII), na Itália, em 2005, e seu nome foi herdado de um bar, em Ivrea. 

A primeira placa comercial a ser disponibilizada foi a Arduino RS232:

Arduino RS232

Fonte: Arduino/Nicholas Zambeti


Hardware - Famílias de placas

Atualmente existem diversas placas, sendo elas classificadas por famílias:

Clássica

As placas da família clássica são consideradas a espinha dorsal do projeto Arduino. Destacamos aqui as placas Uno R3 (lançada em 2010), Uno R4 Minima e Uno R4 WiFi (lançadas em 2023).

Placas da família Clássica
Fonte: https://www.arduino.cc/en/hardware

Mega

As placas da família Mega apresentam maior poder de processamento e quantidade de pinos de entrada e saída (GPIO), sendo indicadas para projetos de maior porte. Destacamos aqui a placa Mega 2560 Rev3 (lançada em 2010).

Placas da família Mega
Fonte: https://www.arduino.cc/en/hardware

Nano

As placas da família Nano apresentam tamanho menor quando comparadas com as placas das demais famílias. Por serem compactas, são indicadas para aplicações onde o espaço é limitado. Destacamos aqui a placa Nano (lançada em 2008) e a Nano RP2040 Connect (lançada em 2021).

MKR

As placas da família MKR foram criadas para aplicações IoT, com dimensões menores, como a família Nano, e incluindo a comunicação sem fios (Wifi e bluetooth).

Placas da família MKR
Fonte: https://www.arduino.cc/en/hardware

Software - IDE (Integrated Development Environment)

Para que um placa Arduino possa realizar alguma função é necessário que um programa seja desenvolvido e posteriormente carregado na sua memória. Para isso o projeto Arduino disponibiliza uma IDE (Integrated Development Environment - Ambiente Integrado de Desenvolvimento) de código aberto

De forma simplificada o usuário deve seguir os seguintes passos para deixar uma placa Arduino com algumas funcionalidade:
  1. Editar um código fonte;
  2. Escolher o tipo de placa;
  3. Escolher a porta de comunicação do computador onde a placa está conectada;
  4. Compilar o código fonte;
  5. Transmitir o código binário gerado pela compilador para a placa. 
No entanto, antes de realizar esses passos, é necessário instalar a IDE Arduino no seu computador, de acordo com o seu sistema operacional (Windows, Linux ou macOS)!!!

No momento que escrevo esse post, a versão atual é a Arduino IDE 2.3.4.

Download da Arduino IDE 2.3.4
Fonte: https://www.arduino.cc/en/software

Depois de instalada, para ver seu primeiro exemplo basta inicializar a IDE e clicar em:

 Arquivo|Exemplos|01.Basics|Blink

Arduino IDE 2.3.4
Fonte: @eng&IoT








25 dezembro 2024

Hello World!

Para quem já é iniciado no mundo da programação, independente da área de atuação, essa frase já foi vista e apresentada em uma tela de computador ou display, pelo menos uma vez.

Para os iniciantes, ela representa o começo de uma jornada, sendo válida em qualquer atividade que vai ser iniciada. No jargão do futebol, é o chute inicial.

Segundo a Wikipedia, o Hello World! ou Olá Mundo! teve sua apresentação na Linguagem B (predecessora das Linguagens C e C++, que veremos muito nesse blog), lá pelo fim da década de 1960, início da década de 1970.

Assim, o blog eng&IoT, com este post inicial, dá início a suas atividades!!!

Display LCD - Hello World