
8. luokka
IT
hc-sr04 kirjastot libraries servo
- Mikä on Arduino
- IDE:n asennus
- Sketsin luominen ja muuttujat
- Ohjausrakenteet 1 IF-lause
- Analoginen sisääntulo sarjaliikenne
- Ohjausharjoituksia
- Ohjausrakenteet 2
- Lyhyesti funktioista
- Ultraäänianturi ja kirjastojen käyttö
- Moottorin ohjaus
- Tehonsäätö PWM
- RC-autosta robotti
- RC-auto robotti osa.2
- Keskeisiä käsitteitä harjoitus
- koneita
- Wifi
- Elektroniikasta
- Virtalähteistä
- Lämpötilan etämonitorointi ja hallinta
- Tietokoneen historia
- Moottorinohjain LC tehnology
- Johdanto
- Tehtäviä 12.4.2018
Ultraäänianturi
Hae ensin netistä kytkentöjä hakusanalla HC-SR04, eli komponentista löytyvästä tyyppimerkinnällä.
Hakua voi täsmentää lisäämällä toiseksi hakusanaksi arduino.
Tutkitaan komponetin jalkoja.
Mitä tarkoittavat merkinnät Vcc, Trig, Echo ja Gnd?
Harjoitus 1:
http://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/
A) Kytke sensori ohjeen mukaan ja kopioi ensimmäinen koodinpätkä, joka ohjaa sensoria suoraan.
B) Seuraavaksi otetaan käyttöön sensorille tehty kirjasto NewPing
Esimerkkikoodi 1
Harjoitus 2:
Toinen Yksinkertainen esimerkki löytyy osoitteesta http://vinduino.blogspot.fi/2013/07/hc-sr04-ultrasonic-sensor.html
Tee kytkentä ja hae koodi ja aja se.
Tässä esimerkissä kytketään lisäksi summeri pinniin 7 (muista maa)
1. Muuta ohjelmaa, niin, että saat
a) etäisyydet myös tuumina.
b) etäisyyden myös millisekunteina.
Harjoitus 3:
OHJELMOINTIHARJOITUS
Suunnitelmaa pareittain tai pienissä ryhmissä ohjelma, joka hyödyntää etäisyysanturia, potentiometriä, ledejä ja sarjaliikennettä tietokoneelle päin.
Laitteen toiminta olisi seuraava:
Se mittaa eäisyyttä ja ilmoittaa kahden ledin avulla, kun etäisyys on alle tai yli potetiometrin avulla asetetun rajan.
-Käytä lähtökohtana harjoituksen 2 kytkentää ja koodia.
-Lisää ensin potentiometrin lukeminen ja sen arvon mappaus välille 0-50. (ks. esimerkit http://arduino.cc/en/Tutorial/AnalogReadSerial ja http://arduino.cc/en/Tutorial/AnalogInOutSerial )
-Lisää ohjelmaan se, että se tuostaa Serial Monitorille myös raja-arvon
-Lisää kytkentään kaksi lediä. Toinen esim pin 7 ja toinen pin13
-Tee if-else rakenne, joka sytyttää toisen ledin, kun etäysyys on alle rajan ja toisen, kun etäisyys on yli rajan.
Esimerkkikoodi harjoitus 3:seen
#include
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
pinMode(7,OUTPUT);
pinMode(13,OUTPUT);
}
void loop() {
int raja = map(analogRead(A0), 0, 1023, 0, 50); // Reads potentiometer value from pin A0 (0-1025) and maps it between 0-50
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
int distance = sonar.ping_cm(); // Send ping, get ping time in microseconds (uS).
Serial.print("Ping: ");
Serial.print(distance); // Convert ping time to distance in cm and print result (0 = outside set distance range)
Serial.println("cm");
Serial.print("Raja-arvo: ");
Serial.print(raja);
Serial.println("cm");
if (distance < raja)
{
digitalWrite(7, HIGH);
digitalWrite(13, LOW);
}else {
digitalWrite(13, HIGH);
digitalWrite(7, LOW);
}
}
Se löytyy osoitteesta https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home
Asennetaan se ohjeen mukaan http://arduino.cc/en/Guide/Libraries
Opetellaan Arduinon ohjelmoinita ja peruskytkentöjä