🔧
Manuais Técnicos
  • Manuais Técnicos
  • Eletrônica
    • Motores DC
      • Princípios do Eletromagnetismo
      • Diferenças na construção de motores DC elétricos
      • Escolha de Motores
      • Modelagem motor brushed
    • PCBs
      • Conceitos Básicos
        • Resistores
        • Capacitores
        • Indutores
        • Diodos
      • Conceitos Avançados
        • Reguladores
        • Comunicações Digitais
        • Simulação de Sinais
        • Tratamento de sinais
        • Filtros de sinal RC
      • Altium
        • Normas
        • Organização no esquemático
          • Net Labels (Rótulos de Rede)
          • Nomeclatura dos componentes
          • Estética e Leitura Rápida
        • Criação da PCB no Altium
          • Espaçamento entre Componentes, Trilhas e Vias
          • Encapsulamento, Gerbers e Footprints
    • Programação
      • 1. Introdução
      • 2. Comentários
      • 3. Identação
      • 4. Variáveis
      • 5. Funções
      • 6. Bibliotecas
      • 7. Pré-Processamento
      • 8. VS Code
      • 9. GitHub
    • Baterias LiPo
      • Conceitos básicos
        • Resistência interna
        • Taxa de descarga
        • Capacidade de carga
        • Tensão nominal
      • Dimensionando e escolhendo uma bateria
        • Sistema de Locomoção
          • Cálculo de torque
          • Dados dos motores
          • Corrente no sistema
          • Consumo total do sistema
          • Conclusões
          • Exemplo
        • Sistema de Arma
          • Obtendo o torque da arma
          • Correntes da arma
          • Conclusões
          • Exemplo
        • Escolha de uma bateria
          • Sistemas em Paralelo
          • Sistemas em Série
          • Escolha da Bateria
      • Utilização do carregador
        • Opção de carga
        • Opção Storage
        • Opção Balance
      • Notas para uma operação segura
      • Práticas para aumentar a vida útil da bateria
      • Como montar uma bateria Li-Po
    • Altium
      • Instalação e Ativação
      • Esquemático
      • Roteamento
    • Controle de PS4
      • Hardware
      • Software
      • Aplicações
      • Conclusão
    • Módulo Bluetooth HC-05
  • Mecânica
    • Solidworks
      • Instalação, Ativação e Interface
      • Esboço 2D
      • Recursos
      • Montagem
      • Desenho
      • Projeto com Ajustes e Tolerâncias
      • Pack & Go
    • Tratamento Térmico
    • Componentes Mecânicos
      • Parafusos
      • Prisioneiros
      • Porcas
      • Arruelas
      • Anel Elástico
      • Chavetas
      • Rolamentos
      • Correias
      • Engrenagens
      • Eixos
      • Molas Prato
    • Ajustes e Tolerâncias
    • Desenho Técnico
    • Motores
    • Dimensionamentos
    • Usinagem
      • Fresamento convencional
      • Torneamento convencional
      • Corte à água e laser
      • Fresamento e CNC
    • Soldagem
      • Soldagem TIG
    • Impressão 3D
    • Ciência dos Materiais
      • Propriedades mecânicas dos materiais
      • Ensaio de Tração
        • Elasticidade
        • Rigidez
        • Dureza
          • Rigidez x Dureza
        • Resiliência
        • Ductilidade
        • Tenacidade
          • Ductilidade x Tenacidade
        • Tensão de escoamento
        • Tensão máxima
          • Fratura
      • Classificação Dos Materiais
        • Aços
        • Alumínio
        • Polímeros
      • Tratamento Térmico
        • Têmpera com Revenimento
        • Recozimento
        • Carbonitretação
      • Conclusão
    • Pedidos de materiais e serviços
      • Pedidos de aço
      • Pedidos de fibra de carbono
  • Gestão
    • Material de Divulgação Processo Seletivo
Powered by GitBook
On this page
  • 8.1. Instalando
  • 8.2. Roll out básico sobre as funcionalidades
  • 8.2.1. Interface
  • 8.2.2. configurações
  • 8.3. Extensões
  • 8.3.1. PlatformIO
  • 8.4. Extensão Copilot
  • 8.5. Temas
  • 8.6. extensões úteis
  1. Eletrônica
  2. Programação

8. VS Code

Previous7. Pré-ProcessamentoNext9. GitHub

Last updated 2 months ago

Um editor universal de código, onde pode-se programar diversas linguagens diferentes. Inteiramente configurável. Capaz de agilizar muito o processo produtivo.

Essa seção apresenta tutoriais e informações sobre o editor, com o intuito de introduzir a utilização do mesmo. Vale ressaltar que as informações aqui apresentadas são relativamente superficiais e não englobam todo o editor. Para um melhor entendimento e aprendizado sobre o mesmo, recomendo fortemente os documentos oficiais de utilização do mesmo, como também pesquisas e principalmente um bom instinto de exploração, pois grande parte das funcionalidades dele serão compreendidas apenas com a prática. link dos documentos oficiais:

8.1. Instalando

Para instalar o VS Code basta acessar o site oficial do mesmo e baixar o instalador. O site é bem intuitivo e o download é bem rápido. Após o download, basta executar o instalador e seguir os passos. O VS Code é um editor de código multiplataforma, portanto, ele está disponível para Windows, Linux e MacOS.

link de instalação:

8.2. Roll out básico sobre as funcionalidades

8.2.1. Interface

A interface do VS Code é bem completa e organizada, com diversas funções e informações. A seguir uma breve descrição de algumas partes da interface.

Barra lateral

Explorer: Mostra o Workspace e as pastas e os arquivos abertos no workspace. Um Outline do código mostra as funções do mesmo. E a Timeline mostra um histórico do código, os salvamentos e os commits (no repositório do github).

  • Search: Ferramenta para localizar e substituir palavras e abrange todos os arquivos abertos.

  • Source Control: Ferramentas para utilizar repositórios do GitHub.

  • Extensions: Instalar e administrar extensões do VS Code.

  • Run And Debug: Pode rodar alguns tipos de código, e fazer debug.

Canto inferior

  • accounts: Login com a conta do GitHub e Sincronização de configurações.

  • Manage: Configurações gerais.

Menus Adicionais

Algumas extensões podem adicionar outros menus na barra lateral. Como por exemplo, o PlatformIO e o Copilot.

Barra superior

Muitas funções do vs Code estão listadas na barra superior, dentro de alguns menus suspensos. Vale ressaltar que muitas destas estão ligadas a algum atalho do teclado. A seguir uma breve descrição desses menus.

  • File: Opções para os arquivos e workspaces. Como, "New File", "Auto save, e várias outras

  • Edit: Opções básicas para editar arquivos. Todas as funções deste menu apresenta atalhos vinculados

  • Selection: Opções para selecionar e modificar textos.

  • View: Opções para modificar a visualização do editor. Como "Toggle Word Wrap" e "Toggle Minimap".

  • Go: Opções para navegar por arquivos e funções, como "Go to Line" e "Go to Symbol".

  • Run: Opções para rodar e testar códigos. Como "Start Debugging" e "Run Without Debugging".

  • Terminal: Opções para usar o terminal do VS Code.

  • Help: Opções para oferecer ajudas e informações sobre VS Code. Como "Welcome" e "Documentation".

Barra inferior

