Provavelmente um dos projetos básicos em arduino Eu sou sensores de estacionamento. Mas este artigo não descreve a criação de sensores de estacionamento comuns, mas sensores de estacionamento com ajuste manual da distância crítica. No processo de criação deste dispositivo, você aumentará suas habilidades em circuitos e programação.
Os principais componentes:
• placa Nano / Uno do arduino
• sensor de distância ultrassônico HC-CR04
• 6 LEDs
• 6 resistores a 220 ohms
• 2 resistores por 10 KOm
• 2 botões de relógio
• squeaker piezo
• conselho delirante
• fios de pai e pai
• esponja de sapato (para o caso)
Das ferramentas:
• ferro de solda
• cola térmica
Considere o algoritmo do dispositivo 

Depois de visualizar o algoritmo, coletamos o esquema em uma placa delirante:
Desde que montei o circuito no gabinete, foi decidido fazer mini escudos de botões e LEDs.
O estojo do dispositivo era feito de uma caixa de uma esponja para sapatos.
Parece que o dispositivo está dentro.
Vamos ver o código.
int switch1 = 9; // Botão 1
int switch2 = 10; // Botão 2
int pin = 2;
int bin = 40; // Distância crítica inicial em centímetros !!!
int echoPin = 12; // Pino de eco no módulo HC-SR04
int trigPin = 11; // Pino de acionamento no módulo HC-SR04
int buz = 8; // Pin tweeter
lBut1 booleano = BAIXO;
lBut2 booleano = BAIXO;
booleano cBut1 = BAIXO;
booleano cBut2 = BAIXO;
configuração nula () {
  Serial.begin (9600);
  pinMode (trigPin, OUTPUT);
  pinMode (echoPin, INPUT);
  pinMode (switch1, INPUT);
  pinMode (switch2, INPUT);
  pinMode (2, SAÍDA); // LED 1
  pinMode (3, SAÍDA); // LED 2
  pinMode (4, SAÍDA); // LED 3
  pinMode (5, SAÍDA); // LED 4
  pinMode (6, SAÍDA); // LED 5
  pinMode (7, SAÍDA); // LED 6
  pinMode (8, SAÍDA); // Squeak
}
debounce booleano (último booleano)
{
  corrente booleana = digitalRead (switch1);
  if (ultimo! = atual)
  {
    atraso (5);
    corrente = digitalRead (switch1);
  }
  corrente de retorno;
}
debounce2 booleano (last2 booleano)
{
  corrente booleana2 = digitalRead (switch2);
  if (last2! = current2)
  {
    atraso (5);
    current2 = digitalRead (switch2);
  }
  retornar current2;
}
loop vazio () {
  int duração, cm;
  digitalWrite (trigPin, LOW);
  delayMicrosegundos (2);
  digitalWrite (trigPin, HIGH);
  delayMicrosegundos (10);
  digitalWrite (trigPin, LOW);
  duração = pulso (echoPin, HIGH);
  cm = duração / 58;
  Serial.print (cm);
  Serial.println ("cm");
  atraso (10);
  
  cBut1 = debounce (lBut1);
  if (lBut1 == BAIXO && cBut1 == ALTO)
  {
    pino = pino 1;
    bin = bin-7; // O número 7 significa subtração em 7 cm da distância crítica !!!
  }
  lBut1 = cBut1;
  digitalWrite (pino, ALTO);
    cBut2 = debounce2 (lBut2);
  if (lBut2 == BAIXO && cBut2 == ALTO)
  {
    pino = pino + 1;
    bin = bin + 7; // O número 7 significa a adição de 7 cm da distância crítica !!!
  }
  lBut2 = cBut2;
  digitalWrite (pino, BAIXO);
  if (cm  0)
  {
    tom (8.200.200);
    atraso (300);
    
  }
  mais
  {
    noTone (8);
  }
} Os valores do compartimento podem ser alterados para um mais conveniente para você.
Como resultado, o dispositivo executa regularmente suas funções.
Este artigo o ajudará a fabricar os mesmos sensores de estacionamento sem muito esforço.
Desejo a todos boa sorte em repetir este dispositivo. Espero que meu guia tenha sido útil para você.






