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
Next revision Both sides next revision
et:arduino [2015/12/11 11:24]
raivo.sell
et:arduino [2017/11/15 10:50]
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 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.
 +
 +<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