Bad's Soda - Arduino Project, Door Bradley Van Ewijk

by PrimeLockerbee in Circuits > Arduino

246 Views, 5 Favorites, 0 Comments

Bad's Soda - Arduino Project, Door Bradley Van Ewijk

IMG_20220614_142432.jpg
Bad's Soda - Arduino Project

Voor een school project heb ik een Soda machine gemaakt. Zodra je een glas voor de sensor zet gaat het pompje aan en schenkt hij (langzaam) je glas vol. Je kan alles voor de sonar plaatsen maar een glas werkt het best. De Arduino weet dat er een object staat door de sonar die ik in het schenk stukje heb verwerkt.

Supplies

Elektronische componenten:

1 x Arduino UNO

1 x 9V 2A AC DC Voeding Adapterkabel

1 x USB-B Kabel

1 x Doseringspomp/waterpomp Peristaltisch 6v

1 x Afstandssensor Ultrasoon HC-SR04 - 2-500cm

1 x Prototyping board / PCB (39x30 gaats / 10x7,5cm)

1 x Transistor PN2907A PNP 60V / 0,8A

16 x Breadboard jumper kabeltjes Dupont 10cm female/female

16 x Breadboard jumper kabeltjes Dupont 20cm female/male

16 x Breadboard jumper kabeltjes Dupont 10cm female/male

16 x Breadboard jumper kabeltjes Dupont 10cm male/male


Materialen voor behuizing:

1 x MDF 4mm 100cm bij 120 cm

1 x Spectrum primer matte spuitverf

1 x Spectrum rood hoogglans spuitverf

1 x Spectrum zilver hoogglans spuitverf

1 x Spectrum wit matte spuitverf

1 x Spectrum zwart matte spuitverf

1 x Dubbelzijdig spiegeltape

1 x Dubbelzijdig hobbytape

1 x Duct tape

1 x Houtlijm


Gereedschap:

1 x Soldeerbout

1 x Rol Soldeertin

1 x Kleine tang

1 x Knip tang

1 x Striptang

1 x Schaar

1 x Lasersnijder

1 x Dremel Light

Het Idee

IMG_20220310_102811.jpg
IMG_20220310_114018.jpg

Aan het begin van het project ben ik begonnen met nadenken over wat ik graag zou willen maken. Van een stoplicht dat kan praten naar een cocktail robot ben ik uiteindelijk bij een soda machine gekomen. Het idee was simpel, met een sonar of een andere sensor kon je een glas detecteren en dan gaat er een pompje aan om drinken in te schenken. Voordat ik op dit idee kwam ben ik eerst wat andere ideeën gaan maken en gaan proberen. Een paar van de experimenten waren zo simpel als een servo laten bewegen en een stoplicht maken. Uiteindelijk waren dat leuke ideeën maar ben ik toch voor de soda machine gegaan.

Testen

IMG_20220515_105208.jpg
IMG_20220528_112017.jpg

Voor het testen heb ik wat experimenten uitgevoerd, eerst heb ik alle onderdelen los getest en daarna heb ik langzaam alles samen gevoegd. Voor beide heb ik wat code geschreven om het snel te testen. Na alles testen heb ik alles samen gevoegd, dit was nog best een challenge, hier zal ik verderop nog wat meer over zeggen.

De Sonar Code:

//Sonar pins to Arduino
#define sp_EchoPin 2 //D2
#define sp_TrigPin 3 //D3

//Variables
long l_Duration; //Variable for the duration of sound wave travel
int i_Distance; //Variable for the distance measurement
int i_ActivateDistance = 2; //Distance to activate the pump at

void setup()
{
 pinMode(sp_EchoPin, INPUT);
 pinMode(sp_TrigPin, OUTPUT); 

 Serial.begin(9600);
}

