Veronika Milovzorova portfolio/ eng

experiment 7. motor use

motoori kasutamine

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 

 } 

} 
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 Kauguse mõõtmise anduri kasutamine

#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. Rahakarp

Kasutasin:
19 juhet
1 lcd
1 takisti
andur
plaat
arduino

Kood on kirjutatud hoiupõrsa jaoks, kasutades liikumisandureid ja ekraani

#include <LiquidCrystal.h>
 
// Pins Sonar HC-SR04 jaoks   
const int trigPin = 7;
const int echoPin = 8;
LiquidCrystal lcd(12, 11, 6, 4, 3, 2);
unsigned long objectDetectedTime = 0;
const unsigned long displayDuration = 5000;  // Täisekraani kuvamise kestus (millisekundites)
 
byte DOT[8] = {
  0b11111,
  0b11111,
  0b11111,
  0b11111,
  0b11111,
  0b11111,
  0b11111,
  0b11111
};
 
void setup() {
  lcd.createChar(0, DOT);  // Loo kohandatud naeratuse sümbol
  lcd.begin(16, 2);  // LCD-ekraani initsialiseerimine
  pinMode(trigPin, OUTPUT);  // Määra viigu trigPin väljundiks
  pinMode(echoPin, INPUT);  // Määra echoPin sisendipiniks
}
 
void loop() {
 	
  // Signaali saatmine andurile
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  

 
  // Helisignaali viiteaja mõõtmine
  long duration = pulseIn(echoPin, HIGH);
 
  // Arvutage kaugus viivitusaja alusel.
  int distance = duration * 0.034 / 2;
 
  // Kontrollige, kas anduri ees on mingi objekt.
  if (distance < 200) { // video kasutab kaugust 4, kuid näide on seatud teistsugusele kaugusele
    if (objectDetectedTime == 0) {
      objectDetectedTime = millis();  // Pidage meeles, millal objekt esmakordselt avastati
      fillScreenWithSmiley();
    }
  } else {
    if (objectDetectedTime > 0 && millis() - objectDetectedTime >= displayDuration) {
      objectDetectedTime = 0;  // Objekti tuvastamise aja lähtestamine
      clearScreen();
    }
  }
 
  delay(100);
}
 
void fillScreenWithSmiley() {
  lcd.setCursor(0, 0);
  lcd.write(byte(0));
  lcd.write(byte(0));
  lcd.setCursor(14, 0);
  lcd.write(byte(0));
  lcd.write(byte(0));
  lcd.setCursor(0, 1);
  for (int Korda = 0; Korda < 16; Korda++) 
  {
    lcd.write(byte(0));
  }
   
}
 
void clearScreen() {
  lcd.clear();
  lcd.setCursor(2, 1);  
  for (int Korda = 0; Korda < 12; Korda++) 
  {
    lcd.write(byte(0));
  }
}

Liikumisandureid kasutatakse laialdaselt erinevates valdkondades ja seadmetes liikuvate objektide tuvastamiseks. Turvasüsteemid, Valgustus, Automaatuksed, Automaatne aktiveerimine.

en_US