Escolar Documentos
Profissional Documentos
Cultura Documentos
PONTA GROSSA
2012
1
DEIVIDSON LUIZ OKOPNIK
PONTA GROSSA
2012
O41s
CDD: 006.3
4
AGRADECIMENTOS
SOCIDISCO, que foi parceira desta pesquisa, permitindo o uso dos seus
equipamentos para testes bem como cedendo um funcionrio para efetuar os testes finais, o
que foi imprescindvel para a concluso deste trabalho.
Aos meus colegas de viagem, Elcio de Oliveira Cordeiro e Pedro Mitzco, por terem
deixado seus afazeres para me auxiliar no decorrer destes dois anos.
UEPG, por disponibilizar toda a sua estrutura, tanto para o programa de mestrado
quanto para esta pesquisa, bem como pela qualidade dos professores, comprovada nas
aulas.
RESUMO
ABSTRACT
Actually, the process of determining the longitudinal distance of seeds on the same planting
line is manual and prone to failures. In the maizes case, the distribution of seeds in
inadequate distances lowers its productivity, influencing in the plants development, both by
the maizes root system, that doesnt make up to the variation of the distances, like some
other cultures do, and my the lower amount of sun radiation that the plants can absorb when
plants are too close to each other. Considering the importance of knowing the longitudinal
distance of seeds and that that reading is made manually, this dissertation presents a
microcontrolled solution to be used along with a plantability track. The microcontroller used in
the solution is an Atmega 328, part of an Arduino. The seed detection was made using an
industrial infrared sensor, model DFRobot RB-DFR-49, with adjustable sensing distance,
fixed perpendicularly to the track. With the developed solution added to the track, it was
possible to obtain a precise reading from the distance between each seed, by counting the
time between each seed, plus the known speed of the rolling track. That value is then
registered on the developed solution and passed to a computer through an USB connection.
By comparing to the manual mattering, the medium error obtained was 0,90cm, less than
0,5% in a 40cm distance, as used in maize. The validation of the developed solution, amount
of detected double spacing and fail spacing, was made by comparing the results obtained by
the solution with those obtained by manual testing, made by an specialist on those tests. By
doing that, it was possible to notice that in tests with low amounts of double and fail spaces
(6 and 5 in a test, and 6 and 3 in the second), the results where the same to the manual
accounting. In tests with bigger amounts of errors (32 doubles, 50 fails), the result was
slightly different (more 7 doubles and 28 fails, when comparing to manual testing), what
evidences that the developed solution is more precise than the manual measuring method.
Its believed that the solution can help in the selection of planting disks, and to obtain a better
plant stand in the field, what brings better productivity.
Keywords: Zea Mays, Agricultural Automation, Precision Agriculture.
LISTA DE SIGLAS
ANSI-C
CONAB
CV
DP.
EEPROM
GPL
KB
LCD
RAM
SRAM
USB
LISTA DE ILUSTRAES
10
LISTA DE TABELAS
11
SUMRIO
1
1.1
1.2
INTRODUO ............................................................................................. 13
Objetivo Geral ............................................................................................. 14
Objetivos Especficos ................................................................................ 14
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.10.1
2.10.2
2.10.3
3
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
4
4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
12
13
1 INTRODUO
A distribuio longitudinal de sementes uma das tarefas mais importantes
no processo de semeadura de qualquer cultura, pois dependendo da semente a ser
plantada, a distncia entre uma planta e outra diferente. As justificativas para
buscar o valor timo da distncia longitudinal de sementes esto na busca de um
desenvolvimento adequado da planta e uma boa utilizao do terreno (KURACHI et.
al., 1993). Geralmente, a distribuio o resultado da combinao entre a semente
e o disco dosador perfurado (SILVA, 2003).
O mtodo mais comum para a determinao da distncia entre uma semente
e outra a forma manual, descrita por Jasper (2006). Depois de um perodo de
treinamento, uma pessoa verifica a distribuio das sementes avaliando visualmente
a distncia entre cada par de sementes consecutivas. A contagem dos erros que
ocorrem na distribuio das sementes se faz por meio de dois contadores, um em
sua mo esquerda e outro na mo direita. O resultado dessa contagem permite
verificar se um determinado disco dosador adequado para certa semente ou no.
Nesse tipo de levantamento de dados, a chance de ocorrncia de erros alta, alm
de ser cansativo para o operador e pouco preciso.
Este trabalho trata de pesquisar uma soluo eletrnica para esse problema.
Um dos primeiros impactos com o sistema funcionando adequadamente seria a
diminuio da interveno manual nos resultados. O segundo, a retirada de
operrios de trabalhos repetitivos e morosos. Adicionalmente, a partir dessa soluo,
pode-se aplicar o sistema em outros fins como a comparao direta entre a
uniformidade resultante de dois conjuntos de discos distintos ou de lotes de
sementes diferentes.
Na literatura, foram encontrados artigos que abordam o mesmo problema,
porm nenhum o aborda de forma profunda, nem apresentam formas prticas ou
meios computacionais de analisar os resultados obtidos, necessitando muitas vezes
da utilizao de sistemas de terceiros para anlise, sendo esta a principal
contribuio trazida por esta pesquisa.
14
1.1
Objetivo Geral
Desenvolver uma soluo que, combinada com um ambiente de simulao
1.2
Objetivos Especficos
Os objetivos especficos desta pesquisa foram:
15
2 REVISO BIBLIOGRFICA
2.1
Semeadoras de Preciso
Semeadoras de preciso (figura 1), conforme definidas por ABNT (1996), so
16
2.2
Teste de Plantabilidade
O teste de plantabilidade a medida executada com o objetivo de verificar o
Fonte: O Autor
17
2.3
18
2.4
Fonte: O Autor
19
2.5
Qualidade da Semente
Conforme visto na seo 2.3, um dos fatores que influenciam para uma boa
distribuio das plantas no campo a qualidade das sementes utilizadas, tanto pela
sua uniformidade quanto pela sua taxa de germinao (SCHUCH e PESKE, 2008;
SANTOS et al, 2003).
Para conseguir essa uniformidade nas sementes, elas so classificadas
atravs de equipamentos prprios para este fim, como a mesa de gravidade ou
densimtrica, figura 6. Nesse caso, sementes so separadas a partir de suas
caractersticas fsicas de acordo com a inclinao da mesa, que ainda possui
diversas divises no final, para que as sementes deslizem e sejam coletadas por
uma destas divises. Mais especificamente, em funo do formato e do peso
diferenciado de cada semente, cada uma delas ir fazer um percurso diferente ao
deslizar nessa mesa, e nas divises ficaro as sementes de caractersticas similares
(BAUDET e MISRA, 1991).
Aps essa classificao, comum que cada um destes lotes seja analisado
por meio do teste de plantabilidade antes de realmente ser colocado a venda.
Depois desse teste, lotes que apresentem valores de falhas ou duplas acima de um
limiar aceitvel (por exemplo, acima de 3% de falhas ou 6% de duplas) so levadas
novamente para a bancada de seleo, tentando, desta forma, diminuir o percentual
de problemas e apresentando uma melhor orientao aos agricultores (SCHUCH e
PESKE, 2008).
De fato, segundo Lima e Carmona (1999), o uso dessas tcnicas de
classificao sempre afeta a preciso da semeadura, e, conseqentemente, a
produtividade.
20
Figura 6 - Uso da mesa densimtrica para classificao de gros.
Fonte: http://oextensionista.blogspot.com.br/2010_09_01_archive.html
da
cultura.
Experimentos
realizados
por
Andreoli
(2002)
2.6
Automao Agrcola
Segundo Silveira e Santos (2007), a automao um conceito e um conjunto
21
2.7
Microcontroladores
Um microcontrolador, figura 7, um circuito integrado que possui diferentes
como
entrada.
Talvez
um
dos
maiores
destaques
dos
22
Figura 7 - Microcontroladores de tamanhos e capacidades diferentes
Fonte: O Autor
ditos existem
placas
de
2.8
Sensores pticos
Segundo Pazos (2005), um transdutor um dispositivo que transforma uma
23
possuem
uma
juno
p-n
semicondutora
sensvel
radiao
Fonte: O Autor
Como o emissor utilizado normalmente um LED, que possui luz difusa, que
se espalha pelo espao seguindo um ngulo de abertura pr-definido que varia de
acordo com o modelo utilizado, faz-se necessrio que o objeto a ser detectado
encontre-se dentro de uma distncia chamada distncia sensora. Nessa distncia, a
luz refletida do objeto ainda possui intensidade suficiente para o detector responder
adequadamente. Quando esse objeto est a uma distncia maior que a distncia
24
sensora, a luz que retorna ao detector no intensa o suficiente para que o mesmo
seja detectado, e o objeto passa despercebido pelo sensor.
2.9
Fonte: O Autor
25
Fonte: O Autor
26
27
0,73 km/h. Essa pesquisa obteve um erro mdio na medida das distncias de 4,3%,
com um percentual de sementes no detectadas que variou de 5% 20%, em testes
com 63 a 210 sementes. A figura 14 apresenta esta soluo, com os dispositivos do
kit lego e a esteira miniatura utilizada.
Figura 14 - Soluo apresentada por Oliveira e Pinto (2007)
Essas imagens foram ento passadas para o computador, que fez os clculos
necessrios para obter a distncia longitudinal, e apresentando os resultados
obtidos. Com esse mtodo foi conseguido uma taxa de erro de aproximadamente
28
29
30
2.10.1 Produtividade
O milho uma cultura que depende de uma fertilidade adequada do solo,
necessitando de que ele esteja bem preparado e de uma quantidade de gua bem
distribuda durante seu ciclo. Logo, quando essas necessidades so supridas, uma
cultura que apresenta excelentes resultados, refletidos em grandes produes. Por
outro lado, variao nesses quesitos provoca grandes contrastes em sua
produtividade. Por exemplo, no Brasil h estados com mdias de produo to
baixas que no chegam a meia tonelada por hectare, como o caso do Cear, que
teve uma mdia de 327kg/ha na safra de 2010. Isso explicado principalmente pelo
cultivo para consumo prprio, onde o produtor no investe em tecnologia ou no
preparo da terra, cultivando simplesmente para alimento prprio e de sua famlia,
bem como dos animais de sua fazenda. Por outro lado, h estados com mdias de
produo muito superiores, como o caso de Gois, que teve uma mdia maior que
7.000kg/ha, e do Paran, com uma mdia pouco acima de 5.800kg/ha-1, segundo a
CONAB (2012).
Em se tratando de valores por propriedade, ainda no Brasil, possvel
encontrar cases com produo superiores a 12 toneladas por hectare, sendo que,
em nvel mundial, encontra-se nos Estados Unidos mdias prximas das 10
toneladas por hectare, superiores s obtidas no Brasil. Esses valores so explicados
pela grande fertilidade de seus solos, pela tecnologia aplicada em suas lavouras,
pela grande aplicao de nitrognio e de outros compostos no solo, e tambm pela
31
2.10.2 Densidade
A densidade de plantio do milho (quantidade de plantas por hectare)
definida normalmente pela disponibilidade hdrica da regio e pelo cultivar
selecionado, alm da fertilidade do solo e da quantidade de chuvas, sendo que,
quanto mais chuvas, e mais bem espalhadas durante seu ciclo, maior a densidade
possvel (AMARAL FILHO et al, 2005). Em mdia, recomenda-se uma densidade de
50 a 70 mil plantas por hectare, valor este que diminui para 40 a 45 mil para o milho
safrinha, principalmente pela menor disponibilidade hdrica do perodo, com exceo
de quando se utiliza a irrigao. Nesse caso podem-se utilizar densidades to altas
quando a da primeira safra (PENARIOL et al, 2003).
2.10.3 Espaamento
O espaamento entre as linhas e entre as plantas de uma mesma linha so
os fatores que determinam a densidade resultante de uma lavoura. Para o milho
tradicionalmente utiliza-se um espaamento entre linhas de 80 cm a 100 cm, para
garantir espao suficiente entre as linhas para que uma pessoa seja capaz de
passar entre elas. A distncia entre as plantas na mesma linha, nesse caso,
diminuda para 20 cm, para garantir uma densidade alta.
Outra distncia muito utilizada hoje entre 40 cm a 45 cm entre as linhas
(REZENDE, VON PINHO e VASCONCELOS, 2003), principalmente por ser a
mesma distncia utilizada na soja, o que permite que o equipamento de semeadura
seja utilizado sem a necessidade de modificaes. Nesses casos, a distncia entre
plantas na mesma linha de 40 cm, a fim de garantir que a densidade por hectare
mantenha-se praticamente a mesma. Segundo Amaral Filho et al. (2005), com essa
reduo do espaamento entre linhas de semeadura otimiza-se a eficincia da
interceptao de luz e obtm-se uma melhora no aproveitamento de gua e
nutrientes. Molin (2000) tambm afirma esse aspecto, assegurando que alm da
32
33
3 MATERIAIS E MTODOS
3.1
Materiais
Para o desenvolvimento da soluo proposta foi necessria a utilizao de
34
Figura 19 - Arduino Uno
Esta plataforma foi escolhida para esta pesquisa tendo em vista que
apresenta internamente, diversos perifricos necessrios, como conversor analgico
digital e o oscilador, alm de sua facilidade de uso, apresentando uma interface
integrada de desenvolvimento. Esta interface permite, alm de escrever o cdigo
fonte, a compilao e o upload do programa para o microcontrolador sem a
necessidade de utilizao de qualquer outro dispositivo, bastando lig-lo ao
computador utilizado atravs da porta USB, possibilitando inclusive que seja
alimentado diretamente por esta conexo.
Para esta pesquisa, foram utilizadas oito das entradas/sadas digitais do
Arduino, uma das entradas analgicas, interface USB e o conversor analgico-digital
de 10bits. Optou-se tambm por utilizar o oscilador interno do prprio Arduino,
operando a 16MHz.
35
Fonte: O Autor
36
Fonte: O Autor
Por este motivo deve tambm ser evitada a instalao do sensor em uma
posio onde a esteira balance na vertical, alterando desta forma a distncia de sua
superfcie at o sensor, o que faria esta superfcie entrar na distncia sensora,
detectando-a, o que no desejado.
37
Figura 22 - Display LCD 16x2
Fonte: O Autor
3.1.4 Buzzer
Outro dispositivo de sada utilizado na soluo o buzzer (figura 23). Quando
acionado, esse dispositivo emite sinais sonoros. Na soluo desenvolvida,
utilizado para emitir um pequeno sinal (BEEP) a cada semente detectada, permitindo
que o usurio saiba o que a soluo est detectando. Tambm usado para
sinalizar o final do teste atravs de uma sequncia de trs BEEPs, podendo o
operador saber que o teste terminou sem a necessidade de ficar acompanhando no
display.
O acionamento do buzzer se d ao se aplicar tenso entre os fios vermelho
(positivo) e preto (negativo), figura 23.
Figura 23 - Speaker
Fonte: O Autor
38
3.1.5 Potencimetro
Para permitir a navegao pelo menu da soluo desenvolvida, antes do
inicio do teste, foi
Fonte: O Autor
Fonte: O Autor
39
Essa esteira, conforme visto na seo 2.2, simula uma semeadora, onde
possvel acoplar os discos dosadores perfurados e medir a distncia longitudinal
entre sementes resultante na esteira.
Algumas especificaes e medidas da esteira usada neste trabalho esto
apresentadas na tabela 1.
40
Tabela 1 - Medidas da Esteira
Comprimento Aberta
3.750 mm
Comprimento Fechada
1.200 mm
Largura
350 mm
Altura
600 mm
2.650 mm
Profundidade do Sulco
80 mm
Fonte: O Autor
41
Fonte: O Autor
3.2
Mtodos
42
mesmo nome da placa principal utilizada no projeto, sendo que esta interface foi
desenvolvida especificamente para a criao de projetos para o Arduino, figura 29.
Essa interface, alm de criar uma maneira padro para o desenvolvimento
dos programas para o Arduino, oferece suporte a todos os recursos da placa,
permitindo facilidades no desenvolvimento da soluo, como opes para compilar e
enviar o programa elaborado diretamente para a placa utilizada.
Figura 29 - Interface de Desenvolvimento Arduino, com o projeto aberto
Fonte: O Autor
43
Fonte: O Autor
44
Dado Enviado
Significado
Exemplo
i01:XX
i02:XX
i02=36
i03:XXX
i03=100
s0:0
Inicio do Teste
s0:0
sX:YYY:ZZZZ
x0:0
x0:0
x0:1
x0:1
Fonte: O Autor
45
dos dados lidos pelo sensor em distncia, a fim de efetuar a comparao com os
limites. Nessa seo, essas frmulas sero apresentadas na forma de cdigo fonte,
exatamente como so utilizadas no sistema desenvolvido, a fim de permitir uma
visualizao mais real da forma com que os dados so tratados na execuo do
programa, garantindo tambm que todos os dados estejam na mesma unidade de
medida.
Os primeiros clculos (quadro 1) efetuados so para preparar os dados,
recebidos na configurao do sistema, para serem utilizados durante a leitura, a fim
de garantir que quando os dados forem recebidos, as configuraes j estejam nas
mesmas unidades de medida, permitindo sua utilizao direta. Esses dados so o
de transformar a velocidade da esteira, lida em km/h, para metros por segundo,
velMs; o da distncia mnima entre as sementes, distdup, antes de ser considerado
uma dupla, e da distncia mxima entre as sementes, distfal, antes de ser
considerado uma falha (seo 2.2).
Quadro 1 Cdigo para preparao de dados
velMs = vel/3.6;
distdup = dist/2.0;
distfal = dist*1.5;
Fonte: O Autor
46
Quadro 2 Cdigo para clculo da distncia
DISTMS = MILLIS()-LASTSEM;
DISTSEC = DISTMS/1000.0;
DISTM = DISTSEC * VELMS;
DISTCM = DISTM*100.0;
DISTCMM = DISTCM*10.0;
Fonte: O Autor
software
elaborado
para
controlar
funcionamento
da
soluo
47
medida.
Figura 31 - Fluxograma do funcionamento do sistema
Fonte: O Autor
Tabela 3 - Opes Existentes no Menu Inicial do Sistema
Num. Opo
Intervalo de Dados
Vel. Da Esteira
3.6
km/h
2.0 6.0
Dist. Ideal
20
cm
10 100
Quant. De Sementes
1000
un.
100 10.000
Iniciar Teste
Fonte: O Autor
Nota: * = No se Aplica
48
49
3.2.5.2 Teste sobre a variao das leituras no decorrer de uma medio longa
O segundo teste executado foi criado a fim de verificar como a soluo
desenvolvida se comportava em um teste mais longo, de mil sementes, que leva
aproximadamente trs minutos e meio, considerando a velocidade da esteira de 3,6
km/h. Para esse teste tambm foram coladas sementes em toda a extenso da
esteira, de forma aleatria, perfazendo um total de 45 sementes. No houve
medio manual das distncias entre as sementes neste teste.
Em seguida a soluo foi ligada, conectada ao computador e configurada
para executar um teste de mil sementes. Por fim foi ligada a esteira, dando inicio
coleta dos dados.
Para analisar os resultados, optou-se por enumerar cada semente, do 1 ao
45. Foi efetuado ento um estudo estatstico dos dados coletados, calculando a
mdia, mediana, desvio padro e o coeficiente de variao. Os dados utilizados
foram os coletados nas 22 voltas completas (22 x 45 = 990), descartando-se desta
forma os 10 ltimos, que completaria o total de 1000 sementes.
50
Figura 32 - Primeiro Tipo de Semente Utilizada nos Testes
Fonte: O Autor
Foi utilizado esse cultivar por apresentar melhores resultados nos testes de
plantabilidade. Isso , apresenta muito pouca variao de distncia entre as
sementes, alm de poucas duplas e falhas.
O segundo tipo de amostra de sementes utilizada, chamada de experimental
pelos tcnicos da SOCIDISCO, um pouco menor, mais fina e menos uniforme que
a semente anterior, sendo tambm tratada e com aplicao de p de grafite (figura
33).
Figura 33 - Segundo Tipo de Semente Utilizada nos Testes
Fonte: O Autor
51
Fonte: O Autor
52
4 RESULTADOS E DISCUSSES
4.1
citados no capitulo 3, sendo que a forma como que cada um interligado e com que
interagem entre si est demonstrada na figura 35.
Figura 35 - Diagrama de Blocos do Funcionamento do Dispositivo
Fonte: O Autor
Como pode ser visto na figura 35, todos os dispositivos que compe a
soluo desenvolvida (buzzer, display LCD 16x2, fonte de energia, touch Button,
potencimetro e sensor infravermelho) esto ligados diretamente ao Arduino, na
placa principal. Alm disso, o sensor infravermelho fixado em um suporte de
alumnio criado para ele, figura 36, permitindo que seja posicionado acima da
esteira, podendo desta forma ser selecionada a melhor posio para a deteco das
sementes. Esse suporte possui altura ajustvel por uma rosca sem fim e um par de
porcas tipo borboleta de cada lado do suporte, a fim de permitir um ajuste fino da
altura, garantindo que o sensor possa ser posicionado precisamente sobre a esteira,
funcionando desta forma em conjunto com a configurao da distncia sensora do
prprio sensor.
A alimentao (marcada no diagrama como Fonte de Energia) pode ser feita
tanto de forma externa, atravs de uma fonte comum de 12 V, quando o aparelho for
53
Fonte: O Autor
Fonte: O Autor
54
Fonte: O Autor
Fonte: O Autor
55
Fonte: O Autor
4.2
resultados obtidos por esta soluo com aqueles obtidos por testes manuais, foram
efetuados trs tipos de testes distintos, conforme seo 3.2.4.
56
Quadro 3 - Dados do Primeiro Teste
i01=20
i02=36
i03=1000
s0:0
s1:20:20
s2:52:52
s3:101:101
s4:156:156
s5:206:206
x0:1
Fonte: O Autor
57
Tabela 4 - Resultados Obtidos no Teste de 1.000 sementes
58
Desvio Padro
Desvio Padro
10
15
20
25
Revoluo da Semente
Fonte: O Autor
59
Desvio Padro
0,03
0,02
0,01
D.P. Mdio
0,00
-0,01
10
15
20
25
-0,02
-0,03
Semente
Fonte: O Autor
60
Fonte: O Autor
Fonte: O Autor
Obteve-se desta forma mais um resultado igual entre os dois testes. Somando
ao total de sementes lidas o nmero de sementes que sobraram na esteira, obtevese o valor de 990 sementes, evidenciando que apenas 10 sementes foram ignoradas
61
pelo sensor. Ou seja, 1,0% das sementes do teste no foram identificadas pela
soluo.
Fonte: O Autor
62
63
superior que aos 0,5% conseguidos durante esta pesquisa. Quando comparado com
os resultados obtidos por Oliveira e Pinto (2007), obteve-se uma perda na deteco
de sementes menor e erro menor na determinao das distncias. Enquanto Oliveira
e Pinto (2007) no detectaram de 5% a 20% do total de sementes disponveis
durante o teste, esta pesquisa no detectou uma mdia de de 1,6%. Com relao a
taxa de erro nas distncias lidas, quando comparadas com as respectivas medies
manuais, esta pesquisa tambm obteve um resultado melhor (mdia de 4,3%, contra
uma mdia de 2,4% obtidos nesta), mesmo considerando a velocidade maior
utilizada na esteira e a maior quantidade de sementes utilizadas nesta pesquisa.
64
65
REFERNCIAS BIBLIOGRFICAS
66
67
68
69
Repetio:
Sem.:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
24,9
16,8
10,2
14,4
25,7
26,0
30,8
10,8
25,4
15,9
16,1
6,4
19,3
20,3
21,6
22,3
14,0
17,5
18,9
31,0
10,4
4,3
2
25,4
16,2
10,1
14,5
25,8
26,0
30,9
10,4
25,1
16,6
15,5
6,7
18,9
20,3
21,7
22,4
13,8
17,3
19,2
30,5
10,8
4,0
3
25,1
16,3
10,1
14,5
25,9
26,2
30,3
10,9
25,1
16,1
15,7
6,7
19,1
20,2
21,4
22,5
13,5
17,6
19,1
30,8
10,5
4,4
4
25,6
16,1
10,5
14,2
25,9
25,9
30,7
10,7
25,1
16,4
15,5
6,6
19,2
20,1
21,8
22,2
13,5
17,7
18,8
30,9
10,6
4,1
5
25,1
16,4
10,2
14,4
25,9
25,9
30,4
11,1
25,0
15,6
16,0
6,8
19,0
20,1
21,8
22,1
13,9
17,3
19,3
30,4
10,6
4,4
6
25,1
16,4
10,2
14,3
26,0
25,8
30,9
10,6
25,0
16,1
16,0
6,4
18,9
20,5
21,3
22,3
13,9
17,6
18,9
30,5
10,6
4,4
7
25,1
16,3
10,3
14,3
25,9
25,9
30,4
11,1
25,1
15,6
15,9
7,0
18,8
20,1
21,8
22,2
14,0
17,6
18,8
30,4
11,1
4,0
8
25,0
16,4
10,3
14,3
25,9
25,9
30,8
10,7
25,1
15,9
16,0
6,6
18,8
20,5
21,4
22,1
13,9
17,8
18,8
30,8
10,7
4,0
9
25,0
16,5
10,1
14,4
25,9
25,9
30,9
10,6
25,1
15,9
16,1
6,5
19,2
20,2
21,3
22,2
13,9
17,6
19,0
30,4
10,6
4,4
10
25,1
16,4
10,2
14,4
25,9
25,9
30,8
10,6
25,1
16,0
15,6
6,8
19,0
20,5
21,4
22,1
13,9
17,7
18,9
30,8
10,6
4,0
11
25,1
16,4
10,1
14,4
25,9
25,9
30,5
11,0
25,0
15,7
16,4
6,4
18,9
20,1
21,7
22,3
13,9
17,6
18,9
30,5
11,0
4,0
12
25,1
16,8
9,8
14,6
25,5
26,3
30,6
10,5
25,1
16,0
16,1
6,4
19,3
20,1
21,7
22,3
13,9
17,6
18,9
30,5
10,6
4,4
13
25,1
16,4
10,2
14,3
25,9
26,3
30,6
10,5
25,1
16,0
15,9
6,5
19,2
20,2
21,7
22,2
14,0
17,2
19,3
30,4
10,7
4,4
14
25,0
16,4
10,3
14,3
25,9
25,9
30,8
10,7
25,1
16,0
15,9
6,6
19,2
20,2
21,3
22,6
14,0
17,2
18,8
30,9
10,7
4,4
15
25,1
16,4
10,3
14,3
25,9
25,9
30,8
10,7
25,1
15,5
16,0
7,0
19,2
20,1
21,4
22,2
13,9
17,7
18,8
30,9
10,6
4,1
16
25,1
16,8
9,8
14,8
25,9
25,8
30,5
11,1
25,0
15,6
16,0
6,9
18,8
20,2
21,7
22,2
13,9
17,6
19,0
30,4
11,1
4,0
17
25,0
16,5
10,2
14,3
25,9
25,9
30,9
10,7
24,9
16,1
16,0
6,1
19,7
20,1
21,4
22,3
13,8
17,3
19,3
30,4
11,0
3,9
18
25,0
16,5
10,1
14,3
26,0
25,9
30,8
10,6
25,0
15,7
16,5
6,1
19,6
20,1
21,5
22,3
13,7
17,4
19,2
30,9
10,6
4,3
19
25,0
16,5
10,2
14,2
26,0
26,4
30,4
10,6
25,4
15,7
16,0
6,6
19,2
20,0
21,9
22,3
13,8
17,4
18,8
30,8
10,6
4,3
20
25,5
16,1
10,1
14,7
25,4
26,5
30,4
10,6
25,5
15,6
16,0
6,6
19,2
20,0
21,9
22,4
13,7
17,4
19,1
30,5
10,6
4,4
21
25,1
16,4
10,2
14,7
25,5
26,3
30,5
10,6
25,5
15,6
16,0
6,6
19,2
20,0
21,9
21,9
13,8
17,8
18,7
31,0
10,6
4,3
Var.
0,7%
1,1%
1,5%
1,2%
0,6%
0,8%
0,7%
2,1%
0,7%
1,8%
1,5%
3,6%
1,2%
0,8%
1,0%
0,7%
1,0%
1,1%
1,0%
0,8%
1,8%
4,4%
70
Continuao
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
6,7
12,8
11,4
21,4
19,6
10,1
20,0
7,4
28,0
20,4
16,5
10,1
10,5
20,2
23,5
8,7
14,1
27,2
15,5
14,6
3,2
12,1
53,0
7,1
12,6
11,1
21,7
19,5
10,0
19,9
7,8
28,0
19,9
16,8
10,0
10,5
20,1
23,6
8,6
14,1
27,1
15,6
14,6
3,2
11,9
53,4
6,6
12,8
11,2
21,4
19,5
10,1
19,9
7,3
28,6
19,9
16,5
10,0
10,4
20,7
23,7
8,2
14,2
26,9
15,8
14,2
3,3
12,4
52,5
6,8
12,7
11,5
21,3
19,3
10,2
20,2
7,2
28,4
19,8
16,3
10,3
10,5
20,2
23,9
8,0
14,4
27,1
15,6
14,3
3,2
12,3
53,1
6,6
12,6
11,5
21,4
19,6
10,3
19,6
7,4
28,4
20,0
16,4
10,3
10,2
20,5
23,4
8,6
14,0
27,1
15,6
14,3
3,2
12,2
53,2
6,9
12,7
11,4
21,3
19,4
10,2
19,7
7,8
27,8
20,2
16,8
9,8
10,6
20,1
23,9
8,5
13,9
27,2
15,5
14,4
3,1
12,3
53,2
7,0
12,1
11,9
21,4
19,3
10,2
20,2
7,3
27,9
20,2
16,8
10,1
10,3
20,1
23,8
8,6
13,9
27,1
15,6
14,3
3,2
12,3
53,2
6,9
12,6
11,5
21,4
19,7
9,8
20,1
7,3
28,4
19,7
16,8
10,2
10,2
20,5
23,5
8,6
13,8
27,1
15,7
14,3
3,2
12,2
53,2
6,5
12,7
11,9
21,3
19,3
10,2
19,7
7,7
28,0
20,1
16,8
9,9
10,5
20,2
23,8
8,5
14,0
27,1
15,6
14,3
3,2
12,3
53,1
7,0
12,6
11,5
21,4
19,2
10,2
20,1
7,4
28,4
19,6
16,9
9,7
10,7
20,1
23,8
8,6
14,4
26,7
16,0
14,3
3,2
12,3
53,1
6,9
12,7
11,4
21,4
19,3
10,2
20,1
7,4
28,3
19,7
16,8
10,2
10,3
20,0
24,3
8,2
13,8
27,3
15,5
14,4
3,1
12,7
52,8
6,9
12,3
11,8
21,3
19,4
10,2
19,7
7,8
27,9
20,1
16,8
10,2
10,3
20,0
23,9
8,5
13,9
27,2
15,5
14,5
3,1
12,2
53,2
6,4
12,7
11,5
21,3
19,8
10,1
19,8
7,7
27,9
20,2
16,4
10,6
10,3
20,0
23,9
8,1
14,3
27,1
15,6
14,3
3,3
12,2
53,2
6,4
12,7
11,5
21,3
19,8
9,7
20,2
7,2
28,4
20,2
16,4
10,1
10,6
20,2
23,8
8,6
13,9
27,1
15,6
14,3
3,2
12,3
53,1
6,8
12,7
11,4
21,4
19,2
10,3
20,2
7,2
28,4
19,7
16,8
10,2
10,2
20,2
23,8
8,6
14,3
26,7
16,0
14,3
2,8
12,7
52,7
7,0
12,4
11,6
21,4
19,6
9,8
20,0
7,5
28,2
20,0
16,5
10,2
10,6
20,1
23,6
8,4
14,3
27,2
15,7
14,2
3,0
12,4
53,3
7,1
12,4
11,6
21,4
19,6
9,8
20,0
7,5
28,2
20,0
16,5
10,2
10,6
20,1
24,1
8,0
14,2
27,3
15,6
14,2
3,0
12,5
53,3
6,6
12,5
11,5
21,4
19,6
10,3
20,0
7,1
28,0
20,2
16,5
10,6
10,2
20,1
24,1
8,4
14,2
26,8
15,7
14,6
3,0
12,4
52,9
6,7
12,8
11,1
21,4
19,7
10,1
20,1
7,5
28,1
20,1
16,5
10,2
10,2
20,6
23,6
8,4
14,2
26,9
15,5
14,7
3,1
12,3
52,9
6,6
12,9
11,4
21,4
19,3
10,1
20,1
7,5
28,1
20,1
16,5
10,2
10,2
20,6
24,0
8,0
14,2
26,9
15,5
14,7
3,0
12,4
52,9
6,6
12,4
11,5
21,5
19,6
10,2
20,1
7,1
28,1
20,1
16,5
10,1
10,7
20,0
23,7
8,4
14,2
27,3
15,6
14,3
2,9
12,4
53,4
6,5
12,4
11,6
21,4
19,7
10,2
19,6
7,4
28,2
20,1
16,4
10,3
10,6
20,1
23,7
8,4
14,2
27,2
15,6
14,3
3,0
12,4
52,9
6,8
12,6
11,5
21,4
19,5
10,1
20,0
7,4
28,2
20,0
16,6
10,2
10,4
20,2
23,8
8,4
14,1
27,1
15,6
14,4
3,1
12,3
53,1
6,8
12,7
11,5
21,4
19,6
10,2
20,0
7,4
28,2
20,1
16,5
10,2
10,5
20,1
23,8
8,5
14,2
27,1
15,6
14,3
3,2
12,3
53,1
0,2
0,2
0,2
0,1
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,2
0,1
0,2
0,1
0,2
0,2
3,3%
1,5%
1,8%
0,4%
1,0%
1,7%
1,0%
2,9%
0,8%
1,0%
1,1%
2,1%
1,7%
1,1%
0,9%
2,7%
1,3%
0,7%
0,9%
1,1%
4,1%
1,4%
0,4%
71
/*
Projeto de Mestrado
Deividson L. Okopnik
Rosane Falate
Configurao de Pinos Digitais:
0 TX
1 - RX
2 a 7 - Controle do Display
8 - Entrada Sensor
9 - Entrada Boto
10 - Saida do Speaker
13 - LED
Configurao de Pinos Analogicos:
a0 - Entrada Potenciometro
*/
const
const
const
const
const
const
const
const
const
int
int
int
int
int
int
int
int
int
irPin = 8;
butPin = 9;
spkPin = 10;
ledPin = 13;
potPin = A0;
sensorPin = A5;
nota = 500;
thold = 220;
waitTill = 300;
", ">
72
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
// Inicio da Configurao do Sistema
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(spkPin, OUTPUT);
pinMode(butPin, INPUT);
pinMode(irPin, INPUT);
lcd.begin(16, 2);
lcd.print("seed][spacing");
lcd.setCursor(0, 1);
lcd.print("Configuracao");
delay(4000);
lcd.clear();
int lastOpt = 100;
for(;;)
{
int butVal = digitalRead(butPin);
if(butVal == HIGH)
{
if(lastOpt==0)
{
lcd.clear();
lcd.print("Config. Dist.");
lcd.setCursor(0, 1);
lcd.print(dist);
lcd.print(" cm
");
delay(1000);
int qnew = dist;
while(digitalRead(butPin)==LOW)
{
int potVal = analogRead(potPin);
qnew = 1+map(potVal, 0, 1010, 0, 100);
lcd.setCursor(0, 1);
lcd.print(qnew);
lcd.print(" cm
");
}
dist = qnew;
delay(1000);
}
if(lastOpt==1)
{
lcd.clear();
lcd.print("Config. Vel.");
lcd.setCursor(0, 1);
73
lcd.print(vel);
lcd.print(" km/h
");
delay(1000);
float qnew = vel;
while(digitalRead(butPin)==LOW)
{
int potVal = analogRead(potPin);
qnew = map(potVal, 0, 1010, 0, 100);
qnew/=10;
lcd.setCursor(0, 1);
lcd.print(qnew);
lcd.print(" km/h
");
}
vel = qnew;
delay(1000);
}
if(lastOpt==2)
{
lcd.clear();
lcd.print("Config. Quant.");
lcd.setCursor(0, 1);
lcd.print(quant);
lcd.print(" sem. ");
delay(1000);
int qnew = quant;
while(digitalRead(butPin)==LOW)
{
int potVal = analogRead(potPin);
qnew = 100+map(potVal, 0, 1010, 0, 100) * 10;
lcd.setCursor(0, 1);
lcd.print(qnew);
lcd.print(" sem. ");
}
quant = qnew;
delay(1000);
}
if(lastOpt==3)
{
lcd.clear();
lcd.print("Iniciando Teste:");
delay(2000); // arrumar o delay
break;
}
} // end if(butVal==HIGH)
int potVal = analogRead(potPin);
int range = map(potVal, 0, 1010, 0, 7) % 4;
if (lastOpt != range)
{
lastOpt = range;
lcd.setCursor(0, 0);
74
lcd.print(menu[range]);
lcd.setCursor(0, 1);
if(range<3)
{
lcd.print("Atual: ");
}
switch (range)
{
case 0:
lcd.print(dist);
lcd.print(" cm
");
break;
case 1:
lcd.print(vel);
lcd.print(" km/h
break;
case 2:
lcd.print(quant);
lcd.print(" sem.
break;
");
");
case 3:
lcd.print("
break;
} // Fim do switch
if(range<3)
{
lcd.print("
}
}
}
");
");
// Fim do if (lastOpt!=range)
// Fim do for (;;)
lastVal = digitalRead(irPin);
// inicia comunicao USB e manda as configuraes do teste
Serial.begin(9600);
msg="i01="; msg.concat(dist);
Serial.println(msg);
msg="i02="; msg.concat(int(vel*10)); // velocidade em km/h*10
Serial.println(msg);
msg="i03="; msg.concat(quant);
Serial.println(msg);
// Calculos, para no precisar fazer no loop
velMs = vel/3.6;
// velocidade em Metros por Segundo
distdup = dist/2.0; // Distncia para ser considerada dupla
distfal = dist*1.5; // distncia para ser considerada falha
// leitura da primeira semente
lcd.clear();
75
lcd.print("Esp. Semente 1.");
for(;;)
{
irVal = digitalRead(irPin);
if(lastVal!=irVal && irVal)
{
tone(spkPin, nota, 20);
lastVal = irVal;
break;
}
}
lastSem = millis();
lcd.clear();
lcd.print("Testando: 0");
Serial.println("s0:0");
}
// Fim do setup()
// iniciando teste
void loop() {
irVal = digitalRead(irPin);
butVal = digitalRead(butPin);
digitalWrite(ledPin, irVal);
//
distSec = distMs/1000.0;
distM = distSec * velMs;
distCm = distM*100.0;
distCmm = distCm*10.0;
if(distCm<distdup)
{
dupla++;
}
else if(distCm>distfal)
{
falha++;
}
msg="s";
msg.concat(count);
msg+=":";
msg.concat(long(distCmm));
msg+=":";
76
msg.concat(distMs);
Serial.println(msg);
}
lastVal = irVal;
lcd.setCursor(0, 1);
lcd.print("D: ");
lcd.print(dupla);
lcd.print(" F: ");
lcd.print(falha);
if(butVal==HIGH)
{
qbut++;
if(qbut>500)
{
sai=1;
}
}
else
{
qbut=0;
}
if((count>=quant) || sai)
{
delay(1000);
lcd.setCursor(0, 0);
lcd.print("Teste Concluido!");
float pdupla = 0.0;
float pfalha = 0.0;
pdupla=1.1;
pfalha=1.2;
pdupla=(dupla/float(count))*100.0;
pfalha=(falha/float(count))*100.0;
// Fim do log na porta serial
if(sai)
{
Serial.println("x0:1"); // teste cancelado pelo usurio
}
else
{
Serial.println("x0:0"); // fim normal do teste
}
// Resultados no Fim do Teste
while(1)
{
// Tres beeps
tone(spkPin, nota, 20);
delay(100);
77
tone(spkPin, nota, 20);
delay(100);
tone(spkPin, nota, 20);
delay(100);
// agora limpa o LCD e fica girando as informaes
// com o resultado do teste
lcd.setCursor(0, 1);
lcd.print("
");
lcd.setCursor(0, 1);
lcd.print("D: ");
lcd.print(dupla);
lcd.print(" - ");
lcd.print(pdupla);
lcd.print("%");
delay(3000);
lcd.setCursor(0, 1);
lcd.print("
");
lcd.setCursor(0, 1);
lcd.print("F: ");
lcd.print(falha);
lcd.print(" - ");
lcd.print(pfalha);
lcd.print("%");
delay(3000);
// Alem do resultado do teste, tambem so
// apresentadas as configuraes utilizadas no mesmo
lcd.setCursor(0, 1);
lcd.print("
");
// Contagem de sementes
lcd.setCursor(0, 1);
lcd.print("Quant: ");
lcd.print(count);
delay(3000);
lcd.setCursor(0, 1);
lcd.print("
");
// Velocidade da Esteira
lcd.setCursor(0, 1);
lcd.print("Vel: ");
lcd.print(vel);
delay(3000);
lcd.setCursor(0, 1);
lcd.print("
lcd.setCursor(0, 1);
lcd.print("Dist: ");
");
78
lcd.print(dist);
delay(3000);
}
}
}