Ulesanne 7

Rahakarp

Töökirjeldus

Ultrahelisensor näeb liikumist ja suu avatakse (roheline tuli süttib) ning sinna saab panna mündi. Pärast seda suu automaatselt sulatakse (punane tuli süttib).

Komponendid

16 juhtmest
3 takistit
1 ultrahelisensor
1 servomootor
1 LED-lamp
1 Arduino Uno plaat
1 prototüüpplaat

Kasutamine

Ultrahelisensoreid saab kasutada paljudes erinevates valdkondades ja rakendustes, sealhulgas:

  1. Tööstusautomaatika:
    • Taseme mõõtmine: Vedelike või tahkete ainete taseme mõõtmine paakides ja silohoidlates.
    • Kauguse mõõtmine: Robotite ja tootmisliinide automatiseerimine, kus on vaja täpset kauguse mõõtmist.
  2. Autotööstus:
    • Parkimisabi: Tagurdus- ja parkimisandurid, mis aitavad juhil takistusi tuvastada.
    • Pimenurga tuvastamine: Abi juhile sõiduki pimenurgas olevate objektide tuvastamisel.
  3. Meditsiin:
    • Meditsiiniseadmed: Ultraheliandurid kasutatakse meditsiiniseadmetes, nagu ultraheliuuringud, et kuvada siseorganeid.
  4. Turva- ja valveseadmed:
    • Liikumisandurid: Turvasüsteemid, mis tuvastavad sissetungijaid.
    • Valvesüsteemid: Kasutatakse liikumise tuvastamiseks ja hoonete kaitsmiseks.
  5. Lennundus ja merendus:
    • Kauguse mõõtmine: Lennukites ja laevades, et mõõta kaugust maapinnast või merepõhjast.
    • Navigatsioon: Kasutatakse lennukite ja laevade navigatsioonisüsteemides.
  6. Robootika:
    • Takistuste vältimine: Robotite ja droonide navigeerimine, et vältida kokkupõrkeid.
    • Autonoomsed süsteemid: Robotid ja autonoomsed sõidukid, mis kasutavad ultrahelisensoreid keskkonna tajumiseks
  7. Kodutehnika:
    • Nutiseadmed: Automaatsete uste, segistite ja muude nutiseadmete juhtimine, mis reageerivad liikumisele.

Ultrahelisensoreid kasutatakse laialdaselt nende usaldusväärsuse, täpsuse ja mitmekülgsuse tõttu paljudes erinevates rakendustes.

Kood

#include  <Servo.h> 
#define ECHO_PIN 12

#define TRIG_PIN 13

#define ECHO_PIN2 8

#define TRIG_PIN2 9

Servo servo1;

const int RED_PIN = 5;
const int GREEN_PIN = 3;
const int BLUE_PIN = 4;

void setup()
{
servo1.attach(10);
  
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN2, INPUT);
pinMode(TRIG_PIN2, OUTPUT);
  
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);

Serial.begin(9600);
}
void loop()
{
int position;

digitalWrite(TRIG_PIN,HIGH);

digitalWrite(TRIG_PIN,LOW);
  
digitalWrite(TRIG_PIN2,HIGH);

digitalWrite(TRIG_PIN2,LOW);

int distance=pulseIn(ECHO_PIN, HIGH)/50;
int distance2=pulseIn(ECHO_PIN2, HIGH)/50;


Serial.println(distance);
Serial.println(distance2);


if(distance>10)
{
  servo1.write(0);
  delay(1000);
  Serial.println('0');
  digitalWrite(RED_PIN, LOW);
  digitalWrite(GREEN_PIN, HIGH);
}
else if(distance<=10)
{
  servo1.write(90);
  delay(1000);
  Serial.println('2');
  digitalWrite(GREEN_PIN, LOW);
  digitalWrite(RED_PIN, HIGH);
}
}

Link

Konstruktsioon Tinkercad