Bob De Vogel

by NynkeS2801 in Circuits > Arduino

121 Views, 1 Favorites, 0 Comments

Bob De Vogel

Bob.jpg

Hallo allemaal! Hierbij mijn project genaamd "Bob De Vogel"!

Dit is een fidget robot geïnspireerd van een Furby.

Supplies

Arduino onderdelen:

  • Arduino UNO
  • 9V Batterij
  • Batterijclip
  • Drukknop
  • Knop kapje
  • 4x Micro Servo 9g SG90
  • Joystick module OT620-B36
  • ~80x Jumper wires (M-M / F-F / M-F)
  • 2x Led diode (blauw en geel)

Bouwen:

  • Wit wol (300 m)
  • Een kam om de wol mee uit te kammen
  • Binddraad
  • Lijmpistool
  • Soldeer apparaat
  • Dubbelzijdige tape
  • ~120x Houten wegwerpstaafjes
  • 2x Houten dozen
  • Schaar
  • 8x Schroeven
  • Schroevendraaier
  • 30 x Plastic elastiekbandjes

Ideeën Bedenken...

vXcnbdzf.JPG
furbypiano.JPG
furby.JPG
Hatchanimal.jpg

Toen ik begon na te denken over ideeën voor dit project, had ik moeite om iets unieks en leuks te bedenken. Mijn eerste idee was om een piano te maken, omdat ik nieuwsgierig was naar het gebruik van een Arduino om er één te maken. Toen ik mijn interesses verder ging verkennen, stuitte ik op een video waarin een Furby orgel werd getoond.

https://www.youtube.com/watch?v=GYLBjScgb7o

Vervolgens heb ik nagedacht over de mechanismen achter het besturen van een piano waardoor ik de mogelijkheid overwoog om een Furby te besturen, vooral de jaren '90 versie. Je hebt eigenlijk een soort van controle over een piano en die zou ik dan eigenlijk ook willen hebben over een Furby, meestal zijn ze wat moeilijk in te schatten dus het leek me interessant om daar eens controle over te hebben. Na wat onderzoek ontdekte ik dat verschillende mensen in het verleden een Arduino hebben gebruikt om een Furby te besturen. Als iemand die al gefascineerd is door robots, verlegde ik mijn aandacht naar Hatchanimals, omdat die relatief een eenvoudiger bouw hebben en makkelijker te begrijpen zijn dan Furbies. Ik vond het idee echter een beetje te simpel omdat andere dit ook al in het verleden hadden gedaan en wou liever met iets uitdagender komen.

Toen ik met een Furby aan het prullen was, kreeg ik het idee om een robotje te maken dat iemand zelf kan besturen, zoals een fidget toy. Ik besloot er een vogel van te maken omdat ik een voorliefde heb voor vogels maar ook omdat Furbies en Hatchanimals eigenschappen hebben die lijken op die van vogels, wat ik inspirerend vond.

Wat Wil Ik Dat De Vogel Doet?

image0.jpg
20230422_175334.jpg
image0 (13).jpg
image0 (5).jpg
image0 (6).jpg
Untitled Sketch 2_bb.png

Nadat ik een idee had wat ik precies wou gaan maken ben ik gaan kijken naar hoe ik het wou gaan maken en welke onderdelen ik wou gebruiken.


Het bedenken van ideeën voor mijn vogelrobotproject begon met het verkennen van de inhoud van de Arduino-kit die we op school hadden gekregen. Terwijl ik de verschillende onderdelen bekeek, stuitte ik op de servo en ik kreeg meteen een ingeving. De veelzijdigheid van de servo fascineerde me, want hij kon voor talloze doeleinden worden gebruikt. De uitdaging was echter om uit te vinden hoe ik hem in mijn vogel kon integreren. Toen ik meer tijd besteedde aan het spel met de servo, drong het tot me door dat hij gebruikt kan worden om de vleugels van de vogel te besturen. Het mechanisme van de servo was perfect om de slagbeweging van vogelvleugels na te bootsen.

