Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
et:distancelab:arduino:kit [2025/04/16 08:22] – created raivo.sellet:distancelab:arduino:kit [2025/05/23 13:52] (current) raivo.sell
Line 1: Line 1:
 ====== Test kit ====== ====== Test kit ======
 {{:et:distancelab:arduino:arduinokit.png?400|}} {{:et:distancelab:arduino:arduinokit.png?400|}}
 +
 +Näited: [[et:arduino|]]
 +Riistvara selgitus: https://docs.google.com/document/d/1IpCPAzKfoOvDZF8ibQgvUFCHyNuvRTI7Snzj9qOUA80/edit?tab=t.0
 +
 Näidiskood: Näidiskood:
-<code>+<code c> 
 +#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;
 +}
  
 </code> </code>
et/distancelab/arduino/kit.1744791743.txt.gz · Last modified: 2025/04/16 08:22 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