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

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

Embed Size (px)

Citation preview

Page 1: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Introdução à Engenharia de ComputaçãoBACi01

Engenharia de Computação

Page 2: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 2

PROJETOS

Page 3: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 3

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

Será que estou pronto para isso?

Page 4: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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

Page 5: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 5

O que é um microcontrolador?

ANALOGINPUTS

Page 6: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 6

ATmega328 Internal Architecture

ATmega328 data sheet pp. 2, 5

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

Page 7: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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

Page 8: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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

Page 9: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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 !!

Page 10: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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?

Page 11: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 12: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 13: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 13

PWM(Pulse Width Modulation)

Page 14: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 14

Arduino Mega- 126k (Flash Memory)

54 Pinos de I/O

LilyPad Arduino

Outros modelos (1)

Page 15: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 15

Arduino BT (Bluetooth)

Arduino Mini

Arduino Pro

Outros modelos (2)

Page 16: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 17: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 17

Motor shield

SD shield

LCD shield

O que são Shields? (2)

Page 18: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 18

O que são Shields? (3)

Page 19: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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

Page 20: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 20

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

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

Programação (1)

Page 21: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 22: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 23: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 24: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 24

Como se aprende arduino? (2)

Page 25: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 25

TRABALHO DE BACI01

Page 26: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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)

Page 27: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

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

Page 28: Introdução à Engenharia de Computação BACi01 Engenharia de Computação

Projeto BACi01 28