Inhoudsopgave:

Wipy: de overdreven gemotiveerde whiteboardreiniger - Ajarnpa
Wipy: de overdreven gemotiveerde whiteboardreiniger - Ajarnpa

Video: Wipy: de overdreven gemotiveerde whiteboardreiniger - Ajarnpa

Video: Wipy: de overdreven gemotiveerde whiteboardreiniger - Ajarnpa
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Juli-
Anonim
Image
Image
Wipy: de overdreven gemotiveerde whiteboardreiniger
Wipy: de overdreven gemotiveerde whiteboardreiniger

Invoering

Ben je ooit moe geworden van het schoonmaken van het whiteboard? Heb je je ooit afgevraagd hoeveel je leven zou verbeteren als een robot dit voor je zou kunnen doen? Je hebt nu de kans om dit te realiseren met Wipy: de overdreven gemotiveerde whiteboardreiniger. Wipy zal je beschamend slechte tekeningen goed schoonmaken, en het zal het zelfs doen met een schattige glimlach. Je hoeft het niet eens te activeren! Het maakt het bord gewoon schoon wanneer je het het minst verwacht … Uhhh … * hoesthoest * … we bedoelen natuurlijk: wanneer je het het meest nodig hebt!

Functies:

- Onze toekomstige vriend kan met magneten aan het bord blijven plakken en kan door de ruimte bewegen met behulp van gripwielen.- Hij kan een lijn volgen en wissen met een lijnvolgsensor en een spons.- Wipy heeft de mogelijkheid om de afstand tot je hand te meten met behulp van een time-of-flight-sensor.- We zullen Wipy een schattige persoonlijkheid geven met een klein OLED-scherm.

Het project werd uitgevoerd als onderdeel van het seminar Computational Design en Digital Fabrication in het ITECH-masterprogramma.

Lasath Siriwardena, Simon Lut & Tim Stark

Stap 1: Wipy's logica

Wipy's logica
Wipy's logica

Wipy werkt op basis van het samenspel tussen de lijnsensor en de Time of flight sensor. Afhankelijk van wat voor soort lijn het detecteert en hoe dichtbij je hand is, reageert Wipy op een aantal manieren zoals te zien is in het diagram.

Stap 2: Componenten en theorie

Om dit geweldige stukje geavanceerde wistechnologie opnieuw te creëren, hebt u de volgende items nodig:

Componenten

Om het chassis van de robot te maken, heb je toegang nodig tot een lasersnijder. Voor het geval werd een 3D-printer gebruikt.

De basisplaatelementen zijn allemaal gesneden uit een vel plexiglas van 500 x 250 x 4 mm.

We raden u ook aan een Arduino-kit te kopen die veel van de fundamentele componenten voor dit project bevat (Amazon)

Hoofdzaak

1 x 3D-geprint hoesje

1 x Bovenste bodemplaat (lasercut)

1 x Middelste bodemplaat (Lasercut)

1 x Bodemplaat (Lasercut)

36 x M3-moeren

5 x M3 Bouten 15 mm

4 x M3 Bouten 30 mm

2 x Magneten (we hebben ze hier)

Hoofdelektronica

1 x Arduino Uno R3 of generiek equivalent - (Amazon)

1 x Arduino-uitbreidingsschild (meegeleverd in starterkit)

1 x Mini Breadboard (Inbegrepen in starterkit)

19 x jumperdraden (meegeleverd in starterkit)

11 x [OPTIONELE EXTRA] Soldeerloze verbindingsdraden - (Amazon)

1 x Powerbank met minimaal 2 USB-slots - (Amazon). Vermijd goedkope powerbanks omdat de stroombron onbetrouwbaar kan zijn.

1 spoel x CCA dubbele draad voor het aansluiten van de powerbank op Arduino & Motors - (Amazon)

1 x schroefklemmenblokken - (Amazon)

Sensoren en motoren

1 x micromotoren, wielset en beugelset - (Pimoroni)

1 x [OPTIONEEL RESERVE] Motorsteunen 3D-afdrukbestand - (Thingiverse)

1 x 0,91 OLED-scherm - (Amazon

1 x L293D motorstuurprogramma IC - (Amazon)

1 x 5-kanaals IR-lijnvolgsensor - (Amazon)

1 x Vluchttijdsensor (VL53L0X) - (Amazon)

Gereedschap

- Kruiskopschroevendraaier

- Platte schroevendraaier

- Hobbymesje

- Duct tape

Theorie

Lijnvolgsensor

In de lijnsensor wordt een array van vijf IR-sensoren gebruikt. Deze IR-sensoren zijn in staat om kleuren op te pikken. De sensor heeft een zender en een ontvanger. De zender kan infraroodgolven uitzenden, als een oppervlak erg reflecterend is (zoals een wit oppervlak), terwijl het meer van de golven terugkaatst in de IR-ontvanger. Als het oppervlak straling absorbeert, zoals een zwarte kleur, zal de IR-ontvanger minder straling ontvangen. Om de lijn te volgen zijn minimaal twee sensoren nodig.

MotorenOm de DC-motoren te besturen, heb je een soort driver nodig om ze te besturen. De I2C L293D Motor Driver IC De L293D is een motordriver die een goedkope en relatief eenvoudige manier is om zowel de snelheid als de draairichting van twee DC-motoren te regelen. Voor meer diepgaande informatie over de L293D heeft Lastminuteengineers een fantastisch overzicht:

Time-of-flight sensor: Deze sensor is in staat om afstanden te meten volgens een principe dat al handig in de titel van de sensor wordt vermeld: time of flight. Het is een zeer nauwkeurige sensor en is te vinden in bijvoorbeeld drones of LiDAR-systemen. Het is in staat om een laser in een bepaalde richting te schieten en de tijd te meten die nodig is voor de laser om terug te keren, op basis daarvan kan de afstand worden berekend.

Stap 3: Basiscase voorbereiden

Basiscase voorbereiden
Basiscase voorbereiden
Basiscase voorbereiden
Basiscase voorbereiden
Basiscase voorbereiden
Basiscase voorbereiden

Wipy's lichaam bestaat uit twee delen; een lasergesneden basis en een 3D-geprinte behuizing.

1. Voor de basis kan het lasergesneden of met de hand worden gesneden, afhankelijk van het materiaal. Het bijgevoegde bestand vindt u in de sectie componenten. We raden aan om sterke maar lichtgewicht materialen te gebruiken, zoals acrylplaten (3 - 4 mm) of multiplex (2,5 - 3 mm). Tijdens onze prototypingfase hebben we een schuimkern van 10 mm gebruikt die bijzonder goed werkte en het huidige ontwerp zou ermee moeten werken (er is enige fijnafstemming nodig). Schuimkern is ook gemakkelijk met de hand te snijden voor mensen zonder toegang tot lasersnijders.

2. De behuizing is bedrukt met PLA met een laaghoogte van 0,2 mm en een opvuldichtheid van 25%. We raden ook een wanddikte van 0,8 mm aan.

Stap 4: Montage van de elektronica: Motor Driver & I2C

De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C
De elektronica monteren: motorstuurprogramma & I2C

Bij het monteren van de elektronica gaan we eerst beginnen met de L293D Motor Driver.

  1. Plak het mini-breadboard op het Arduino-uitbreidingsschild.
  2. Plaats de L293D helemaal op het uiteinde van de mini-breadboard (waar het kleine plastic verbindingsstukje aan de korte kant uitsteekt). Let op, de volledige cirkel bovenop de L293D moet zich aan het einde van het bord bevinden.
  3. Sluit eerst alle soldeerloze jumperdraden aan
  4. Bevestig de overige draden aan de Arduino en vervolgens aan de motoren. Het maakt niet uit of u de volgorde van de draden voor uw motoren verwisselt, want u zult ontdekken wanneer uw motor de verkeerde kant op draait.
  5. Laad de voorbeeldcode van de motoren in de Arduino om ze te testen - deze staat onderaan deze pagina: (voorbeeldcode Motors)

Stap 5: Montage van de basis

De basis monteren
De basis monteren
De basis monteren
De basis monteren
De basis monteren
De basis monteren

Om de basis te monteren, raden we de volgende volgorde aan.

  1. Verbind eerst de motoren met behulp van de beugels met de bovenste basis. De beugels gebruiken M2 moeren en bouten. Neem de tijd om de bouten in te schroeven, want ze zijn vrij klein en onhandig.
  2. Sluit de Arduino aan op de bovenplaat, zorg ervoor dat de Arduino loskomt van de beugel. Gebruik M2-bouten om het aan te sluiten. Als M2-bouten niet in je bezit zijn, kun je ook M3 gebruiken, maar daar is wat meer brute kracht voor nodig.
  3. Vervolgens: bouten aan de magneten bevestigen, bodemplaat over de bouten schuiven en de bouten op de aangegeven plaatsen aan de middenplaat bevestigen. Bevestig nu de midden- en bodemplaat.
  4. Bevestig de lijnsensor met de aangegeven bouten aan de middenplaat. Zorg ervoor dat u ook de aangrenzende bouten in de middelste plaat plaatst, omdat de gaten niet meer toegankelijk zijn als de lijnsensor is bevestigd.
  5. Voeg alle bouten in de middelste plaat toe die aansluiten op de bovenste basis.
  6. Plaats ten slotte de bovenste basisplaat en draai deze vast aan de rest van de basis.

Stap 6: Magnet Madness

Nu komt het lastige gedeelte, je Wipy uitproberen op een verticaal whiteboard. Dit deel is gebaseerd op een beetje vallen en opstaan, omdat er een goede balans is tussen:

- De magneten zijn te sterk, dus de wielen kunnen niet bewegen. - De magneten zijn niet sterk genoeg zodat Wipy van het bord valt.

De magneten die we gebruikten zijn sterk, waarschijnlijk iets te sterk. Door afstandhouders tussen het bord en de magneten te gebruiken, kan de aantrekkingskracht worden verminderd. De afstandhouders zorgen er ook voor dat de bovenkant van de bout het whiteboard niet raakt. De afstandhouders kunnen met lijm aan de magneet worden bevestigd, of in de prototypingfase: veel ducktape.

TipsWe hebben enkele tips om de magneten correct te laten werken:

- De magneet tussen de wielen is bedoeld om de wielen in het board te trekken zodat de wielen meer grip hebben. Zorg ervoor dat deze magneet net hoger is dan het niveau van de wielen.- Zorg ervoor dat de robot een kleine hoek maakt naar de achtermagneet.- Begin te experimenteren met meer (kleinere) magneten aan de achterkant. Omdat een reeks kleinere magneten kan beginnen te voorkomen dat de robot in cirkels gaat rijden.

De wielen zouden nu in dezelfde richting moeten draaien. Probeer het nu op het bord en huil tranen van vreugde als het eindelijk werkt. Het is nu tijd voor een klein overwinningsfeestje.

Stap 7: Meer sensoren, meer plezier

Meer sensoren, meer plezier
Meer sensoren, meer plezier
Meer sensoren, meer plezier
Meer sensoren, meer plezier

Nu de motoren en magneten mooi met elkaar spelen, is het tijd om wat (nutteloze) functies aan Wipy toe te voegen.

1. Lijnsensor Gebruik de meegeleverde kabel om de lijnsensor op het breadboard aan te sluiten zoals aangegeven. De groene kabel op het schema is voor SCL en de witte is voor SDA.

2. Scherm toevoegenLaten we Wipy's schattige gezicht toevoegen zoals aangegeven.

3. Tof sensor Voeg ten slotte de afstandssensor toe zoals aangegeven. Deze sensor detecteert hoe dicht hij bij de hand is en stopt dienovereenkomstig. Het geeft Wipy ook de (vervelende) functie om het bord af te vegen op het moment dat je op het bord begint te tekenen.

4. Upload code

Nu alle sensoren zijn aangesloten, kunnen we beginnen met coderen. Laad het bijgevoegde codebestand en zie Wipy tot leven komen. Er zijn opmerkingen in de code om u te helpen deze te begrijpen. Zorg ervoor dat u de juiste bibliotheken downloadt via Sketch > Bibliotheek opnemen > Bibliotheek beheren. De tijd van de vlucht (VL53L0X.h) sensorbibliotheek is te vinden (hier)

5. Vermogen

Om de motoren en de Arduino van stroom te voorzien terwijl Wipy vrolijk over het whiteboard paradeert, raden we een externe batterij aan. Je kunt deze bijvoorbeeld in de bovenhoek van het bord plaatsen en kabels naar Wipy leiden. Wipy heeft twee voedingen nodig: 1 voor de Arduino en 1 voor de motoren zoals aangegeven op de foto. We hebben ervoor gekozen om een powerbank te gebruiken die 2x 5V 2A levert. Sluit er een rechtstreeks in de Arduino (in Vin, de USB of de powerport). Zorg ervoor dat, indien aangesloten op de Vin, er voldoende stroom is voor de Arduino en alle sensoren.

6. Alles bij elkaar

Om het allemaal samen te voegen, raden we aan om de OLED en de Time of Flight-sensor op de behuizing te plakken en vervolgens met dubbelzijdige tape de behuizing op de basis te bevestigen.

Stap 8: Wil je meer Wipy-emoties?

Wil je meer Wipy-emoties?
Wil je meer Wipy-emoties?
Wil je meer Wipy-emoties?
Wil je meer Wipy-emoties?

Wil je je eigen Wipy-emotie creëren, dan kun je dit als volgt doen:

  1. Creëer je verbazingwekkende emoties met behulp van grafische software (Adobe Photoshop, GIMP, enz.) Die bitmapafbeeldingen kan opslaan. Zorg ervoor dat u een resolutie heeft die hetzelfde is als uw scherm. Voor ons geval is dat 128 x 32 px.
  2. Vervolgens moeten we deze bitmaps omzetten in code. Daarvoor kunnen we de online tool image2cpp gebruiken. Upload de afbeeldingen die u wilt converteren
  3. Zorg er na het uploaden voor dat de instellingen correct zijn, zoals resolutie en oriëntatie. Zodra alles correct is, wijzigt u het "Code-uitvoerformaat" in "Arduino-code" en zorgt u ervoor dat u een identificatie gebruikt die hetzelfde is als de emotie die u wilt vervangen.
  4. Als u klaar bent, klikt u op "Code genereren" en vervangt u de code in de Arduino Sketch.
Arduino-wedstrijd 2019
Arduino-wedstrijd 2019
Arduino-wedstrijd 2019
Arduino-wedstrijd 2019

Tweede plaats in de Arduino-wedstrijd 2019