//Kõik kasutatud funktsioonid lehe lõpus
1. Katse -LED dioodid ja RGB LED-
Komponentid:
- Led
- 3300 Takisti
- Juhe 3x
Töö kirleldus:
Kogemus plaadi ja LED-iga. Töö eesmärk on luua tinkercad emulaatoris tahvlilt jäädioodi töö imitatsioon koos töökoodi kirjutamisega c ++.
Skeem:

programi good:
// C++ code
//
void setup()
{
pinMode(13, OUTPUT);//задаем два значения- номер порта и выход
}
void loop()
{
digitalWrite(13, HIGH);//включение леда
delay(1000); // Wait for 1000 millisecond(s) задержка
digitalWrite(13, LOW);//выключение
delay(1000); // Wait for 1000 millisecond(s) задержка
}
https://www.tinkercad.com/things/iOixmeRPO1d-fantabulous-elzing-jaiks/editel?sharecode=pWv936QrMd-0p44A1bxLAfyNxt0VH_-sJKniJz1upqw
Rakendus elus võib olla dioodi banaalne vilkumine, näiteks vanikul
RGB ledi ühendamine
Komponendid:
- RGB led
- 330 om takisti
- Juhe 6x
Töökirjeldus: õppige töötama rgb deoodiga, simuleerima deoodi näiteks vanikul, mis võib süttida erinevates värvides
Skeem:

Good c++:
const int RED_PIN = 11;
const int GREEN_PIN = 9;
const int BLUE_PIN = 10;
int DISPLAY_TIME = 100; // переменная по смене цветов
void setup()
{
pinMode(RED_PIN, OUTPUT);//выводим значения и выходы
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop()
{
mainColors();
//
// analogWrite() - градация яркости от 0 до 255
// showSpectrum ()- которая плавно проследует через каждыу 8 цветов
showSpectrum();
}
void mainColors()
{
// Выкл. – все светодиоды выключены
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем КРАСНЫЙ – RED_PIN, HIGH.
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем ЗЕЛЕНЫЙ – GREEN_PIN, HIGH.
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// Включаем СИНИЙ – BLUE_PIN, HIGH.
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
// Включаем ЖЕЛТЫЙ – RED и GREEN HIGH.
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
// БИРЮЗОВЫЙ – GREEN и BLUE
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//РОЗОВЫЙ – RED и BLUE
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
//БЕЛЫЙ – все цвета HIGH (Вкл.)
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
}
// Ниже приведен код еще двух функций: ShowSpectrum () и showRGB(). ShowRGB () - выводит один цвет на светодиод. ShowSpectrum () выводит все цвета по очереди – радуга.
void showSpectrum()
{
int x;
for (x = 0; x < 768; x++)
{
showRGB(x); // Вызов RGBspectrum() сновым значением x
delay(10); // Пауза 10 ms (1/100 секунды)
}
}
// 0 =красный
// 255 = зеленый
// 511 = синий
// 767 = красный
void showRGB(int color)
{
int redIntensity;
int greenIntensity;
int blueIntensity;
if (color <= 255)
{
redIntensity = 255 - color; // красный меняется из включенного на выключенный
greenIntensity = color; // зеленый меняется из выключенного на включенный
blueIntensity = 0; // голубой всегда выключен
}
else if (color <= 511)
{
redIntensity = 0; // красный всегда выключен
greenIntensity = 255 - (color - 256); // зеленый от включенного к выключенному
blueIntensity = (color - 256); // голубой от выключенного к включенному
}
else if (color >= 512)
{
redIntensity = (color - 512); // красный выкл. К вкл.
greenIntensity = 0; // зеленый всегда выкл.
blueIntensity = 255 - (color - 512); // голубой от вкл. К выкл.
}
analogWrite(RED_PIN, redIntensity);
analogWrite(BLUE_PIN, blueIntensity);
analogWrite(GREEN_PIN, greenIntensity);
}
Selle kogemuse käigus õppisin rgb-dioodiga töötamist.
https://www.tinkercad.com/things/jtgogtgBzIk-incredible-amberis/editel?sharecode=osNwPCGrpGgjn1jY-RLcZt9iF5hoqerCInBt2C2EbUc
Ülesanne 1 Valgusfoor
On kasutatud:
- Plaat
- 7 juhtmed
- 5 led lampi
- c++ kood
- Arendusplaat
Töö kirjeldus: kogemus foori simulatsiooni loomisel, koodi kirjutamisel ja edasisel kasutamisel ArduinoIDE programmis
Ülesande täitmiseks kasutasin tincercadi veebisaiti, seadistasin tahvli ja terminali, olles teinud kõik vajalikud ühendused, kirjutasin järgmise koodi, mis simuleerib autodele ja jalakäijatele mõeldud foori, registreerisin ka öörežiimi, milles põleb ainult autofoori kollane tuli
Skeem:

C++ kood:
// C++ code
//
int redled1=11; //задаю переменные
int yellowled=10;
int greenled1=9;
int redled2=8;
int greenled2=7;
void setup()
{
pinMode(redled1,OUTPUT);
pinMode(yellowled,OUTPUT);
pinMode(greenled1,OUTPUT);
pinMode(redled2,OUTPUT);
pinMode(greenled2,OUTPUT);
}
void day()//фукция для дневного режима
{
digitalWrite(greenled2,HIGH);
digitalWrite(redled1,HIGH);
delay(10000);
digitalWrite(redled1,LOW);
digitalWrite(greenled2,LOW);
digitalWrite(yellowled,HIGH);
digitalWrite(redled2,HIGH);
delay(1000);
digitalWrite(yellowled,LOW);
digitalWrite(greenled1,HIGH);
delay(10000); //большая задержка, чтобы у машин было время проехать
digitalWrite(greenled1,LOW);
digitalWrite(redled2,LOW);
digitalWrite(yellowled,HIGH);
digitalWrite(redled2,HIGH);
delay(1000);
digitalWrite(yellowled,LOW);
digitalWrite(greenled2,HIGH);
digitalWrite(redled2,LOW);
digitalWrite(redled1,HIGH);
delay(10000);
digitalWrite(redled1,LOW);
digitalWrite(greenled2,LOW);
}
void night()//функция для ночного режима
{
digitalWrite(yellowled,HIGH);
delay(1000);
digitalWrite(yellowled,LOW);
delay(1000);//маленькая задержка так как это мигание
digitalWrite(yellowled,HIGH);
delay(1000);
digitalWrite(yellowled,LOW);
delay(1000);
digitalWrite(yellowled,HIGH);
delay(1000);
digitalWrite(yellowled,LOW);
delay(1000);
}
void loop()//запуск функций
{
day();
night();
}
Teos imiteerib valgusfoori, esimesed kolm lampi üleval on autofoor ja alumised 2 on jalakäijate foor, pärast seda, kui päevarežiim on meile kõigile teada, lülitatakse sisse öörežiim, milles ainult kollane värv põleb
https://www.tinkercad.com/things/dLJuWgaDe06-mighty-fyyran-rottis/editel?sharecode=lx-UC3yQkZijGpLumdwoKsaoWRbPM-kLCz36KCPEXW4
Video emulaatoris:
Pärast seda otsustasin selle päris tahvlil uuesti luua. Kasutasin Arduino IDe
Selles töös omandasin eelmises järgus robootika alased kogemused, hakkasin paremini mõistma tööpõhimõtet, õppisin koodi kirjutamise põhitõdesid c ++ keeles, õppisin elektroonikaga töötamist otseülekandes, mitte ainult emulaatoris.
Kasutatud funktsioonid:
pinMode(pin, mode)
– seab pinu režiimi (sisend/väljund).digitalWrite(pin, value)
– seab pinu väljundväärtuseks (kõrge/madal).analogWrite(pin, value)
– seab pinule analoogsignaali väljundväärtuseks.analogRead(pin)
– loeb analoogsignaali sisendväärtuse pinult.delay(milliseconds)
– viivitus (ootab määratud millisekundid).