Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:arduino:examples [2017/08/09 07:17] kaupo.raiden:arduino:examples [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 162: Line 162:
 { {
   // Get digital value of potentiometer   // Get digital value of potentiometer
-  poteOlek = digitalRead(pot);+  potState = digitalRead(pot);
      
   // When potentiometer digital value is logical "true" then turn on LED   // When potentiometer digital value is logical "true" then turn on LED
Line 199: Line 199:
 { {
   // Get analog value of potentiometer   // Get analog value of potentiometer
-  poteOlek = analogRead(pot); +  potState = analogRead(pot); 
      
   // Turn LED on   // Turn LED on
Line 211: Line 211:
      
   // Halt the program for potentiometer analog value number of milliseconds   // Halt the program for potentiometer analog value number of milliseconds
-  delay(poteOlek); +  delay(potState); 
 } }
 </code> </code>
Line 238: Line 238:
      
   // When potentiometer value is greater than 0 then set LED on halt program for short period   // When potentiometer value is greater than 0 then set LED on halt program for short period
-  if (poteOlek > 0) +  if (potState > 0) 
   {   {
     digitalWrite(led, HIGH);     digitalWrite(led, HIGH);
-    delayMicroseconds(poteOlek); +    delayMicroseconds(potState); 
   }   }
      
Line 248: Line 248:
      
   // Halt program for short period   // Halt program for short period
-  delayMicroseconds(1023 - poteOlek); +  delayMicroseconds(1023 - potState); 
 } }
 </code> </code>
Line 457: Line 457:
    
   // Print out explaining text   // Print out explaining text
-  lcd.print("Kaugus:");+  lcd.print("Dist:");
   lcd.setCursor(0, 1);   lcd.setCursor(0, 1);
-  lcd.print("Naeb:");+  lcd.print("Object:");
 } }
 void loop()  void loop() 
Line 482: Line 482:
    
   // when infrared sensor does not see anything print out "no", otherwise print out "yes".   // when infrared sensor does not see anything print out "no", otherwise print out "yes".
-  if(infrapunaNaebObjekti == 1) lcd.print("no "); +  if(proximity == 1) lcd.print("no "); 
   else lcd.print("yes");    else lcd.print("yes"); 
    
Line 515: Line 515:
 { {
   // Set driver control pins as output   // Set driver control pins as output
-  pinMode(vasak_A,OUTPUT); +  pinMode(left_A,OUTPUT); 
-  pinMode(vasak_B,OUTPUT); +  pinMode(left_B,OUTPUT); 
-  pinMode(parem_A,OUTPUT); +  pinMode(right_A,OUTPUT); 
-  pinMode(parem_B,OUTPUT);+  pinMode(right_B,OUTPUT);
  
-  mootorid(0,0); // stop motors+  motors(0,0); // stop motors
   delay(2000); // halt program for safety purposes 2 seconds   delay(2000); // halt program for safety purposes 2 seconds
 } }
Line 527: Line 527:
 { {
      
-  mootorid(1,1); // robot goes forward+  motors(1,1); // robot goes forward
   delay(2000); // halt program for 2 seconds   delay(2000); // halt program for 2 seconds
      
-  mootorid(-1,1); // robot turns left+  motors(-1,1); // robot turns left
   delay(500);  // halt program for 500 milliseconds   delay(500);  // halt program for 500 milliseconds
 } }
  
 // This function controls the driver input pins to get correct motion // This function controls the driver input pins to get correct motion
-void mootorid(int left, int right)+void motors(int left, int right)
 { {
   // Left Motor   // Left Motor
Line 550: Line 550:
   else   else
   { // Left motor STOP   { // Left motor STOP
-    digitalWrite(vasak_A,LOW); +    digitalWrite(left_A,LOW); 
-    digitalWrite(vasak_B,LOW);+    digitalWrite(left_B,LOW);
   }   }
  
Line 588: Line 588:
 { {
   // Set driver control pins as output   // Set driver control pins as output
-  pinMode(vasak_A,OUTPUT); +  pinMode(left_A,OUTPUT); 
-  pinMode(vasak_B,OUTPUT); +  pinMode(left_B,OUTPUT); 
-  pinMode(parem_A,OUTPUT); +  pinMode(right_A,OUTPUT); 
-  pinMode(parem_B,OUTPUT);+  pinMode(right_B,OUTPUT);
  
-  mootorid(0,0); // Stop motors+  motors(0,0); // Stop motors
   delay(2000); // Delay for safety purposes   delay(2000); // Delay for safety purposes
 } }
 void loop() void loop()
  {  {
-  mootorid(100,100); // go fwd+  motors(100,100); // go fwd
   delay(2000);   delay(2000);
-  mootorid(100,255); // turn left+  motors(100,255); // turn left
   delay(2000);    delay(2000); 
-  mootorid(-255,-255); // go back+  motors(-255,-255); // go back
   delay(2000);   delay(2000);
-  mootorid(-255,-100); // go backward while turning right+  motors(-255,-100); // go backward while turning right
   delay(2000);    delay(2000); 
-  mootorid(150,-150); // turn on spot+  motors(150,-150); // turn on spot
   delay(2000);   delay(2000);
 } }
Line 616: Line 616:
   if(left > 0 && left <= 255)   if(left > 0 && left <= 255)
   { // Left motor CW   { // Left motor CW
-    analogWrite(left_A,vasak);+    analogWrite(left_A,left);
     digitalWrite(left_B,LOW);     digitalWrite(left_B,LOW);
   }   }
