Arduinon perusteet, osa #3: Servot ja moottorit

Arduinon perusteet kurssin kolmas osa. Kurssilla käsitellään servoja, moottoreita sekä askelmoottoreita. Esimerkit servon ja sähkömoottorin ohjaukseen.

Youtube

Kalvot

Koodit

Servo esimerkki löytyy Arduino IDE:n esimerkeistä.

 

#define LEFT_MOTOR_PWM 3
#define LEFT_MOTOR_1 12
#define LEFT_MOTOR_2 9

void setup() {
pinMode(LEFT_MOTOR_PWM, OUTPUT);
pinMode(LEFT_MOTOR_1, OUTPUT);
pinMode(LEFT_MOTOR_2, OUTPUT);
}

void loop() {

leftStop();
delay(2000);
leftForward(255);
delay(2000);
leftBackward(255);
delay(2000);
}
void leftForward(byte speed)
{
analogWrite(LEFT_MOTOR_PWM,speed);
digitalWrite(LEFT_MOTOR_1,HIGH);
digitalWrite(LEFT_MOTOR_2,LOW);
}
void leftBackward(byte speed)
{
analogWrite(LEFT_MOTOR_PWM,speed);
digitalWrite(LEFT_MOTOR_1,LOW);
digitalWrite(LEFT_MOTOR_2,HIGH);
}
void leftStop()
{
analogWrite(LEFT_MOTOR_PWM,255);
digitalWrite(LEFT_MOTOR_1,HIGH);
digitalWrite(LEFT_MOTOR_2,HIGH);
}

 

Kurssi: Arduinon perusteet, osa #2: Ohjelmointi

Arduinon perusteet kurssin toinen osa. Kurssilla ohjelmoinnin alkeita Arduinoon liittyen. Käydään läpi mmm muuttujia, ehtoja, toistolauseita, funktioita ja ohjelmamuistin käyttöä.

 

 

 

Koodit:

void setup() {
Serial.begin(9600);
}

void loop() {

int luku=0;
if (Serial.available())
{
luku = Serial.parseInt();
if ( luku > 10) {
Serial.println(”Luku on suurempi kuin 10”);
}
else {
Serial.println(”Luku on pienempi kuin 11”);
}
}
delay(1000);
}

For loop 1

 

void setup() {
Serial.begin(9600);
}
int i;
void loop() {
for ( i=0; i<10; i+=1 ) {
Serial.println( i );
}

delay(1000);
}

For loop 2

 

void setup() {
Serial.begin(9600);
}

void loop() {
char Str1[15] = ”Arduino”;

for (int i;i<15;i++) {
Serial.print(Str1[i]);
}

Serial.println(Str1);

delay(1000);
}

Switch+funktio

 

void setup() {
Serial.begin(9600);
}

void loop() {

Serial.println(laske(2,7,0));
delay(1000);
Serial.println(laske(2,7,1));
delay(1000);
Serial.println(laske(2,7,2));
delay(1000);
Serial.println(laske(2,7,3));
Serial.println(”Laskut laskettu”);
delay(10000);
}

int laske(int a, int b, byte tyyppi) {
switch (tyyppi) {
case 0: return a+b;
case 1: return a-b;
case 2: return a*b;
case 3: return a/b;
}
}

 

 

Kurssi: Arduinon perusteet, Osa #1: Arduino-ympäristö [YouTube]

Tänään oli ensimmäinen osa pidemmästä Arduinon perusteet kurssista. Alta löydät videon nauhoitteen, kalvot ja kurssilla olleet ohjelma koodit. Seuraava osa kahden viikon kuluttua. Kiitoksia osallistumisesta!

 

 

Kalvot

 

Ohjelmakoodit

Blink: (Löytyy arduinon esimerkeistä Arduino IDEssä)

 

Liikennevalot:

int greenPin = 2;
int yellowPin = 3;
int redPin = 4;

void setup()
{
Serial.begin(9600);
Serial.println(”Setup()”);
pinMode(greenPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(redPin, OUTPUT);

digitalWrite(greenPin,LOW);
digitalWrite(yellowPin,LOW);
digitalWrite(redPin,LOW);
}
int globaali=0;
void loop()
{
globaali++;
int paikallinen=0;
paikallinen++;

if (Serial.available())
{
globaali = Serial.parseInt();
paikallinen = Serial.parseInt();

while(Serial.available()) Serial.read();
}

Serial.println(”Loop()”);
Serial.print(”Kierros: ”);
Serial.println(globaali);

Serial.print(”Paikallinen: ”);
Serial.println(paikallinen);

digitalWrite(redPin, HIGH);
delay(1000);
digitalWrite(yellowPin, HIGH);
delay(500);
digitalWrite(redPin, LOW);
delay(1000);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, HIGH);
delay(1000);
digitalWrite(greenPin, LOW);

}