Diversas funções e informações estão localizadas na barra inferior. A seguir uma breve descrição dessas funções.

  • Language Mode: Mostra a linguagem do arquivo aberto e permite a mudança da mesma.

  • Line e Column: Mostra a linha e a coluna do cursor.

  • Encoding: Mostra o tipo de encoding do arquivo.

  • End of Line: Mostra o tipo de quebra de linha do arquivo.

  • Selection: Mostra o tamanho da seleção e permite a mudança da seleção.

  • Indentation: Mostra o tipo de indentação do arquivo.

  • Problems: Mostra os problemas do arquivo, como erros e avisos. Algumas dessas funções podem ser clicadas para mostrar mais informações ou opções. Diversas extensões podem adicionar mais informações e funções a essa barra. Como por exemplo o Copilot ou o PlatformIO (extensões que serão apresentadas ao decorrer deste documento).

Barra de pesquisa

Pode ser usada para pesquisar entre arquivos, palavras e símbolos, como também para rodar comandos. Pode ser utilizado digitando ou pelo menu suspenso

8.2.2. configurações

O VS CODE pode ser configurado de duas formas, por meio do menu, que é mais acessível ou por meio dos arquivos JSON, o que possibilita configurações mais diretas e avançadas.

O Vs code divide as configurações em 3:

  • User: Configuração geral, Default para as demais;

  • Workspace: Configuração do Workspace, útil caso sejam necessárias configurações específicas para o trabalho atual;

  • Folder/project: Configuração referente ao projeto, necessária caso o projeto tenha necessidades específicas.

Configurações úteis:

  • Auto save: Salva os arquivos automaticamente, após um tempo determinado ou após perder o foco da janela ou na mudança de aba.

  • Folding Strategy: útil para organização do código a partir da indentação (Também pode ser modificado na barra inferior)

8.3. Extensões

São aplicativos de terceiros que adicionam novas utilidades ao Vs code. A seguir serão listadas algumas.

8.3.1. PlatformIO

Uma extensão do VS CODE, essencial para programação de microcontroladores. Essa será a extensão base que utilizaremos para programar ESP32, STM e Arduino.

Download

Vá até a seção de extensões e pesquise por: PlatformIO IDE

talvez seja necessário reiniciar o VScode (um botão irá aparecer escrito "reload required")

Importante salientar que após a primeira instalação no PlatformIO no dispositivo ele irá buscar pela pasta com os arquivos do PlatformIO. Caso não exista, ele irá fazer o download, o que pode levar um tempo.

Como utilizar o PlatformIO

O PlatformIO apresenta uma aba de menu com suas funções (que por default vai ser mostrada sempre que se abrir o vs code) e também adiciona um menu lateral com todas as funções do menu. Dentre essas funções há diversas extremamente úteis e algumas bem específicas. Nos tópicos a seguir será listada algumas dessas.

Criando um projeto

Para criar um projeto, basta ir ao menu e selecionar New project.

Escolha um nome para o projeto. Dê preferência a nomes simples e intuitivos, sem espaços nem caracteres especiais(como acentos).

Selecione uma placa. Tenha cuidado com a seleção de placas, se feita de forma incorreta, alguns recursos de sua placa podem não estar disponíveis. Para utilizar todos os recursos do módulo ESP32, selecione: "Espressif ESP32 Dev Module". Para utilizar todos os recursos do módulo Blackpill da STM, selecione: "WeAct Studio BlackPill V2.0 (STM32F411CE)"

Selecione um Framework. Um framework de programação é uma estrutura ou conjunto de bibliotecas de código que os desenvolvedores podem usar para construir aplicações de maneira mais eficiente. É recomendável a utilização do framework do Arduino para novos programadores, por causa de sua simplicidade, sua ampla documentação, comunidade ativa e sua grande quantidade de bibliotecas.

Selecione a localização da pasta do projeto. Recomenda-se não utilizar a localização padrão e sim uma pasta separada com os projetos. Para isso, basta desmarcar a opção "Use default location" e selecionar a pasta na qual será criada a pasta do projeto.

Projeto

Com o projeto criado, dentro da pasta dele terá as seguintes pastas e arquivos:

Sinta-se livre para adicionar pastas e arquivos adicionais ao projeto. Lembre-se de não mover os arquivos padrão do projeto, e colocar os arquivos referentes ao código em suas devidas pastas.

.pio e .vscode

Pastas com configurações do projeto e arquivos necessários para o funcionamento do aplicativo. Normalmente não há necessidade de modificar o conteúdo desta pasta, visto que há menus para configurar o projeto e modificar esses arquivos de forma segura. Caso seja necessário modificar os arquivos, faça-o com cuidado.

include

Pasta reservada para o arquivo header(.h) do código principal. A pasta apresenta um arquivo README com informações muito úteis, portanto, recomenda-se que ele seja lido.

lib

Pasta reservada para as bibliotecas utilizadas no código principal. Para adicionar novas bibliotecas, basta copiar e colar suas pastas dentro desta. Vale ressaltar que o PlatformIO apresenta configurações para incluir outras maneiras de incluir bibliotecas em um projeto, seja utilizando de bibliotecas diretamente do GitHub ou da pasta de bibliotecas do Arduino IDE (caso esteja presente no computador). É fortemente recomendado não utilizar esses recursos, pois adicionar as bibliotecas à pasta lib é um método mais organizado e editável, pois há uma melhor noção de onde essas fontes estão localizadas, permitindo a edição e melhorando a compatibilidade do projeto com outros computadores. A pasta apresenta um arquivo README com informações muito úteis, portanto, recomenda-se que ele seja lido.

src

Pasta reservada para o código fonte, arquivo main.cpp (C++).

test

Pasta reservada para o Simulador do PlatformIO e outros testes de projeto. Ela geralmente não é utilizada, pois os testes práticos são simples e fáceis de serem executados. Esta pasta pode ser apagada para melhor organização. A pasta apresenta um arquivo README com informações muito úteis, portanto, recomenda-se que ele seja lido.

.gitignore

.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch

Arquivo com o nome das pastas e arquivos que não serão incluídos no repositório do github (caso exista)

platformio.ini

; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = Arduino

Arquivo com as configurações do projeto do PlatformIO. Ele ja apresenta algumas configurações padrão, mas caso necessário pode-se adicionar algumas manualmente, como a porta de comunicação serial ou a velocidade do monitor serial.

ESP32

