Bewegende Krab Van "Crab Rave"

by blacparo in Circuits > Arduino

421 Views, 0 Favorites, 0 Comments

Bewegende Krab Van "Crab Rave"

afbeelding_2023-05-17_130032871.png

Voor mijn project was ik geïnspireerd door de krab van krab rave. Ik kwam op mijn idee toen ik iemand een simpele slak had gemaakt met maar weinig materialen, die toch kon bewegen door middel van scharnierverbindingen en één servo motor. Mijn idee was dan ook om wat tofs neer te zetten met niet al te dure materialen.


De krab kan dansen als je op een knop drukt(net zoals bij de crab rave meme!) door middel van een simpele motor en ik ga uitleggen in deze instructable hoe jij er ook eentje kan maken!

Supplies

IMG_8807.jpg

Wat heb je hier voor nodig:


Elektrische componenten:

  • 1x Arduino Uno
  • Draadbruggenset
  • 1 x Klein drukknopje (ookwel "Tactile Pushbutton")
  • SG90 Mini Servo


Materialen voor de behuizing:

  • Hout of ijsstokjes
  • Houten of kartonnen plaat van (ongeveer) 35x20 cm
  • Playdoh of klei (oranje verf kan ook)
  • Blauwe en witte verf (voor de zee als je die ook wil hebben)
  • Hard-plastic rietjes of lege gel-pen vullingen
  • Wieltjes
  • Aluminium of ijzer draad
  • Dun ijzerdraadje voor het vastmaken van motor
  • Zwarte en witte verf voor de ogen


Gereedschap

  • Boormachine
  • Lijm(pistool)
  • Soldeer kit
  • Stanleymes
  • Experimenteer-printplaat
  • Tang om ijzerdraad mee te knippen


Programma's

  • Arduino IDE

Testen En Iteraties

IMG_8836.jpg

Mijn eerste obstakel was: hoe ging ik de krab laten bewegen? Ik wou meerdere servo motors in het begin gebruiken, maar deze te meer je er heb, des te meer je er moet besturen en deze te zwaarder de krab werd. Daarom wou ik een soort van "trek en duw" mechanic waardoor de poten niet zelf een motor hadden in zich. Dat ging eerst goed totdat ik erachter kwam dat de poten niet zwaar genoeg waren om op hun plek te laten staan waardoor ze meebewogen (maakt niet ui hoeveel grip ze hadden). Daarom heb ik ze gelijmd op de kartonnen/houten plaat.


Als 2e was het de bedoeling om de servo motor te laten werken door middel van een knopje. Dit was erg makkelijk te doen. (Bij het kopje code staat welke code er voor nodig is om dat te laten werken.)

Bouwen

IMG_8843.jpg
IMG_8847.jpg
IMG_8849.jpg
IMG_8870.jpg
IMG_9044.jpg
IMG_9043.jpg
IMG_9042.jpg
IMG_9045.jpg
IMG_8956.jpg
Krab in testfase

Daarna begon ik met het maken van de krab.

1.Als eerst had ik een bakje gemaakt waar de Arduino en de motor in konden. Dit had ik gemaakt doormiddel van het snijden van het dunne hout en dit aan mekaar te lijmen. Ook had ik een gat aan de zijkant erin gesneden om daar uiteindelijk de Arduino aan kunnen koppelen door middel van een USB B. Ook zijn er 4 gaatjes in geboord om daar doorheen ijzer/aluminium draad door te steken.

2.Daarna werd het tijd voor alle scharnierverbindingen. Als eerst begon ik met het door het midden zagen/snijden van de rietjes (kan ook met lege gel-pen vullingen). Vervolgens had ik gaatjes geboord in de boven- en onderkant van de helft van de rietjes om daar vervolgens het aluminium/ijzer draad doorheen te halen. Zo konden de poten goed bewegen. Om ervoor te zorgen dat de poten gelijk waren met elkaar heb ik er ook nog stukjes van het rietje tussen de (poot) rietjes om ze tegelijkertijd te bewegen en voor meer stevigheid.

