Arduino-cheatsheet/Schakelingen

Uit basis
Naar navigatie springen Naar zoeken springen

Schakelingen

Digitale input

naam schema programma
Digitale output LED aan Arduino pin 13 (brandt als pin HIGH is)
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(12, LOW);
  delay(1000);
}
Digitale input
(met externe pulldown)

Button aan Arduino pin 2 (HIGH als actief)

void setup() {
  pinMode(2, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  int button = digitalRead(2);
  digitalWrite(12, button);
}
Digitale input

(met interne pullup)

Button met interne pullup-weerstand
void setup() {
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);
}

void loop() {
  int button = digitalRead(2);
  digitalWrite(12, ! button);
}
Analoge output (PWM) LED aan Arduino pin 9 (PWM)
int led = 9;        // PWM pin
int ledState = 0;

void setup() {
}

void loop() {
  analogWrite(led, ledState);
  if (ledState < 256) {
    ledState = ledState + 15; 
  } else {
    ledState = 0;
  }
  delay(100);
}
Analoge input Dimmer met potmeter
int led = 9; // PWM pin
int potmeter = A0;

int ledState = 0;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  ledState = analogRead(potmeter) / 4;
  analogWrite(led, ledState);
}
Seriële output

USB-verbinding met host
Gebruik seriële monitor in Arduino IDE

int count = 0;

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

void loop() {
  count = (count + 1) % 256;
  Serial.print("count=");
  Serial.println(count); 
}
Seriële input

USB-verbinding met host
Gebruik seriële monitor in Arduino IDE

LED aan Arduino pin 9 (PWM)

int led = 9; // PWM pin

void setup() {
  Serial.begin(9600);
  while (! Serial()) {};
  Serial.println("LED level (0..255)");
}

void loop() {
  if (Serial.avaliable()) {
    int ledState = Serial.parseInt();
    if (ledState >=0 && ledState <= 255) {
      analogWrite(led, ledState);
    }
  }
}
Motor

Motoraansturing via transistor

int motor = 9;  // PWM pin
 
void setup() { 
  pinMode(motor, OUTPUT);
  Serial.begin(9600);
  while (! Serial);
  Serial.println("Speed 0 to 255");
}
 
 
void loop() { 
  if (Serial.available()) {
    int speed = Serial.parseInt();
    if (speed >= 0 && speed <= 255) {
      analogWrite(motor, speed);
    }
  }
}