Arduinon alkeet 22.02.-23.02.
-- DC-moottorin ohjaamista ---
H-silta, itse rakennettuna H-silta
Tai sitten kaupasta valmis shieldi
-- ohelma 6 - Painonapin lukeminen ----
int pushButton = 3;
void setup() {
Serial.begin(115200);
pinMode(pushButton, INPUT);
}
void loop() {
int buttonState = digitalRead(pushButton);
Serial.println(1 - buttonState);
delay(10);
}
-- ohjelma 5 - RGB-led ----
int red_pin = 9;
int green_pin = 10;
int blue_pin = 11;
void setup() {
pinMode(red_pin, OUTPUT);
pinMode(green_pin, OUTPUT);
pinMode(blue_pin, OUTPUT);
}
void loop() {
int red = 255;
int green = 0;
int blue = 0;
analogWrite(red_pin, 255 - red);
analogWrite(green_pin, 255 - green);
analogWrite(blue_pin, 255 - blue);
}
-- ohjelma 4 - serialpalkkimittari ---
void setup() {
pinMode(A0, INPUT);
Serial.begin(115200);
}
void loop() {
int sensorValue = analogRead(A0);
// Tulostetaan luku aina neljän merkin pituisena, lisätään eteen tyhjää
if (sensorValue < 10) {
Serial.print(" ");
} else if (sensorValue < 100) {
Serial.print(" ");
} else if (sensorValue < 1000) {
Serial.print(" ");
}
Serial.print(sensorValue);
Serial.print(" ");
// Tulostetaan vaakapalkki sensorivaluen mukaan
// 32 x 32 = 1024
// 64 x 16 = 1024
// 128 x 8 = 1024
for (int i = 0; i < 64; i++) {
if (sensorValue/16 > i) {
Serial.print("|");
} else {
Serial.print(".");
}
}
Serial.println();
delay(10);
}
--
-- ohjelma 3 ----
int ledipinni = 11;
int potikkapinni = A0;
void setup() {
pinMode(ledipinni, OUTPUT);
pinMode(potikkapinni, INPUT);
}
void loop() {
int potikka_arvo = analogRead(potikkapinni);
int pwm_arvo = potikka_arvo/4; // 0..1023 / 4 = 0..255
analogWrite(ledipinni, pwm_arvo);
}
------
-- ohjelma 2 -----
int ledipinni = 11;
void setup() {
pinMode(ledipinni, OUTPUT);
}
void loop() {
for (int i = 0; i <= 255; i++) {
analogWrite(ledipinni, i);
delay(100);
}
for (int i = 255; i >= 0; i--) {
analogWrite(ledipinni, i);
delay(100);
}
}
-------
-- ohjelma 1 ------
int ledipinni = 12;
void setup() {
pinMode(ledipinni, OUTPUT);
digitalWrite(ledipinni, HIGH); // turn the LED on (HIGH is the voltage level)
delay(3000);
}
void loop() {
digitalWrite(ledipinni, LOW);
delay(1000);
digitalWrite(ledipinni, HIGH);
delay(2000);
}
-----
analogijännite:
Ulos- / sisääntulo
HIGH=5V
LOW=0V
LED
etuvastus 150ohm tai 330ohm
litteä puoli (lyhyempi jalka) maahan
Kauppoja
Lounas 12:15 - 13:00
-----
Arduino IDE ohjelma:
Mac Ajurit FTDI (Duemilanove ja Nano, UNOt toimivat suoraan)
luki että OSX 10.7 asti, mutta toimii myös 10.8
linuxilla:
pitää olla käyttäjäryhmässä (nimi vaihtelee distroittain) dialout ja kirjautua ulos ja sisään
sudo adduser <käyttäjä> dialout
kytkennät:
Simulator