Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/victor-lis/sensor_tcrt5000_e_leds
https://github.com/victor-lis/sensor_tcrt5000_e_leds
arduino led robotics sensor
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/victor-lis/sensor_tcrt5000_e_leds
- Owner: Victor-Lis
- Created: 2023-12-10T17:48:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-10T20:19:25.000Z (about 1 year ago)
- Last Synced: 2024-10-05T12:41:05.507Z (3 months ago)
- Topics: arduino, led, robotics, sensor
- Language: C++
- Homepage:
- Size: 221 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sensor-TCRT5000 e Leds
Esse com certeza foi o sensor mais emblemático para mim.
Fiz até aqui uma série de posts de sensores, que de uma forma ou outra utilizei para detectar movimentação.
Todos eles fizeram parte de uma "pesquisa" que eu fiz para ver qual sensor seria o mais rápido para tal função, pois precisarei disso em um projeto maior que está por vir.
E esse sensor foi o de longe mais rápido, outros sensores tiverem cerca de 0.5s a 2s de delay, já esse sensor foi basicamente instantâneo.
Sendo assim será o sensor ideal para minha necessidade.
## DesafiosAcredito que meus principais desafios nesse projeto foram:
- Utilizar a voltagem ideal para o sensor.
- Entender como o sensor funciona, para utiliza-lo da maneira correta.
- Entender a distância máxima de detecção do sensor.
## AprendizadosPor final aprendi algumas coisas interessantes como:
### Iniciando o código
```c++
int pinLedRed = 11;
int pinLedGreen = 12;
int pinSensor = 4;
```### Configuração Inicial
```c++
void setup(){
pinMode(pinSensor, INPUT);
pinMode(pinLedGreen, OUTPUT);
pinMode(pinLedRed, OUTPUT);
digitalWrite(pinLedGreen, LOW);
digitalWrite(pinLedRed, LOW);
Serial.begin(9600);
}
```### Loop
Acho que a única coisa entre muitas aspas "trabalhosa" ao mexer com esse sensor é que ele funciona de maneira inversa aos outros que já mexi, sendo assim o *NÃO* ter movimento é *HIGH* e o *TER* movimento é *LOW*.#### Por que esse sensor funciona de maneira diferente?
R: Pois ele envia um sinal em infravermelho e o lê de volta.
#### Então:
Se existir algo obstruindo esse retorno do infravermelho o valor é LOW (Pois ele não leu de volta).
Se não existir algo obstruindo esse retorno significa que o retorno do infravermelho é bem sucessido logo o valor é HIGH (Pois leu de volta).
Por conta disso além de ser encontrado como "Sensor-TCRT5000", pode ser encontrado como "Sensor Óptico Reflexivo".
```c++
void loop(){
if (digitalRead(pinSensor) == HIGH){
digitalWrite(pinLedGreen, HIGH);
digitalWrite(pinLedRed, LOW);
Serial.println("---------");
}else{
digitalWrite(pinLedGreen, LOW);
digitalWrite(pinLedRed, HIGH);
Serial.println("Movimento");
}
}
```## Resultado
[Ver vídeo do projeto funcionando!](https://youtube.com/shorts/og_KhTfBuMM?feature=share)
## Autores- [@Victor-Lis](https://github.com/Victor-Lis)
- [@Márcio-Yuji](https://www.linkedin.com/in/marcio-yuji-tokunaga-3aba8016/)