Temperature sensor

KATSE 4.1

Kasutatud komponendid:

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.
}

KATSE 4.2

Kasutatud komponendid:

Skeem:

Kood:

#include  <Servo.h> 
Servo servo1; 

void setup() {
  // Сейчас мы прикрепим (attach) объект servo1 к цифровому пину 9. Если вы собираетесь управлять более чем одним
 // сервоприводом, Вы должны прикрепить каждый новый объект серво к своему, отдельному порту, причем это порт должен быть цифровым.
  servo1.attach(9); 
  }
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); 
}
}

Servo:

Komponendid:
7 juhtmed

Arduino plaat

servo motoor

Skeem:

Kood:

#include <Servo.h>
  Servo servo1;
  const int temperaturePin = 0;
  const int redPin = 8;
  void setup() {
    servo1.attach(9);
    Serial.begin(9600);
    pinMode(temperaturePin, INPUT);
    pinMode(redPin, OUTPUT);
  }
  void loop() {
    float voltage, degreesC, degreesF;
    int position;
    voltage = getVoltage(temperaturePin);
    degreesC = (voltage - 0.5) * 100.0;
    delay(1000);
    
    Serial.print("Voltage: ");
    Serial.print(voltage);
    Serial.print(" deg C: ");
    Serial.println(degreesC);

    
  /*  
    if (degreesC = 21) {
      position = 0;
       servo1.write(position);
      digitalWrite(redPin, HIGH);

    } else if (degreesC = 35) {
       position = 180;
      servo1.write(position);
      delay(20);
    }
*/
    
    if (degreesC <= 25) { 
    servo1.write(180);   
  } else if (degreesC > 25){ 
    servo1.write(0);  
  } 
  delay(1000); 
} 

  


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

Uued funktsioonid:

getVoltage – See funktsioon tagastab tõenäoliselt pinge väärtuse, võib-olla lugedes seda mõnest riistvaraseadmest (NT: Celsiuse mõõtmiseks sisestame valemi degreesC = (voltage – 0.5) * 100.0;! Kus on vaja pinget teada saada)

float getVoltage(int pin)

{

return (analogRead(pin) * 0.004882814);

}

 Raamatukogu <Servo.h>

Mõeldud koostööks servomootoriga

#include <Servo.h> – raamatukogu väljakirjutamine

Servo(servomootori number).write(*kraadid *) – Mõeldud Mootori kerimiseks! Oletame, et võtame Servo(servomootori number).write(180), siis keritakse seda 180 kraadi

Servo servo1; – Servoajami juhtimise objekt

Link:

Selline rooboti võib kasutada kasvuhoones, selle pärast, et see reageerib temperatuuri ees. Kui tempreratuur on suurem, kui 25 siis ta avab ukset, kui väiksem siis kinnib