void loop()
{
 //Clears the sp_TrigPin condition
 digitalWrite(sp_TrigPin, LOW);
 delayMicroseconds(2);
 
 digitalWrite(sp_TrigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(sp_TrigPin, LOW);

 l_Duration = pulseIn(sp_EchoPin, HIGH);

 i_Distance = l_Duration * 0.034 / 2; //Speed of sound wave divided by 2 (go and back)

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


De Pomp Code:

//Pin from transistor to Arduino
#define ci_Pump 10 //D10

void setup()
{
 pinMode(ci_Pump, OUTPUT);  
  
 Serial.begin(9600);
}

void loop()
{
  digitalWrite(ci_Pump, HIGH);

  //Activates the pump for 7 seconds and then turns it off again
  delay(7000);

  digitalWrite(ci_Pump, LOW);
}

Behuizing Bouwen

ITTT_Bradley.png
IMG_20220601_124049.jpg
IMG_20220601_124103.jpg
IMG_20220603_210621.jpg
IMG_20220604_102316.jpg
IMG_20220614_142432.jpg

Mijn idee voor de behuizing was dat ik een beetje een coca-cola machine wilde nabootsen. Vandaar ook dat de behuizing groot en deels rood is. De behuizing is ontworpen in Adobe Ilustrator en met een lasersnijder uit een MDF plaat gesneden. Het snijden was de eerste keer mislukt, de brands punt afstand was verkeerd af gesteld en het materiaal werd wat heet en vervormde een beetje. De tweede keer is het wel goed gelukt. Een idee voor de volgende keer zou kunnen zijn om het op twee kleinere platen te printen. Daarna heb ik met wat hulp van een studie genoot het verven gedaan. Dit hebben we gedaan door eerst een laag primer erop te spuiten. Daarna de eerste laag spuitverf, toen dat gedroogd was de volgende laag. Uiteindelijk zijn we voor drie lagen gegaan. Zo zag het er het mooiste uit. Toen alles droog was hebben we alles aan elkaar gelijmd met hout lijm. Daarna heeft het even staan drogen en kwam de volgende stap, het solderen!

Solderen & Circuit

BADS_SODA_0.5_EXPORT.png
IMG_20220611_152709.jpg
BADS_SODA_bb.png
IMG_20220614_161425.jpg

Voor het solderen heb ik vooral gebruik gemaakt van een plek op school. Omdat dit de eerste keer solderen was na een lange tijd heb ik eerst wat geoefend met hoe het ook al weer ging. Voor ik begon met solderen heb ik eerst een schema gemaakt van hoe de electronica zat, zo kon ik het beter zien en makkelijker solderen. Het solderen ging een stuk sneller omdat ik een Stripboard gebruikte en daarvoor hoefde ik zelf geen bruggetjes te maken. Na het solderen heb ik het getest door het aan de stroom te zetten en gelukkig werkte het. Tijdens het bouwen en het plakken van de behuizing werkte er iets niet goed meer en zoals je op de eerste foto kan zien was het middelste stuk niet heel mooi gedaan, daar zat alles eerst. Tijdens het laatste stukje solderen was mijn pomp kapot gegaan. Natuurlijk gebeurt dit altijd richting het einde van het project. Gelukkig heb ik snel een andere pomp kunnen regelen en kon ik verder met het project. Gelukkig heb ik thuis een soldeer set en heb ik mijn circuit kunnen aanpassen. Het circuit is wat versimpeld en beter gemaakt. Zoals je op de tweede foto kan zien is het soldeer werk ook een stuk netter gedaan.

Samenstellen & Conclusie

IMG_20220614_142432.jpg
IMG_20220611_110515.jpg
IMG_20220611_110524.jpg
Bad's Soda - Arduino Project
Bad's Soda Inner Workings - Arduino Project

De laatste stap was het in elkaar zetten van het project. Dit ging redelijk goed, de eerste keer schoten er heel wat draadjes los. Dit heb ik snel opgelost door op elke connectie wat tape te stoppen. Zo bleef alles goed zitten. Daarna heb ik de laatste code versie erop gezet en het daarna aangesloten op het stop contact en gelukkig werkte alles. Ter conclusie heb ik veel kunnen leren van dit project, ook heb ik erg veel plezier gehad. Daarom heb ik besloten door te gaan met dit project en het uit te breiden naar een grotere versie. Het solderen en het gebruiken van een Arduino heb ik weer kunnen leren, opnieuw kunnen verversen. Wel heb ik geleerd om een behuizing te ontwerpen en die ook daadwerkelijk te maken, hier hoort ook het laser printen, dit was erg leuk om te doen. Tijdens dit project ben ik erachter gekomen dat ik het electronica gedeelte erg leuk vind maar ook het nadenken over een behuizing en het maken ervan.


Laatste Code Versie:

//Sonar pins to Arduino
#define sp_EchoPin 2 //D2
#define sp_TrigPin 3 //D3

//Pin from transistor to Arduino
#define ci_Pump 10 //D10

//Variables
long l_Duration; //Variable for the duration of sound wave travel
int i_Distance; //Variable for the distance measurement
int i_ActivateDistance = 2; //Distance to activate the pump at

void setup()
{
 pinMode(sp_EchoPin, INPUT);
 pinMode(sp_TrigPin, OUTPUT); 

 pinMode(ci_Pump, OUTPUT);  
  
 Serial.begin(9600);
}

void loop()
{
 //Clears the sp_TrigPin condition
 digitalWrite(sp_TrigPin, LOW);
 delayMicroseconds(2);
 
 digitalWrite(sp_TrigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(sp_TrigPin, LOW);

 l_Duration = pulseIn(sp_EchoPin, HIGH);

 i_Distance = l_Duration * 0.034 / 2; //Speed of sound wave divided by 2 (go and back)

 //If the distance is shorter than 4 cm the pump activates
 if(i_Distance <= 4)
 {
   digitalWrite(ci_Pump, HIGH);
 }
 else
 {
  digitalWrite(ci_Pump, LOW);
 }

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

}

EXTRA

Bradley_ITTT_Poster_2.png

Dit is de poster die ik gebruikt heb tijdens de presentatie van het project.