2 лаба
const int ledPin = 3; // Ножка для подключения светодиода const int photoResistorPin = A0; // Ножка для подключения фоторезистора void setup() { pinMode(ledPin, OUTPUT); // Устанавливаем ножку светодиода в режим ВЫХОД } void loop() { int sensorValue = analogRead(photoResistorPin); // Считываем значение с фоторезистора int brightness = map(sensorValue, 0, 1023, 255, 0); // Преобразуем значение в диапазон яркости (0-255) analogWrite(ledPin, brightness); // Устанавливаем яркость светодиода }
https://www.tinkercad.com/things/k82XGafUIA2-daring-lahdi-duup/editel?sharecode=QFswpJvFsm3ERzKObwJbdHy3jI3BmSxMXfc7Ai7vFOw
const int blueLedPin = 2; // Ножка для подключения синего светодиода
const int greenLedPin = 3; // Ножка для подключения зеленого светодиода
const int redLedPin = 4; // Ножка для подключения красного светодиода
const int tempSensorPin = A0; // Ножка для подключения датчика температуры
void setup() {
pinMode(blueLedPin, OUTPUT); // Устанавливаем ножки светодиодов в режим ВЫХОД
pinMode(greenLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
}
void loop() {
float tempC = getTempC(); // Получаем температуру в Цельсиях
// Управление светодиодами в зависимости от температуры
if (tempC < 20.0) {
digitalWrite(blueLedPin, HIGH); // Включаем синий светодиод
digitalWrite(greenLedPin, LOW); // Выключаем зеленый и красный
digitalWrite(redLedPin, LOW);
} else if (tempC >= 20.0 && tempC <= 26.0) {
digitalWrite(greenLedPin, HIGH); // Включаем зеленый светодиод
digitalWrite(blueLedPin, LOW); // Выключаем синий и красный
digitalWrite(redLedPin, LOW);
} else {
digitalWrite(redLedPin, HIGH); // Включаем красный светодиод
digitalWrite(blueLedPin, LOW); // Выключаем синий и зеленый
digitalWrite(greenLedPin, LOW);
}
}
// Функция для получения температуры в Цельсиях
float getTempC() {
int sensorValue = analogRead(tempSensorPin); // Считываем значение с датчика температуры
float voltage = (sensorValue * 5.0) / 1023.0; // Преобразуем значение в напряжение
float tempC = (voltage - 0.5) * 100.0; // Вычисляем температуру в Цельсиях
return tempC;
}
https://www.tinkercad.com/things/8udC8sYmTET-brave-juttuli-snaget/editel?sharecode=Nw0BMnaxx9Pnoh-J-URTdwX3p0h_bnpsMfmyydGsZL4
#include <Servo.h> // Подключаем библиотеку Servo
Servo servo; // Создаем объект Servo
const int servoPin = 9; // Ножка для подключения сервопривода
void setup() {
servo.attach(servoPin); // Подключаем сервопривод к ножке 9
}
void loop() {
// Поворот сервопривода с шагом 2 градуса до 180 градусов
for (int angle = 0; angle <= 180; angle += 2) {
servo.write(angle);
delay(20); // Пауза 20 миллисекунд
}
// Дополнительный код для повтора или других действий
}
https://www.tinkercad.com/things/22Vfs7ldYwV-super-krunk-jaagub/editel?sharecode=QzjXxgRnM7az93tp5zLnBzYlXz7CTaTPOWrWfnpj1E4
int melody[] = { NOTE_E6, NOTE_D6, NOTE_FS5, NOTE_GS5,
NOTE_CS6, NOTE_B5, NOTE_D5, NOTE_E5,
NOTE_B5, NOTE_A5, NOTE_CS5, NOTE_E5,
NOTE_A5 };
int noteDurations[] = { 8, 8, 4, 4, 8, 8, 4, 4, 8, 8, 4, 4, 1 };
void setup() {
// Цикл для воспроизведения каждой ноты мелодии
for (int thisNote = 0; thisNote < 13; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(8, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
}
}
void loop() {
// Цикл loop не используется, так как мелодия воспроизводится только в setup()
}
https://www.tinkercad.com/things/fAR17qPJlXi-swanky-trug-vihelmo/editel?sharecode=ayvPb3jesoEtbKzoOA5hSQqfqUasFX_R71kC5-36WIU
const int potPin = A0; // Ножка для подключения потенциометра
const int piezoPin = 3; // Ножка для подключения пьезо-динамика
void setup() {
// Ничего не нужно делать в setup()
}
void loop() {
int sensorValue = analogRead(potPin); // Считываем значение с потенциометра
int frequency = map(sensorValue, 0, 1023, 500, 2000); // Преобразуем значение в частоту звука (500-2000 Гц)
tone(piezoPin, frequency); // Воспроизводим звук на пьезо-динамике
delay(10); // Пауза 10 миллисекунд
noTone(piezoPin); // Останавливаем звук
delay(10); // Пауза 10 миллисекунд
}
https://www.tinkercad.com/things/aDVtyEG7w6t-ingenious-fulffy/editel?sharecode=vbWG_AeaYezAWmwLHp_ttq365Uuc8uQy9S3Ak1WDLXU
const int photoresistorPin = A0; // Ножка для подключения фоторезистора
const int speakerPin = 3; // Ножка для подключения динамика
void setup() {
// Ничего не нужно делать в setup()
}
void loop() {
int sensorValue = analogRead(photoresistorPin); // Считываем значение с фоторезистора
int frequency = map(sensorValue, 0, 1023, 500, 2000); // Преобразуем значение в частоту звука (500-2000 Гц)
tone(speakerPin, frequency); // Воспроизводим звук на динамике
delay(10); // Пауза 10 миллисекунд
noTone(speakerPin); // Останавливаем звук
delay(10); // Пауза 10 миллисекунд
}
https://www.tinkercad.com/things/dycxAlvUs3D-tremendous-uusam/editel?sharecode=sYRuSn3I0cXJhr8F37zzE-DT2wAEo8dL5PpHOnu6bII