Zoeken…


Opmerkingen

Wat is Arduino?

Arduino is een open-source elektronicaplatform op basis van eenvoudig te gebruiken hardware en software.

Waarom Arduino gebruiken?

  • Goedkoop. Je kunt ook klonen kopen die nog goedkoper zijn.
  • Eenvoudig in gebruik en aan de slag
  • Enorme gemeenschap
  • Volledig open source

versies

Versie Publicatiedatum
1.0.0 2016/05/08

Kaal minimum

Hier is de 'absolute minimum' Arduino-schets. Dit kan in de Arduino IDE worden geladen door File > Examples > 01. Basics > Bare Minimum .

void setup() {
  // put your setup code here, to run once
}

void loop() {
  // put your main code here, to run repeatedly
}

Code in de functie setup() wordt eenmaal uitgevoerd wanneer het programma start. Dit is handig om I / O-pins in te stellen, variabelen te initialiseren, etc. Code in de functie loop() wordt herhaaldelijk uitgevoerd totdat de Arduino wordt uitgeschakeld of een nieuw programma wordt geüpload. In feite ziet de bovenstaande code er als volgt uit in de Arduino-runtime-bibliotheek:

setup();
while(1) {
  loop();
}

In tegenstelling tot programma's die op uw computer worden uitgevoerd, kan Arduino-code nooit worden afgesloten. Dit komt omdat er slechts één programma in de microcontroller is geladen. Als dit programma stopt, zou de microcontroller niets kunnen vertellen wat hij moet doen.

Knipperen

Hier is een kort voorbeeld dat de functies setup() en loop() demonstreert. Dit kan in de Arduino IDE worden geladen door File > Examples > 01. Basics > Blink . ( Opmerking: de meeste Arduino-borden hebben een LED die al is aangesloten op pin 13, maar mogelijk moet u een externe LED toevoegen om de effecten van deze schets te zien.)

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Bovenstaand fragment:

  1. Definieert de functie setup() . De functie setup() wordt als eerste aangeroepen bij uitvoering in elk Arduino-programma.

    1. Stelt pin 13 in als uitgang.

      Zonder dit zou het kunnen worden ingesteld op een ingang, waardoor de LED niet zou werken; als het eenmaal is ingesteld als uitvoer, blijft het zo, dus dit hoeft maar één keer te gebeuren wanneer het programma start.

  2. Definieert de functie loop() . De functie loop() wordt herhaaldelijk aangeroepen zolang het programma actief is.

    1. digitalWrite(13, HIGH); schakelt de LED in.
    2. delay(1000); wacht één seconde (1000 milliseconden).
    3. digitalWrite(13, LOW); schakelt de LED uit.
    4. delay(1000); wacht één seconde (1000 milliseconden).

Omdat loop() herhaaldelijk wordt uitgevoerd zolang het programma loopt, knippert de LED met een periode van 2 seconden (1 seconde aan, 1 seconde uit). Dit voorbeeld is gebaseerd op de Arduino Uno en elk ander bord waarop al een LED is aangesloten op Pin 13. Als het bord dat wordt gebruikt geen ingebouwde LED heeft die op die pin is aangesloten, kan er een extern worden aangesloten.

Meer over timing (bijvoorbeeld vertragingen en tijd meten): Time Management

Eerste installatie

Benodigde software: Arduino IDE

Arduino IDE

Opstelling

De meeste Arduino-compatibele boards hebben een USB-poort en worden geleverd met een USB-kabel. Sluit de Arduino aan met behulp van de USB-kabel en start de Arduino IDE.

Arduino IDE begint met een nieuwe schets, meestal met een emtpy setup() en loop() functies. Dit is genoeg om te uploaden naar een Arduino-bord, maar het zal helemaal niets doen. De voorbeeldschets "Blink" werkt als een eenvoudige test bij het eerste gebruik van een Arduino-bord. Ga naar Bestand → Voorbeelden → 01. Basis → Knipperen. Dit opent een nieuw venster met de Blink-schets.

Selecteer je bord. Ga naar Extra → Bord → [naam van je Arduino-bord].

Gereedschap, bord

Selecteer de COM-poort voor je board. De meeste Aurduino-compatibele kaarten maken een nep-COM-poort, die wordt gebruikt voor seriële communicatie (foutopsporing) en voor het programmeren van de kaart. COM 1 is meestal al aanwezig, en uw board zal een nieuwe aanmaken, bijv. COM 4. Selecteer dit uit Extra → Poort → COM 4 (of ander COM-nummer).

Sommige boards hebben extra instellingen in het menu Tools, zoals kloksnelheid. Deze variëren van bord tot bord, maar meestal is al een acceptabele set standaardwaarden geselecteerd.

Uploaden

Je bent nu klaar om Blink te uploaden. Klik op de knop Uploaden of selecteer Schets → Uploaden. De schets zal compileren en vervolgens uploaden naar je Arduino-bord. Als alles werkt, begint de ingebouwde LED elke seconde te knipperen.

Uploaden

Seriële monitor

In de Arduino IDE heeft ypu een seriële monitor. Gebruik de knop seriële monitor aan de rechterkant van het venster om het te openen.

Seriële monitor

Zorg ervoor dat de code is geüpload voordat u de monitor opent. De upload en de monitor worden niet tegelijkertijd uitgevoerd!

LED - Met knopbediening

U kunt deze code ook gebruiken om een LED in te stellen met een knopschakelaar met een pull-up weerstand, dit kan bij voorkeur bij de volgende stap zijn na het instellen van de eerste LED-controller

int buttonState = 0; // variable for reading the pushbutton status

void setup()
{
    // initialize the LED pin as an output:
    pinMode(13, OUTPUT); // You can set it just using its number
    // initialize the pushbutton pin as an input:
    pinMode(2, INPUT);
}

void loop()
{
    // read the state of the pushbutton value:
    buttonState = DigitalRead(2);

    // check if the pushbutton is pressed.
    // If it's not, the buttonState is HIGH : if (buttonState == HIGH)
    {
        // turn LED off:
        digitalWrite(13, LOW);
    }
    else
    {
        // turn LED off:
        digitalWrite(13, HIGH);
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow