Buildingblocks – Iron Man

Inleiding

In deze leeswijzer vind u mijn bewijsmateriaal voor het buildingblock ‘Iron Man’. Het doel van het buildingblock Iron Man is te leren hoe je een werkend product maakt, waarbij je gebruikt maakt van je eigen code, meerdere opties op het gebied van elektronica gebruikt en een behuizing maakt zodat het product daadwerkelijk te gebruiken is door een klant. Het product dat ik in deze leeswijzer ga behandelen is mijn ontwerp voor CLE1, sprint 2; ‘Smart winkelvak’.

Hardware programmeren

Ik kan een microcontroller programmeren, zodanig dat hiermee een interactief project aangestuurd kan worden. De microcontroller kan inputs inlezen en outputs aansturen. Het project heeft geen beeldscherm nodig om te functioneren.

Voor mijn ontwerp ‘Smart winkelvak’ uit CLE1, sprint 2 wilde ik een winkelvak maken die kon aanvoelen of het vak leeg was of nog vol was, en d.m.v. een signaal dit kon overbrengen op de gebruiker. Hiervoor heb ik een druksensor gebruik voor het aanvoelen van de bezetting van het vak, en een rode LED voor het overbrengen van de informatie aan de klant. De bedoeling was dat wanneer er geen druk meer op de sensor was de rode led ging branden om aan te geven dat het vak leeg was.

Om dit te laten werken ben ik begonnen met het programmeren van de adafruit via www.makecode.adafruit.com:

Ik begon met een ‘analog read pin’ block waardoor de op de analoge pin aangesloten druksensor afgelezen gaat worden.

Vervolgens het ik het blok in een vergelijkingsblok gesleept waardoor met de waarde een if/else statement aangestuurd kan worden.

Met het if/else statement kunnen 2 verschillende stukjes code worden uitgevoerd afhankelijk van wat de waarde op de analog pin is.

In deze if/else statement staat een digital write pin to high/low block, waardoor het LED-lampje dat is aangesloten op de A3 pin afhankelijk van de waarde van de analog read pin waarde aan of uit gaat. ‘High’ in de code betekend volledige stroom naar het lampje, oftewel lampje aan, en ‘Low’ betekend geen stroom naar het lampje en dus lampje uit.

De code is geïmplementeerd in een ‘forever’ tag, waardoor de adafruit ten alle tijden deze code blijft uitvoeren. In eerste instantie had ik de code in een ‘on start’ block gedaan, maar dat werkte niet want dan zou de adafruit de code alleen bij het aanzetten van het bordje runnen. Hier kwam ik echter al snel uit en heb er toen een forever tag van gemaakt.

Ik heb de vaste waarde in het vergelijkingsblock door middel van ‘trial and error’ vastgesteld op 10. Dit is voor de druksensor een lage waarde, waardoor er zeer weinig druk nodig is om boven de 10 te zitten, maar toch niet zo gevoelig is dat de druksensor op bijv. alleen luchtverschuiving al reageert.

De inputs die afgelezen worden is in dit geval de druk op de druksensor, uitgedrukt in weerstand (Ohm). De outputs die aangestuurd worden is het LED-lampje, uitgedrukt in hoeveelheid stroom (Ampère).

Verder heeft de code geen beeldscherm nodig om te werken. Zodra de stroom, d.m.v. een aan en uit switch, aan word gezet begint de adafruit met het runnen van de code, en blijft dit gedurende de tijd dat hij aanstaat ook doen. De acties worden dan uitgevoerd afhankelijk van de druk op de druksensor.

Externe electronica aansluiten

Ik kan externe electronica aansluiten op de microcontroller zodanig dat dit extra functionaliteit toevoegt. Denk hierbij aan sensoren en knoppen voor input, en lampjes, servo motor en geluid voor output.

Zoals hiervoor besproken heb ik gebruikt gemaakt van een druksensor als input en een LED-lampje als output. Hierdoor krijgt mijn product de mogelijkheid druk waar te nemen, en dit als signaal door de sturen naar de adafruit. Deze kan dit signaal in een waarde omzetten en daar weer iets mee aansturen, in dit geval dus de LED. De druksensor heb ik met de ene pol op de 3,3V aansluiting aangesloten, en met de andere pol op de GND. Verder werd die 2de pol (d.m.v. een vertakking) ook aangesloten op de analog pin. Hiermee kan de adafruit de waarde van de weerstand die de druksensor op dat moment heeft waarnemen. (Hiermee zal de code aangestuurd worden.)

Verder is het lampje aangesloten op de A3 pin en de GND pin. Via de A3 pin zal stroom worden gestuurd wanneer de if statement in de code klopt. Hierdoor gaat het lampje branden.

Ik heb voor de bedrading het volgende ‘Wiring Diagram’ opgesteld, en heb die gevolgd tijdens het verbinden van alle bedrading:

Klik om te vergroten
Foto van de bedrading tijdens het assembleren

Bruikbaar product

Ik kan een behuizing voor het eindproduct ontwerpen waarbij bedrading en gevoelige electronica verborgen is, zodanig dat het eindproduct bruikbaar is voor een eindgebruiker zonder dat het meteen kapot gaat. Ik kan verantwoorden welke keuzes ik heb gemaakt in de vormgeving van het product en waarom deze aansluiten bij de doelgroep.

Klik om te vergroten

Voor de behuizing heb ik voor een simpel kubus design gekozen, met bovenop de druksensor omgeven door een omheining wat het vak aangeeft. Ik heb kozen voor het kubus design omdat dit product bedoelt is in een winkel, en daarvoor verwerkt gaat worden in een plank waar de producten op staan. Dit design is gemakkelijk in een plank te verwerken zoals te zien is in de bijgevoegde schets. Dit sluit aan bij de doelgroep ‘Winkels’ omdat een winkel niet gelijk hun hele planken wilt vernieuwen omdat dit veel geld kost, maar in plaats daarvan liever deze aanpassing aan hun plank wilt maken zodat ze het product er in kunnen verwerken.

De batterij zit aan de buitenkant van de doos omdat je zo de batterijen kan verwisselen zonder de doos open te hoeven maken, waardoor de doos dus volledig dicht gemaakt kan worden. Ook dit sluit aan op de doelgroep omdat dit veel tijd scheelt aangaande het verwisselen van batterijen, wat weer kosten spaart. Verder zit op de batterij ook de aan/uit knop die het product aan- of uitzet. Zoals op de foto’s te zien is is, op 2 kleine stukjes draad vanaf de batterij en druksensor naar binnen na, de volledige bedrading in de binnenkant van het product verwerkt. (De twee kleine stukjes draad konden niet gelijk in het product lopen door dat de aansluiting van zowel de batterij als de druksensor hiervoor geen ruimte vrij lieten.) Hierdoor kan de klant niet bij de bedrading komen en zal het product dus blijven werken.

Foto’s en filmpjes van het gerealiseerde prototype van product:

(In dit filmpje is de batterijhouder nog niet verbonden aan het product vanwege de bereikbaarheid tijdens de lessen)

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *