Katse 7.1
Komponendid:
Arduino UNO 1 tk.
Arendusplaat 1 tk.
takisti 1 tk.
Juhtmed 18 tk.
Nupp 1 tk.
L293D 1 tk.
Batter 1 tk.
Hobby Gearmotor 1 tk.

code:
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:
Arduino UNO 1 tk.
Arendusplaat 1 tk.
takisti 2 tk.
Juhtmed 23 tk.
Nupp 2 tk.
L293D 1 tk.
Batter 1 tk.
Hobby Gearmotor 1 tk.
Potentsiomeeter 1 tk.

code:
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
Komponendid:
Arduino UNO 1 tk.
Arendusplaat 1 tk.
Juhtmed 4 tk.
Ultraheli andur 1 tk.

code:
#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);
}
Ülessane Rahakarp
See projekt toimib nii, et kui liikumisandur näeb midagi vähem kui 10 kaugusel, siis ta avab servomootori abil karbi ja hoiupõrsas olevate müntide arv ilmub LCD ekraanile naeratava naeratusega, siis oodake 3 sekundit, sulgege uks ja näidake kurba naeratust.
Komponendid:
Arduino UNO 1 tk.
Arendusplaat 1 tk.
takisti 1 tk.
Juhtmed 23 tk.
Potentsiomeeter 1 tk.
Servo motor 1 tk.
1602 LCD ekraan 1tk.
Ultraheli andur 1 tk.

code:
#include <LiquidCrystal.h>
#include <Servo.h>
#define ECHO_PIN 7
#define TRIG_PIN 8
int count = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Servo servo1;
byte smiley_face[8] = {
0b00000,
0b01010,
0b01010,
0b00000,
0b10001,
0b01010,
0b00100,
0b00000
};
byte sadly_face[8] = {
0b00000,
0b01010,
0b01010,
0b00000,
0b00100,
0b01010,
0b10001,
0b00000
};
const char* first[] =
{
"Mundid: "
};
void setup() {
lcd.begin(16, 2);
servo1.attach(9);
lcd.createChar(3, smiley_face);
lcd.createChar(4, sadly_face);
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
Serial.begin(960);
Serial.begin(9600);
}
void loop() {
int distance=pulseIn(ECHO_PIN, HIGH)/50;
Serial.println(distance);
lcd.setCursor(0, 0);
digitalWrite(TRIG_PIN, HIGH);
digitalWrite(TRIG_PIN, LOW);
if (distance < 10)
{
servo1.write(180);
count++;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(first[0]);
lcd.setCursor(8, 0);
lcd.print(count);
lcd.setCursor(0, 1);
lcd.write(3);
delay(3000);
lcd.setCursor(0, 1);
lcd.write(4);
digitalWrite(TRIG_PIN, HIGH);
digitalWrite(TRIG_PIN, LOW);
servo1.write(0);
}
}