Arduinon alkeet 22.02.-23.02. -- DC-moottorin ohjaamista --- H-silta, itse rakennettuna H-silta * http://itp.nyu.edu/physcomp/Labs/DCMotorControl "Connect the motor to the H-bridge" * ja siihen piiriksi http://www.partco.biz/verkkokauppa/product_info.php?products_id=263 * Tai sitten kaupasta valmis shieldi * http://www.partco.biz/verkkokauppa/product_info.php?cPath=5&products_id=14179 * http://dx.com/p/ardumoto-l298p-motor-driver-shield-for-arduino-163089#.UwnaZF5Skxo * -- 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); } Ledien RBG arvojen laskentaan: http://www.calculatorcat.com/free_calculators/color_slider/rgb_hex_color_slider.phtml -- 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: http://arduino.cc/en/Reference/analogWrite#.UwiLl44Y5UQ Ulos- / sisääntulo HIGH=5V LOW=0V LED etuvastus 150ohm tai 330ohm litteä puoli (lyhyempi jalka) maahan Kauppoja * http://www.partco.fi/ * http://www.robomaa.com/ * http://www.dx.com/ * http://www.verkkokauppa.com/ * https://www.sparkfun.com/ * http://www.miniinthebox.com/fi/arduino_c5028 Lounas 12:15 - 13:00 ----- Arduino IDE ohjelma: http://arduino.cc/en/Main/Software#toc1 Mac Ajurit FTDI (Duemilanove ja Nano, UNOt toimivat suoraan) http://www.ftdichip.com/Drivers/VCP.htm 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 dialout kytkennät: http://fritzing.org/download/ Simulator http://123d.circuits.io http://www.falstad.com/circuit/