Teema 3

3.1. Katse Nuppude ja Slideswitch’i kasutamise võimalus

Komponendid:

  1. Nupp x2
  2. Valgusdiood
  3. 10KQ Takisti x2
  4. 3300 Takisti
  5. Juhe x7

Töö kirleldus:

Eksponeerime tahvlid, nupud, dioodi. Panime takistid nii, nagu fotol. Ühendame komponendid tihvtidega, ühendame lauad. Järgmisena kirjutame koodi c ++, et see kõik toimiks nii, nagu vajame

Skeem:

c++ programi kood:

const int Butt1 = 11; //переменная пина первой кнопки
const int Butt2 = 10;//переменная пина второй кнопки

const int led = 13;//перменная пина диода

void setup()
{
  pinMode(Butt1, INPUT);//начальные значения
  pinMode(Butt2, INPUT);
  pinMode(led, OUTPUT);
}

void loop()
{
  int Butt1State;//переменные состояния нажатости
  int Butt2State;

  Butt1State = digitalRead(Butt1); //присвоение им кнопок
  Butt2State = digitalRead(Butt2);

  if ((Butt1State == LOW || Butt2State == LOW) && !(Butt1State == LOW && Butt2State == LOW))
  {
    digitalWrite(led, HIGH);//если нажаты то загорание
  }
  else
  {
    digitalWrite(led, LOW);//если нет
  }
}

Toimimispõhimõte – kui vajutate ühte nuppudest, süttib LED, seda põhimõtet rakendatakse kõikjal, näiteks ruumi lambipirnide lülitites

https://www.tinkercad.com/things/3CWp3dJHzeG-grand-crift/editel?sharecode=jnk1js6XCjvIcxfezl5DX_qXlUfe5KVelanq_6gD75Q

2.- Näidis- Slideswitch’i kasutamine

Komponentid:

  1. Patarei 9V
  2. SlideSwitch 1
  3. LED valgusdiood
  4. Takisti 1 220 Om
  5. Juhtmed 7 x

Töö kirleldus:

Sarnaselt eelmisele, ainult nüüd on meil nuppude asemel üks lüliti ja aku töö

Skeem:

c++ programi kood:

// C++ code
//
  int sw = 5;//переменная переключателя
  int led = 11;//переменная диода
  int swState = 0; //состояние перекючателя
void setup()
{
 pinMode(sw, INPUT);//состояние пинов
 pinMode(led, OUTPUT);
}
 
void loop()//
{
swState=digitalRead(sw);//задаем перемнной состояния переключателя
  //значение переключателя
  if(swState==HIGH)//если включен 
  {
    digitalWrite(led, HIGH);//включение диода
  }
  else//если нет
  {
    digitalWrite(led, LOW);
  }
}

Tööpõhimõte – dioodi olek sõltub lüliti asendist, kui lüliti on väljalülitatud olekus, siis diood ei sütti, niipea kui lülitame, süttib diood

https://www.tinkercad.com/things/dFcl3EcONBM-neat-sango/editel?sharecode=yJoksjlSF7feVfIu-k5ExglVgf-NIytBKYwTma_mPTg

3.2. Katse Photoresistor

Komponentid:

  1. fototakisti
  2. Valgus-diood
  3. 330 oomi Takisti
  4. Juhe 6x
  5. 10K Takisti

Töö kirleldus:

Siin simuleerime päeva ja ööd, olenevalt sellest, milline diood on sisse või välja lülitatud.

Skeem:

c++ programi kood:

const int sensorPin = 0;  // переменная пина с датчиком
const int led = 11;  // переменная пина с диодом
int lightLevel;  // Переменная значения освещности
int high = 0, low = 0;  // Переменные для хранения наивысшего и наименьшего значений освещенности

void setup()
{
  pinMode(led, OUTPUT);  // Устанавливаем пин светодиода в режим вывода
  Serial.begin(9600);  // Инициализируем последовательную связь
}

void loop()
{
  lightLevel = analogRead(sensorPin);  // Считываем уровень освещености
  analogWrite(led, lightLevel);  // яркость диода в зависимости от показателя предыдущей строки
  delay(1000);  // Пауза 
}

