K. 7 Ultraheliandur,mis mõõdab kaugust takistuseni

#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);
}
*/
K 7.1 Rahakarp

#include <Servo.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define ECHO_PIN 8
#define TRIG_PIN 7
Servo servo1;
int count = 0;
int i = 0;
void setup()
{
lcd.begin(16, 2);
servo1.attach(10);
pinMode(6, OUTPUT);
Serial.begin(9600);
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
}
void loop()
{
lcd.setCursor(3,1);
lcd.print(count);
lcd.setCursor(0,0);
int distance = measure();
Serial.println(i);
if (distance<5 && distance>1)
{
if (i==1)
{
count+=1;
i=0;
distance=0;
}
servo1.write(90);
digitalWrite(6, HIGH);
lcd.print("MAITSEV! ");
delay(1000);
}
else
{
servo1.write(0);
digitalWrite(6, LOW);
lcd.print("ANNA MULLE RAHA!");
i=1;
}
}
int measure()
{
digitalWrite(TRIG_PIN,HIGH);
digitalWrite(TRIG_PIN,LOW);
int distance=pulseIn(ECHO_PIN, HIGH,15000)/50;
return constrain(distance,1,300);
}
Töö kirjeldus:
Tegemist on automaatse rahakarp, kui all olev andur tuvastab liikumise, siis avaneb kaas ja ekraanile kuvatakse MAITSEV! ja allpool kuvatakse pandud müntide arv, aga kui andur midagi ei märganud, siis on kirjas ANNA MULLE RAHA! ja ka paigutatud müntide arv kuvatakse allpool.
Komponendid:
- Arduino Uno
- Arendusplaat — 1
- Takisti — 1 (220 om)
- juhtmed — 21
- 1602 LCD ekraan — 1
- HC-SR04 (ultraheliandur) — 1
- Servo — 1