15. c++ e arduino

eugeniocaetano33 24 views 23 slides Apr 15, 2020
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Materia Relacionada com a Disciplina de Fundamentos deProgramacao e Programacao I. by Eugenio Caetano


Slide Content

Fundamentos de Programação Tema XV: C++ e Arduino Docente : Eugénio Xavier Domingos Caetano

Introdução a programação na linguagem C++ No mundo da programação nós podemos classificar as linguagens de duas maneiras: Linguagem de Baixo Nível e Linguagem de Alto Nível. Quando nos referimos à linguagem de Baixo Nível estamos nos referindo a sintaxes próximas ao código de maquina, ou seja, a linguagem que o computador consegue facilmente interpretar.

Em contrapartida a definição de linguagem de Baixo Nível nós encontramos as linguagem de Alto Nível, com relação a esse tipo de linguagem podemos afirmar que a mesma possui uma sintaxe próxima à linguagem humana um exemplo desse tipo de linguagem é o próprio C/C++, entre outras.

O C++ foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs durante a década de 1980 (originalmente com o nome C with Classes, como um adicional à linguagem C) com o objectivo de melhorar a linguagem de programação C ainda que mantendo máxima compatibilidade.

Ambiente da linguagem O C++ pode ser chamado de linguagem compilada, ou seja, além de escrever o código, é necessário um outro software que possa entender esse código e traduzí-lo para uma sintaxe que o computador possa interpretar denominado Código de Máquina.

Instalação A primeira coisa a fazer antes de desenvolver programas usando a linguagem C++ é instalar um compilador. Existem diversos compiladores C++ disponíveis para os programadores, a decisão sobre qual compilador utilizar pode ser baseada em vários fatores: Qualidade do compilador (rapidez, está conforme com a padronização da linguagem, a interface com o usuário é agradável, possui ou não um IDE ( Integrated Development Enviroment ), possui diversas opções de compilação); Sistema(s ) operacional(is) que o compilador funciona (e gera códigos );

custo do compilador; documentação disponível e suporte.

Características do C++ C++ pode ser visto como uma linguagem procedimental tradicional com alguns construtores adicionais. Começando pelo C, alguns construtores para programação orientada a objetos e para melhorar a sintaxe procedimental foram acrescentados. Um programa bem escrito em C++ irá refletir elementos tanto do estilo de programação orientada a objetos como programação procedimental clássica.

Isto porque o C++ é na verdade uma linguagem extensível já que podemos definir novos tipos de tal maneira que eles agem de mesmo modo que os tipos pré-definidos que fazem parte da linguagem padrão. Abaixo estão listados itens que caracterizam a linguagem C++: Programação Orientada à Objetos : A possibilidade de utilizar programação orientada a objetos permite ao programador projetar aplicações de um ponto de vista mais parecido com comunicação entre objetos que de uma sequência estruturada de código.

Alem disso, permite a reusabilidade de código de uma forma mais lógica e produtiva. A linguagem foi desenvolvida com o cuidado de prover atributos Orientados à Objeto para a linguagem C sem comprometer a eficiência; Portabilidade : Pode-se praticamente compilar o mesmo código C++ em qualquer tipo de computador e sistema operacional sem fazer grandes mudanças. C ++ é uma das mais usadas e portadas linguagens de programação ; Brevidade : Código escrito em C++ é muito menor em comparação com outras linguagens, desde o uso de caracteres especiais e preferidos antes de palavras chave, evitando esforço ; Programação Modular : Um corpo de aplicação em C++ pode ser feita de vários arquivos de código que serão compilados separadamente e “linkados” juntos.

História do Arduino O projeto iniciou-se na cidade de Ivrea , Itália , em 2005 , com o intuito de interagir em projetos escolares de forma a ter um orçamento menor que outros sistemas de prototipagem disponíveis naquela época. O sucesso foi sinalizado com o obtenção de uma menção honrosa na categoria Comunidades Digitais em 2006, pela Prix Ars Electronica , além da marca de mais de 50.000 placas vendidas até outubro de 2008 .

Atualmente, o seu hardware é feito através de um microcontrolador Atmel AVR , sendo que este não é um requisito formal e pode ser estendido se tanto ele quanto a ferramenta alternativa suportarem a linguagem arduino e forem aceites pelo seu projeto. Considerando esta característica, muitos projetos paralelos inspiram-se em cópias modificadas com placas de expansões, e acabam recebendo os seus próprios nomes .

