Sensitive Crab

by Heavyal in Circuits > Arduino

1273 Views, 4 Favorites, 0 Comments

Sensitive Crab

IMG_20220122_152123.jpg

Eindresultaat van het Project If This Then That - Waar ik mijn proces laat zien bij het maken van de "Sensitive Crab".

Supplies

Arduino Uno

Led

Resistors

Micro Servo

HC-SR04 Ultrasonic distance sensor

Jumper wires

L298N motor driver module H-Bridge

42x24mm Micro Motor (280) 3~12V DC

9V Duracell Procel

KNEX

MDF 4 mm - Lasersnijder

Lijm

3d Printer

Vacuform apparatuur 

Dun roodplastic

Verf

Spuitbus

Electrotape

Ductape

Concept

Concept-SensitiveCrab_AlandeJeu.jpg

Dit project is een reflectie van hoe ik mij vroeger opstelden tegenover andere, omdat er ervaringen waren geweest die mij veel pijn hadden gedaan. En zodra er iemand in de buurt probeerde te komen, wilde ik vluchten. Ik liet mij inspireren door "softshell" krabben met op het eerste gezicht een hard pantser maar als je het eens goed bekijkt en aanvoelt is het zacht. Zacht betekent in dit geval kwetsbaar.

Hoe kon ik tijdens dit project de kwetsbaarheid van mij en de krab omzetten in een project. Ik maakte een lijst met daarop kernmerken van kwetsbaarheid en combineerde het met de acties van een krab en bedacht daar ook bij hoe ik dit zou kunnen nabouwen. Wat voor tools heb ik nodig? Hoe ziet een krab eruit? Hoe zou ik dat kunnen namaken?

Experimenteren

IMG_20220111_125139.jpg
IMG_20220111_121840.jpg
Project ITTT Sensitive Crab -Afstandssensor test met led lampjes
Project ITTT Sensitive Crab - Micro motor test

Nu ik een lijst had met handelingen die ik kan gebruiken voor het maken van een krab, ging ik aan de slag met arduino om zo stapsgewijs elke handeling te testen. Zodat het later samengevoegd kan worden.

  • Een test met led lampjes om zo aan te kunnen geven in wat voor staat de krab is.
  • Een test met de servo waar de krab zijn arm omhoog doet ter bescherming van zichzelf
  • Een test waarbij de afstandsmeter is gecombineerd met de led lampjes

Bij het testen was er probleem, hoe kan ik de krab laten lopen? Ik bestelde een motortje met een H-bridge en dat in combinatie met KNEX, zou het eventueel lukken.

Een tijd later was het binnen gekomen en ging het testen verder.

Krab Onderdelen

Nu er testen waren, was er een basis. Waardoor ik een lijst kon maken met de onderdelen die ik zou kunnen maken om het op een krab te laten lijken. Op school zijn er veel mogelijkheden om deze onderdelen te maken en daar wilde ik tijdens dit project zeker gebruik van maken.

  • een klauw, 3D print
  • Ogen, 3D print
  • Pantser, Vacuform
  • Buik (als basis), 3D print (is later gemaakt met de lasersnijder vanwege het rijmechanisme)
  • Poten, lasersnijder

Ik maakte de onderdelen digitaal in Maya, Zbrush en illustrator. Bij het 3D printen moest goed gekeken worden naar de grote van de objecten en dat het wel samenhangend bleef.


3D Printen

belly_hol.JPG
clauw.JPG
ogen.JPG
IMG_20220114_104742_1.jpg
IMG_20220114_124422_1.jpg
IMG_20220116_110647.jpg

Eerst heb ik de onderdelen gemaakt in 3D om ze vervolgens op school te printen. Het koste veel tijd om de buik goed te krijgen en omdat ik nog geen idee had hoe de constructie van de wielen eruit kwam te zien heb ik besloten om het te lasersnijden hierdoor bleef het oppervlakte plat en afpassingen maken kosten minder tijd.

Tijdens wachten tot alle onderdelen klaar waren heb ik met hulp van een werkplaatsdocent de Vacuform apparatuur gebruikt, om het pantser te maken van de krab.

Lasersnijden

buik.JPG
benen.JPG
IMG_20220114_114606_1.jpg
IMG_20220114_132207_1.jpg
IMG_20220114_115246_1.jpg
IMG_20220114_124307_1.jpg
IMG_20220114_132802.jpg

Ik had nog nooit gebruik gemaakt van een lasersnijder dus om er gebruik van te maken volgde ik de instructie op school en leerde hoe het moest. Ik maakte een ontwerp in illustrator en volgde het stappenplan van de lasersnijder. Al snel was het snijden klaar.

Nog geen half uur later kwam ik er achter dat ik de potjes niet gespiegeld had en moest het opnieuw doen. Ook bij het snijden van de buik maakte ik de fout dat de wielen niet paste. Dus die moest ook opnieuw. Het lasersnijden was een heel leerproces maar echt een hele fijne manier dingen mee te maken.

Verven

IMG_20220117_121633.jpg
IMG_20220117_130106_1.jpg
IMG_20220117_130124_1.jpg
IMG_20220117_130606.jpg
IMG_20220117_150622_1.jpg

Om de gemaakte onderdelen beter bij elkaar te laten passen en te laten lijken op een krab heb ik besloten om ze te verven.

Code

elektronische schema.JPG

Beschrijving van wat code doet in de comments

#include <Servo.h>
Servo servo;

#define echoPin 2 // Attach pin 2 to pin Echo of HC-SR04
#define trigPin 3 // Attach pin 3 to pin Trig of HC-SR04

#define enB 10   // Attach pwm pin 5 to enB of H-Bridge
#define in3 7   // Attach pin 7 to in3 of H-Bridge
#define in4 8   // Attach pin 8 to in4 of H-Bridge

#define GLed 13  // Attach pin D11 to positive of Green Led

int ser = 9;   // Attach pin 9 to the servo

// define variables
long dur; // variable for the duration of sound wave travel
int dist; // variable for the distance measurement
int claw_angle = 0; // variable to determine the claw angle

void setup() {
 // Servo
 servo.attach(ser); // Attach pin 9 to the servo

 // LEDs
 pinMode(GLed, OUTPUT); // Sets the GLed as an OUTPUT

 // Distance Sensor
 pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT
 pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT

 // DC Motor
 pinMode(enB, OUTPUT); // Sets the enB as an OUTPUT
 pinMode(in3, OUTPUT); // Sets the in3 as an OUTPUT
 pinMode(in4, OUTPUT); // Sets the in4 as an OUTPUT

 // Setup the display (Ctrl+Shift+M)
 Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed
}

// loopie
void loop() {
 // Send a few pulses with ultrasonic distance sensor
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);

 // Catch the return pulse
 //int max_dist = 100 * 2 / 0.034; // limiting the range to 1 meter
 dur = pulseIn(echoPin, HIGH);

 // Calculating the distance
 dist = dur * 0.034 / 2; //                                 \ Speed of sound wave divided by 2 (go and back)

 // Displays the distance on the Serial Monitor
 Serial.print("Distance: ");
 Serial.print(dist);
 Serial.println(" cm");

 if (dist > 0 && dist < 20) {
  // Turn on red led when object is close
  digitalWrite(GLed, HIGH);

  // Raise claw to max
  while (claw_angle < 180) {
   claw_angle++;
   servo.write(claw_angle);
  }
  delay(1000);

  // Drive backwards
  analogWrite(enB, 255);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);   
 }

 if (dist >= 20 && dist < 40) {
  // Slow down
  analogWrite(enB, 255);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);

  // Turn on orange led when object is in mid range
  digitalWrite(GLed, HIGH);

  // Raise/lower claw to middle position
  if (claw_angle < 140) {
   claw_angle++;
   servo.write(claw_angle);
  }
  else if (claw_angle > 140) {
   claw_angle--;
   servo.write(claw_angle);
  }
 }

 if (dist >= 40) {
  // Drive forward
  analogWrite(enB, 0);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, HIGH);

  // Turn on green led when no object is near
  digitalWrite(GLed, LOW);

  // Lower claw to minimum
  if (claw_angle > 110) {
   claw_angle--;
   servo.write(claw_angle);
  }
 }
}

Er zijn 3 states van de krab, groen, oranje en rood:

  • Wanneer de afstandssensor niks oppakt (groter dan 40 cm) is het groen en blijft de klauw omlaag.
  • Wanneer de afstandssensor iets tussen de 20 en 40 cm opvangt, gaat de klauw een beetje omhoog en brand het oranje ledje.
  • Wanneer de afstandssensor iets tussen 0 en 20 cm opvangt, gaat de klauw helemaal omhoog, brand er een rood ledje en rijd de krab naar achter tot dat die weer "veilig"is.

Solderen

IMG_20220117_153912_1.jpg
IMG_20220120_142617_1.jpg
IMG_20220120_145125_1.jpg
IMG_20220120_152631.jpg
IMG_20220120_153321.jpg

Nu alle onderdelen gekoppeld zijn aan elkaar, was de volgende stap om ze te solderen.

In Elkaar Zetten Deel 1

IMG_20220117_121637.jpg
IMG_20220117_154613_1.jpg
IMG_20220120_104237_1.jpg
IMG_20220120_115322_1.jpg
IMG_20220117_155803.jpg
Project ITTT Sensitive Crab - Mirco Motor test met wielen
IMG_20220120_145107.jpg
IMG_20220120_143201_1.jpg
IMG_20220120_150128_1.jpg

Door KNEX was het mogelijk om een constructie te bouwen waarbij wielen kunnen draaien en aangestuurd kunnen worden door de micro Motor. Ook zijn de klauw, poten en het motortje vast gelijmd.


In Elkaar Zetten Deel 2

IMG_20220120_155707.jpg
IMG_20220120_162042_1.jpg
IMG_20220120_162243.jpg
IMG_20220120_164122.jpg
IMG_20220120_164127_1.jpg
IMG_20220120_164215_1.jpg

Met een stukje karton en houtjes liet ik de arduino zweven boven de wielen. Met ductape zat het vast, Toen de pantser er opging zag ik het meteen, Dit gaat niet passen. De draadjes waren te stug om te ver naar beneden te drukken.

De servo paste niet goed op het mdf dus ik heb van een overige poot een stuk eraf geknipt en op de buik geplakt waardoor de servo goed pasten. Toen de ogen aan het drogen waren, kon ik echt zien dat het project op een krab begon te lijken.

Uitbreiding Van Het Pantser

IMG_20220121_091738.jpg
IMG_20220121_083956_1.jpg
IMG_20220121_084003_1.jpg
IMG_20220121_084012.jpg
IMG_20220121_084433_1.jpg
IMG_20220121_091219_1.jpg
IMG_20220121_091227_1.jpg
IMG_20220121_091425_1.jpg
IMG_20220121_135447_1.jpg
IMG_20220121_093131.jpg
IMG_20220121_093136_1.jpg
IMG_20220121_135444_1.jpg
IMG_20220122_130244_1.jpg

Omdat het pantser niet groot genoeg was ben ik aan de slag gegaan met wat papierenbekertjes om zo de zijkant te bedekken. Na een paar bekertjes was het gelukt en zag het er een stuk verzorgder uit. Alleen pasten het niet zo goed bij elkaar en besloot daarom om met spuitbussen aan de slag te gaan. Ook heb ik de schaal een beetje geverfd om zo de overgang beter op elkaar te laten aansluiten.

Soldeerwerk Laat Los

IMG_20220122_150643_1.jpg
IMG_20220122_132814_1.jpg
IMG_20220122_140834_1.jpg
IMG_20220122_150326_1.jpg
IMG_20220122_150332_1.jpg
IMG_20220122_150638_1.jpg

Toen ik probeerde om alles onder de schaal te krijgen, liet het soldeer werk los en had ik veel moeite om het weer aan elkaar te krijgen en wilde het ook niet meer hechten aan elkaar. Dus het is op een andere manier opgelost.

Conclusie

Project ITTT SensitiveCrab

Ik ben heel erg blij met het resultaat en heb heel veel verschillende dingen geleerd. Het duurde lang voordat ik de code doorhad maar met behulp van het opensource aspect, is het gelukt.

Het leukste vond ik het bouwen van de krab, waarbij ik de onderdelen zelf had gemaakt en die vervolgens te realiseren met behulp van de 3d printer, lasersnijder en vacuform.