fbpixel
Visão geral do microcontrolador Arduino Due

Visão geral do microcontrolador Arduino Due

O Arduino Due é a primeira placa Arduino baseada num microcontrolador ARM de 32 bits. Por conseguinte, é mais potente do que o Arduino Mega. Tem uma elevada capacidade de computação e de memória e um grande número de entradas.

Características do microcontrolador

O microcontrolador Arduino Due utiliza o microprocessador Atmel SAM3X8E ARM Cortex-M3. Este processador funciona a uma frequência de relógio de 84 MHz e tem 96 kB de RAM, nc kB de EEPROM e 512 kB de memória Flash (para programação e armazenamento de dados).

  • CPU Atmel SAM3X8E ARM Cortex-M3
  • Voltage : 3.3V
  • Flash : 512 kB
  • RAM : 96 kB
  • EEPROM : nc kB
  • Clock speed : 84MHz
  • WiFi : No
  • Bluetooth : No
  • SD : No

Alimentação eléctrica

O microcontrolador Arduino Due funciona numa gama de tensões de 7-12V graças ao seu regulador de tensão integrado, enquanto o microprocessador funciona com uma tensão de 3,3V. Em funcionamento normal, o microcontrolador consome até 70mA (se não houver alimentação) e pode aceitar uma corrente máxima de 3-15mA em cada um dos seus pinos IO.

Atenção: A aplicação de uma tensão superior a 3,3V pode danificar o microcontrolador. Também notará que a corrente permitida em cada pino é muito baixa. Verificar as características e a compatibilidade dos módulos utilizados.

Pinagem

  • Analog I/O : 12 (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
  • Digital I/O : 54 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
  • Broches PWM : 14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
  • Comunicação de série: 4 ((0, 1), (19, 18), (17, 16), (15, 14))
  • Software de comunicaçãoSerial: 12 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
  • Comunicação I2C: 1 ((20, 21))
  • Comunicação SPI: 1 ((10, 110, 108, 109))
  • Interrupção: 54 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)

Resumo das características

Microcontrôleur
Nom: ArduinoDUE
Marque: Arduino
Caractéristiques
CPU: Atmel SAM3X8E ARM Cortex-M3
Tension d’alimentation : 7-12V
Tension logique: 3.3V
E/S digitales: 54
Entrées analogiques: 12
Flash: 512kB
SRAM: 96kB
EEPROM: nckB
Fréquence d’horloge: 84 MHz
Wifi: No
Bluetooth: No
SD card: No
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/No

Livraria específica

Fontes

Visão geral do microcontrolador Arduino MEGA

Visão geral do microcontrolador Arduino MEGA

A placa Arduino Mega 2560 é uma versão melhorada do Arduino UNO. Tem uma grande capacidade de memória e um grande número de entradas.

Características do microcontrolador

O microcontrolador Arduino MEGA utiliza o microprocessador ATmega2560, que funciona a uma frequência de relógio de 16 MHz e possui 8 kB de RAM, 4 kB de EEPROM e 256 kB de memória Flash (para programação e armazenamento de dados).

  • CPU ATmega2560
  • Voltage : 5V
  • Flash : 256 kB
  • RAM : 8 kB
  • EEPROM : 4 kB
  • Clock speed : 16MHz
  • WiFi : No
  • Bluetooth : No
  • SD : No

Alimentação eléctrica

O microcontrolador Arduino MEGA funciona numa gama de tensões de 7-12V graças ao seu regulador de tensão integrado, enquanto o microprocessador funciona com uma tensão de 5V. Em funcionamento normal, o microcontrolador consome até 45mA (se não houver alimentação) e pode aceitar uma corrente máxima de 40mA em cada um dos seus pinos IO.

Pinagem

  • Analog I/O : 16 (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
  • Digital I/O : 38 (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53)
  • Broches PWM : 17 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 44, 45, 46)
  • Comunicação Série: 10 (10, 11, 12, 13, 14, 15, 50, 51, 52, 53)
  • Comunicação I2C: 1 ((20, 21))
  • Comunicação SPI: 1 ((53, 52, 50, 51))
  • Interrupção: 1 (2)

