7.1 Katse Mootori kasutamine
Komponeendid:
L293D 1tk
Hobby Gearmotor 1 tk
220 om takistid 1tk
1 pushbutton
9V battery
18 traati
Arduino Uno r3
Arendus Plaat
Skeem:

kood:
int switchPin = 2; // lüliti 1
int motor1Pin1 = 3; // viik 2 (L293D)
int motor1Pin2 = 4; // viik 7 (L293D)
int enablePin = 9; // viik 1(L293D)
void setup() {
// sisendid
pinMode(switchPin, INPUT);
//väljundid
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(enablePin, OUTPUT);
// aktiveeri mootor1
digitalWrite(enablePin, HIGH);
}
void loop() {
// kui lüliti on HIGH, siis liiguta mootorit ühes suunas:
if (digitalRead(switchPin) == HIGH)
{
digitalWrite(motor1Pin1, LOW); // viik 2 (L293D) LOW
digitalWrite(motor1Pin2, HIGH); // viik 7 (L293D) HIGH
}
// kui lüliti on LOW, siis liiguta mootorit teises suunas:
else
{ digitalWrite(motor1Pin1, HIGH); // viik 2 (L293D) HIGH
digitalWrite(motor1Pin2, LOW); // viik 7 (L293D) LOW
}
}
komponendid:
L293D
Arduino Uno r3
Hobby Gearmotor 1 tk
Arendus Plaat
2 pushbutton
10kOhm takistid 2tk
9V battery
23 traati
potentsiomeeter
Skeem:

kood:
int switchPin = 2; // lüliti 1
int switchPin2 = 1; // lüliti 2
int potPin = A0; // potentsiomeeter
int motor1Pin1 = 3; // viik 2 (L293D)
int motor1Pin2 = 4; // viik 7 (L293D)
int enablePin = 9; // viik 1(L293D)
void setup() {
// sisendid
pinMode(switchPin, INPUT);
pinMode(switchPin2, INPUT);
//väljundid
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(enablePin, OUTPUT);
}
void loop() {
//mootori kiirus
int motorSpeed = analogRead(potPin);
//aktiveeri mootor
if (digitalRead(switchPin2) == HIGH)
{
analogWrite(enablePin, motorSpeed);
}
else
{ analogWrite(enablePin, 0); }
// kui lüliti on HIGH, siis liiguta mootorit ühes suunas:
if (digitalRead(switchPin) == HIGH)
{
digitalWrite(motor1Pin1, LOW); // viik 2 (L293D) LOW
digitalWrite(motor1Pin2, HIGH); // viik 7 (L293D) HIGH
}
// kui lüliti on LOW, siis liiguta mootorit teises suunas:
else
{
digitalWrite(motor1Pin1, HIGH); // viik 2 (L293D) HIGH
digitalWrite(motor1Pin2, LOW); // viik 7 (L293D) LOW
}
}
Katse 7.2
Vajalikud komponendid:
Ultrasonic Distance Sensor
4 traati
Skeem:

Kood:
#define ECHO_PIN 8
#define TRIG_PIN 7
void setup() {
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);
}
-----------------------------------------------------------------------------------------
#define ECHO_PIN 8
#define TRIG_PIN 7
void setup() {
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
Serial.begin(960);
}
void loop() {
Serial.println(measure());
}
int measure()
{
digitalWrite(TRIG_PIN,HIGH);
digitalWrite(TRIG_PIN,LOW);
int distance=pulseIn(ECHO_PIN, HIGH,15000)/50;
return constrain(distance,1,300);
}
Katse 7.1
Komponendid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Ultraheli kaugusandur (1tk),
Servo (1tk),
LED(red, green )
Juhtmed (19tk)
Tööprotsess:
kui tood käe anduri juurde, süttib roheline tuli ja servomootor pöörleb 90 kraadi; käe eemaldamisel süttib punane tuli ja servomootor pöörleb 0-ni
Skeem:

Kood:
include Servo servoMotor; int trigPin = 7; int echoPin = 6; int greenLedPin = 5; int redLedPin = 3; void setup() { servoMotor.attach(9); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(greenLedPin, OUTPUT); pinMode(redLedPin, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; if (distance >= 3 && distance <= 10) { servoMotor.write(90); digitalWrite(greenLedPin, HIGH); digitalWrite(redLedPin, LOW); } else { servoMotor.write(0); digitalWrite(greenLedPin, LOW); digitalWrite(redLedPin, HIGH); } delay(100); }
Reaalse elu rakendused:
Servomootorid ja ultrahelidetektorid on laialdaselt kasutusel mitmesugustes valdkondades, kuna nad pakuvad täpsust ja töökindlust.
Robotitehnikas kasutatakse servomootoreid roboti liigeste liigutamiseks ja täpseks positsioneerimiseks, mis võimaldab robotitel täita keerulisi liikumisülesandeid. Ultrahelidetektorid aitavad robotitel orienteeruda, mõõtes takistuste kaugust ja aidates vältida kokkupõrkeid, mis on eriti oluline autonoomsete robotite jaoks.
Autonduses juhivad servomootorid näiteks küljepeegleid ja elektrilisi istmeid, võimaldades nende täpset reguleerimist. Ultrahelidetektorid on olulised parkimisabisüsteemides, aidates juhil turvaliselt parkida, hoiatades lähenevate takistuste eest.
Koduautomaatikas saab servomootoritega juhtida koduseadmeid, näiteks aknakatteid või ukseavamis-süsteeme. Ultrahelidetektorid tuvastavad inimeste kohaloleku, lülitades sisse valguse või reguleerides kütte- ja ventilatsioonisüsteeme, et suurendada energiatõhusust.
Tööstusautomaatikas kasutatakse servomootoreid tootmisliinidel robotite täpseks juhtimiseks ja erinevate seadmete liigutamiseks. Ultrahelidetektorid aitavad paigutada ja suunata objekte liinil, hoides tootmist efektiivsena ja vähendades vigade tekkimise võimalust. Neid tehnoloogiaid integreerides on võimalik saavutada suurt automatiseerituse taset ja tootmisprotsesside efektiivsust.
Servomootorid ja ultrahelidetektorid on ka olulised meditsiiniseadmetes ja põllumajandustehnoloogias. Meditsiinis võimaldavad servomootorid täpset liikumist kirurgiarobotites ja rehabilitatsiooniseadmetes, samal ajal kui ultrahelidetektorid võivad aidata patsiendi asukoha või liikumise jälgimisel. Põllumajanduses kasutatakse servomootoreid täpseks masinajuhtimiseks, ultrahelidetektoreid aga taimede või takistuste tuvastamiseks.
Uued funktsioonid:
pulseIn(): See funktsioon mõõdab impulsi kestust määratud viigul.
delayMicroseconds(): See funktsioon peatab programmi täitmise määratud arvu sekundite ajaks.
Video: