Temperatuuritundlik servolülitus(Kasvuhoone temperatuuri reguleegimine)

Katse Temperatuuri andur

Komponendid:

  • 4 juhtmed;
  • 1 Temperature Sensor (TMP36);
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3.

Tööpõhimõte :

Katse temperatuuri mõõtmiseks temperatuurianduri abil.

Saadud tulemused kirjutame  iga sekundi tagant Serial Monitori.

Ühendamise skeem:

Kood:

const int temperaturePin = 0;

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

void loop()
{

float voltage, degreesC, degreesF;
// kasutame analogRead(), mis tagastab sisendi väärtused vahemikul 0 ... 1023.
// koostasime getVoltage() funktsioon, mis tagastab pingeväärtus  0 ... 5,

voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
// degreesC = voltage * 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);


//Ekraanil ilmub järgmine tekst: "voltage: 0.73 deg C: 22.75 deg F: 72.96"
delay(1000); // ootame 1 sek
}

float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
// teisendame pinge vahemikust 0,0 ... 5,0 V, vahemikku 0 до 1023.

https://www.tinkercad.com/things/dt7MC9ayYgn-sizzling-densor-jaban?sharecode=EhPc0-wEyWnqmk4P_R8SmFaxbXFrZDvavY8EXXUeQPM

Katse Servo kasutamine

Komponendid:

  • 8 juhtmed;
  • 1 Micro Servo;
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3.

Tööpõhimõte :

Kasutusel on 180 kraadi pöörav servo mootor. (Võtame ladususe huvides lahti näidisprogammi: File-> Examples -> Servo)

Ühendamise skeem:

Kood:

// Множество библиотек доступных для применений, можно найти на http://arduino.cc/en/Reference/Libraries,


#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()
{
// Сейчас мы прикрепим (attach) объект servo1 к цифровому пину 9. Если вы собираетесь управлять более чем одним
// сервоприводом, Вы должны прикрепить каждый новый объект серво к своему, отдельному порту, причем это порт должен быть цифровым.
servo1.attach(9); //ütleme Arduinole, et infosuhtlus servo-objektiga servo käib läbi klemmi number 9. Tegu on digitaal-klemmiga--PWM digitaalne osa! Kontrollime, kas skeemil kasutame sama klemmi.
}
void loop()
{
int position;

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

// servo positsiooni muutmine väike kiirusega pärisuunas:
for(position = 0; position < 180; position += 2)
{
servo1.write(position); // positsiooni muutmine
delay(20); 
}

// servo positsiooni muutmine väike kiirusega vastupäeva:
for(position = 180; position >= 0; position -= 1)
{ 
servo1.write(position); // positsiooni muutmine
delay(20); 
}
}

https://www.tinkercad.com/things/fa1fBgL1ZHi-bodacious-bojo-gaaris

Automatiseeritud kasvuhoone

Temperatuuri- ja valgustusetundlik servolülitus

Komponendid:

  • 13 juhtmed;
  • 2 resistor (220);
  • 1 Temperature Sensor (TMP36);
  • 2 LED (RED ja BLUE)
  • 1 Micro Servo;
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3.

Tööpõhimõte :

  • Kaks LED;
  • Temperatuuril rohkem või täpselt 35 kraadi põleb punane LED (22 kraadi viib servo asendisse 0);
  • Temperatuuril vähem kui 22 kraadi põleb sinine LED (kraadi viib servo asendisse 180);
  • Temperatuur muutub Temperature Sensor (TMP36);
  • Micro Servo abil muutub LED värv;
  • Koostas skeemi ja salvestas koodi keskkonda “tinkercad.com”;
  • Koostas skeemi Arduino;
  • Loos skeemi, mis töötab foto ja video;

Ühendamise skeem:

Kood:

#include  <Servo.h>
Servo servo1;
const int temperaturePin = 0;
int hot = 10; //горячо
int cold = 13; //холодно
void setup()
{
servo1.attach(9);
Serial.begin(9600);
pinMode(hot,OUTPUT);
pinMode(cold,OUTPUT);
}
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(3000);
  if (degreesC < 22)
  {
    servo1.write(0);
    digitalWrite(hot, LOW);
    digitalWrite(cold, HIGH);
    delay(2000);
  }
  else if (degreesC >= 35)
  {
    servo1.write(180);
    digitalWrite(hot, HIGH);
    digitalWrite(cold, LOW);
    delay(2000);
  }
  }
  float getVoltage(int pin)
  {
    return (analogRead(pin) * 0.004882814);
  }

https://www.tinkercad.com/things/fYYsRRTiEId-fantastic-juttuli?sharecode=VSios-RBAwrdYPVL_pADidJI1uw5y3RrZDiiX_7tNt0

FOTO

Video

https://drive.google.com/file/d/1DBKUPIjcj4L-dbYNYk4fyzZASlAEqew5/view?usp=drivesdk

Kommentaatorid (uued võimalused):

# include  <Servo.h>

nii teavitame Arduino IDE-t vajadusest kasutada Servo.h teeki (подключаем дополнительную библиотеку)

Servo servo1;

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

servo1.write(90);

pööramise nurk =90 (угол вращения)

servo1.write(180);

pööramise nurk =180 (угол вращения)

const int temperaturePin

Code string const int temperaturePin teatab nimega temperaturePin, mis näitab pini numbrit, millega on ühendatud temperatuuriandur.

// kasutame analogRead(), mis tagastab sisendi väärtused vahemikul 0 … 1023.
// koostasime getVoltage() funktsioon, mis tagastab pingeväärtus 0 … 5,

degreesC, degreesF

Koodis kasutatakse degreesC ja degreesF muutujaid temperatuuriväärtuste hoidmiseks Celsiuse ja Fahrenheiti kraadides.

Kasutamisvõimalused tavaelus:

Rakendus elus: hoiab temperatuuri toas, temperatuuri mõõtmise seadmetes midagi.

Servomootorite kasutamine võimaldab temperatuuri automaatset reguleerimist selle alandamise või tõstmisega.

Elus kasutatakse temperatuuriandurit elektroonilistes veekeetjates, ahjudes.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *