This is an old revision of the document!


Test kit

Näited: Arduino näited Riistvara selgitus: https://docs.google.com/document/d/1IpCPAzKfoOvDZF8ibQgvUFCHyNuvRTI7Snzj9qOUA80/edit?tab=t.0

Näidiskood:

#include <LiquidCrystal.h>
#include <Servo.h>


// LCD ekraan (ühendatud tavalise 16x2 LCD-ga)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); 

// Servo mootor
Servo myServo;
int servoPin = 10;  

//Ventilaator
int BIN2 = 2; // DRV8833 mootori draiveri BIN2

// Ratta mootor
const int AIN1 = 12;  // AIN1 ühildub Arduino pin 12
const int AIN2 = 11;  // AIN2 ühildub Arduino pin 11
const int PWMA = 3;   // Mootori kiiruse reguleerimine (PWM)

// Nupude konstandi defineerimine 
const int nuppRIGHT = 0;
const int nuppUP    = 1;
const int nuppDOWN  = 2;
const int nuppLEFT  = 3;
const int nuppSELECT = 4;
const int nuppNONE  = 5;
 
/* Globaalsed muutujad */
// Vajutatud nupu muutuja konstandi salvestamine
int vajutatudNupp;
// Aanaloogsisendi muutuja väärtuse salvestamine
int nupuSisend; 


void setup() {
    lcd.begin(16, 2);
    lcd.print("Test algab...");
    //Ventilaatori setup
    pinMode(BIN2, OUTPUT);
    
    //Mootori setup
    pinMode(AIN1, OUTPUT);
    pinMode(AIN2, OUTPUT);
    pinMode(PWMA, OUTPUT);

  //  pinMode(button1, INPUT_PULLUP);
  //  pinMode(button2, INPUT_PULLUP);
    myServo.attach(servoPin);
    delay(2000);
    lcd.clear();
}

void loop() {
    // ______________________LCD ekraan test
    lcd.setCursor(0, 0);
    lcd.print("LCD OK!");

    // _____________________Servo mootor test_________________________
    lcd.setCursor(0, 1);
    lcd.print("Servo liigub...");
    myServo.write(0);
    delay(1000);
    myServo.write(90);
    delay(1000);
    myServo.write(180);
    delay(1000);
  
  
    //________________________ Ventilaatori test________________________
    // Käivita ventilaator
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Vent ON");
    digitalWrite(BIN2, HIGH); // Lülita mootor sisse
    delay(3000); // 5 sekundit töötab
    
    // Peata ventilaator
    digitalWrite(BIN2, LOW); // Lülita mootor välja
    delay(3000); // 5 sekundit paus

    // __________________________Väike mootor test__________________________
    lcd.setCursor(0, 0);
    lcd.print("Ratas ON");
  // 1️⃣ Mootor liigub EDASI täiskiirusel
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 255); // 255 = max kiirus
  delay(5000);  // 5 sekundit edasi

  // 2️⃣ Peatume 2 sekundiks
  analogWrite(PWMA, 0); // Kiirus 0 (mootor seisab)
  delay(2000);

  // 3️⃣ Mootor liigub TAGASI poolkiirusel
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 128); // 128 = 50% kiirus
  delay(5000);  // 5 sekundit tagasi

  // 4️⃣ Peatume uuesti 2 sekundiks
  analogWrite(PWMA, 0); // Mootor seisab
  delay(2000);
    lcd.clear();


    // _____________________________Nupud test___________________
/* Kutsub välja funktsiooni kontrolliNuppe 
   ja salvestab tagastatud väärtuse muutujasse */
  vajutatudNupp = kontrolliNuppe(); 
 
  // Kontrollib kas mõni nupp on alla vajutatud 
  if(vajutatudNupp < nuppNONE)
  {
    lcd.clear(); // Puhastab ekraani ja liigutab kursori tagasi algasendisse
 
    lcd.print("ADC: "); // Teksti kuvamine ekraanil
 
    lcd.print(nupuSisend); // Muutuja väärtuse kuvamine ekraanil
 
    delay(500); // Lühike viide, et ekraanil väärtust liiga kiirelt ei uuendataks
  }


    
}

// Funktsioon võtab analoogsisendi väärtuse ja võrdleb olemasolevate väärtustega.
// Tagastab arvu vahemikus 0 kuni 5 vastavalt defineeritud konstandile
int kontrolliNuppe()
{
 // Salvestab muutujasse analoogväärtuse viigult A0
 nupuSisend = analogRead(A0);
 if (nupuSisend < 50)   return nuppRIGHT;
 if (nupuSisend < 195)  return nuppUP;
 if (nupuSisend < 380)  return nuppDOWN;
 if (nupuSisend < 555)  return nuppLEFT;
 if (nupuSisend < 790)  return nuppSELECT;
 // Kui ühtegi nuppu pole vajutatud, siis tagastatakse "nuppNONE"
 return nuppNONE;
}
et/distancelab/arduino/kit.1748008365.txt.gz · Last modified: 2025/05/23 13:52 by raivo.sell
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0