# Kit Arduino Uno # Instalação #### Objetivo: Familiarização com placa Arduino compatível UNO (Fig.1) e exemlo de utilização usando o IDE Arduino. #### Lista de material:
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/usb-cable.jpg) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/arduino-board.jpg) |
(a) | (b) |
Fig.1 - Conjunto de desenvolvimento composto por cabo USB (a) e placa Arduino compatível UNO (b). |
[](https://i.imgur.com/b7Xe2cV.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-ide0.png) |
Fig.2 - [Software IDE Arduino](https://www.arduino.cc/en/software). |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-subtitled2.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-drawing.png) | ||||||||
a | botão de reset | ||||||||
b | conector USB | ||||||||
c | fonte de alimentação | ||||||||
d | conectores de alimentação elétrica | ||||||||
e | entradas analógicas | ||||||||
f | conexões digitais | ||||||||
g | indicador LED de energia | ||||||||
h | indicadores LED de estado de comunicação série RX/TX | ||||||||
i | indicador LED programável | ||||||||
Fig.3 - Elementos principais selecionados de placa Arduino compatível UNO. |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-ide1.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-ide2.png) |
Fig.4 - Exemplo de utilização de gestor de placas do IDE Arduino para instalação de pacote **Arduino AVR Boards**. |
[](https://i.imgur.com/mdLUtEA.png) | [](https://i.imgur.com/cOL8uZU.png) |
(a) | (b) |
[](https://i.imgur.com/gR2ft4p.png) | [](https://i.imgur.com/9bJYHY2.png) |
(c) | (d) |
Fig.5 - Exemplo de utilização do IDE Arduino para configuração da placa de desenvolvimento Arduino compatível UNO. |
```C void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } ``` |
Código.1 - Programa Pisca LED. |
[](https://i.imgur.com/q3yo3F3.png) | [](https://i.imgur.com/Q8s2IVM.png) |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-ide5.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-ide6.png) |
Fig.6 - Ilustração da programação da placa Arduino compatível UNO com o IDE Arduino. |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/uno.gif) | |
Fig.7 - Exemplo de Arduino compatível UNO a executar o programa que controla o LED da placa de desenvolvimento. |
*[](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec)* |
[\[a\]](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps) | [\[b\]](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled) | [\[c\]](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec) |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-overview.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-drawing.png) |
Fig.1 - Placa Arduino compatível UNO. |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/gps-mod.jpg) | [](https://i.imgur.com/R53TQnH.png) |
Fig.2 - Módulo GPS com interface UART/TTL. |
[](https://upload.wikimedia.org/wikipedia/commons/e/e5/GPS24goldenSMALL.gif) | [](https://upload.wikimedia.org/wikipedia/commons/9/91/Hyperbolic_Navigation.svg) | [](https://upload.wikimedia.org/wikipedia/commons/b/b4/Comparison_satellite_navigation_orbits.svg) |
Fig.3 - Apontamentos sobre GPS retirados de \[2\]. |
[](https://i.imgur.com/70uITOr.png) | ||
placa Arduino compatível UNO | módulo GPS com interface UART/TTL | |
3.3V | ---------------------- | V |
GND | ---------------------- | G |
2 | ---------------------- | R |
3 | ---------------------- | T |
Fig.3 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e módulo GPS com interface UART/TTL. |
[](https://i.imgur.com/oHv2Eft.png) | [](https://i.imgur.com/X2LQZxM.png) |
(a) | (b) |
Fig.4 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da Biblioteca *TinyGPSPlus*. |
```C
#include |
Código.1 - Programa exemplo de utilização de módulo GPS e biblioteca *TinyGPSPlus* com placa Arduino compatível UNO. |
[](https://i.imgur.com/9JSllQV.png) | [](https://i.imgur.com/45GQYAe.png) |
Fig.5 - Exemplo de utilização de módulo GPS com placa Arduino compatível UNO programada para processar os dados disponibilizados pelo módulo GPS e exibi-los através de comunicação série. |
*[](https://kb.deec.uc.pt/books/deec/page/instalacao-irK)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec)* |
[\[a\]](https://kb.deec.uc.pt/books/deec/page/instalacao-irK) | [\[b\]](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled) | [\[c\]](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec) |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-overview.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-drawing.png) |
Fig.1 - Placa Arduino compatível UNO. |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/oled.jpg) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/olde-i2c.png) |
Fig.2 - Ecrã OLED (organic light-emitting diode) SSD1306 de 0,96 polegadas com resolução de 128×64. |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/olde-i2c-ex.png) | ||
placa Arduino compatível UNO | ecrã OLED | |
3.3V | ---------------------- | VCC |
GND | ---------------------- | GND |
A4 | ---------------------- | SCA |
A5 | ----------------------- | SDL |
Fig.3 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e o ecrã OLED. |
[](https://i.imgur.com/CZevjQJ.png) | [](https://i.imgur.com/lYBzNfV.png) |
[](https://i.imgur.com/9cxx0A2.png) | [](https://i.imgur.com/MClmUQY.png) |
Fig.4 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da Biblioteca *Adafruit SSD1306*. |
```C
#include |
Código.1 - Programa exemplo de utilização de ecrã OLED com placa Arduino compatível UNO para exibir texto |
[](https://i.imgur.com/dElvfCc.png) | [](https://i.imgur.com/2oEmtMR.png) | [](https://i.imgur.com/Ui1VooD.png) | [](https://i.imgur.com/LDCkZXB.png) |
Fig.5 - Ilustração da sequência de símbolos a surgir no ecrã. |
*[](https://kb.deec.uc.pt/books/deec/page/instalacao-irK)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec)* |
[\[a\]](https://kb.deec.uc.pt/books/deec/page/instalacao-irK) | [\[b\]](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps) | [\[c\]](https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec) |
*[](https://kb.deec.uc.pt/books/deec/page/instalacao-irK)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled)* |
[\[a\]](https://kb.deec.uc.pt/books/deec/page/instalacao-irK) | [\[b\]](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps) | [\[c\]](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled) |
*[](https://kb.deec.uc.pt/books/deec/page/instalacao-irK)* | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/tracker2.jpg) |
*[](https://i.imgur.com/gxq9zCf.png)* | *[](https://i.imgur.com/ZcZapjK.png)* | *[](https://i.imgur.com/f9H7Yyg.png)* |
*[](https://i.imgur.com/luAWx2A.png)* | |||
Arduino compatível UNO | módulo GPS | ecrã OLED | |
3.3V | ------------ | VCC | |
------------ | V | ||
GND | ------------ | GND | |
------------ | G | ||
2 | ------------ | R | |
3 | ------------ | T | |
A4 | ------------ | SDA | |
A5 | ------------ | SDL |
*[](https://kb.deec.uc.pt/books/deec/page/instalacao-irK)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps)* | *[](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled)* |
[\[a\]](https://kb.deec.uc.pt/books/deec/page/instalacao-irK) | [\[b\]](https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps) | [\[c\]](https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled) |
[](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-overview.png) | [](https://kb.deec.uc.pt/uploads/images/gallery/2024-04/board-drawing.png) |
Fig.1 - Placa Arduino compatível UNO. |
[](https://i.imgur.com/mxrQ0wq.png) | [](https://i.imgur.com/oR8cmlO.png) |
Fig.2 - Sensor MPU-6050. |
[](https://upload.wikimedia.org/wikipedia/commons/8/8e/Apollo_Command_Module_primary_guidance_system_locations.png) | [](https://upload.wikimedia.org/wikipedia/commons/1/1e/Apollo_Inertial_Measurement_Unit.png) | [](https://upload.wikimedia.org/wikipedia/commons/3/35/Apollo_IMU_at_Draper_Hack_the_Moon_exhibit.agr.jpg) |
Fig.3 - Ilustrações dos principais componentes do sistema de orientação do módulo de comando e serviço Apollo, um dos componentes usado para o programa Apollo, que pousou astronautas na Lua entre 1969 e 1972. |
[](https://i.imgur.com/AtHzynb.png) | ||
placa Arduino compatível UNO | sensor MPU-6050 | |
3.3V | ---------------------- | VCC |
GND | ---------------------- | GND |
A5 | ---------------------- | SCL |
A4 | ---------------------- | SDA |
Fig.4 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e sensor MPU-6050. |
*[](https://i.imgur.com/LFBQpBy.png)* | *[](https://i.imgur.com/QrHgT1y.png)* | *[](https://i.imgur.com/qoDdwQl.png)* |
Fig.5 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da biblioteca *Adafruit MPU6050*. |
```C // Demonstração de utilização de sensor Adafruit MPU6050 #include "Adafruit_MPU6050.h" #include "Adafruit_Sensor.h" #include "Wire.h" Adafruit_MPU6050 mpu; void setup(void) { Serial.begin(115200); while (!Serial) delay(10); Serial.println("a testar sensor MPU6050!"); // Try to initialize! if (!mpu.begin()) { Serial.println("Falhou inicialização de MPU6050"); while (1) { delay(10); } } Serial.println("MPU6050 inicializado!"); mpu.setAccelerometerRange(MPU6050_RANGE_8_G); Serial.print("Gamara de valores selecionada para acelerómetro: "); switch (mpu.getAccelerometerRange()) { case MPU6050_RANGE_2_G: Serial.println("+-2G"); break; case MPU6050_RANGE_4_G: Serial.println("+-4G"); break; case MPU6050_RANGE_8_G: Serial.println("+-8G"); break; case MPU6050_RANGE_16_G: Serial.println("+-16G"); break; } mpu.setGyroRange(MPU6050_RANGE_2000_DEG); Serial.print("Gamara de valores selecionada para giroscópio: "); switch (mpu.getGyroRange()) { case MPU6050_RANGE_250_DEG: Serial.println("+- 250 deg/s"); break; case MPU6050_RANGE_500_DEG: Serial.println("+- 500 deg/s"); break; case MPU6050_RANGE_1000_DEG: Serial.println("+- 1000 deg/s"); break; case MPU6050_RANGE_2000_DEG: Serial.println("+- 2000 deg/s"); break; } mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); Serial.print("Filtro a considerar: "); switch (mpu.getFilterBandwidth()) { case MPU6050_BAND_260_HZ: Serial.println("260 Hz"); break; case MPU6050_BAND_184_HZ: Serial.println("184 Hz"); break; case MPU6050_BAND_94_HZ: Serial.println("94 Hz"); break; case MPU6050_BAND_44_HZ: Serial.println("44 Hz"); break; case MPU6050_BAND_21_HZ: Serial.println("21 Hz"); break; case MPU6050_BAND_10_HZ: Serial.println("10 Hz"); break; case MPU6050_BAND_5_HZ: Serial.println("5 Hz"); break; } Serial.println(""); delay(100); } void loop() { /* leitura dos valores reportados */ sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); /* impressão das leituras */ Serial.print("Aceleração X: "); Serial.print(a.acceleration.x); Serial.print(", Y: "); Serial.print(a.acceleration.y); Serial.print(", Z: "); Serial.print(a.acceleration.z); Serial.println(" m/s^2"); Serial.print("Rotação X: "); Serial.print(g.gyro.x); Serial.print(", Y: "); Serial.print(g.gyro.y); Serial.print(", Z: "); Serial.print(g.gyro.z); Serial.println(" rad/s"); Serial.print("Temperatura: "); Serial.print(temp.temperature); Serial.println(" ºC"); Serial.println(""); delay(500); } ``` |
Código.1 - Programa exemplo de utilização de sensor MPU-6050 e biblioteca *Adafruit MPU6050* com placa Arduino compatível UNO. |