Introdução à Engenharia de Computação BACi01 Engenharia de Computação.

Post on 18-Apr-2015

113 views 3 download

Transcript of Introdução à Engenharia de Computação BACi01 Engenharia de Computação.

Introdução à Engenharia de ComputaçãoBACi01

Engenharia de Computação

Projeto BACi01 2

PROJETOS

Projeto BACi01 3

Por que um projeto “avançado” em BACi01?

Será que estou pronto para isso?

Projeto BACi01 4

Projeto de um Sistema Digital

Controller(Hardware & Software)

System toControl

Sensor

SignalConditioning

PowerInterface

Actuator

UserInterface

PowerSource

BJ Furman 22JAN11

ME 106ME 154ME 157ME 195

ME 120ME 297A

ME 106ME 120

ME 106ME 190ME 187

ME 110ME 136ME 154ME 157

ME 182ME 189ME 195

ME 106ME 120

ME 106

INTEGRATION

Projeto BACi01 5

O que é um microcontrolador?

ANALOGINPUTS

Projeto BACi01 6

ATmega328 Internal Architecture

ATmega328 data sheet pp. 2, 5

http://www.adafruit.com/index.php?main_page=popup_image&pID=50

Projeto BACi01 7

Arduino Duemilanove

http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove

http://arduino.cc/en/uploads/Main/ArduinoDuemilanove.jpg

Pin 13 LED

USBconnector

Barrel jack

Digital pins header

Reset button

ATmega328 MCU

Analog pins header

Power-ground header

See the handout: Arduino_ATmega328_pin_mapping_and_schematic

Projeto BACi01 8

Arduino Uno R3

http://www.adafruit.com/index.php?main_page=popup_image&pID=50

ATmega16u2 replaces FT232RL for USB-serial comms

See: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq

Projeto BACi01 9

Arduino Due

Atmel SAM3X8E processor (32 bit ARM Cortex M3 architecture, 84MHz)

http://www.adafruit.com/index.php?main_page=popup_image&pID=1076

See: http://arduino.cc/en/Main/ArduinoBoardDue

Note: 3.3 V !!

Projeto BACi01 10

Recebe, Gera e Interpreta Dados. Premite desenvolver:

Controle residencial Robótica Design interativo Quase tudo que sonhar esta ferramenta pode tornar

realidade.

O que arduino faz?

Projeto BACi01 11

Como é estruturado o hardware? (1) Analog Reference pin-AREF(Laranja). Digital Ground (Verde Claro) Digital Pins 2-13 (Verde) Digital Pins 0-1/Serial In/Out - TX/RX (Verde Escuro) Botão de Reset - S1 (Azul Escuro) In-circuit Serial Programmer -ICSP (Azul-Verde)

Projeto BACi01 12

Como é estruturado o hardware? (2) Analog In Pins 0-5 (Azul Claro) Power and Ground Pins

Power: orange, grounds: light (laranja claro) Suprimento Externo de energia In (9-12VDC) - X1 (Rosa)

SV1- Jumper: Determina alimentação da USB ou Esterna X1 (Roxo)

USB: Usada para gravar os programas; Comunicação serial entre placa e computador; Alimentação da placa (Amarelo)

Projeto BACi01 13

PWM(Pulse Width Modulation)

Projeto BACi01 14

Arduino Mega- 126k (Flash Memory)

54 Pinos de I/O

LilyPad Arduino

Outros modelos (1)

Projeto BACi01 15

Arduino BT (Bluetooth)

Arduino Mini

Arduino Pro

Outros modelos (2)

Projeto BACi01 16

Escudos Extenções do arduino que permitem interagir com tecnologias

diversas com facilidade.

Ethernet shieldXbee shield

O que são Shields? (1)

Projeto BACi01 17

Motor shield

SD shield

LCD shield

O que são Shields? (2)

Projeto BACi01 18

O que são Shields? (3)

Projeto BACi01 19

Verify: Para Verificar se o programa está sem erros.

Upload: Carrega o programa no Microcontrolador.

Serial Monitor: Ativa a leitura da porta serial. Mostra valores.

Integrated Development Environment

Projeto BACi01 20

C/C++ .Funções facilitadas.

Após compilar temos os dados na tela preta abaixo:

Programação (1)

Projeto BACi01 21

Entendendo o Programa./* *Programa traduzido por Gamesh_ para Mini-curso sobre Arduino 16/09/2010 *Visitem www.brasilrobotics.blogspot.com/ *Programa: Blink, * The basic Arduino example. * http://www.arduino.cc/en/Tutorial/Blink */int ledPin = 13; // Diz: Vou usar o Pino de número 13 do Arduino e ele será chamado "ledPin" e será uma variável inteira.

void setup() //Função chamada automaticamente na primeira vez que o código é lido. //Devemos dizer como o Pino deve se comportar. { pinMode(ledPin, OUTPUT); // PinMode diz: O comportamento do pino(Nome desse pino, ENTRADA ou SAÍDA). // Temos OUTPUT=Saída e INPUT=Entrada. // E o nome do pino é LedPIN. // É importante notar a vírgula( , ) e que usa-se letra maiúscula. }

Programação (2)

Projeto BACi01 22

void loop() // Função onde tudo acontece. Chama-se Loop porque está executando repetidas vezes.

{ digitalWrite(ledPin, HIGH); // Temos HIGH= LIGADO e LOW=DESLIGADO // E o nome do pino é LedPIN, que é o mesmo Pino 13 delay(1000); // Atraso de 1 segundo digitalWrite(ledPin, LOW); // Temos LOW=DESLIGADO delay(1000); // Atraso de 1 segundo}

Programação (3)

Projeto BACi01 23

Aprende-se com exemplos Apresentar e vistar site www.arduino.cc

Principal fonte de documentação. Tópico: LEARNING Executar programas Digital I/O

Blink Without Delay: Button ...

Como se aprende arduino? (1)

Projeto BACi01 24

Como se aprende arduino? (2)

Projeto BACi01 25

TRABALHO DE BACI01

Projeto BACi01 26

Regras e Datas Grupos de 5 alunos

Hoje (01/04) - Definir as equipes e definir 3 possíveis projetos para ser desenvolvido

Desenvolver para o dia 15/04 um pequeno EVTE que irá justificar a escolha de um dos 3 projetos Custos, prazos para aquisição dos componetes, etc. Seguir o modelo de EVTE fornecido

Avaliação de acompanhamento – 09/05 Arduino, shields e componentes necessários e apresentação de

pequeno programa em arduíno (qualquer aluno poderá ser questionado)

Projeto BACi01 27

Regras e Datas Avaliação de acompanhamento – 06/06

Avaliação da execução do projeto proposto (devem estar restando apenas alguns ajustes, projeto deve estar 90% funcionando)

Avaliação final - 13/06 Apresentação de 10 minutos para toda a turma

Organizem-se para que os projetos escolhidos não se repitam

50% da nota de BACi01

Projeto BACi01 28