Contador de passagem...

Será que isso serve?

ou esse?

cara é mais ou menos isso sim, só que nem precisa cortar a fita não

é só contar quantos tem mesmo e me mostrar a informação no lcd..

é bem mais simples de fazer,,,

estou pensando no projeto aqui,,

qualquer ajuda é bem vinda..

qualquer novidade eu posto para vocês

Nos exemplos acima nao está contando diretamente como vc quer no seu projeto.
Provavelmente eles usaram motores de passo e determinaram quantos passos eram necessarios para atingir a quantidade de componentes.
Seu projeto apesar de parecer simples nao é, primeiro o tamanho dos resistores é pequeno. Geralmente os leds de ifravermelho que se usa para esse sensor sao maiores que os resistores, sendo que nao seria preciso toda vez que um resistor passar na frente interromper o feixe.
O que eu pensei que vc poderia fazer é utilizar os de um mouse das anitgas, sao bem pequenos e faceis de achar.
Vc nem precisa soltar eles da placa, apenas corte ela e deixe eles soldados e pegue um ferro de solda e solde nos 5 pinos que serao.
De um lado existe o LED emissor com dois pinos, um deles é positivo e o outro negativo. para descobrir será na base do teste.Lembre de colocar uma pequena resistencia em um desses pinos para o led nao queimar, pode ser de 220R.
O outro é um fototransistor com 3 pinos, um sendo positivo, outro negativo e outro vc liga na entrada digital do arduino.
Alimente o sistema com 5v, pode usar do arduino mesmo.
Basicamente vc vai ficar lendo essa entrada digital mas é recomendado vc utilizar alguma tecnica para achar a média de leituras, pois sempre acontece de algum probleminha e tipo quando o led passar contar duas vezes e tals, vai ter que ajustar o tempo dessa média de acordo com a velocidade.
Enfim, nao é simples como parece.
Recomendo que vc primeiro comece apenas enviando uma mensagem para a serial quando simular um resistor passando, para depois avançar. Teste sem média mesmo para ver se é preciso o bastante para nao precisar, ou se precisar o tempo que essa media precisa ser.
Caso vc nao tenha nenhum mouse pode comprar um sensor no ML como esse ou ainda um led emissor e um foto transistor (TIL 32 e TIL 78? ) e usar como uma mascara na frente um papel com um pequeno furo.

Qualquer coisa que vc nao entendeu basta postar que eu explico.

E ai vinicius beleza?
Cara vi que voce é de ribeirao preto,.. sou daqui também , legal saber que tem mais gente por aqui,,
quanto ao projeto, estou pensando em usar os TIL mesmo,, ja tenho um parzim aqui de 3 mm portanto,
acho que fazendo tipo um tubinho com uma mascara na ponta deles, da pra deixar um feixe bem fininho garantindo uma precisão maior, o que acha?
estou trabalhando na parte mecânica da coisa pra depois ir pra parte eletronica,,
o que eu sou um pouco "crú" é na parte de programção do arduino,, no caso como eu faria para ele fazer a contagem, seria usando o incremento
não tenho muita ideia de programção não
se puder me ajudar eu agradeço.
outra coisa, no fototransistor eu ligaria ele nos 5v com um resistor e o mesmo terminal iria para a porta do arduino? assim ele comuta entre nivel
lógico 0 e 1 soltando os 5v?
muito obrigado pela ajuda cara

Legal, nem tinha visto que vc é de Ribeirao.
Pode tentar fazer exatamente como vc pensou com tubo e uma mascara na ponta. Mas eu nao sei se um feixe fino assim é suficiente para ativar o fototransistor, qualquer coisa vc pode usar uma entrada analogica ao inves de uma digital. Mas começe pela parte mecanica depois de tudo montado fica muito mais facil testar.
Vc pode ligar o fototransistor como vc disse para a entrada digital.
A parte de programaçao acho que é bem tranquila.
Vc apenas vai ler a entrada digital ou no caso analogica, e se estiver LOW vai adicionar +1 na variavel. Depois que tiver a parte mecanica montada posta novamente que explico a parte de programaçao, melhor ir fazendo em partes.
Uma dica é se vc precisar de componentes ao inves de ir na Radiolar que é muito cara, siga na mesma rua mais uns 4 quarteiroes sentido a Francisco, vai achar uma loja amarela chamada Tecnohelp, lá é tudo bem mais em conta.
Vc pretende exibir através de LCD ou do computador a contagem?

Então vinicius, valew pelas dicas,,

pois é nem passo perto da radiolar, os caras exploram mesmo, só quando não tem jeito mesmo, constumo compra na tecbel e na tecnohelp tambem
conheço o ismael qua trabalha lá, ja trabalhei com ele,rs
ele faz uns preços legal,,kk

entao estou pretendendo exibir a contagem em um lcd 16x2 pra ficar mais autônomo sem precisar de pc,,

acredito que com a parte da contagem pronta, não sera problema exibir as informações no lcd..

outra coisa teria como eu colocar um botão tipo reset pra zerar a contagem?

me fala uma coisa você ja procurou atmega 328 aqui em ribeirao? uma vez o meu queimou e eu precisei trocar, nem achei só no mercado livre mesmo..

mais uma vez obrigado pelas dicas, logo logo posto umas fotos do mecanismo pra voce ver..rs

Nunca procurei ATmega aqui, só PICs mesmo. Não sabia que era dificio de encontrar e nao sei onde possa encontrar.
Sim, é bem simples adicionar botoes e programaçao no Arduino.
Vc já tem o Arduino ou pretende usar um chip na protoboard?
Se quiser ja pode começar a fazer um contador exibindo na serial caso ainda nao tenha o LCD, é bem facil e tranquilo.
Quando quiser diga que passo um exemplo com botao incrementa e outro reset, depois basicamente é substituir o botao incrementa pelo fototransistor.

cara ja tenho o arduino sim,

se voce puder me passar esse esquema ja me ajudaria muito,,

depois é so trocar o botao pelo fototransistor,,

o lcd depois é facil colocar tambem né

mais uma coisa..

como é o esquema de ligação do foto transísitor, só tenho um e to com medo de queimar rs

devo ligar um terminal ao terra e o outro nos 5v com resistor? e o pino ligado nos 5v é o que vai no arduino?

Olá.
Vamos começar com o exemplo do botão que é simples e facil de entender, e seu projeto é basicamente isso.
Vc vai precisar de um botão e um resistor de 10k.
Ligue os botao como nessa imagem na entrada digital 2 e o outro na 3.

Feito isso conecte seu Arduino e abra o Arduino IDE.
Tente colar o seguinte código:

const int botaoIncrementa = 2;//Definindo um nome para o Pino onde o botao incrementar está conectado, nesse caso Pino Digital 1. Apenas um regra para facilitar e nao precisarmos sempre lembrar em qual pino está conectado cada botao
const int botaoReset = 3; //Definindo um nome para o Pino onde o botao incrementar está conectado, nesse caso Pino Digital 1
int numeroResistores = 0; //Cria a variavel onde vamos armazenar o numero de resistores, e ja atribui o valor zero para ela

void setup() {
pinMode(botaoIncrementa, INPUT);//Definindo o pino do botao como entrada
pinMode(botaoReset, INPUT); //Definindo o pino do botao como entrada
Serial.begin(9600); // Inicia a comunicaçao serial, vamos usar para enviar o numero de resistores
}

void loop(){ //Funcao princiapl que vai ser um loop infinito

if (digitalRead(botaoIncrementa) == HIGH) { //Checa se o botao incrementa está apertado, caso esteja executa o que está dentro das cheves do if
numeroResistores++; //Esse comando incrementa o numero de resistores em 1
Serial.print("Numero de resistores = ");//Imprime na serial essa mensagem
Serial.println(numeroResistores);//Imprime na serial o valor da variavel, no caso numeroResistores. ln no final indica que depois da mensagem vai pular uma linha
}

if (digitalRead(botaoReset) == HIGH) { //Checa se o botao reset está apertado, caso esteja executa o que está dentro das cheves do if
numeroResistores = 0; //Reseta o numero de resistores para zero
Serial.print("Numero de resistores resetado para = ");//Imprime na serial essa mensagem
Serial.println(numeroResistores);//Imprime na serial o valor da variavel, no caso numeroResistores
}
delay(1000);//Espera um segundo antes de verificar novamente, esse tempo vc pode variar para evitar de checar duas vezes, pois o microcontrolador é capaz de checar milhares de vezes por segundo.
//Se vc deixar de colocar esse tempo um simples pressionar de 100 milissegundos é suficiente para incrementar em mil o numero de resistor. Depois vc terá de ajustar com o seu equipamento funcionando para o melhor tempo
}

Se nao conseguir vou anexar o arquivo compactado do projeto, basta descompactar e abrir com o Arduino IDE.
Acabei errando nesse codigo anexado os pinos dos botoes, mude de 1 e 2 para 2 e 3 como no codigo desse post que está certo.
Não esqueça de abrir o serial monitor em Tools para ver as mensagens.
Qualquer duvida me diga.
E vamos continuar.

Botao.rar (978 Bytes)

vinicius

o código deu certim, funcionou legal

só vai faltar configurar o tempo de espera quando tudo tiver montado para ajsutar melhor

agora só falta a parte dos TIL e do Lcd,

me fala uma coisa, o TIL tem velocidade de "chaveamento" rápida o suficiente para poder passa os resistores em uma velocidade até razoável?

se não a contagem sera muito lenta...

cara fiz um teste aqui colocando o fototransistor ao invez do botao..

na hora que eu coloco o foto no pino 2 ele dispara a contagem diretao igual doido,, mesmo sem voltagem no pino..

o que pode ser isso,, ai depois que eu tiro o fio do pino 2 e coloco o fio do push bottom ele fica normall

Olá.
Esse problema me parece que vc colocou o fototransistor invertido. Mas nao tenho certeza pois eu uso de maneira diferente meus botoes, nao como essa figura que postei do teste.
Melhor mesmo é vc testar eles separados antes para ter certeza que estao funcionando, pois muitos dos que comprei vieram queimados.
Primeira coisa para testar o emissor que é o escuro, ligue ele como se fosse um led. Perna maior no positivo a outra num resistor de 220R ou mais e o resistor no negativo. Depois use uma webcam para ver se ele acende ou nao, pois é invisivel ao olho humano.
Vou fazer o teste do fototransistor aqui na minha protoboard e depois montar como eu faço o botao e te envio uma foto.
Estou meio ocupado, mas acho que até amanha consigo.
Se estiver com pressa pode procurar na net depois tirar duvida.
Sobre o tempo eu nunca testei, pois quando usei o fototransistor no meu TCC eu nao precisava de acionar rapidamente. Só testando mesmo. :smiley:
Vai postando os problemas e fazendo a parte mecanica.
Até.

ok vinicius

fiz uns testes aqui, liguei o coletor do transistor nos 5v direto, ai no emissor coloquei o resistor de 10k aterrando e mandei o emissor para a entrada digital 2, continuava disparado, mas ai fiz um teste inverti a leitura digital de if (digitalRead(botaoIncrementa) == HIGH, troquei por LOW, e resolveu, ele conta somente quando interrompe o feixe, mas se puder poste para mim como voce faria somente para eu ter uma ideia melhor, estou terminado a parte mecanica, ainda falta testar se da para fazer um feixe bem fino para o led interromper,, e depois testar a velocidade. Com tudo pronto só vai faltar o lcd

aguardo seu comentario

e mais uma vez obrigado pela ajuda..

Olá.
Consegui um tempinho livre para realizar os testes.
Eu gosto de ligar o botao de forma a entrada ficar em HIGH quando o botao nao está pressionado, portanto em LOW quando pressionado.
Basta ligar dessa forma como está na foto. Sendo o Resistor ligada a tensao positiva, no caso 5V, o fio verde no terra e o fio amarelo no Arduino num entrada digital.

Se for usar o exemplo que passei basta alterar o primeiro IF para == LOW, para incrementar e o segundo if para ==HIGH. Apenas inverteu.
Depois para ligar o Fototransistor basta colocar a perna menor no conector semelhante a saida pro Arduino, fio amarelo, e a perna maior ligar no terra. Como está nessa foto.

Vc ainda pode manter os dois, o botao e o fototransistor para facilitar testes, como está na foto. Ou se preferir é só remover o botao.
Basicamente seu código vai ser isso. O que precisar depois adicionar é só dizer que te ajudo.
Qualquer problema deixa aqui, assim os outros podem aprender e ajudar tambem.
Abraço.

Por curiosidade fiz uma mascara e testei, deu certo!
Peguei um papel fiz um pequeno furo com a ponta de uma caneta e deixei um pouco na frente do LED e e os dois distantes do fototransistor e foi suficiente para aciona-lo.
Usei fonte de 5V e resistor de 330R no LED.
Acho que vc consegue fazer ainda menor o furo e pode alinhar duas mascaras assim bloqueia quase todos raios que nao forem paralelos, coloca uma separada uns 2 cm da outra e 1 cm do LED.
Coloca uma outra mascara com furo maior e cobrindo as laterais do fototransistor.
Acho que isso deve dar um feixe bem fino suficinete para detectar um resistor.
Agora falta só vc testar com seu projeto.

vinicius,

nesse sistema que estamos trabalhando (com nível lógico alto e baixo) se por acaso o resistor ficar parado na frente do sensor,
ele continua acionado;;

me deram a ideia de usar a "mudanca de estado" ao invez de nivel lógico, assim se acaso o resistor ficar parado ele nao ira ser contado novamente,
e eliminaria aquele delay do programa,,
Você sabe como usar mudanca de estado no arduino?

se puder me dar uma rápida explicação seria muito bem vindo,,
de resto ainda estou um pouco empacado na mecânica,,
estou até pensando em eliminar os motores e fazer manual mesmo, simplificaria e muito o projeto,,

Aguardo sua resposta,

Obrigado

Eu sei disso nos PICs, é atraves de um tipo de interrupção.
Provavelmente deve ter no Arduino tambem mas eu nunca vi.
Terá de procurar na internet mesmo.
Procure no google por Arduino e interrupcao, tem vários tipos e um deles é essa de mudança de estado.
Se for facil de usar, realmente facilita e evita a necessidade de delay.

boa tarde pessoal.

é um seguinte, encontrei um projeto muito legal, que usa o arduíno, para calcular a aceleração gravitacional de uma objeto.

mas não consigo fazer a programação de um circuito que amplifica o sinal de sensores IR, pois comecei a usar o arduíno há algumas semanas.

se aguem puder me da uma ajuda é esse o projeto file:///D:/Usuarios/1510134/Downloads/2014%20-%20Avalia%EF%BF%BD%EF%BF%BDo%20do%20m%EF%BF%BDdulo%20da%20acelera%EF%BF%BD%EF%BF%BDo%20da%20gravidade%20local%20com%20Arduino.pdf