Temperatuuritundlik servolülitus

4.1 Katse Temperatuuri andur

const int temperaturePin = 0;

void setup()
{
Serial.begin(9600);
}

void loop()
{

float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.print(degreesC);
Serial.print(" deg F: ");
Serial.println(degreesF);


delay(1000);
}

float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}

4.2. Katse Servo kasutamine

(плюс-красный, черный-минус)

#include  <Servo.h> // nii teavitame Arduino IDE-t vajadusest kasutada Servo.h teeki (подключаем дополнительную библиотеку)
// Как только вы "подключаете" библиотеку, так сразу получаете доступ к этим функциям. Вы можете найти список функций в библиотеке
// сервопривода в: http://arduino.cc/en/Reference/Servo. Большинство библиотек доступно из меню "Файл / примеры".

Servo servo1; // Peame looma servo objekti nimega servo1 (объект управления сервоприводом)

void setup()
{
}
void loop()
{
int position;

servo1.write(90); //pööramise nurk =90 
delay(1000); 
servo1.write(180); 
delay(1000);
servo1.write(0); //pööramise nurk =0 
delay(1000);

// servo positsiooni
for(position = 0; position < 180; position += 2)
{
servo1.write(position);
delay(20); 
}

// servo positsiooni
for(position = 180; position >= 0; position -= 1)
{ 
servo1.write(position); // positsiooni muutmine
delay(20); 
}
}

Temperatuuritundlik servolülitus

komponendid:

arduino uno

1 servo

11 juhtmed

1 Temperatuuri andur

const int temperaturePin = 1;
int lightLevel, high = 0, low = 1023;
#include  <Servo.h>
Servo servo1;


void setup()
{
  Serial.begin(9600);
  servo1.attach(9);
}


void loop()
{ 
  lightLevel = analogRead(sensorRes);
  int position;
  float voltage, degreesC, degreesF;
  voltage = getVoltage(temperaturePin);
  degreesC = (voltage - 0.5) * 100.0;
  degreesF = degreesC * (9.0/5.0) + 32.0;
  Serial.print("voltage: ");
  Serial.print(voltage);
  Serial.print(" deg C: ");
  Serial.print(degreesC);
  Serial.print(" deg F: ");
  Serial.println(degreesF);
  delay(700);
  
  if (degreesC < 25)
  {
    light();
    for(position = 180; position >= 0; position -= 1)
    { 
      servo1.write(position);
      delay(50); 
    }
  }
  else if (degreesC > 25)
  {
    light();
    for(position = 0; position < 180; position += 2)
    {
      servo1.write(position);
      delay(50); 
    }
  }
}

void light()
{
  lightLevel = map(lightLevel, 300, 800, 0, 255);
  lightLevel = constrain(lightLevel, 0, 255);
  Serial.print(lightLevel);
  Serial.println("");
}

float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
} 

Kasutamine: Servod paigaldatakse CNC-pinkidele, tõstemehhanismidele, tööstuslikele robotitele. Servo kasutusvaldkond ei piirdu tootmisega. Mehhanisme rakendatakse kodumasinates, kütte- ja kliimaseadmetes, paakautodes.

https://www.tinkercad.com/things/f3L7bQbiivJ