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:24]
raivo.sell
et:arduino [2018/12/27 12:53] (Hetkel kehtiv)
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 75: Rida 78:
  
 Modifitseerida näiteprogrammi nii, et nupule vajutades hakkab LED konstantselt vilkuma 1 sekundilise intervalliga ja teine nupule vajutus katkestab vilkumise. Modifitseerida näiteprogrammi nii, et nupule vajutades hakkab LED konstantselt vilkuma 1 sekundilise intervalliga ja teine nupule vajutus katkestab vilkumise.
-0 %). 
  
 ====== Näide #2 Analoog sisendid ====== ====== Näide #2 Analoog sisendid ======
Rida 92: 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 121: 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 139: Rida 141:
 ===== Harjutus #2 ===== ===== Harjutus #2 =====
  
-Modifitseerida näiteprogrammi nii, et potentsiomeetriga määratakse LED-i heledus, kasutades selleks ​delay funktsioone.+Modifitseerida näiteprogrammi nii, et potentsiomeetriga määratakse LED-i heledus, kasutades selleks ​delayMicroseconds() ​funktsioone.
  
 ====== 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 241: 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 300: 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 313: 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 371: 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 443: 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.1449825846.txt.gz · Viimati muutnud: 2015/12/11 11:24 persoon raivo.sell
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