Line 656: Line 656:
 ==== Harjutus #5.2 ==== ==== Harjutus #5.2 ====
 Make robot parallel park itself. Make robot parallel park itself.
- 
- 
-/* 
-====== Project 6 Servo motor combine with distance sensors  ====== 
- 
-{{:et:arduino:motors:projekt6.jpg?600|}} 
- 
-===== Example #6.1 Servo motor and PWM ===== 
-Theory: [[https://www.arduino.cc/en/Reference/Map|]] 
- 
-<code c> 
- 
-/* 
-Example #6.1 
-*/ 
- 
-// Vajalike teekide kaasamine 
-#include <Servo.h>  
-  
-// Servo objekti tekitamine nimega mootor 
-Servo mootor;  
-  
-// Seadmete ühendusviikude määramine 
-const int pote = A1;  
-const int servo = 3; 
- 
-void setup() 
-{ 
-  // Servo objekti sidumine kindla Arduino viiguga 
-  mootor.attach(servo); 
-} 
- 
-void loop() 
-{ 
- /* Muutuja tekitamine ja map funktsiooni kasutamine, 
-    et väärtused sobivasse vahemikku teisendada */ 
-  int servoAsend = map(analogRead(pote),0,1023,0,180); 
-   
- /* Servomootorile positsiooni andmine vahemikus 0-180 
-    (üldiselt vastab väärtus mootori pöördenurga kraadidele) */ 
-  mootor.write(servoAsend); 
-} 
-</code> 
- 
-===== Example #6.2 Servo motor and distance sensor ===== 
- 
-<code c> 
-/* 
-Example #6.2 
-*/ 
- 
-// Kõikide vajalike teekide lisamine 
-#include <Servo.h> 
-#include <NewPing.h> 
- 
-// Servo ja ultrahelianduri ühendusviikude määramine 
-#define MOOTOR 3 
-#define TRIG A3 
-#define ECHO A4 
- 
-// Servo objekti tekitamine nimega sensM 
-Servo sensM; 
- 
-// Anduri objekti tekitamine nimega sonar 
-NewPing sonar(TRIG, ECHO, 200); 
- 
-void setup() 
-{ 
-  // Servo objekti ja ühendusviigu sidumine 
-  sensM.attach(MOOTOR);  
-   
-  // Jadaliidese tavakiirusel käivitamine (9600 baudi) 
-  Serial.begin(9600);  
-} 
- 
-void loop()  
-{ 
- 
-  // Jadaliidesesse selgitava teksti saatmine 
-  Serial.print("Kaugus: "); 
-   
-  // Tsükkel, mis iga 10 kraadise servo liikumise järel teostab kauguse mõõtmise  
-  for (int i = 0; i <= 180; i += 10)  
-  { 
-    // Servo hoova liigutamine positsiooni i 
-    sensM.write(i);  
-     
-    // Viide, et servo jõuaks saavutada ette antud positsiooni enne uut mõõtmist 
-    delay(250);  
-     
-    // Uus kaugus mõõtmine ja  tulemuse jadapordi kirjutamine 
-    Serial.print(sonar.ping_cm());  
-    Serial.print(", "); 
-  } 
- 
-  // Servo algpositsiooni liigutamine 
-  sensM.write(0);  
-   
-  // Viide, et servo jõuaks tagasi algpositsiooni 
-  delay(1000);  
-   
-  // Reavahetuse tekitamine jadapordis 
-  Serial.println("");  
-} 
-</code> 
- 
-===== Exercises ===== 
-==== Exercise 6.1 ==== 
-Modify the example so that servo motor tries to be towards a close by object.  
- 
-==== Exercise 6.2 ==== 
-Modify the example so that it returns the minimum and maximum distances and at what angles they were taken. Write data to serial port. 
-*/ 
  
en/arduino/examples.1502263037.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
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