Preciso de um sensor que só possa ser colocado em cima de um objeto, para contar o número de vezes que o objeto se move para cima e para baixo.
A colocação de um acelerômetro em cima do objeto conseguiria isso ou ele pode rastrear a transição entre subir e descer?
Caso contrário, que tipo de sensor faria isso?
---------------- EDIT: -------------------------
Idealmente, eu gostaria de um sensor que eu possa colocar em cima da caixa descrita abaixo e contar os tempos em que ele sobe e desce. Possui vários trilhos de guia que impedem que ele torça. Eu planejo usar um arduino como um microcontrolador que faz as contas, só preciso de um sensor capaz de detectar o movimento para cima / para baixo. Todas as sugestões são bem-vindas. obrigado.
+ +
+ +
+ +
------------
| box |
| moves up |
| and down |
------------
+ +
+ +
sensor
accelerometer
TheDudeAbides
fonte
fonte
Respostas:
Eu acho que um acelerômetro e arduino é uma ótima maneira de contar o número de vezes que a caixa se move para cima e para baixo. É uma maneira compacta, confiável e sem contato de detectar movimento.
Poderia funcionar para movimentos tão suaves quanto a subida e descida do peito, ao respirar, deitar e certamente algo mais rápido que isso.
Você pode se safar com um simples detector de limiar com alguma histerese - conte um quando a aceleração exceder + x, defina o limiar para -x, até cruzar -x e defina o limiar para + x.
Se a aceleração for mais suave ou houver vibração de fundo que você não deseja contar (mesmo que na verdade seja movimento para cima e para baixo), o sinal poderá ser perdido no ruído.
Então você terá que implementar um simples filtro digital no arduino, que, na verdade, "procura" o movimento a uma taxa específica. Isso pode ser simples, basta adicionar as últimas 100 amostras de aceleração (a 100 Hz) e colocar a média no detector de limite, ou você pode criar um filtro mais elaborado.
Se você planeja usar um acelerômetro, experimente primeiro com o seu smartphone.
Procure na sua loja de aplicativos um aplicativo de monitor de acelerômetro, algo que registre o sensor em um arquivo e faça algumas experiências. Se criar um arquivo CSV, você poderá abri-lo no Excel e plotar gráficos etc.
O acelerômetro do telefone é bastante básico e barulhento, mas é um bom substituto para qualquer outro acelerômetro abaixo de US $ 100 e pode lhe dar uma idéia aproximada do que um de US $ 1000 poderia fazer.
Aqui está um exemplo do que eu fiz com o sensor do telefone.
Boa sorte! Poste seus resultados aqui (responda sua própria pergunta), se funcionar para você.
fonte
Em geral, não. Imagine jogar uma bola para cima (e ignore a resistência do vento): uma vez que ela se move, a única força nela é a gravidade, que produz uma aceleração constante . Não há como saber apenas da aceleração, quando a bola atingiu sua altura mais alta e recuou - a aceleração é a mesma durante todo o seu percurso até atingir o chão.
Se você souber que o objeto está começando em repouso e medir sua aceleração, poderá descobrir sua velocidade integrando a aceleração ao longo do tempo. Se desacelerar, você verá uma aceleração negativa e a integral será zero quando parar. Então, quando ele começar a se mover novamente, você verá uma mudança na aceleração e poderá começar a integrar tudo de novo. No entanto, isso depende fortemente da precisão das medições e dos cálculos. Se um deles estiver desativado um pouco, o erro aumentará gradualmente até que você não saiba mais o que realmente está acontecendo.
fonte
Primeiro, é importante entender como um acelerômetro se comporta em um campo gravitacional, como experimentamos aqui na Terra. Um acelerômetro não mede a aceleração, no sentido de que não mede apenas a mudança de velocidade. Ele mede a mudança na velocidade mais a gravidade - o que significa que você precisa realizar a medição da gravidade se planeja tentar o que descreve.
Além disso, a gravidade será medida como uma aceleração ascendente - o que é um pouco contra-intuitivo, mas faz sentido se você imaginar um acelerômetro sendo construído como algo assim:
simular este circuito - esquemático criado usando o CircuitLab
Eu abusei do editor esquemático para mostrar um rolamento de esferas suspenso em um tubo por duas molas perfeitamente amortecidas. Imagine que o acelerômetro faz sua medição dizendo a que distância da posição de repouso o rolamento de esferas está atualmente. Agora imagine girar esse dispositivo no final e poderá ver como o rolamento de esferas afunda sob a gravidade e como isso é indistinguível da aceleração. Eu acho que a relatividade tem algo a dizer sobre esse tópico, mas de qualquer maneira.
Portanto - se você tem um acelerômetro vertical e remove o efeito da gravidade, e os movimentos do seu dispositivo são suficientemente maiores que o nível de ruído do acelerômetro e, além disso, os movimentos são suficientemente suaves para não confundir o seu algoritmo - seja possível. Há uma resposta acima que menciona queda livre, o que seria um problema, mas suponho pela sua descrição que seu dispositivo não ficará em queda livre por um período de tempo. Este é um palpite embora.
Se você realmente deseja usar um acelerômetro, sua melhor abordagem para um problema como esse é gravar a saída do acelerômetro de alguma forma (eu prefiro produzi-la pelo SPI e gravá-la usando um analisador lógico USB) e anote exatamente o que você faz (ou até vídeo, se você estiver realmente interessado). Então você pode brincar com os algoritmos offline, sem a sobrecarga de se perguntar constantemente se o seu Arduino está realmente fazendo o que você pensa que é.
Como outros já mencionaram, outros tipos de sensor podem ser mais apropriados. Precisamos de mais detalhes sobre exatamente por que você está tentando comentar, eu acho.
fonte
Se o objeto se mover para cima e para baixo em guias fixas, acho que a maneira mais fácil de contar seus movimentos seria usar uma chave limitadora que seria fechada quando o objeto estiver em repouso e aberta quando afastada da posição de repouso.
fonte
Cuidado, uma reversão da aceleração não significa que a caixa virou. A caixa inicia - você vê aceleração para cima. Agora está subindo a um ritmo constante - você não vê aceleração. Reduz para metade da velocidade - você vê aceleração descendente. Ele continua a meia velocidade - você não vê aceleração. Acelera - você vê aceleração para cima. Para, você vê aceleração descendente.
Você viu cima, baixo, cima, baixo, mas a caixa realmente só subiu. Você precisará integrar-se com o tempo e ter precisão suficiente no acelerômetro para descobrir de que maneira realmente está indo - observe-o quanto a erros cumulativos, isso pode dificultar muito o problema!
Você investigou usando um telêmetro a laser para medir onde está a caixa?
fonte
Acelerômetros estão medindo acelerações. Se o movimento for realizado com aceleração, ele será detectado, pois o acelerômetro é sensível o suficiente nesse eixo. A direção da aceleração será indicada pelo sinal dos valores lidos. Observe que, ao medir acelerações no eixo vertical, a medição será influenciada pela constante de aceleração da gravitação
g
.fonte
Se não desejar contato físico (como o fornecido por um interruptor de limite ou microinterruptor típico), você poderá montar um ímã e usar um interruptor de palheta ou um efeito de hall. Ou monte algo que se destaque levemente e seja opaco e passe por um detector óptico (do tipo com um pequeno slot).
Um acelerômetro é complicado, mais caro do que qualquer um dos itens acima e, pelo motivo eloquentemente explicado por Pete Becker (e agora também por Dave Branton), provavelmente não funcionará.
fonte
Muitas informações excelentes aqui, mas eu não vi ninguém sugerir um potenciômetro linear ...
Simples, aplique tensão e conte quantas vezes o GPIO lê um HI. Pote linear mais barato? Controle deslizante de volume de um rádio antigo, ajuste de ajuste dos controladores de brinquedos R / C, etc.
fonte
Se os trilhos a seguir, que tal usar um telêmetro ultrassônico? O arduino pode fazer as contas para determinar a aceleração, e será uma implementação muito mais simples do que conectar cabos a algo que se move. Isso certamente funcionará melhor se a pista for reta. Aqui está um. https://www.sparkfun.com/products/639
fonte
Eu recomendaria o uso de duas placas de metal finas para formar um capacitor. Uma placa seria colocada em cima da caixa e a outra fixada a alguma altura da caixa. À medida que a caixa se move para cima e para baixo, a capacitância (C) varia devido à mudança na separação (d) das placas (C = kA / d). Essa alteração pode ser "convertida" por meios apropriados para uma mudança de tensão, frequência etc. e depois para um formato apropriado para a interface do arduino (pode ser necessária amplificação).
fonte