Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. How to combine arduino sketches?

How to combine arduino sketches?

Scheduled Pinned Locked Moved Troubleshooting
arduinosketchcombinehelp
1 Posts 1 Posters 1.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sejiS Offline
    sejiS Offline
    seji
    wrote on last edited by
    #1

    Help me! I want to combine these 2 arduino sketches:
    First sketch:
    /* Loop Met Sonar
    *

    • Laat de Simple Walker II vooruit lopen. Als de Simple Walker
    • een obstakel tegenkomt dan gaat hij een stukje achteruit.
    • Gemaakt: November 2016
    • Door Simon Pauw, ZB45
    • www.SimpleWalker.com
      */

    /* Link de Servo- en Sonar (NewPing)-libraries.*/
    #include <Servo.h>
    #include <NewPing.h>

    /* Defnieer voorste servo */
    #define VOOR_SERVO_NEUTRALE_STAND 90
    #define VOOR_SERVO_PIN 9

    /* Defnieer achterste servo */
    #define ACHTER_SERVO_NEUTRALE_STAND 90
    #define ACHTER_SERVO_PIN 8

    /* Definieer de maximale uitslag van de servo's
    voor de loopbeweging. */
    #define MAX_SERVOUITSLAG 25

    /* Pauze tussen servostanen in milliseconde */
    #define PAUZE 100

    /* Maak servo-objecten aan */
    Servo voorServo, achterServo;

    /* Stel de sonar in. TRIG = 10, ECHO = 10, Maximale afstand = 200 */
    NewPing sonar(10, 16, 200);

    /* Setup: wordt uitgevoerd bij het opstarten van de Simple Walker. */
    void setup() {
    // Initialiseer de servo's.
    voorServo.attach(VOOR_SERVO_PIN);
    achterServo.attach(ACHTER_SERVO_PIN);

    // Zet de servo's in de neutrale positie (in het midden).
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND);
    achterServo.write(ACHTER_SERVO_NEUTRALE_STAND);

    delay(1000);
    }

    /* Loop: wordt herhaald tot de Simple Walker uit wordt gezet. */
    void loop() {
    // Meet de afstand
    int afstand = meetAfstand();

    // Voor looppatroon uit.
    if (afstand > 15)
    {
    // Als de afstand groter is dan 15 cm, loop vooruit.
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG);
    delay(PAUZE);
    achterServo.write( ACHTER_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG);
    delay(PAUZE);
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG);
    delay(PAUZE);
    achterServo.write( ACHTER_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG);
    delay(PAUZE);
    } else //afstand kleiner dan 15
    {
    // Als de afstand kleiner of gelijk is aan 15 cm, loop achteruit.
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG);
    delay(PAUZE);
    achterServo.write(ACHTER_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG);
    delay(PAUZE);
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG);
    delay(PAUZE);
    achterServo.write(ACHTER_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG);
    delay(PAUZE);
    }

    }

    /* Deze functie meet de afstand. */
    int meetAfstand() {
    // Meet de afstand
    int waarde = sonar.ping_cm();

    // Als er bij het meten iets misgaat is de meetwaarde 0
    // In dit geval gaan we ervan uit dat de afstand 200cm is.
    if (waarde == 0) waarde = 200;
    return waarde;
    }

    Second sketch:
    /* Draaien

    Laat de Simple Walker II naar rechts draaien.

    Gemaakt: November 2016
    Door Simon Pauw, ZB45
    www.SimpleWalker.com
    */

    /* Link de Servo-library.*/
    #include <Servo.h>

    /* Defnieer voorste servo */
    #define VOOR_SERVO_NEUTRALE_STAND 90
    #define VOOR_SERVO_PIN 9

    /* Defnieer achterste servo */
    #define ACHTER_SERVO_NEUTRALE_STAND 90
    #define ACHTER_SERVO_PIN 8

    /* Definieer de maximale uitslag van de servo's
    voor de loopbeweging. */
    #define MAX_SERVOUITSLAG 25

    /* Definieer de draaihoek (hoe hoger dit getal, hoe

    • scherper de bocht).
      */
      #define DRAAIHOEK 50

    /* Maak servo-objecten aan */
    Servo voorServo, achterServo;

    /* Setup: wordt uitgevoerd bij het opstarten van de Simple Walker. */
    void setup() {
    // Initialiseer de servo's.
    voorServo.attach(VOOR_SERVO_PIN);
    achterServo.attach(ACHTER_SERVO_PIN);

    // Zet de servo's in de neutrale positie (in het midden).
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND);
    achterServo.write(ACHTER_SERVO_NEUTRALE_STAND);

    delay(1000);
    }

    /* Loop: wordt herhaald tot de Simple Walker uit wordt gezet. */
    void loop() {

    // Voor looppatroon uit.

    // Stap 1: /-/:
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG + DRAAIHOEK);
    delay(100);

    // Stap 2: -/:
    achterServo.write( ACHTER_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG);
    delay(100);

    // Stap 3: -|:
    voorServo.write(VOOR_SERVO_NEUTRALE_STAND - MAX_SERVOUITSLAG + DRAAIHOEK);
    delay(100);

    // Stap 4: /-|:
    achterServo.write( ACHTER_SERVO_NEUTRALE_STAND + MAX_SERVOUITSLAG);
    delay(100);

    }

    1 Reply Last reply
    0

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    9

    Online

    12.0k

    Users

    11.2k

    Topics

    113.4k

    Posts


    Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • MySensors
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular