
English: 
Dear friends, welcome back!
Today, we take a look at rotary encoders
using Arduino.
A rotary encoder, this device here,
is an electromechanical device,
that converts angular position or rotation of a shaft
into analog or digital code.
In simple words, when i turn the shaft to the right
it increases its value
and when i turn it to the left,
it decreases its value.
The main advantage of the rotary encoders is that
I can turn them unlimited times. 
So, this rotary encoder has 20 positions.
Let's look.
We are now at position 10, so the value is 10.
Let's go back to position 0 by turning it to the right.
You can see that the value is 20 I can
still turn it to the right
and the value increases.
When I turn it to the left, the value decreases

Portuguese: 
Queridos amigos, bem vindos de volta!
Hoje vamos dar uma olhada nos codificadores rotativos
usando o Arduino.
um codificador rotativo, esse dispositivo aqui,
é um dispositivo eletromagnético,
que converte posição angular ou rotação de um eixo
em um código analógico ou digital.
Em palavras simples, quando eu girar a manivela pra direita
o seu valor aumenta
e quando giro para a esquerda,
ele diminui.
A principal vantagem de codificadores rotativos é que
eu posso girá-los ilimitadamente 
Então, esse codificador rotativo possui 20 posições.
Vamos dar uma olhada.
Estamos agora na posição 10, então o valor é 10.
Vamos voltar à posição 0 girando para a direita.
Você pode ver que o valor é 20. Eu posso
girar ainda mais para a direita
e o valor aumenta.
Quando eu giro para a esquerda, o valor diminui

English: 
and the position decreases as well.
Rotary encoders are used in many applications that require precise
and unlimited rotation, like industrial control,
robotics or computers and microcontrollers,
like the projects that we are building.
Another very useful feature of this rotary encoder
is that it has a button embedded.
As you can see, I can click the rotary encoder
and Arduino recognizes the click and
shows clicked message here.
I can hold it pressed
and as you can see it is now showing held
and when i release it, it shows released.
So, it is very useful. Except from a rotary encoder
it can act as a button.
Very, very useful in many, many projects.
Now, let's see how to connect a rotary encoder
to an Arduino project.
First of all, let's take a look at the module that we are going to use.

Portuguese: 
e a posição diminui também.
Codificadores rotativos são usados em muitas aplicações que exigem
precisão e rotação ilimitada, como controle industrial,
robótica ou computadores e microcontroladores,
como os projetos que estamos construindo.
Outra função muito útil desse codificador rotativo
é que ele possui um botão embutido.
Como você pode ver, eu posso clicar no codificador rotativo
e o Arduino reconhece o clique e
mostra a mensagem de clique aqui.
Eu posso segurar ele
e você pode ver que agora está mostrando segurando
e quando eu solto, mostra que soltei.
Então, é bastante útil. Além de ser um codificador rotativo
pode atuar como um botão.
Muito, mas muito útil em vários projetos.
Agora, vamos ver como conectar um codificador rotatório
a um projeto Arduino.
Primeiro de tudo, vamos dar uma olhada no módulo que vamos usar.

English: 
We're going to use this module that we bought from ebay
for around 1-2 euros,
that consists of a rotary encoder that has 20 positions
and it can be clicked.
As you can see, i can press it and it can be clicked.
So, in the back, it has some passive components
and it consists of 5 pins.
Now, let's see how to connect this module to an Arduino.
We are using an Arduino Mega here.
First of all, we have to connect the ground.
Ground pin goes to Arduino ground of course.
The second pin is power.
So, power connects to the 5V of the Arduino.
5V input, output is here.
The third pin of the rotary encoder is named SW.
SW pin is going to analog pin 2 in the Arduino.

Portuguese: 
Vamos usar esse módulo que compramos no Ebay
por cerca dd 1 a 2 Euros,
que consiste em um codificador rotativo que possui 20 posições
e que pode ser clicado.
Como você pode ver, podemos pressioná-lo e será clicado.
Então, na parte de trás, ele possui alguns componentes passivos
e consiste em 5 pinos.
Agora vamos ver como conectar esse módulo ao Arduino.
Estamos usando um Arduino Mega aqui.
Primeiro de tudo, temos que conectar o Ground.
O pino Ground vai no Ground do Arduino, é claro.
O segundo pino é o Power.
Então o Power vai no 5V do Arduino.
entrada de 5V, a saída está aqui.
O terceiro pino do codificador rotativo se chama SW.
O pino SW vai no pino análogo 2 do Arduino.

English: 
The forth pin is named DT.
DT goes to analog pin 1.
And lastly, the clock pin goes to analog pin 0.
Now, we are ready to connect the lcd display,
the Nokia 5110 lcd display and see the result.
If you want to see how to connect the Nokia 5110 lcd display,
check out our previous videos.
We have just connected the lcd screen,
let's see if it is working.
I power on the Arduino board and it is working.
When i turn the shaft to the right, it increases the value,
and when i turn it to the left, it decreases.
Now, let's see the code of the project.

Portuguese: 
O quarto pino se chama DT.
O DT vai no pino analógico 1.
E por último, o pino Clock vai no pino analógico 0.
Agora estamos prontos para conectar o display LCD,
o display LCD Nokia 5110 e ver o resultado.
Se você quiser ver como conectar o display LCD Nokia 5110,
assista noss vídeo anterior.
Acabamos de conectar a tela LCD,
vamos ver se está funcionando.
Eu ligo a placa Arduino e está funcionando.
Quando eu giro a manivela para a direita, o valor aumenta,
e quando giro para a esquerda, diminui.
Agora, vamos ver o código do projeto.

English: 
In order to use the rotary encoder nodule, we have
to download two more libraries,
other than the Nokia 5110 display library
used in lightning the lcd display.
The first library that we have to download
is the ClickEncoder library, as you can see here,
from 0xPIT.
You can download it from GitHub
and you can find the link in the description of the video.
So, we download this zip and we unzip it,
and rename it to RotaryEncoder,
and then we cut it and paste it
to Arduino libraries folder.
That's it.
Next, we have to download the TimerOne Library
from PaulStoffregen.

Portuguese: 
Para usar o módulo do codificador rotatório, temos que
baixar mais duas bibliotecas,
além da do display Nokia 5110
usada para iluminar o display lcd.
A primeira biblioteca que temos que baixar
é a biblioteca ClickEncoder, que você pode ver aqui,
do 0xPIT.
Você pode baixar aqui do GitHub
e pode encontrar o link na descrição do vídeo.
Então, baixamos esse zip e descompactamos,
e renomeamos para RotaryEncoter,
e então recortamos e colamos
na pasta Libraries do Arduino.
É isso aí.
Agora, vamos baixar a biblioteca TimerOne
do Paul Stoffregen.

Portuguese: 
Essa é uma biblioteca importante e sem isso,
o projeto não avi funcionar.
Baixamos esse zip também e descompactamos na
pasta Libraries e renomeamos para TimerOne, por exemplo.
Agora, estamos prontos para abrir o Arduino.
A IDE do Arduino agora está aberta e eu carreguei o esboço do codificador Nokia.
Você pode baixar esse esboço na descrição do vídeo.
Como você pode ver, o código é baseado
no exemplo ClickEncoder que você pode encontrar
na biblioteca ClickEncoder.
Tudo que eu fiz foi mudar algumas coisas
e implementar o display LCD.
Nesse momento, quero agradecer os autores
das bibliotecas que estamos usando,
porque eles tornam nossas vidas muito mais fáceis.
Sem essas bibliotecas, levaríamos dias

English: 
This is an important library that without this,
the project won't work.
We download this zip as well and we unzip it
in the libraries folder as well and rename it to TimerOne for example.
Now, we are ready to open up Arduino.
Arduino IDE is now open and i have loaded the encoder Nokia sketch.
You can download this sketch from the description of the video.
As you can see, the code it is based
in a ClickEncoder example that you can find
in the ClickEncoder library.
All i have done is i made some changes
and implemented the lcd display.
At this point, I would like to thank the authors
of the libraries that we are using,
because they make our lives easier.
Without those libraries it would take us days

English: 
in order to develop a project like
this.
So, a big thanks to all the guys that develop
those amazing libraries.
Thank you!
So, that's how you can connect a rotary encoder in your Arduino project
using a library.
It is very fast and easy and as you can see very useful as well.
We are going to use this rotary encoder module in a future project
because it is very useful.
The first project in which we are going to use it
is the old radio-mp3 conversion, that is ongoing.
We are going to use this rotary encoder to control
the volume of the mp3 player.
More about this in the future videos.
If you liked our video, press Like in the button below,
or subscribe to our channel to watch our next videos.
Thank you very much!

Portuguese: 
para desenvolver um projeto como esse.
Então, muito obrigado a todos os caras que
desenvolvem essas incríveis bibliotecas.
Muito obrigado!
Agora você sabe como conectar um codificador rotativo no seu projeto Arduino
usando uma biblioteca.
É bem rápido e fácil e como você pode ver, muito útil também.
Vamos usar esse módulo de codificador rotativo em um projeto futuro
porque ele é muito útil.
O primeiro projeto no qual vamos usar
é em um conversor de rádio para mp3 que faremos em breve.
Vamos usar esse codificador rotatório para controlar
o volume do tocador de mp3.
Mais sobre isso nos próximos vídeos.
Se você gostou desse vídeo, clique em gostei no botão abaixo,
e inscreva-se no nosso canal para acompanhar nossos vídeos.
Muito obrigado!
