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.txt · 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