• Nenhum resultado encontrado

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

N/A
N/A
Protected

Academic year: 2021

Share "Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015"

Copied!
5
0
0

Texto

(1)

Projeto 01

Adriano Joaquim de Oliveira Cruz

Instituto de Matemática

UFRJ

©2015 Adriano Cruz

30 de agosto de 2015

1

Introdução

Este projeto é baseado no Laboratório 01 do Livro Head First C [2]. A idéia é fazer com que as próprias plantas nos avisem quando elas precisam de serem regadas. Para realizar este projeto vamos usar o computador Arduino (ver em https://www.arduino.cc/) [1].

O sistema monitor de plantas tem um sensor que mede a humidade do solo da planta. Se a planta precisa ser regada, um led acende até que a planta seja regada e a cadeia de caracteres “Por favor água!” é enviada repetidamente para o computador. Quando a planta for regada o led apaga e a cadeia “Obrigado Zé” é enviada para o computador.

2

Arduino: O Hardware

Arduino é uma plataforma open-source para criação de protótipos eletrônicos, baseada em hardware e software fácil usar. Foi criada para artistas, projetistas, hobbistas ou qualquer um interessado em criar objetos interativos e inteligentes. Todos os projetos no Arduino são controlados por código escrito em C. Arduino é um projeto iniciado na Itália em 2005. Uma comunidade ativa de desenvolvedores de software e hardware se formou em torno deste projeto. A Figura 1 mostra exemplares de placas de Arduino de diferentes configurações.

(2)

A Figura 2 mostra uma das versões do Arduino, o Uno, que é o que usaremos em nosso projeto. O Arduino Uno tem 14 pinos para entrada e saída de dados digitais. Estas entradas/saídas servem para ler valores de sinais ligados ou desligados ou para controlar atuadores colocando-os no estado ligado ou desligado. O circuito também tem 6 entradas de dados analógicos que podem ser usados para ler voltagens de um sensor. O circuito pode receber potência a partir da porta USB de um computador ou de uma bateria externa.

Figura 2: O Arduino Uno

3

Arduino: O Software

Para escrever o código do nosso projeto devemos usar o ambiente integrado de desenvolvimento do Arduino (IDE). Esta IDE permite editar, verificar, compilar e testar o código dos projetos. Todas estas etapas são executadas no próprio computador do desenvolvedor. Ela também permite que o código resultante seja transferido, via USB, para o Arduino para execução. A IDE també tem um monitor serial para permitir dados que são produzidos no Arduino possam ser enviados e mostrados no computador. A IDE é grátis e pode ser baixada do site do Arduino (www.arduino.cc/en/Main/Software). A Figura 3 mostra a aparência da IDE.

4

Tarefas

O seu código em C deve executar as tarefas descritas a seguir.

Ler valores do sensor de humidade: o sensor de humidade está conectado a uma entrada analógica. O seu programa deve ler dados desta entrada. O valor que servirá para definir se a planta deve ser regada ou não deve ser obtida por exeperimentação.

Acender e apagar o led: o led deve ser conectado a um pino digital. Quando a planta não precisa de mais água, escreva no pino digital do led de modo que ele apague. Quando for para regar acenda o led. Uma melhoria pode ser fazer o led piscar.

Escrever na porta serial: quando a planta precisar de água escreva a cadeia “Por favor água!” na porta serial do computador. Quando a planta receber água suficiente escreva “Obrigado Zé!”. Considere

(3)

Figura 3: A IDE do Arduino

O código C no Arduino tem uma estrutura própria e portanto temos de segui-la. O seu programa deve parecer com o código mostrado na Listagem 1.

A seguir mostramos algumas funções que serão bastante úteis durante o desenvolvimento do projeto. • voidpinMode(intpin, int mode)

Diz ao Arduino se o pino digital pin deve funcionar como entrada ou saída. O mode pode ser igual a INPUT ou OUTPUT.

• int digitalRead(intpin)

Le um valor do pino digital pin. O valor retornado pode ser igual a HIGH ou LOW. • voiddigitalWrite(intpin,intvalue)

Escreve um valor em um pino digital. value pode ser HIGH ou LOW. • int analogRead(intpin)

Le um valor do pino analógico pin. O valor retornado será um valor entre 0 e 1023. • voidanalogWrite(intpin,intvalue)

Escreve um valor analógico no pino pin. value deve estar entre 0 e 255. • voidSerial.begin (longspeed)

Diz ao Arduino para começar a enviar e receber dados seriais na velocidade speed bits por segundo. Normalmente se usa a velocidade 9600 bits por segundo.

• voidSerial.println (val)

Envia val pela porta serial. val pode ser dado de qualquer tipo. • voiddelay(long interval)

(4)

Listagem 1: Exemplo de estrutura de código para o Arduino.

v o i d setup( ) {

/∗

Esta f u n ç ã o é chamada quando o programa começa . Ela b a s i c a m e n t e d e f i n e a s l i g a ç õ e s da p l a c a . Além d i s s o q u a l q u e r c ó d i g o de i n i c i a l i z a ç ã o deve s e r i n s e r i d o a q u i . ∗/ } v o i d loop( ) { /∗

Aqui é onde o c ó d i g o p r i n c i p a l deve f i c a r . Esta f u n ç ã o f i c a sendo e x e c u t a d a r e p e t i d a m e n t e .

Ela deve l e r o s s e n s o r e s e a t u a r de a co r do com o s v a l o r e s l i d o s . Ela somente pa r a de e x e c u t a r quando o c i r c u i t o f o r d e s l i g a d o . ∗/

}

5

Lista de Material

• 1 Arduino UNO ou outro mais potente. • 1 led.

• 1 resitência de xxx Ω.

• 1 protoboard ou uma placa para protótipagem (para quem sabe soldar). • Fios compatíveis com o protoboard.

• Uma planta para ser regada. • Dois pregos grandes.

6

Entrega do Trabalho

O desenvolvimento do projeto deverá ser feito obrigatoriamente por um grupo de três alunos. Grupos maiores não serão aceitos e grupos menores serão aceitos somente se a divisão dos grupos obrigar esta configuração.

A entrega do trabalho será durante uma aula prática em data a ser definida. O grupo deve levar a planta no estado em que pede para ser regada e demonstrar que após a rega ela agradece. O grupo deve entregar um relatório do desenvolvimento do projeto.

A nota do trabalho não necessariamente será a mesma para todos os alunos do grupo. Os alunos deverão responder perguntas sobre o projeto durante a sua apresentação. A nota de cada aluno será função do relatório, do funcionamento do projeto e das respostas dadas durante a apresentação.

(5)

Referências

[1] https://www.arduino.cc/. Accessed: 2015-08-30. [2] David Griffiths. Head first C. O’Reilly, USA, 2012.

Referências

Documentos relacionados

Inscrições na Biblioteca Municipal de Ourém ou através do n.º de tel. Organização: Município de Ourém, OurémViva e grupos de teatro de associações e escolas do

The results of the present study have demonstrated that the introduction of calretinin immunohistochemistry led to a significant lower rate of inconclusive results (11.9%)

[r]

Após 45 dias da realização do leilão o arrematante deverá retirar no Depósito da empresa, RODANDO CERTO SERVIÇOS DE ESTACIONAMENTO E REBOQUE DE VEÍCULOS S/S LTDA,

OBJETO: Primeira prorrogação do prazo de vigência do Contrato nº 398/2017 de contratação temporária de Assistente Social, desenvolvendo esta atividade na Secretaria

O Presidente da NitTrans e Subsecretário Municipal de Trânsito e Transporte da Secretaria Municipal de Urbanismo e Mobilidade, no cumprimento dos dispositivos do art..

14- A retirada dos lotes arrematados só será permitida após a integralização de todos os pagamentos previstos nestas condições, comprovadas mediante apresentação de nota

17 - Obriga-se o arrematante a proceder junto ao órgão competente à mudança de nome no Registro de Trânsito, fazendo a transferência da titularidade do veículo arrematado no