Oplever Block

Middels deze leeswijzer (aangeboden in het Nederlands) wil ik mijn bewijsmateriaal aanleveren voor het oplever block.

Het bewijsmateriaal bestaat uit de 3 onderstaande links naar de posts van de ontwikkelingen tijdens de derde en laatste sprint van CLE 1 – Internet of Things (deze zijn in het engels).

Tinkerfun, Part 1

TinkerFun, Part 2: Electric Boogaloo

TinkerFun, Part 3: Damned Rainbows

Kort samengevat heb ik tijdens het deze sprint meerdere producten opgeleverd aan mijn groep.

Ik heb voor 90 tot 95 procent van de code aangeleverd en op geordende manier ingedeeld zodat het voor andere (naar mijn mening) te begrijpen is.

Ik heb de electrische schema’s (die te zien zijn in de links hierboven) aangeleverd zodat we wisten wat we aan onderdelen nodig hadden en hoe het uiteindelijke product intern in elkaar moest worden gezet.

Tevens heb ik meerdere demonstratie filmpjes van zowel digitale als fysieke prototypen van het product in actie (waarvan 1 te zien in de links hierboven).

Ik ben van mening dat ik om deze bewijsmaterialen positief resultaat moet kunnen behalen voor het desbetreffende block.

Retrospective Sprint 3

Hereby I present to you (above, in Dutch) the last Retrospective of the CLE 1, which as per usual I will go into detail what could use improvement going forward. All in all it comes down to one recurring issue, that being communication.

  • First of all our group was expanded from 4 to 8 people because we merged with another group. As we did before we exchanged phone numbers and expanded our group chat to include the new people. What was quickly apparent however was that some people (which I will not name) rarely ever replied or said anything. This continued for quite some time.
  • Next up was the incoming vacation. We were planning to have a discussion in the flesh about the tasks we would take upon us going into the vacation on the Friday before it. Some either didn’t show up (again, I won’t specify who) on time even though it was clearly said a few times in the chat, or didn’t show up at all. One in particular arrived late only to seemingly pass us by as if to purposely avoid us. There seemed to be a certain animosity going on.
  • After a while the daily stand ups were being neglected, they just didn’t really happen going into the second and after vacation, motivation for all seemed to be waning. Team morale seemed to slowly fade.
  • There was a pet project going on (which I detailed in Tinkerfun, Part 3) which most of the group didn’t really see a purpose to. I particularly know this because I individually asked most of the group. Although my personal opinion was that I made it pretty clear to the person with the pet project, it apparently wasn’t really clear to said person, this led to great frustration at times as from our point of view the time “wasted” on the pet project could be better spent finishing other more important tasks first.
  • Last of all was of motivation of the team. Seeing as we had a team of 8 it was a lot more difficult dividing tasks equally among each other, so at times it appeared people didn’t have anything to do and thus were spending time on things that had nothing to with the project.

That’s about it. It may sound like I’m being very negative as I’m as per usual noting the points of improvement required, but all in all I’m actually pretty positive about the last sprint. Our end product was the most finished one of all projects, and from the feedback received by both students and teachers it definitely was worth it. Furthermore the points of attention mostly pertained to the increased group size together with not really knowing the people yet.
Well, that was about it, I hope it was adequate enough.

Either way, see ya.

TinkerFun, Part 3: Damned Rainbows

So this is the third and final part leading up the conclusion of Sprint 3. If you haven’t read Part 1 and Part 2 beforehand, be sure to do so.

We came together in the vacation on Friday to have the project assembled. plenty time was wasted I’d say (won’t go in detail about it but it could’ve gone a lot faster that day) but using schematics I managed to assemble the first Lumbox (the name of our project). By assembling I mean excluding the outer casing, that was the job of someone else in the group. It did as it should, we were hoping to be able to film our promotional clip by Monday after vacation, and that’s when things started to go awry.

Filming didn’t happen Monday. I don’t know the reason behind it but either it was because the project wasn’t put in its casing yet (on second thought I think that was the case) or we didn’t reserve our spot at the filming location on time. It was moved to Tuesday, so be it I suppose. Moving on, seeing as I took charge of the main functionality (binded random button + Neopixel and score to be displayed on LCD) I assumed someone else would take care of the rainbow light effect and Game Over + reset function. By Monday neither of those were done yet, keep in mind we only had two more days to go. Monday during school for me was spent helping around with the hopes others would be able to finish what had to be done.

By the end of the day the project was in its casing and functional, but the rainbow and game over + reset functionality was still lacking. Dagmar (one of my teammates) provided me with a rainbow script for the NeoPixel, So when around 6 at home I tried to implement it into the existing code. As nobody else had said anything of the game over function yet I assume that was being handled.

I couldn’t get the rainbow script to play nice in any way, so went and focussed on the other issue still left, the game over and reset function. First I asked in the group chat (after explaining how and why I couldn’t get the rainbow script working) if someone managed to finish the game over and reset function, while I was waiting for an answer, I went ahead and played around with Millis and its included tutorial, myself having an idea of how to get it done. After an hour of no response I sent a second message hoping I’d get reply but alas. This honestly got me pretty pissed since not only I felt I have provided enough compared to my peers, and not only coding, but also because at the end of the day we were only 2 days away from the presentation as well as having to film the next day, so an updated and finished code base would be nice. In the end I turned my anger into code and half an hour later we had working game over functionality and reset functionality. I also declared myself done, having provided more than enough by now.