Na het verkennen van de mogelijkheden om een servo te gebruiken voor de vleugels, besefte ik dat het belangrijk zou zijn om het de gebruiker gemakkelijk te maken om de beweging te controleren. Hierdoor ging ik op zoek naar een geschikte besturingsinterface en ontdekte ik de joystickmodule. Als iemand die zelf graag met joysticks speelt en prul, vond ik dit de perfecte oplossing voor het besturen van de vleugels.

Om ervoor te zorgen dat de gebruiker de vleugels gemakkelijk met de joystick kan besturen, heb ik onderzocht hoe ik de joystickmodule op de juiste manier kan verbinden met de servomotor. Hierdoor kwam ik bij deze video die ik heb gebruikt voor de servo's.

https://www.youtube.com/watch?v=kA_pbMR6jVs

Hoe het er uiteindelijk uit zag: https://www.youtube.com/watch?v=08pOUuLu9jk

Nadat ik het mechanisme voor de vleugels had bedacht, richtte ik me op het hoofd van Bob. Ik brainstormde en overwoog verschillende materialen voor het hoofd, en uiteindelijk kwam ik op het idee om binddraad te gebruiken. Ik bedacht dat binddraad kon worden gebruikt om een skeletstructuur te maken voor de kop van de vogel die op en neer kon worden bewogen met behulp van twee servo's.

Om dit idee te testen, begon ik te experimenteren met binddraad en servo's. Ik realiseerde me dat de combinatie van deze twee elementen perfect werkte en de kop de flexibiliteit en beweging gaf die ik zocht. Met behulp van de joystickmodule kon ik de bewegingen van het hoofd besturen, wat een extra laag van interactiviteit toevoegde aan Bob.

Toen ik eenmaal klaar was met de kop en de vleugels van de vogel besefte ik dat de robot nog steeds niet compleet was, en dus bog ik weer te brainstormen over extra mogelijkheden om toe te voegen. Aanvankelijk probeerde ik beweging in de snavel aan te brengen met behulp van een klein mechanisme dat servo's zou gebruiken om de snavel te bewegen, maar helaas waren mijn pogingen niet succesvol. Ik besloot in plaats daarvan inspiratie te zoeken bij andere bronnen. Toen ik de nieuwere versies van Furbies en Hatchanimals bestudeerde, zag ik dat de ogen van dit speelgoed oplichten als reactie op bepaalde emoties. Deze observatie bracht me op een idee en ik begon de mogelijkheid te onderzoeken om lichtjes te gebruiken voor de ogen van de vogel. Bovendien herinnerde ik me dat je bij de Hatchanimal op zijn snavel kon drukken om een bepaalde emotie op te wekken. Op basis van dit concept dacht ik erover om de ogen van de vogel te laten oplichten door op zijn snavel te duwen.

Bouwen Van Het Hoofd

FYE6UTHLHNFFBWJ.jpg
image0 (3).jpg
image0 (4).jpg
image0 (12).jpg

Nu dat ik de basis had voor het hoofd gebruikten ik wol om rond de bindraad te binden zodat het langzaam een hoofd zal vormen. Nadat ik dit had, had ik het begin van het hoofd. Om ervoor te zorgen dat het hoofd blijft vast zitten maar dat de servo's toch nog wat beweging mogelijkheid hebben gebruikten ik een autospons waar ik een deel van de spons had uitgesneden om de servo erin te zetten, hier plakte ik de servo in met een lijmpistool.

Ik gebruikten hierbij nog wat houten wegwerpstokjes voor wat stabiliteit.

Bouwen Van De Vleugels

F2JY1PQLHNFFBQP.jpg
FS90MXBLHNFFBQB.jpg
20230514_181223.jpg
20230514_181208.jpg

Voor de vleugels heb ik hetzelfde gedaan als de servo's voor het hoofd. Ik zette de servo's vast in een spons zodat er stevigheid was, en plakte deze aan de rest van het figuur.

Ik heb de vleugels gemaakt door vier houten wegwerpstaafjes op elkaar te stapelen, daar een schroef doorheen te doen zodat ik die aan de servo kon schroeven en op de houten staafjes wat uitgekamt wol te plakken.

Bouwen Van De Snavel En Ogen

20230514_181805.jpg
F5V03Z6LHNFFBQI.jpg
FI4SLRXLHNFFBQH.jpg
image0 (9).jpg

Doordat het hoofd was gemaakt van wol en binddraad kon ik gemakkelijk de draden waar de lampjes en knop aanhingen voorzichtig in het hoofd duwen zodat ze door de andere kant er uit kwamen.

De eerste knop die ik gebruikte was te onstabiel en te moeilijk om in te drukken waardoor ik ben overgestapt naar een knop die een iets langere toets had waardoor het makkelijker in te duwen was.

Ik heb de snavel gemaakt met gebruik te makken van een kapje van een drukknop en die aan de knop vast te lijmen en met lijm en permanente stift de vorm van een snavel te maken en die zwart te maken.


Video van de knop en de lichtjes voordat ze in het hoofd waren gezet: https://youtube.com/shorts/Yj1ZvwKt-rQ?feature=share

Joystick Module

20230514_183147.jpg
yhtddhtkthfkdujktydf.jpg

Voordat ik alle vacht erop ging plakken heb ik een klein platformpje gemaakt voor het lichaam van de vogel op te zetten aan de hand van wat houten wegwerpstokjes aan elkaar te plakken en wol over het platform te binden. Hierdoor kon ik het lichaam erop plakken en kon ik gaan starten met de joystick module.

Ik haalde de draaden voor de joystick module door de plek zoals u kan zien op de tweede foto, en gebruikten een klein doosje om de joystick module met schroeven op te zetten.

Versieren

20230514_183756 (2).jpg
image0 (11).jpg
so-white-so-beautiful-long-tailed-tit-jouko-lehto.jpg
FQXMFKFLHLZZJWD.jpg

Nadat ik alle onderdelen aan de vogel had toegevoegd werd het tijd om de vogel er goed te laten uitzien. Dit deed ik aan de hand van wat houten wegwerpstokjes over de spons heen te plakken en de kleine doosjes en kleine witte pompometjes te maken en die op de vogel te plakken.

De vogel is geïnspireerd van kleine witte staartmeesjes.

Solderen

image0 (8).jpg
image0 (7).jpg
20230514_185308.jpg
20230514_185352.jpg

Tijdens dit project is er niet veel gesoldeerd, dit komt doordat ik een allergie heb voor tin waardoor het solderen moeilijk ging en ik de hele tijd tijdens het solderen uitslag kreeg. Ik had het met handschoenen geprobeerd maar helaas werkten dit niet omdat ik ook uitslag kreeg in m'n gezicht. Ik heb dit tijdens het project aangegeven aan mijn leerkracht die mij aanraden om het mogelijk aan andere mensen te vragen die dan voor mij zouden solderen. Helaas hadden vele het druk en heb ik moeten vragen aan mijn ouderen broer. Helaas werkten het gesoldeerde plaatje niet en ontplofte de batterij dus ik heb er toen voor gekozen om het maar op het breadboard te houden.


Ik heb dit breadboard dan in de doos geplakt met de Arduino en de doos achter de vogel gelegd.

Uiteindelijke Versie!

Bob.jpg

En hierbij dan de uiteindelijke versie!

https://youtu.be/6NTJBhJ_zVc

Alle Code Voor Het Project

1.JPG
2.JPG
3.JPG
//add the servo library

#include <Servo.h>
//define the servo
Servo servo1; //vleugel
Servo servo2; //hoofd
Servo servo3; //hoofd
Servo servo4; //vleugel

//define joystick pins (Anolog)
int joyX = 0;
int joyY = 1;

