Меню сайта

Задание 1

Разбираем состав набора ардуино,  устанавливаем и настраиваем  программу.

Состав стартового набора ардуино

 

Скачать среду разработки можно с официального сайта ардуино
Инструкция по установке драйвера для китайской ардуино тут


Задание 2

Датчик освещенности

Схема подключения:

Скетч:

int sensePin =0;
int ledPin =3;

void setup()
{
pinMode(ledPin, OUTPUT);
}

void loop() {
int val = analogRead(sensePin);

val = constrain(val, 750, 900);
int ledLevel = map(val, 750, 900, 255, 0);

analogWrite(ledPin, ledLevel);
}


Задание 3

RGB светодиод

Схема подключения:

Скетч:

const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;

void setup()
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}

void loop()
{
mainColors();
showSpectrum();
}

void mainColors()
{
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

delay(1000);

digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

delay(1000);

digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

delay(1000);

digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

delay(1000);

digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

delay(1000);

digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

delay(1000);

digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

delay(1000);

digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

delay(1000);
}

void showSpectrum()
{
int x;
for (x = 0; x < 768; x++)
{
showRGB(x);
delay(10);
}
}

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 // color >= 512
{
redIntensity = (color — 512);
greenIntensity = 0;
blueIntensity = 255 — (color — 512);
}
analogWrite(RED_PIN, redIntensity);
analogWrite(BLUE_PIN, blueIntensity);
analogWrite(GREEN_PIN, greenIntensity);
}