Tarkade seadmete ehitamise ring 28.11.22

TARK LINN

ROBOTITE SUMO

Sumo 3kg

Edison

ARDUINO

Mootorid

//Arduino DC motor controlling

#define motor_pin 3

void setup() { //setup function
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.println("Arduino Motor controller");

  pinMode(motor_pin, OUTPUT);
}

void loop() { //loop function
  // put your main code here, to run repeatedly:
  Serial.println("Motor ON");
  digitalWrite(motor_pin, HIGH); //turn ON motor

  delay(1000); //wait 1second

  Serial.println("Motor 0FF");
  digitalWrite(motor_pin, LOW); //turn OFF motor

  delay(1000); //wait 1second
}

Tarkade seadmete ehitamise ring 08.11.21

ROBOLAHING 2021 FINAAL

JOOTMINE

LAHTI JOOTMINE

LED LAMPIDE JOOTMINE

Harjutasime LED lampide jootmist makettplaadi peale. Selleks kasutasime 220 Ohmist takistit.

Kõigepealt tuli Arduino peal ära kontrollida, kas lambid ikkagi põlevad.

Makettplaadile võis lambid asetada vastavalt oma fantaasiale, aga ikkagi nii, et vooluring oleks õigesti olemas.

Tulemus nägi selline välja. Ühte plaati tööle ei saanud, aga kõigil ülejäänutel hakkasid lambid ilusti põlema. Patareiks on 3V tablett-patarei.

Tarkade seadmete ehitamise ring 18.10.21

Topsi hoidja

ARDUINO

Majavalvur koos heliga

Seekord lisame majavalvuri lampide juurde ka väikese kõlari ehk buzzeri. See hakkab häält tegema siis kui keegi ligidale tuleb.

Programmikoodi ülesse tuleb lisada define:

#define BUZZER 9

Ja lambi värvide funktsioonide juurde, kas teeb häält või ei.

void red() {
  digitalWrite(LED_YELLOW, LOW);
  digitalWrite(LED_RED, HIGH);
  digitalWrite(LED_GREEN, LOW);
  tone(BUZZER, 4000);
}

void yellow() {
  digitalWrite(LED_YELLOW, HIGH);
  digitalWrite(LED_RED, LOW);
  digitalWrite(LED_GREEN, LOW);
  noTone(BUZZER);
}

void green() {
  digitalWrite(LED_YELLOW, LOW);
  digitalWrite(LED_RED, LOW);
  digitalWrite(LED_GREEN, HIGH);
  noTone(BUZZER);
}

Tarkade seadmete ehitamise ring 11.10.21

MAJA VALVUR LED lampidega

Maja valvur annab LED lampidega märku kui keegi liiga lähedale tuleb. Lähemal kui 2 meetrit hakkab põlema punane tuli, kaugemal kui 2,5 meetrit põleb roheline tuli ja vahepeal kollane tuli.

Kaugust mõõdab ultrasonic andur.

Skeemil on lisaks ultrasonicule kolm erinevat värvi LED lampi ja kolm takistit – 220 Ohmi.

Programmikoodi loop tsüklis on määratud kaugused, mis juhtudel erinevat värvi lambid põlema hakkavad.

#define LED_RED 6
#define LED_YELLOW 5
#define LED_GREEN 3

#define TRIGGER 10
#define ECHO 11

float average = 0;

void setup() {
  pinMode(LED_RED, OUTPUT);
  pinMode(LED_YELLOW, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);
  pinMode(TRIGGER, OUTPUT);
  pinMode(ECHO, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int count = 0;
  for (int i = 0; i < 5; i++) {
    float tmp = distance();
    if (tmp != 0 && tmp < 300) {
      average += tmp;
      count++;
    }
    delay(10);
  }
  if (count > 0 && average > 0) {
    average /= count;
    if (average < 250 && average >= 200)
      yellow();
    else if (average < 200 && average > 0)
      red();
    else
      green();
    Serial.print(average);
    Serial.println(" cm");
  } else {
    Serial.println("Ohtu pole :)");
    green();
  }
  average = 0;
}

float distance() {
  digitalWrite(TRIGGER, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIGGER, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGGER, LOW);
  long duration = pulseIn(ECHO, HIGH, 250000);
  return duration * 0.0343 / 2;
}

void red() {
  digitalWrite(LED_YELLOW, LOW);
  digitalWrite(LED_RED, HIGH);
  digitalWrite(LED_GREEN, LOW);
}

void yellow() {
  digitalWrite(LED_YELLOW, HIGH);
  digitalWrite(LED_RED, LOW);
  digitalWrite(LED_GREEN, LOW);
}

void green() {
  digitalWrite(LED_YELLOW, LOW);
  digitalWrite(LED_RED, LOW);
  digitalWrite(LED_GREEN, HIGH);
}