Resumo das características

Microcontrôleur
Nom: ArduinoMEGA
Marque: Arduino
Caractéristiques
CPU: ATmega2560
Tension d’alimentation : 7-12V
Tension logic: 5V
E/S digitales: 54
Entrées analogiques: 16
Flash: 256kB
SRAM: 8kB
EEPROM: 4kB
Fréquence d’horloge: 16 MHz
Wifi: No
Bluetooth: No
SD card: No
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/No

Como começar

Visão geral do microcontrolador Arduino MINI

Visão geral do microcontrolador Arduino MINI

A placa Arduino MINI foi concebida para projectos em que o espaço ocupado é crítico e a configuração é fixa.

Características do microcontrolador

O microcontrolador Arduino MINI utiliza o microprocessador ATmega328P. Este processador funciona a uma frequência de relógio de 8(3.3V ver) 16(5V ver) MHz e tem 2 kB de RAM, 1 kB de EEPROM e 32 kB de memória Flash (para programação e armazenamento de dados).

  • CPU ATmega328P
  • Voltage : 5V
  • Flash : 32 kB
  • RAM : 2 kB
  • EEPROM : 1 kB
  • Clock speed : 8(3.3V ver) 16(5V ver)MHz
  • WiFi : No
  • Bluetooth : No
  • SD : No

Alimentação eléctrica

O microcontrolador Arduino MINI funciona numa gama de tensões de 3,35-12V (3,3V ver) ou 5-12V (5V ver) graças ao seu regulador de tensão integrado. O microprocessador, por sua vez, funciona com uma tensão de 3,3 ou 5V. Em funcionamento normal, o microcontrolador consome até 45mA (se não houver alimentação) e pode aceitar uma corrente máxima de 40mA em cada um dos seus pinos IO.

Pinagem

  • Analog I/O : 6 (A0, A1, A2, A3, A4, A5)
  • Digital I/O : 8 (0, 1, 2, 4, 7, 8, 12, 13)
  • Pinos PWM: 6 (3, 5, 6, 9, 10, 11)
  • Comunicação Série: 14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
  • Comunicação I2C: 1 ((‘A4’, ‘A5’))
  • Comunicação SPI: 1 ((10, 13, 12, 11))
  • Interrupção: 1 (2)

Código básico e identificação de pinos

Para utilizar os pinos de entrada/saída no código, basta utilizar as etiquetas presentes na placa, ou seja, A0-A5 e 0-13. Os pinos A0, A1, A2, A3, A4 e A5 podem também ser substituídos por 14, 15, 16, 17, 18 e 19, respetivamente. Para sua informação, os pinos analógicos também podem ser utilizados como entradas/saídas digitais.

const int analogPin=A0; // broches A0-A5 ou 14-19
const int digitalInPin=2; // broches 0-13 et 14-19
const int digitalOutPin=4; // broches 0-13 et 14-19
const int pwmPin=3; // broches 3 5 6 9 10 11

int analogVal=0;
int digitalState=LOW; //LOW or false or 0
int pwmVal=250;

void setup() {
  Serial.begin(9600); //broches 0(Rx) et 1(Tx)
  
  pinMode(analogPin,INPUT_PULLUP); // broches 0-13 et 14-19, Argument OUTPUT, INPUT, INPUT_PULLUP
  pinMode(digitalInPin,INPUT);
  pinMode(digitalOutPin,OUTPUT);
  pinMode(pwmPin,OUTPUT);
}

void loop() {
 analogVal=analogRead(analogPin); // broches A0-A5 ou 14-19, return int
 digitalState=digitalRead(digitalInPin); // broches 0-13 et 14-19, return boolean
 digitalWrite(digitalOutPin,HIGH); //broches 0-13 et 14-19, valeur LOW(0) ou HIGH(1)
 analogWrite(pwmPin,pwmVal);// broches 3 5 6 9 10 11, valeur 0-255
}

Resumo das características

Microcontrôleur
Nom: ArduinoMINI
Marque: Arduino
Caractéristiques
CPU: ATmega328P
Tension d’alimentation : 3.35-12V (3.3V ver) or 5-12V(5V ver)
Tension logic: 3.3V ou 5V
E/S digitales: 14
Entrées analogiques: 6
Flash: 32kB
SRAM: 2kB
EEPROM: 1kB
Fréquence d’horloge: 8(3.3V ver) 16(5V ver) MHz
Wifi: No
Bluetooth: No
SD card: No
Touch: No
UART/SPI/I2C/I2S: Yes/Yes/Yes/No

Como começar

Visão geral do microcontrolador Arduino NANO

Visão geral do microcontrolador Arduino NANO

A placa Arduino NANO é uma versão mais pequena do Arduino UNO com funcionalidades semelhantes. Ideal para prototipagem rápida e construção de projectos incorporados.

Características do microcontrolador

O microcontrolador Arduino NANO utiliza o microprocessador ATmega328. Este processador funciona a uma frequência de relógio de 16 MHz e tem 2 kB de RAM, 1 kB de EEPROM e 32 kB de memória Flash (para programação e armazenamento de dados).

  • CPU ATmega328
  • Voltage : 5V
  • Flash : 32 kB
  • RAM : 2 kB
  • EEPROM : 1 kB
  • Clock speed : 16MHz
  • WiFi : No
  • Bluetooth : No
  • SD : No

Alimentação eléctrica

O microcontrolador Arduino NANO funciona numa gama de tensões de 7-12V graças ao seu regulador de tensão integrado. O microprocessador, por sua vez, funciona com uma tensão de 5V. Em funcionamento normal, o microcontrolador consome até 19mA (se não houver alimentação) e pode aceitar uma corrente máxima de 40mA em cada um dos seus pinos IO.

Pinagem

  • Analog I/O : 8 (A0, A1, A2, A3, A4, A5, A6, A7)
  • Digital I/O : 8 (0, 1, 2, 4, 7, 8, 12, 13)
  • Pinos PWM: 6 (3, 5, 6, 9, 10, 11)
  • Comunicação Série: 14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
  • Comunicação I2C: 1 ((‘A4’, ‘A5’))
  • Comunicação SPI: 1 ((10, 13, 12, 11))
  • Interrupção: 1 (2)

Código básico e identificação de pinos

Para utilizar os pinos de entrada/saída no código, basta utilizar as etiquetas presentes na placa, ou seja, A0-A7 e 0-13. Os pinos A0, A1, A2, A3, A4 e A5 podem também ser substituídos por 14, 15, 16, 17, 18 e 19, respetivamente. Para sua informação, os pinos analógicos também podem ser utilizados como entradas/saídas digitais.

const int analogPin=A0; // broches A0-A7
const int digitalInPin=2; // broches 0-13 et 14-19
const int digitalOutPin=4; // broches 0-13 et 14-19
const int pwmPin=3; // broches 3 5 6 9 10 11

int analogVal=0;
int digitalState=LOW;
int pwmVal=250;

void setup() {
  Serial.begin(9600); //broches 0(Rx) et 1(Tx)
  
  pinMode(analogPin,INPUT_PULLUP); // broches 0-13 et A0-A7, Argument OUTPUT, INPUT, INPUT_PULLUP
  pinMode(digitalInPin,INPUT);
  pinMode(digitalOutPin,OUTPUT);
  pinMode(pwmPin,OUTPUT);
}

void loop() {
 analogVal=analogRead(analogPin); // broches A0-A7, return int
 digitalState=digitalRead(digitalInPin); // broches 0-13 et 14-19, return boolean
 digitalWrite(digitalOutPin,HIGH); //broches 0-13 et 14-19, valeur LOW(0) ou HIGH(1)
 analogWrite(pwmPin,pwmVal);// broches 3 5 6 9 10 11, valeur 0-255
}

Resumo das características

Microcontrôleur 
Nom:Arduino NANO
Marque:Arduino
Caractéristiques 
CPU:ATmega328
Tension d’alimentation :7-12V
Tension logic:5V
E/S digitales:14
Entrées analogiques:8
Flash:32kB
SRAM:2kB
EEPROM:1kB
Fréquence d’horloge:16 MHz
Wifi:No
Bluetooth:No
SD card:No
Touch:No
UART/SPI/I2C/I2S:Yes/Yes/Yes/No

Como começar

Multitarefa com o Arduino

Multitarefa com o Arduino

A multitarefa é a capacidade de um microcontrolador de executar várias tarefas ou processos no mesmo período de tempo. Na prática, um Arduino não pode executar tarefas em paralelo, mas pode organizar e executar uma série de tarefas umas a seguir às outras num espaço de tempo muito curto. Isto dá a ilusão de multitarefa. Neste artigo, veremos alguns exemplos de multitarefa.

Se o seu projeto exigir a execução de tarefas em paralelo (multithreading), terá de procurar outros microcontroladores ou microcomputadores.

Utilização de interrupções

Descrição

As interrupções permitem que o microcontrolador execute uma função quando ocorre um evento num dos pinos de interrupção. Em vez de ler constantemente o valor de um sensor, o programa só será acionado quando o valor do sensor mudar. Isto resolve uma série de problemas de disposição de tarefas.

Código

const byte interruptPin = 2;

void setup() {
  pinMode(interruptPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(interruptPin), onEvent, CHANGE);
}

void loop() {
}

void onEvent() {
  Serial.println(F("Action"));
}

Utilizar a função millis()

Descrição

A função millis() devolve uma variável longa sem sinal que representa o número de milissegundos decorridos desde que o microcontrolador foi ligado. Em particular, pode ser utilizada para executar uma ação quando um intervalo de tempo tiver decorrido sem bloquear o resto do programa.

Código

unsigned long currentTime=0;
unsigned long previousTime=0;
bool ledState=LOW;

void setup() {
  Serial.begin(9600);
}

void loop() {
  currentTime=millis();
  if((currentTime-previousTime)>200){
    previousTime=currentTime;
    Serial.println(F("Action "));
  }
}

Utilizar os temporizadores incorporados no microprocessador

Os temporizadores são registos do microcontrolador que são incrementados quando é recebido um impulso de relógio.

Utilização de bibliotecas de temporizadores

Existem muitas bibliotecas de gestão de tempo no Arduino. Regra geral, fazem interface com os registos de temporização do Arduino. Para citar as mais conhecidas: TimerOne.h MsTimer2.h, TimerThree.h

Utilização de bibliotecas de gestão de tarefas

Estas bibliotecas permitem que as tarefas sejam executadas de forma ordenada, dando a impressão de multithreading.

Os exemplos incluem TaskManager, ProcessScheduler, ArduinoThread ou encore FreeRTOS. Pode encontrar estas bibliotecas na lista de referências do Arduino.

Multitarefa com a placa Arduino Due

Para placas baseadas na arquitetura SAM, como o Arduino DUE, existe uma biblioteca que permite gerir várias tarefas em diferentes funções loop(). Isto também funciona para as placas Zero, MKRZero e MKR1000.

Microcontrolador multi-core: ESP32

O microcontrolador NodeMCU ESP32 tem um microprocessador dual-core e utiliza o sistema operativo FreeRTOS, o que lhe permite executar tarefas em paralelo.

Multithreading com o Raspberry Pi

O Raspberry Pi é um microcomputador, pelo que pode executar várias tarefas ao mesmo tempo. Além disso, o seu microprocessador tem quatro núcleos, pelo que pode ser multitarefa. É possível, por exemplo, executar vários scripts Python ou programas C++ (ou outros) ao mesmo tempo. Também pode utilizar bibliotecas multithreading num script Python.