Tuesday was a different day. After spending some time cranky about the night prior, I sat down with Dagmar to have a second look at the rainbow functionality, while others were taking care of the last bits before filming. We couldn’t get it to work so I made a compromise and just crudely coded 6 static colours into the 12 LED’s of the NeoPixel. If it works it works I suppose, the rest of the time was spent on non-group related activities, until around 13:30 when we were going to film.

Here comes the next issue. Someone else in the group was in charge of putting in together the second Lumbox. A second Lumbox was something most of us considered irrelevant but it is as it is. Seeing as I was ticked plenty enough I wasn’t there during this time. This Lumbox was supposed to be finished before we started filming, but it wasn’t, so when I came downstairs to look at it I was asked if I could help it along under the guise of “already being this far”. This struck wrong nerve as not only was filming getting delayed because of it, but I actually had class at 14:00 so now I wasn’t even getting the chance of being in the video because of it, and given how much I helped this project along I felt I deserved as much. I bluntly replied with “We zijn zo ver dat we uiteindelijk nog steeds diets heaven”, in other words, “We’ve made it this far that in the end we still got nothing”. The updated code wasn’t to be seen in the video and neither was I, all for a second Lumbox most of us didn’t see a purpose to that still wasn’t finished by the end of the day.

At last it was Wednesday, the video was made, most of the work was done, some final changes (or so I thought) made to the code making it more comprehensibly readable, code cleanup so to say, and adding the last bit where the first NeoPixel lights up (done upon request), and at last, during some supervising on my part, the second Lumbox was ready, time to upload the finalised code. You thought that was the end of the problems did ya? Wrong. The Neopixels wouldn’t turn on. but why? The final code works perfectly while tested in simulation. Upon quick review of the code I realised what was wrong, freaking strip.begin;. During the multiple revisions of the code and testing it in the simulator of TinkerCad those lines got lost as, what I mentioned earlier, TinkerCad’s simulator, for one reason or another, didn’t require that line, thus that line had never made it there and upon testing and subsequently saving the presumed finalised code that line of code got lost. Thank goodness I did the code cleanup, which included giving the code their dedicated functions, this way I only had to add that line in 2 places (ledOn and ledOff). Save and reupload into the Lumboxes and voila, everything worked as intended. Everything was done with half an hour to spare, and man did we take delight in that final half an hour.

All in all Our project was pretty well received, not just for my code but also because of the outer casing (credit where credit is due, Kudos to my teammates for that, they did a good job) which was kid friendly. Sure hope though that next time I don’t have to supply 90 to 95% of the code base, among other things, it’d make it a little easier on me.

You can test the finalized project here (Again, with the limitation of only 3 working Neopixels + buttons). Sorry for the long post, this was in part due to residual venting required.

TinkerFun, Part 1

So one day having forgotten to take my Arduino with me, teacher David of programming told me about the wonders of TinkerCAD.

It took some time for me to get used to using, but once I did, I basically ended up doing the whole project of Sprint 3: Lumbox on tinkerCAD conveniently accessed through my laptop. This opened up a number of possibilities because I didn’t need to any hardware to test anything outside of my laptop. That was especially handy since the sprint Lumbox required certain parts we didn’t have (enough) of.

Moving on I had heard from those in my group that they didn’t manage to get the random button + Led Ring working correctly in tandem, so I decided to take up that task as I could get familiar with TinkerCAD, thus create schematics which would come in very handy later while having a simulator within which I could test my code. In the end I killed two birds in one stone.

You can test in for yourself here. First three buttons (13, 12 and 11) are for the led rings at the bottom, and the other three buttons (10, 9 and 8) are for the led rings at the top, the point is to turn off the led ring that turns on every time using the assigned button.

To be continued.

Kept you waiting, huh?

So, the last time I made a new post was back on September the 27th, it was for the first retrospective, that was almost a month ago.

It’s time to get back to it, don’tcha think?

Oh don’t you worry, I got plenty to tell, oh yes I do, lot of stuff has happened.

Retrospective Sprint 2

Hello again, welcome to my second retrospective. Just like last time the discussion happened in Dutch (as you can see above) but I will go over it in detail in english. The prime subject of attention fell to the planning at the end of the road, as follows:

  • Although it (the planning) was present at the beginning it wasn’t very concrete. In the broad spectrum of things we knew what we would be working on subject-wise (i.e. 3 of us would focus on code) but it wasn’t specified what each of us would be focussing on.
  • We should focussed a lot more on the casing (design) of our product. We basically ended up doing that close to the end of the project as opposed to during the project alongside the internal workings, because when we ended up not having enough time to finish it, had struggles fitting our project into it, and in the end ended up not having a finished product to pitch even though it technically could have been.
  • Another point of attention again was communication, and also how I could have done a better job of it. In the beginning everything code wise went well, but after a while someone else in the group introduced a whole lot of new code, code that was also still being taught (or not at all) in classes and thus code which I didn’t control yet. As a result for a long time into the project I could’t really wrap my head around it and as such had difficulty contributing to it. This could have been avoided if I had been more clear about my difficulty with it.

This seems to be the main 3 subjects of attention, points of improvement I’ll have to keep in mind going forward.