3.Hierna heb ik tussen de helft van de 2 rechterpoten ook nog een ander rietje(rode kleur) gestopt (met kleine stukjes van een ander rietje om hem op zijn plek te houden). Het rode rietje word later vastgemaakt aan de motor. Maak daarom een verticaal gat door het uiteinde van het rietje, waar ongeveer de motor komt.

4.Daarna kwamen de wieltjes en de motor. Ik had 2 extra aluminium draden onder de krab gedaan omdat anders mijn wielen nergens konden, omdat ze te klein waren. Maar zelf zou ik als je bezig gaat grotere wielen maken/kopen, om op hetzelfde draad doe waar ook de rietjes vast zitten aan het bakje. De motor moet je erop lijmen op de dezelfde afstand als het rode rietje. Daarna haal je een dun ijzerdraadje door het witte draaistuk van de motor en door het verticale gaatje. Wikkel deze samen en zorg dat ze goed aan mekaar zitten. Daarna maak je "deksel" met ijsstokjes of out en maak je gaten in de bovenkant zodat daar vervolgens de draden uit de Arduino kunnen komen. (zie laatste plaatje)

5.De volgende stap is het vast maken van alles (zie kopje stroom cirkels) en daarna het testen en het stukje met de knop solderen aan een experimenteer printplaat zodat dat steviger aan elkaar zit.

6.Nu komen we bij het versieren! Pak klei of Playdoh en maak hier de ogen en klauwen van(playdoh moet je ook wachten tot dat het hard word). Beschilder de ogen zwart (of hoe je dat dan ook wil) en lijm deze beide erop zoals op het plaatje. Je kunt de behuizing oranje verven maar je kunt het ook bedekken met playdoh. Met ijstokjes kun je ook nog een kleine behuizing maken voor je knop, of je lijm hem erop, hoe je de krab versiert is vrij!

Stroomcirkel

Smooth Hango-Juttuli.png

Dit is de opstelling die je nodig heb.

Code

//Deze code is gemaakt door Robojax en ik heb daaraan mijn eigen aanpassingen gemaakt.
#include <Servo.h>

Servo myservo; // maak een servo object om de servo te besturen
#define servoPin 3 //~
#define pushButtonPin 2

int angle =90; // oorsprongelijke servo hoek (tussen 1 en 179)
int angleStep =10;
const int minAngle = 0;
const int maxAngle = 180;

const int type =2;
int buttonPushed =0;

void setup() {
Serial.begin(9600); // setup serial
myservo.attach(servoPin); // maakt de servo "vast" aan pin 3
pinMode(pushButtonPin,INPUT_PULLUP);
Serial.println("Robojax Servo Button ");
myservo.write(angle); // Eerste positie
}

void loop() {
if(digitalRead(pushButtonPin) == LOW){
buttonPushed = 1;
}
if( buttonPushed ){
// verander de hoek voor de volgende keer door de loop:
angle = angle + angleStep;

//draai de bewegingsrichting aan de uiteinden van de hoek om:
if (angle >= maxAngle) {
angleStep = -angleStep;
if(type ==1)
{
buttonPushed =0;
}
}

if (angle <= minAngle) {
angleStep = -angleStep;
if(type ==2)
{
buttonPushed =0;
}
}

myservo.write(angle); // verplaats de servo naar de gewenste hoek.
Serial.print("Moved to: ");
Serial.print(angle); // druk de hoek af.
Serial.println(" degree");
delay(50); // wacht tot de servo er is.
}


}

Conclusie

Krab from crab rave

Ik heb veel geleerd van dit project. Ik was eerst best wel bang om met Arduino voor de eerste keer te werken. Daar ben ik snel overeen gekomen toen ik eenmaal begon en kwam erachter dat het best wel leuk als het een beetje werkt. Ik heb ook leren solderen en ben voornamelijk bezig geweest voor creatieve oplossingen voor problemen die ik tegenkwam. Ik heb wel tops voor de volgende die dit maakt: Ondanks dat het goed lukt met lijm, kan hij nog wel een scharnier punt gebruiken voor waar zijn poten staan op de plaat, i.p.v. waar nu lijm zit. Het is me toch uiteindelijk gelukt en er is een leuke krab uit gekomen.