Apesar do sistema poder ser montado pelo próprio utilizador, os manutentores possuem um serviço de venda do produto pré-montado, através deles próprios e também por distribuidores oficiais com pontos de venda mundiais.

Arduino Arduíno é uma plataforma de prototipagem eletrônica de hardware livre e de placa única , [6] projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, [7] a qual tem origem em Wiring , e é essencialmente C / C ++ . O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por principiantes e profissionais.

Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e ferramentas mais complicadas. Pode ser usado para o desenvolvimento de objetos interativos independentes, ou ainda para ser conectado a um computador hospedeiro . Uma típica placa Arduino é composta por um controlador, algumas linhas de E/S digital e analógica, além de uma interface serial ou USB , para interligar-se ao hospedeiro, que é usado para programá-la e interagi-la em tempo real.

A placa em si não possui qualquer recurso de rede , porém é comum combinar um ou mais Arduinos deste modo, usando extensões apropriadas chamadas de shields . A interface do hospedeiro é simples, podendo ser escrita em várias linguagens. A mais popular é a Processing , mas outras que podem comunicar-se com a conexão serial são: Max/MSP , [11] Pure Data , [12] SuperCollider , [13] ActionScript [14] e Java . Em 2010 foi realizado um documentário sobre a plataforma chamado Arduino: The Documentary .

Hardware de Arduino A sua placa consiste num microcontrolador Atmel AVR de 8 bits , com componentes complementares para facilitar a programação e incorporação noutros circuitos. Um importante aspecto é a maneira padrão como os conectores são expostos, permitindo o CPU ser interligado a outros módulos expansivos, conhecidos como shields . Os Arduinos originais utilizam a série de chips megaAVR , especialmente os ATmega8 , ATmega168 , ATmega328 e a ATmega1280 ;

porém muitos outros processadores foram utilizados por clones deles. [20] A grande maioria de placas inclui um regulador linear de 5 volts e um oscilador de cristal de 16  MHz (podendo haver variantes com um ressonador cerâmico ), embora alguns esquemas como o LilyPad usem até 8 MHz e dispensem um regulador de tensão embutido, por terem uma forma específica de restrições de fator.

Além de ser microcontrolador, o componente também é pré-programado com um bootloader , o que simplifica o carregamento de programas para o chip de memória flash embutido, em comparação com outros aparelhos que geralmente demandam um chip programador externo. Conceptualmente, quando o seu software é utilizado, ele monta todas as placas sobre uma programação de conexão serial RS-232 , mas a forma de implementação no hardware varia em cada versão.

Software O Arduino IDE é uma aplicação multiplataforma escrita em Java derivada dos projetos Processing e Wiring . [20] [24] É esquematizado para introduzir a programação para artistas e para pessoas não familiarizadas com o desenvolvimento de software . Inclui um editor de código com recursos de realce de sintaxe , parênteses correspondentes e identação automática, sendo capaz de compilar e carregar programas para a placa com um único clique. Com isso não há a necessidade de editar Makefiles ou rodar programas em ambientes de linha de comando

Conlusoes Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua primeira adição foi a biblioteca de E/S , e posteriormente a Standard Template Library (STL); ambas tornaram-se algumas das principais funcionalidades que distanciaram a linguagem em relação a C. Criada primordialmente na HP por Alexander Stepanov [9] no início da década de 1990 para explorar os potenciais da programação genérica, a STL foi apresentada a um comitê unificado ANSI e ISO em 1993 à convite de Andrew Koenig .

Após uma proposta formal na reunião do ano seguinte, a biblioteca recebe o aval do comitê. Depois de anos de trabalho, o mesmo comitê ANSI/ISO padronizou o C ++ em 1998 ( ISO/IEC 14882 :1998 ). As placas de serie de um Arduino contêm um simples circuito inversor para converter entre os sinais dos níveis RS-232 e TTL . Atualmente , existem alguns métodos diferentes para realizar a transmissão dos dados, como por placas programáveis via USB, adicionadas através de um chip adaptador USB-para-Serial, como o FTDI FT232

Algumas variantes, como o Arduino Mini e o não oficial Boarduino, usam um módulo, cabo adaptador USB, bluetooth ou outros métodos. Nestes casos, são usados com ferramentas microcontroladoras ao invés do Arduino IDE, utilizando assim a programação padrão AVR ISP . A maioria dos pinos de E/S dos microcontroladores são para uso de outros circuitos.