Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the quiz-master-next domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /data01/virt105257/domeenid/www.blinov20.thkit.ee/htdocs/wp/wp-includes/functions.php on line 6131
Парктроник с пищалкой – Georgi Blinov Õpimapp

Парктроник с пищалкой

Видеоролик:

https://drive.google.com/file/d/1ZQqXOl7Ys9NTClyhVpUlDj0eDexK2Wyz/view?usp=drivesdk

Ход работы:

подготавливаем элементы: 9 проводов, 1 пьесо-элемент, 1 ультразвуковой датчик расстояния, 1 LED лампочку красного цвета. Далее мы собираем и моделируем (все это в tinkercad).

Метод работы:

Когда дистанция равна больше 220 см, то пьесо-элемент и лампочка начинают медленно работать. Если дистанция меньше 220 см и равна 10 см, то пьесо-элемент и лампочка начинают работать быстрее. Когда дистанция меньше 10 см, то пьесо-элемент начинает быстро пищать, а лампочка быстро моргать.

Применения:

  1. В машине, для парковки.
  2. На датчиках движения (на дверях для безопасности)

Код:

#define ECHO_PIN 8

#define TRIG_PIN 7

const int buzzerPin = 6;
const int songLength = 18;
char notes[] = “cdfda ag cdfdg gf”;
int beats[] = {1,1,1,1,1,1,4,4,2,1,1,1,1,1,1,4,4,2};
int tempo = 50;
void setup()
{
pinMode(buzzerPin, OUTPUT);
pinMode(11, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
Serial.begin(960);
}

void loop()
{
digitalWrite(TRIG_PIN,HIGH);
digitalWrite(TRIG_PIN,LOW);
int distance=pulseIn(ECHO_PIN, HIGH)/50;
Serial.println(distance);
if(distance<10)
{
int i, duration;
for (i = 0; i < songLength; i++)
{
duration = beats[i] * tempo;
digitalWrite(11, HIGH);
delay(100);
digitalWrite(11, LOW);
delay(100);
if (notes[i] == ‘ ‘)
{
delay(duration);
}
else
{
tone(buzzerPin, frequency(notes[i]), duration);
delay(duration);
}
delay(tempo/10);
}
}

if(distance > 220)
{
for (int l=0; l<1; l++) { digitalWrite(11, HIGH); delay(1000); digitalWrite(11, LOW); delay(1000); tone(buzzerPin, 495, 210); delay(1000); } } if(distance < 220 && distance >= 10)
{
for (int l=0; l<1; l++)
{
digitalWrite(11, HIGH);
delay(500);
digitalWrite(11, LOW);
delay(500);
tone(buzzerPin, 495, 210);
delay(500);
tone(buzzerPin, 495, 210);
delay(500);
}
}
}

int frequency(char note)
{
int i;
const int numNotes = 8;
char names[] = { ‘c’, ’d’, ‘e’, ‘f’, ‘g’, ‘a’, ‘b’, ‘C’ };
int frequencies[] = {522, 524, 520, 529, 522, 520, 524, 523};
for (i = 0; i < numNotes; i++)
{
if (names[i] == note)
{
return(frequencies[i]);
}
}
return(0);
}