//variables to read the values from the analog pins
int joyVal;

int buttonPin = 9; //de pin voor de knop
int ledPin = 12; //pin voor één van de lichtjes voor de ogen
int ledPin_2 = 13; //pin voor één van de lichtjes voor de ogen

void setup() {
 //attaches the servo on pins PWM 3
 servo1.attach(3);
 servo2.attach(5);
 servo3.attach(7);
 servo4.attach(10);

 pinMode(buttonPin, INPUT_PULLUP); // PULL UP Om ervoor te zorgen dat het lichtje niet ging knipperen
 //De knop is de input voor de lichtjes waardoor de lichtjes de output worden.
 pinMode(ledPin, OUTPUT);
 pinMode(ledPin_2, OUTPUT);
}

void loop() {

 joyVal = analogRead(joyX); //Als de joystick op de x-as wordt beweegt, beweeg één van de servo's die wordt gebruikt voor de vleugels
 joyVal = map(joyVal, 0, 1023, 180, 0); //Servo moet van 180 naar 0 kunnen bewegen omdat deze servo omgedraait staat en ik wil dat de servo's hetzelfde bewegen en niet de ene andersom
 servo1.write(joyVal); //laat de servo bewegen als de joystick wordt gebruikt

 joyVal = analogRead(joyX); //Als de joystick op de x-as wordt beweegt, beweeg één van de servo's die wordt gebruikt voor de vleugels
 joyVal = map(joyVal, 0, 1023, 0, 180); //Servo moet van 0 naar 180 graden kunnen bewegen
 servo4.write(joyVal); //laat de servo bewegen als de joystick wordt gebruikt

 joyVal = analogRead(joyY);//Als de joystick op de y-as wordt beweegt, beweeg één van de servo's die vast zit aan het hoofd
 joyVal = map(joyVal, 0, 1023, 0, 180); //Servo moet van 0 naar 180 graden kunnen bewegen
 servo2.write(joyVal);//laat de servo bewegen als de joystick wordt gebruikt


 joyVal = analogRead(joyY);//Als de joystick op de y-as wordt beweegt, beweeg één van de servo's die vast zit aan het hoofd
 joyVal = map(joyVal, 0, 1023, 0, 180);//Servo moet van 0 naar 180 graden kunnen bewegen
 servo3.write(joyVal);//laat de servo bewegen als de joystick wordt gebruikt

 delay(15);

 //led

 int buttonState = digitalRead(buttonPin);//lees de buttonpin's activiteit

 if (buttonState == LOW)//als knop wordt ingeduwt
 {
  digitalWrite(ledPin, HIGH); //zet de led aan
  digitalWrite(ledPin_2, HIGH);
  Serial.println("Led high");
 } else { //zo niet zet de led uit
  digitalWrite(ledPin, LOW);
  digitalWrite(ledPin_2, LOW);
  Serial.println("Led low");
 }
}

Reflectie

Na afronding van het project ben ik zeer tevreden met het resultaat. Hoewel het ingewikkelder had kunnen zijn, ben ik tevreden met het resultaat aangezien het de eerste keer was dat ik met een Arduino werkte en onderweg nog veel moest leren. De ervaring om iets te maken wat mensen kunnen aanraken en waarmee mensen kunnen communiceren was fascinerend voor mij. Gewoonlijk worden mijn projecten online of digitaal uitgevoerd dus dit was een verfrissende verandering.

Het hele proces van werken aan Bob was erg leuk en ik genoo vooral van de kans om uit mijn comfortzone te stappen en me met iets heel anders bezig te houden. Het was een grote uitdaging, maar ook een belangrijke leerervaring.

Ik was echter teleurgesteld dat ik niet helemaal kon solderen vanwege mijn tin allergie, die ik tijdens het project ontdekte. Toch blijf ik hopen dat ik enkele alternatieven kan vinden en dit kan oplossen voor hopelijk volgende projecten!