Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

aostap / Helinivoo

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Switch branch/tag
  • Helinivoo
  • Arduino code
Find file
BlameHistoryPermalink
  • aostap's avatar
    Add new file · 2e729154
    aostap committed a year ago
    2e729154
Arduino code 2.49 KB
Edit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

#define LED_1 12                                      // LEDi digitaalsed PIN'id
#define LED_2 11
#define LED_3 10
#define LED_4 9
#define LED_5 8
#define LED_6 7
#define LED_7 6
#define LED_8 5
#define LED_9 4

#define sensorPin A0                                  // Sensori analoog väljund

unsigned long currentMillis;                          
const long interval = 300;                            // Intervall kui kaua LEDid põlevad
unsigned long previousMillis = 0;
int sensorValue = 0;

void ReadSensorValue()                                // Funktsioon et teisendada väljundi logaritmilisele skaalale
{
    sensorValue = analogRead(sensorPin);
    
    // Sensori väljundi konverteerimine logaritmilisele skaalale
    float logSensorValue = log(sensorValue);
    
    // väärtuste printimine Serial Monitoris
    Serial.println(logSensorValue);
}

void LEDBlinking()                                    // Funktsioon LEDide kontrolliks
{
    if (sensorValue > 525)
    {
        digitalWrite(LED_1, HIGH);
    }

    if (sensorValue > 550)
    {
        digitalWrite(LED_2, HIGH);
    }

    if (sensorValue > 575)
    {
        digitalWrite(LED_3, HIGH);
    }

    if (sensorValue > 600)
    {
        digitalWrite(LED_4, HIGH);
    }

    if (sensorValue > 625)
    {
        digitalWrite(LED_5, HIGH);
    }

    if (sensorValue > 650)
    {
        digitalWrite(LED_6, HIGH);
    }

    if (sensorValue > 675)
    {
        digitalWrite(LED_7, HIGH);
    }

    if (sensorValue > 700)
    {
        digitalWrite(LED_8, HIGH);
    }

    if (sensorValue > 725)
    {
        digitalWrite(LED_9, HIGH);
    }

    currentMillis = millis();
    if (currentMillis - previousMillis >= interval)   
    {
        previousMillis = currentMillis;      
        currentMillis = millis();
        digitalWrite(LED_9, LOW);
        digitalWrite(LED_8, LOW);
        digitalWrite(LED_7, LOW);
        digitalWrite(LED_6, LOW);
        digitalWrite(LED_5, LOW);
        digitalWrite(LED_4, LOW);               
        digitalWrite(LED_3, LOW);
        digitalWrite(LED_2, LOW);
        digitalWrite(LED_1, LOW);
    }
}

void setup() 
{
    pinMode(LED_1, OUTPUT);
    pinMode(LED_2, OUTPUT);
    pinMode(LED_3, OUTPUT);
    pinMode(LED_4, OUTPUT);
    pinMode(LED_5, OUTPUT);
    pinMode(LED_6, OUTPUT);
    pinMode(LED_7, OUTPUT);
    pinMode(LED_8, OUTPUT);
    pinMode(LED_9, OUTPUT);

    pinMode(sensorPin, INPUT);

    Serial.begin(9600);                             
}

void loop() 
{
    ReadSensorValue();
    LEDBlinking();
}