Erinevused

Siin näed erinevusi valitud versiooni ja hetkel kehtiva lehekülje vahel.

Lõlita võrdlemise vaatele

Both sides previous revision Previous revision
Next revision
Previous revision
et:arduino [2015/12/11 11:27]
raivo.sell
et:arduino [2017/11/15 10:51]
raivo.sell
Rida 6: Rida 6:
  
 {{:​koolitused:​i_p_arduino_koolirobootikas_2015.pdf|Koolitusmaterjal - Loeng}} {{:​koolitused:​i_p_arduino_koolirobootikas_2015.pdf|Koolitusmaterjal - Loeng}}
- 
  
 English: English:
 {{:​koolitused:​c_robotics.pdf|Robotics and Didactics}} ​   {{:​koolitused:​c2_arduino.pdf|Arduino programming}} {{:​koolitused:​c_robotics.pdf|Robotics and Didactics}} ​   {{:​koolitused:​c2_arduino.pdf|Arduino programming}}
 */ */
 +====== Viited ======
 +
 +[[http://​itead-europe.com/​pm/​platform/​shield/​1602%20lcd%20shield/​SCH_IM120417018_Arduino1602LCDShield.pdf|LCD Shield datasheet]]\\
 +[[http://​www.sharpsma.com/​webfm_send/​1489|Sharp 10-80cm analoog andur]]
  
 ====== Näide 1 Digitaalsed I/O ====== ====== Näide 1 Digitaalsed I/O ======
Rida 91: Rida 94:
 const int nivoo = 512;  const int nivoo = 512; 
  
-int pote_sisend = A1; // määrame potentsiomeetri sisendviigu +int pote_sisend = A0; // määrame potentsiomeetri sisendviigu 
-int led = A5; // määrame LED ühendusviigu+int led = 13; // määrame LED ühendusviigu
 int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks
  
Rida 120: Rida 123:
 */ */
  
-int pote_sisend = A1; // määrame potentsiomeetri sisendviigu +int pote_sisend = A0; // määrame potentsiomeetri sisendviigu 
-int led = A5; // määrame LED ühendusviigu ​+int led = 13; // määrame LED ühendusviigu ​
 int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks int pote = 0; // muutuja potentsiomeetri väärtuse salvestamiseks
  
Rida 141: Rida 144:
  
 ====== Näide #3 LCD ====== ====== Näide #3 LCD ======
 +
 +Ühendada Arduino plaadiga LCD laiendusplaat. Selleks esmalt eemaldada USB kaabel ja ühendada lahti kõik muud ühendused, mis ette jäävad.
  
 ===== Näide #3.1 LCD kasutamine ===== ===== Näide #3.1 LCD kasutamine =====
Rida 240: Rida 245:
 // Initsialiseerime LCD koos vastavate viikude ühendamisega // Initsialiseerime LCD koos vastavate viikude ühendamisega
 LiquidCrystal lcd(8, 9, 4, 5, 6, 7); LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
-int andur = A4; // määrame ​potentsiomeetri ​sisendviigu+int andur = A1; // määrame ​temperatuurianduri (termistori) ​sisendviigu
  
 void setup() { void setup() {
Rida 299: Rida 304:
 void loop() ​ void loop() ​
  
-  // Read the input on analog pin and digital pin 10+  // Read the input on analog pin and 3
-  int AnalogSensorValue = analogRead(A0); +  int AnalogSensorValue = analogRead(A2); //Sharp analoog kaugusandur 
-  int DigitalSensorValue = digitalRead(10);+  int DigitalSensorValue = digitalRead(A3); //Digtaalne lähedusandur
   ​   ​
   Serial.println(AnalogSensorValue);​ // Print out the analog value   Serial.println(AnalogSensorValue);​ // Print out the analog value
Rida 312: Rida 317:
  
 ===== Harjutus #4.1 ===== ===== Harjutus #4.1 =====
-Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo hilisemal ​ületamisel käivitatakse täiturmehhanism (milleks on LED).+Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo ületamisel käivitatakse täiturmehhanism (milleks on LED).\\ 
 +**Lisaülesanne:​**  
 +Kombineerida LED-i heleduse programm ja eelnev temperatuuri juhtimise programm, kus LED-i heledus sõltub sellest, kui palju nivootemperatuuri ületati (1 kraad: heledus 25 %, 2 kraadi: heledus 50 %, 3 kraadi: heledus 75 % ja 5 kraadi: heledus 10
  
 ===== Harjutus #4.2 ===== ===== Harjutus #4.2 =====
-Kombineerida LED-i heleduse programm ​ja eelnev temperatuuri juhtimise programm, kus LED-i heledus sõltub sellestkui palju nivootemperatuuri ületati (1 kraad: heledus 25 %, 2 kraadi: heledus 50 %, 3 kraadi: heledus 75 % ja 5 kraadi: heledus 10+Modifitseerida kaugusandurite lugemise programmi nii, et andurite info kuvatakse LCD ekraanile ​ja ühikuteks on sentimeetrid (+-5cm täpsus). Kui pole võimalust mõõtevahendit kasutadasiis kasutada anduri andmelehe graafikut.
  
 ====== Näide #5 Mootor ====== ====== Näide #5 Mootor ======
 +
 +Servomootorite kasutamiseks eemaldada Arduino pealt LCD laiendusplaat. Selleks esmalt ühendada lahti USB kaabel ja andurid ning seejärel ettevaatlikult tõmmata kaks plaati lahti.
  
 ===== Näide #5.1 Servomootor ===== ===== Näide #5.1 Servomootor =====
Rida 370: Rida 379:
  
 ===== Harjutus #5.1 ===== ===== Harjutus #5.1 =====
-Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt ​nuppudega seadistatud suurusele.+Luua programm, mis võimaldab servomootori positsiooni muuta vastavalt ​analoog kaugusanduri väärtusele (kasutada map funktsiooni).
  
 ===== Harjutus #5.2 ===== ===== Harjutus #5.2 =====
-Luua programm, mis servomootori baasil ehitatud radariga ja fotoanduriga ​leiaks ruumist ​kõige eredama ​punkti.+Luua programm, mis servomootori baasil ehitatud radariga ja analoog kaugusanduriga ​leiaks ruumist ​lähima ​punkti ​(objekti otsimine tühjast ruumist).
  
  
Rida 442: Rida 451:
  
 Protokollis tähistab „x“ kohaliku seadme numbrit, mille annab juhendaja igale tiimile erineva. Protokollis tähistab „x“ kohaliku seadme numbrit, mille annab juhendaja igale tiimile erineva.
 +
 +
 +===== Lihtne roboti navigatsioon =====
 +
 +<code c>
 +#include <​Servo.h> ​
 +Servo right_motor,​left_motor; ​ // create servo object to control a servo 
 + 
 +void setup() ​
 +
 +  // Viktoriiniküsimus - mida see plokk teeb?
 +  digitalWrite(9,​ HIGH); // lülitame sisemised pullup takistid sisse
 +  while (digitalRead(9)==1){}; ​
 +  ​
 +  right_motor.attach(11); ​ // Attaches the servo on pin 11 
 +  left_motor.attach(12); ​ // Attaches the servo on pin 12
 +
 + 
 +void loop() ​
 +
 + 
 +  // Compare it with reference
 +  if (digitalRead(10)==0) { // If TRUE
 +     ​left_motor.write(0); ​ // Reverse one motor
 +     ​delay(750);​ // Wait until turn is enough
 +   }
 +    right_motor.write(0); ​   // Drive forward
 +    left_motor.write(180); ​  // Drive forward
 +
 +
 +
 +</​code>​
et/arduino.txt · Viimati muutnud: 2018/12/27 12:53 (väline muutmine)
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