Materia Relacionada com a Disciplina de Fundamentos deProgramacao e Programacao I. by Eugenio Caetano
Size: 129.78 KB
Language: none
Added: Apr 15, 2020
Slides: 23 pages
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.