Model lokátoru se skládá z echo senzoru umístěném na desce, která se za pomocí servomotorku. Pokud senzor zjistí předmět v definované vzdálenosti zastaví se na 1 sekundu a oznámí to zvukem z buzzeru a pak nadále pokračuje v pohybu. Pohyb je definován jako kyvadlový – o 180 doprava/doleva a zpět ve smyčce.
Lokátor je složen ze základních Arduino součástek umístěných na konstrukci sestavené ze stavebnice Merkur.
Jedná se o projekt pro začátečníky.
Arduino součástky:
1 x Infiduino Uno R3 Mainboard + 1 x USB cable(0.5m length)
1 x Mini Breadboard
1x HC-SR04 Ultrasonic Sensor
1 x Passive Buzzer 5V
1 x SG90 Servo motor
Propojovací drátky
Kód:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int servoPin = 9;
int trigPin = 11; //Trig - green Jumper
int echoPin = 12; //Echo - yellow Jumper
int speakerPin = 4;
//setup:
int alarmDistanceinCm = 30;//cm
int pauseIfDistance = 2000; // ms
void setup() {
//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(speakerPin, OUTPUT);
myservo.attach(servoPin); // attaches the servo on pin 9 to the servo object
}
void loop()
{
int i=0;
int servoPosition = 0;
digitalWrite(speakerPin,LOW);
//clock direction movements:
for (i=0;i<180;i++) {
ProcessEachServoStep(i);
}
//counter clock direction movements:
for (i=180;i>=0;i--) {
ProcessEachServoStep(i);
}
}
void ProcessEachServoStep(int i) {
int distance=0;
distance= GetDistanceCm();
Serial.println(distance);
if (distance<alarmDistanceinCm) {
ProcessAlarm();
}
myservo.write(i);
delay(20);
}
void ProcessAlarm() {
//Code for alarm, e.g. buzzer:
tone(4,500);
delay(pauseIfDistance);
Serial.println("ALARM");
noTone(4);
}
int GetDistanceCm() {
//method return distance from sensor in cm:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
long duration = pulseIn(echoPin, HIGH);
// convert the time into a distance
int cm = (duration/2) / 29.1;
return cm;
}
Cílem tohoto Arduino projektu je testování a kalibrace obousměrného regulátoru otáček (ESC) pomocí PWM signálu. Program simuluje sekvenci pohybů: dopředu, neutrální pozici a reverzní chod, což umožňuje ověřit správnou funkci ESC včetně přepínání směru otáčení motoru.
Cílem tohoto projektu je vytvořit jednoduchý, ale funkční bezpečnostní systém, který detekuje narušení prostoru pomocí vysílače (laserového paprsku) a přijímače (fotorezistoru). Jakmile je paprsek přerušen, Arduino to vyhodnotí jako narušení a spustí alarm – například zvukový signál pomocí piezo bzučáku.