Katse 7

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);
    
  }
  
}

et