void autoTune()
{
  if (lightLevel < low)  //если  значение освещенности меньше наименьшего 
  {
    low = lightLevel;  // запоминвем новое меньшее значение
  }

  if (lightLevel > high)  // Если значение освещенности больше наивысшего
  {
    high = lightLevel;  // Запоминаем новое высшее значение
  }

  lightLevel = map(lightLevel, low, high, 0, 255);  //задаем диапазон от 0 до 255
  lightLevel = constrain(lightLevel, 0, 255);  // Ограничиваем значение диапазоне от 0 до 255
}

Tööpõhimõte – kui valgustase langeb, süttib diood

saate seda rakendada linnatänavate öötulede seadistamisel

https://www.tinkercad.com/things/gkhx2t2Lha6-fantabulous-lahdi/editel?sharecode=ZeZtpQLG_OExVN-kuchTsW3WRNIY4NkIOA963wPE7L8

Ülesanne 3.1 Öölamp

komponentid:

  • Valgustakisti, 
  • Nupp/pote, 
  • LED/RGB LED
  • Potentsiomeeter
  • juhe 11x

Töö eesmärk on teha öövalgusti, mis heleduse muutumisel kas lülitab öövalguse rgb lambi kujul sisse või lülitab selle välja. Saate seda kasutada mugavuse puudumisel pimedas magades

Skeem:

c++ kood

int firstPin = 4;//переменныые пинов
int secondPin = 3;
int thirdPin = 2;

int potentiometer = A0;//переменные потенциометра
int photoresistor = A1;//и фоторезистора

void setup() {
  Serial.begin(9600);
  
  pinMode(firstPin, OUTPUT);//задаем пинмоды
  pinMode(secondPin, OUTPUT);
  pinMode(thirdPin, OUTPUT);
}

void loop() {
  int photoresistorValue = analogRead(photoresistor); // Считываем значение с фоторезистора
  int potentiometerValue = analogRead(potentiometer); // Считываем значение с потенциометра

  
  if (photoresistorValue < 100 || potentiometerValue <= 10) { // Если значение фоторезистора меньше 100 или значение потенциометра
    //меньше или 10 то выкл
    analogWrite(firstPin, 0);//яркость певого 0
    analogWrite(secondPin, 0);//яркость второго 0
    analogWrite(thirdPin, 0);//яркость третьего 0
  } 
  else {
    int redBrightness = map(potentiometerValue, 10, 1023, 0, 255); // Преобразуем значение в яркость от 0 до 255
    int greenBrightness = map(potentiometerValue, 10, 1023, 0, 255);
    int blueBrightness = map(potentiometerValue, 10, 1023, 0, 255);
    
    analogWrite(firstPin, redBrightness);//задаем яркость определнного цвета
    analogWrite(secondPin, greenBrightness);
    analogWrite(thirdPin, blueBrightness);
  }
}

https://www.tinkercad.com/things/kgmwDsI3UKr-sizzling-jofo-bruticus/editel?sharecode=20La8jWqb3K9Ni895RPuspR47TmyGP0LC7IInaPFzQs

Kasutamiseks: Igas kodus on vaja öövalgustit 🙂

Video:

Mida ma õppinud:

Ma Õppisin fototakisti käsitsemist, mõistsin selle peensusi ja õppisin uusi funktsioone

Töötage potentsiomeetriga, ühendage see päris tahvliga, õppisite selle ala mõningaid nüansse ja õppisite uusi funktsioone c ++

Õpitud funktsioonid:

  1. pinMode(pin, mode) – vaata funktsiooni seadistab pinna režiimi. Koodis kasutatakse seda väljundrežiimi seadmiseks LED-i juhtpinnetele.
  2. analogRead(pin) – vt funktsioon loeb analoogsignaali väärtust määratud pinnalt. Koodis kasutatakse seda fototakistri ja potentsiomeetri väärtuste lugemiseks.
  3. analogWrite(pin, value) – vaata funktsiooni kirjutab analoogsignaali väärtusega pinnale. Koodis kasutatakse seda LED-i juhtpinnetele värvi heleduse seadmiseks, mille silmas potentsiomeetri väärtust.
  4. delay(milliseconds) – vaata funktsiooni tekitaja programm viivituse määratud millisekundite arvul. Koodis kasutatakse seda pausi loomiseks LED-ide vilkumises või värvi värskendamises.
  5. õppis ka töötama fototakisti ja lülitiga

Aitah!

Leave a Reply

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga