Introduction: If This Then That - Robot Schildpad

Voor een opdracht van school heb ik gekozen om een schildpad robot te maken die bepaalde acties doet als je hem bovenop aanraakt. In deze tutorial zal ik uitleggen hoe ik dat gedaan heb en hoe jij het kan na maken! Hierboven wat concept schetsen.

Step 1: Stap 1: Alle Onderdelen Die Je Nodig Hebt

Hieronder een lijstje van wat je allemaal nodig hebt voor dit project:

Alle elektrische onderdelen:

  • 1 arduino uno
  • 1 spraak-module met bijbehorende speaker
  • 1 l298n motor driver module
  • 2 robot wielen degene die 3 tot 6 volt moeten hebben
  • 1 buzzer
  • 1 rood ledje
  • 1 blauw ledje
  • 3 meter montage draad
  • 1 servo die 180 graden draait
  • 1 Force Sensitive Resistor
  • 3 weerstanden van 220 Ohm
  • 1 weerstand van 1kOhm
  • 10 male to female kabels
  • 8 male to male kabels
  • Usb kabel voor de arduino
  • 1 bread pin board
  • 1 breadboard

Alle materialen:

  • 20 kleine schroeven om de boards goed vast te zetten
  • 15 bouten die op de schroeven passen
  • Batterij clip voor 9 volt batterijen
  • 9 volt batterij
  • 2 blokjes hout waar een gat door heen is geboort
  • 1 metalen staaf van 10 cm lang
  • Mobiele charger van 5 volt of meer
  • 2 metalen staven om de wielen vast te maken
  • Lijmpistool met vulling
  • Je patroon voor de lazer cutter
  • Soldeer bout met soldeer tin
  • Wat wol
  • 1 vierkante meter aan stof
  • 1 rol elastiek
  • Klitteband
  • Een 4 ml MDF plaat die in de lazer cutter past

Step 2: Step 2: Maak Je Patroon En Het Mechanisme Voor De Paddels

Om het gemakkelijk voor je te maken en alvast uit te plannen waar alles gaat adviseer ik je om je patroon al te laten uitsnijden. Maar let op de sleuven waar je dan je puzzelstukken in komen te zitten zullen uit komen als uitgesneden lijnen die niet even breed zijn als het gekozen materiaal.

Daarna creëer je de poten van de schild pad uit karton of een andere materiaal. Als laatste moet je het mechanisme maken om de poten te laten bewegen aan de hand van de servo. Dit creëer je door een metalen harnas te maken die gebaseerd is op het trekpop mechanisme. Als laatste neem je het uiteinde van het mechanisme en zet je die later in de servo. Ik heb er ook bij toegevoegd hoe het mechanisme er aan de onderkant van de plaat zou er uit zien.

Step 3: Stap 3: Bouw De Arduino Op De Breadboard

Bouw als eerste de bovenstaande breadboard na dan bouw en koppel de bijkomende modules. In de code staat waar je deze modules moet koppelen aan de arduino. Voor de modules heb ik een aantal filmpjes en instructabels om te begrijpen hoe het werkt. Als je het breadboard hebt na gebouwd neem je het geluidje op die de robot zal spelen nadat hij 4 keer gedrukt is. Dit doe je om te signaleren dat hij gestopt is.

Spraak module:

Motor module:

Step 4: Stap 4: Zet De Code in Je Arduino

Dan kopieer deze code hier onder in je arduino schets en dan test deze code of hij het doet.

<p>#include  <br>int servoPin = 9;
Servo servo;</p><p>//Constants:
//Met deze code kan je er voor zorgen dat de eerste led uit gaat en de servo sneller gaat draaien met daar 
// boven op dat er een buzzer gaat peipen als je op de sensor drukt!</p><p>const int ledPin1 = 3;  
const int ledPin2 =  5;
const int sensorPin = A0; 
const int buzzer = 10;
const int PlayRec =  2;
 //Motor 1
const int Motor1In1 = 7;
const int Motor1In2 = 8;
const int enA = 6;</p><p>//Motor 2
const int Motor2In1 = 13;
const int Motor2In2 = 12;
const int enB = 11;</p><p>      bool buttonStop = false;
      int pressedCount = 0;
      int currentCount = pressedCount - 1;
      bool buttonHeld = false;
      bool Stop= false;
      
      int Sensorvalue = 0; //save analog val
      bool bool_ServoV2 = false;
      </p><p>void setup(){</p><p>  servo.attach(servoPin);
  servo.write(0);
  delay(1000);
  pinMode(PlayRec, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(ledPin1, OUTPUT); 
  pinMode(ledPin2, OUTPUT); //Set pin as 'output' 
  
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(Motor1In1, OUTPUT);
  pinMode(Motor1In2, OUTPUT);
  pinMode(Motor2In1, OUTPUT);
  pinMode(Motor2In2, OUTPUT);
  Serial.begin(9600);       //Begin serial communication
}</p><p>void loop(){
  
  Sensorvalue = map(Sensorvalue, 0, 1023, 0, 255);
  Sensorvalue = analogRead(sensorPin);  </p><p>  if ( Sensorvalue < 50 ) {
    buttonHeld = false;
  } 
  
  if ( !buttonHeld && Sensorvalue >= 400 ) {
    pressedCount ++;
    bool_ServoV2 = true; 
    buttonHeld = true;
  }</p><p>  if (currentCount != pressedCount) {
    Serial.println(pressedCount);
    currentCount = pressedCount;
  }</p><p>  if ( pressedCount == 1 ){
    analogWrite(ledPin1,HIGH);
    servo.write(90);
    delay(500);
    servo.write(0);
    delay(500);
    analogWrite(enB, 200);
    digitalWrite(Motor1In1, HIGH);
    digitalWrite(Motor1In2, LOW);
        // set speed to 200 out of possible range 0~255
    analogWrite(enA, 100);
    // turn on motor B
    digitalWrite(Motor2In1, HIGH);
    digitalWrite(Motor2In2, LOW);
    analogWrite(enB, 100);
    
  }
  
  if ( pressedCount == 2 || pressedCount == 3 ){
    analogWrite(ledPin1,LOW);
    analogWrite(ledPin2,HIGH);
    tone(buzzer, 1000);
    digitalWrite(Motor1In1, HIGH);
    digitalWrite(Motor1In2, LOW);
        // set speed to 200 out of possible range 0~255
    analogWrite(enA, 200);
    digitalWrite(Motor2In1, HIGH);
    digitalWrite(Motor2In2, LOW);
    analogWrite(enB, 200);
    servo.write(90);
    delay(300);
    servo.write(0);
    delay(300);
    
  }</p><p>  if ( pressedCount == 4 ) {
    analogWrite(ledPin2, LOW);
    noTone(buzzer);
    digitalWrite(Motor1In1, LOW);
    digitalWrite(Motor2In1, LOW);
    digitalWrite(PlayRec, HIGH);
    delay(8000);
    digitalWrite(PlayRec, LOW);</p><p>    pressedCount = 0;
  }
}</p>

Step 5: Stap 5: Solderen

Nu alles werkt en alles op de juiste plek zit is het tijd om te solderen. Probeer wat je gebouwd heb op je arduino na te maken op de printboard. Hierboven zie je hoe ik het heb gesoldeerd. Als je begint met te solderen, soldeer dan eerst de robot-wielen en de speaker voor de spraak module.

Dan kan je beginnen met het echte werk. Omdat de print board twee lange metalen strips heeft, kan gemakkelijk de grond kabel en de 5 volt kabel monteren. Soldeer dan ook deze eerst, dan probeer het voorbeeld na te maken. Voor twee leds en de sensor moet je twee kabels monteert worden omdat je die onderdelen voor aan en boven op de schildpad moet zetten. Dus monteer je twee kabels bij de plus en de min van de leds en de sensor

Twee tip's:

  1. Je kan ook de pinnen vast solderen aan je printboard zodat je nog steeds bij de arduino kan.
  2. Neem een foto van je breadboard zoals het nu is zodat je het beter kan na bouwen op de printboard.

Step 6: Stap 6: Monteren Op Het Schild

Als laatste monteer alles op de schild.

  1. Monteer het voorste wiel samen met de metalen staaf en blokjes aan de onderkant van de schild.
  2. Boor gaten om daar in de schroeven in te monteren en schroef de bouten op de schroeven. Schroef dan alle circuit platen goed vast zodat ze niet meer los zijn.
  3. Plaats de charger dicht bij de ingang van de arduino USB input en zet deze vast met klittenband. Daarna zet de batterij van 9 volt in de batterij clip en monteer deze dicht bij de motor module.
  4. Monteer de robot wielen op de metalen staven en lijm deze goed vast.
  5. Plaats dan de robot wielen en staven op het schild op de grote open vlakken. Maak deze vast aan de hand van een plaat die je over hebt van het er uitsnijden van deze grote vlakken
  6. Monteer de paddels op de het trek mechanisme. Plaats dan servo op het kleinste vlakje en lijm deze vast nadat je het trek mechanisme er op de servo heb gemonteerd. De servo moet op zijn kop staan waardoor de kop aan de onderkant van de plaat staat. Dit is belangrijk want het komt onder de plaat te hangen zodat het mechanisme alle ruimte heeft om te kunnen bewegen.
  7. Geef alles nog een test run om te kijken of alles werkt. Als alles werkt dan ben je klaar.

Step 7: Stap 7: Geniet Van Je Robot Schildpad

Ik hoop dat je iets hebt aan mijn tutorial en dat je het bijvoorbeeld kan toepassen in andere projecten. Als laatste nog 1 tip: als je niet begrijpt hoe de onderdelen worden gebruikt, zoek ze op naam en kijk naar tutorials waar ze uitleggen hoe het werkt.

First Time Author Contest 2018

Participated in the
First Time Author Contest 2018

Arduino Contest 2017

Participated in the
Arduino Contest 2017