O arquivo default .ini para o ESP32 já funciona corretamente, mas algumas configurações podem ser feitas. Algumas das configurações recomendadas sao:

  • monitor_speed : modifica a velocidade da comunicação do monitor serial, também conhecida como Baud Rate.```ini

monitor_speed = 115200
  • upload_port : Seleciona a porta serial utilizada. Opção nao obrigatória, pois o PlatformIO a detecta automaticamente.

upload_port = COM3
  • build_flags = -DCORE_DEBUG_LEVEL= (0 a 5) : mostra as mensagens de debug geradas pelo ESP32.

build_flags = -DCORE_DEBUG_LEVEL=5
  • board_build.partitions : Configuração avançada para modificar as partições de memória do ESP32 por meio de uma planilha .csv

board_build.partitions = ESP_Partition.csv

platformio.ini da Afrodite do Sumo 3K (15/03/24):

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
build_flags = -DCORE_DEBUG_LEVEL=5 ;show the esp log messages
board_build.partitions = ESP_Partition.csv
; upload_port = COM

STM32

O arquivo default .ini para o STM32 geralmente precisa de algumas configurações, a depender da forma como ele será programado (Com ST-Link ou por USB) Algumas configurações para usar o Módulo BlackPill com o USB embutido:

[env:blackpill_f401cc]
platform = ststm32
board = blackpill_f401cc
framework = arduino
upload_protocol = dfu
board_build.mcu = stm32f401ccu6 ;MCU
board_build.f_cpu = 84000000L ;Core Frequency (Hz)
upload_port = COM69 ;COM serial
build_flags =
 -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
 -D ENABLE_USB_SERIAL

Ferramentas do PlatformIO

Ao clicar no atalho lateral do PlatformIO, e expandir a opção "QUICK ACCESS" o seguinte menu será apresentado:

O menu lateral do PlatformIO tem várias funções que também podem ser acessadas por meio do menu do PlatformIO. A seguir uma breve descrição de algumas dessas funções.

Ao clicar no atalho lateral do PlatformIO, e expandir a opção "PROJECT TASKS" o seguinte menu será apresentado:

Este menu apresenta diversas funções úteis para o desenvolvimento de projetos. Nele há diversas funções divididas em pastas. A imagem a seguir apresenta algumas dessas funções, como Build, Upload, Devices, Clean há algumas funções exclusivas para o ESP32, como Program Size, Build Filesystem Image, Upload Filesystem Image e Erase Flash.

A extensão adiciona alguns atalhos na barra inferior como Build, Upload, Switch Environment (utilizado para trocar o projeto alvo) e Home.

  • Open: Abre o menu do PlatformIO

  • Libraries: Abre o menu de bibliotecas, onde é possível pesquisar por bibliotecas, visualizar as que estão instaladas. É recomendado não utilizar essa feature, pois a instalação de bibliotecas diretamente na pasta lib é mais organizada e editável.

  • Boards: Abre o menu de placas, com todas as placas suportadas pelo PlatformIO.

  • Platforms: Abre o menu de plataformas, onde pode-se visualizar as plataformas e frameworks instalados e os suportados pelo PlatformIO.

  • Devices: Abre o menu de dispositivos, onde é possível ver os dispositivos conectados e suas portas.

8.4. Extensão Copilot

Um assistente de programação AI do github, para mais detalhes, veja o tópico: Copilot.

8.5. Temas

Por mais que não seja essencial, um ambiente agradável aos olhos melhora o conforto e consequentemente a produtividade. Os temas são conjuntos de cores e efeitos que personalizam o vs code. Esses podem ser instalados na mesma seção das extensões. Vale ressaltar que o VS Code já vem com alguns temas pré-instalados.

Basta apenas buscar pelo tema com o estilo desejado, fazer o download e em alguns casos reiniciar o vs code para que todas as alterações tenham efeito. Também é possível fazer temas inteiramente personalizados, mas como se trata de algo mais complexo, não será abordado nesse documento.

8.6. extensões úteis

PlatformIO IDE (Para programação de microcontroladores)

  • Serial Monitor (Para monitorar a comunicação serial)

  • vscode-icons (Para melhorar a visualização dos arquivos)

  • Github copilot (Assistente de programação AI)

  • git graph (Para visualizar o histórico de commits)

  • GitBook (Para visualizar o GitBook da equipe)

  • Jupyter (Para desenvolvimento de softwares em diversas linguagens)

VS CODE
VS CODE
Imagem 1 – Tela Padrão do VS Code
Imagem 2 – Barra lateral do VS Code.
Imagem 3 – Barra superior do VS Code.
Imagem 4 – Barra inferior do VS Code.
Imagem 5 – Barra de pesquisa do VS Code.
Imagem 6 – Configurações do VS Code.
Imagem 7 – Abas de Configuração do VS Code.
Imagem 8 – Configuração de auto save do VS Code, para salvar os arquivos após 500ms.
Imagem 9 – Busca por PlatformIO na aba de extensões.
Imagem 10 – Download do PlatformIO.
Imagem 11 – PlatformIO "Home".
Imagem 12 – Atalho para o PlatformIO na barra lateral
Imagem 13 – Botão "New project".
Imagem 14 – janela "New project"
Imagem 15 – Pasta do projeto
Imagem 15 – Quick Access do PlatformIO.
Imagem 16 – Project Tasks do PlatformIO.
Imagem 17 – Barra inferior com ferramentas do PlatformIO.
Imagem 17 – Exemplo de Tema Customizado do VS Code.
Imagem 18 – Busca por temas na aba de extensões.