Arduino – for bruk i tverrfaglig prosjekt

Blinklys med LED

//Kode for enkelt blinklys
void setup() //her forteller vi hvilke inn/utganger som skal brukes, og hva de skal gjøre.
{
  pinMode(13, OUTPUT);  //Dette forteller hvilken ut/inngang den er koblet til og hva den skal gjøre
}                       //OUTPUT vil si at den skal gi strøm ut på den valgte porten, 13.

void loop() //dette er en kommando som sier at kommandoende skal gå om å om igjen (loop på engelsk)
{
  digitalWrite(13, HIGH); //denne kommandoen slår på strømmen på port 13.
  delay(1000); // Denne holder kommandoen i 1000 millisecond(s)
  digitalWrite(13, LOW); //Denne slår port 13 av
  delay(1000); // Og denne holder lyset av i 1000 millisekund(1 sekund)
}

Styring av servomotor

//Eksempel på styring av roto på gravemaskin. Kan også brukes til mange andre løsninger.
#include <Servo.h>    // Dette inluderer ett "bibliotek" som hjelper oss å bruke servoen ved enkle kommandoer.

Servo minservo;  //Her lager vi ett navn på servoen vår som vi kaller på, "minservo" feks.

int potpin = 0;  // 0 er den analoge inngangen vi bruker for og lese av verdien over potmeteret.
int verdi;    // variable verdi som blir lest av potmeteret

void setup() {
  minservo.attach(9);  // Her bestemmer vi at signal til servo, skal ut på digitalutgang 9 
}

void loop() {
  verdi = analogRead(potpin);        // Leser av og gjør om spenningen til en verdi fra potmeteret(verdien til potmeteret er 0 and 1023)
  verdi = map(verdi, 0, 1023, 0, 180); // Gjør verdien fra potmeteret til grader på servoen. Servoen vår går fra 0-180grader.
  minservo.write(verdi);              // Setter posisjonen på servoen etter lest verdi.
  delay(150);                      // tiden den bruker for å flytte seg. Denne kan fint justeres etter ønske.
}

Blinklys og servostyring

//Eksempel på styring av rototilt og blinking av LED på gravemaskin.

#include <Servo.h>    // Dette inluderer ett "bibliotek" som hjelper oss og bruke servoen ved enkle kommandoer.

Servo minservo;  //Her lager vi ett navn på servoen vår som vi kaller på, "minservo" feks.

int potpin = 0;  // 0 er den analoge inngangen vi bruker for å lese av verdien over potmeteret.
int verdi;    // variable verdi som blir lest av potmeteret

void setup() {
  minservo.attach(9);  // Her bestemmer vi at signal til servo, skal ut på dititalutangag 9 
  pinMode(13, OUTPUT); //Gir strøm ut på utgang 13 Altså LED
  pinMode(12, OUTPUT); //Gir strøm ut på utgang 12 Altså LED
}

void loop() {
  verdi = analogRead(potpin);        // Leser av og gjør om spenningen til en verdi fra potmeteret(verdien til potmeteret er 0 and 1023)
  verdi = map(verdi, 0, 1023, 0, 180); // Gjør verdien fra potmeteret til grader på servoen. Servoen vår går fra 0-180grader.
  minservo.write(verdi);              // Setter posisjonen på servoen etter lest verdi.
  delay(50);                      // tiden den bruker for og flytte seg. Denne kan fint justeres etter ønske.
  digitalWrite(13, HIGH); //denne kommandoen slår på strømmen på port 13.
  delay(200); // Denne holder kommandoen i 1000 millisecond(s)
  digitalWrite(13, LOW); //Denne slår port 13 av
  delay(200); // Og denne holder lyset av i 1000 millisekund(1 sekund)
digitalWrite(12, HIGH); //denne kommandoen slår på strømmen på port 12.
  delay(200); // Denne holder kommandoen i 1000 millisecond(s)
  digitalWrite(12, LOW); //Denne slår port 12 av
  delay(50); // Og denne holder lyset av i 1000 millisekund(1 sekund)
}

Båtmotor med styring via rele.

//Eksempel på båtmotor med styring. Styrt av knapp

#include <Servo.h>    // Dette inluderer ett "bibliotek" som hjelper oss og bruke servoen ved enkle kommandoer.

Servo minservo;  //Her lager vi ett navn på servoen vår som vi kaller på, "minservo" feks.

int potpin = 0;  // 0 er den analoge inngangen vi bruker for å lese av verdien over potmeteret.
int verdi;    // variable verdi som blir lest av potmeteret
int rele = 13;
int pushButton = 2;

void setup() {
  Serial.begin(9600);
  minservo.attach(10);  // Her bestemmer vi at signal til servo, skal ut på dititalutangag 9 
  pinMode(8, OUTPUT); //Gir strøm ut på utgang 8 Altså LED
  pinMode(9, OUTPUT); //Gir strøm ut på utgang 9 Altså LED
  pinMode(pushButton, INPUT);
    pinMode(rele, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(pushButton);
  Serial.println(buttonState);
  if (buttonState == 1) {
      digitalWrite(rele, HIGH);   // slår på rele
  } else {
    digitalWrite(rele, LOW);    // slår av rele
  }
  delay(1);        // forsinkelse for stabilitet  
  verdi = analogRead(potpin);        // Leser av og gjør om spenningen til en verdi fra potmeteret(verdien til potmeteret er 0 and 1023)
  verdi = map(verdi, 0, 1023, 0, 180); // Gjør verdien fra potmeteret til grader på servoen. Servoen vår går fra 0-180grader.
  minservo.write(verdi);              // Setter posisjonen på servoen etter lest verdi.
  delay(50);                      // tiden den bruker for og flytte seg. Denne kan fint justeres etter ønske.
  digitalWrite(9, HIGH); //denne kommandoen slår på strømmen på port 13.
  delay(200); // Denne holder kommandoen i 1000 millisecond(s)
  digitalWrite(9, LOW); //Denne slår port 9 av
  delay(200); // Og denne holder lyset av i 1000 millisekund(1 sekund)
  digitalWrite(8, HIGH); //denne kommandoen slår på strømmen på port 12.
  delay(200); // Denne holder kommandoen i 1000 millisecond(s)
  digitalWrite(8, LOW); //Denne slår port 8 av
  delay(50); // Og denne holder lyset av i 1000 millisekund(1 sekund)
}