Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este instrutível guiará o aluno pela construção de um sensor de estacionamento usando um arduino. Especificamente, terei um sensor ultrassônico constantemente pesquisando a distância e junto com um pequeno código que mede essa distância e a coloca em alguns loops if else para determinar quais sons são reproduzidos a que distância.
Esta tarefa cobre os padrões 17 e 18 no que diz respeito às tecnologias de informação e tecnologias de transporte.
Ao final desta tarefa, os alunos devem ter uma compreensão básica de circuitos e codificação.
Etapa 1: peças necessárias
Começando com um arduino, um sensor de alcance ultrassônico e uma campainha passiva, você pode criar um sensor de estacionamento para o desajeitado de um irmão. O kit arudino que uso para este instrutível custa US $ 30 na Amazon.
Etapa 2: conectando tudo
Após a coleta dos materiais, eles devem ser conectados da maneira mostrada. As diferentes pistas do circuito foram codificadas por cores para sua conveniência. Com o vermelho representando o fio energizado e o marrom representando o aterramento. Os fios azul e amarelo representam os dois pinos digitais aos quais o sensor ultrassônico precisa ser conectado. E o verde é o pino digital ao qual a campainha passiva deve ser conectada.
Não há necessidade de que tenham a forma do desenho mostrado, pois os componentes devem ser colocados de forma que a campainha possa ser ouvida pelo motorista, e o sensor ultrassônico deve ser conectado à parte traseira do carro.
Etapa 3: Código
A ideia por trás deste código é fazer uso da biblioteca fornecida pelo Elegoo quando você compra um kit arduino deles. Especificamente o SR04 da biblioteca, que é para o sensor ultrassônico, e os pitches da biblioteca, que é uma biblioteca de notas que pode ser tocada em suas campainhas. Você pode alterar quais pinos você usa para conectar as partes, modificando os pinos trigonométricos e de eco para o SR04 e alterando o primeiro número na função de tom em seu código, você pode alterar a qual pino sua campainha está conectada. Os pinos que eu configurei atualmente são os pinos padrão configurados pelo Elegoo.
#include "SR04.h" #define TRIG_PIN 12
#define ECHO_PIN 11 SR04 sr04 = SR04 (ECHO_PIN, TRIG_PIN);
int a;
#include "pitches.h"
melodia int = {NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};
duração interna = 500;
void setup () {Serial.begin (9600); atraso (1000); }
loop vazio () {a = sr04. Distance (); Serial.println (a); atraso (500);
if (sr04. Distance () <50) {tom (8, melodia [7], 250); atraso (250); } outro
if (sr04. Distance () <100) {tom (8, melodia [3], 500); atraso (500); } outro
if (sr04. Distance () <150) {tom (8, melodia [0], 500); atraso (500); }outro
if (sr04. Distance ()> 150) {delay (500); }}
Etapa 4: modifique seu código para se adequar ao seu objetivo
Se necessário, você pode precisar modificar o código para seu propósito. Porque o código fornecido se destina a fornecer ao usuário bastante feedback por meio do monitor serial sobre o que ele está fazendo. Quando ele é desconectado de um computador, ele pode falhar e parar de funcionar corretamente. nesse caso, você precisaria modificar o código de forma que não dependa do monitor serial para funcionar. Nesse caso, parei de ter o monitor serial imprimindo a partir da variável e, em vez disso, fiz com que ele imprimisse diretamente. Isso pode causar uma diminuição na precisão do monitor serial, pois a distância pode mudar ligeiramente entre a leitura e o tom, porém isso elimina sua necessidade no loop.
#include "SR04.h" #define TRIG_PIN 12 #define ECHO_PIN 11 SR04 sr04 = SR04 (ECHO_PIN, TRIG_PIN);
int a;
#include "pitches.h"
melodia int = {NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6};
duração interna = 500;
void setup () {Serial.begin (9600); atraso (1000); }
void loop () {Serial.println (sr04. Distance ());
if (sr04. Distance () <50) {tom (8, melodia [7], 250); atraso (250); } outro
if (sr04. Distance () <100) {tom (8, melodia [3], 500); atraso (500); } outro
if (sr04. Distance () <150) {tom (8, melodia [0], 500); atraso (500); }outro
if (sr04. Distance ()> 150) {delay (500); }}
Etapa 5: Encontre um caso de uso
Seja criativo com sua criação. Você pode usar este dispositivo com mais do que apenas um carro. Você pode usá-lo como um sensor de proximidade do seu quarto ou como uma ferramenta para o Halloween. Depois de obter a codificação e a fiação, você pode expandir esse dispositivo. Se você quiser, pode adicionar um LCD ao arduino que exibe uma leitura de distância em tempo real. Depois de pegar o jeito, usar o arduino é uma maneira divertida e fácil de se familiarizar com o processo de construção e codificação com ele.