Skip to content
Avaleht » Teema 4 «TEMP, SERVO» Aruanne

Teema 4 “TEMP, SERVO” Aruanne

Первое задание (4.1. Katse Temperatuuri andur)

Описание работы

При определенной температуре на датчике, выдает информацию через консоль(Serial.print).

Применение в жизни

Может использоваться в следующих примерах:

  • Термостаты: Используются для управления системами отопления и кондиционирования воздуха, поддерживая комфортную температуру в доме.
  • Умные дома: Включение или выключение устройств (например, вентиляторов, обогревателей) в зависимости от температуры в помещении.
  • Охлаждение компьютеров и серверов: Управление вентиляторами и системами охлаждения для предотвращения перегрева.
  • Мониторинг температуры компонентов: Поддержание работоспособности электронных устройств.
Список компонентов
  • Плата “Arduino UNO”
  • Макет
  • 1 температурный датчик
  • 4 провода

*Код*

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

*Конструкция в Tinkercad*

*Конструкция в реальности*

Второе задание (4.2 Katse Servo kasutamine)

Описание работы

Показывает небольшую работу Servo, где можно увидеть его “движение” в цикле.

Применение в жизни

Может использоваться в следующих примерах:

  • Манипуляторы и роботизированные руки: Обеспечение точного контроля над движением для выполнения различных задач, таких как сборка, сварка, рисование и другие работы.
  • Мобильные роботы: Управление колесами или гусеницами для передвижения робота, а также механизмами для подъема и опускания предметов.
  • Умные замки и двери: Автоматическое управление замками и дверями, обеспечивая безопасность и удобство.
  • Автоматические жалюзи и шторы: Управление положением жалюзи и штор для регулирования освещения и температуры в помещении.
  • Управление камерой и стабилизация: Обеспечение плавного движения и стабилизации камер в системах видеонаблюдения, дронов и кинематографического оборудования.
  • Автоматические системы тестирования: Использование в различных устройствах для автоматизированного тестирования и калибровки оборудования.
Список компонентов
  • Плата “Arduino UNO”
  • Макет
  • 8 провода
  • 1 Servo

*Код*

// Множество библиотек доступных для применений, можно найти на 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); 
}
}

*Конструкция в Tinkercad*

*Конструкция в реальности*