Sjoerd de Jong – Sjoerd de Jong https://sjoerd.tech CREATE // INNOVATE // INSPIRE Thu, 05 Oct 2023 10:42:45 +0000 en-GB hourly 1 https://wordpress.org/?v=7.0.1 https://sjoerd.tech/wp-content/uploads/2019/03/cropped-Slogo-3-32x32.png Sjoerd de Jong – Sjoerd de Jong https://sjoerd.tech 32 32 SELF-DRIVING WHEELCHAIR https://sjoerd.tech/self-driving-wheelchair/ https://sjoerd.tech/self-driving-wheelchair/#respond Thu, 05 Oct 2023 10:42:43 +0000 https://sjoerd.tech/?p=1197 For my final Masters Graduation Project, I worked on making an eye-controllable, self-driving wheelchair for people who are unable to control a wheelchair with their limbs.

I developed both the hardware and software of the wheelchair.

]]>
https://sjoerd.tech/self-driving-wheelchair/feed/ 0
Crypto tools https://sjoerd.tech/crypto-tools/ https://sjoerd.tech/crypto-tools/#respond Wed, 12 Oct 2022 20:51:06 +0000 https://sjoerd.tech/?p=1185 Continue reading "Crypto tools"

]]>
I’ve been intensively trading crypto for the past year, with various trading strategies. I’ve developed multiple tools to help me analyze and bot events.
A few of these tools are public:

MakerTakerCharts

A tool for plotting individual trades on various exchanges. This allows you to analyze market-moving events with 1-millisecond accuracy, instead of the 1-second accuracy that Tradingview provides.
https://www.sjoerd.tech/MakerTakerCharts/

TweetStamp

A simple tool to get tweet timestamps with 1-millisecond accuracy.
https://sjoerd.tech/tweetstamp/

]]>
https://sjoerd.tech/crypto-tools/feed/ 0
Jan Cremer Motor https://sjoerd.tech/jan-cremer-motor/ https://sjoerd.tech/jan-cremer-motor/#respond Mon, 15 Aug 2022 15:34:44 +0000 https://sjoerd.tech/?p=1169 Continue reading "Jan Cremer Motor"

]]>
During my job at 100%FAT, I developed the electronics and software for an interactive motorcycle, placed prominently in front of the train station in Enschede, Netherlands.

The motor itself is built by artist Jelle de Graaf.

Users can sit on the motor, and use buttons placed on the handles to interact. 2 modes are integrated; in the first mode, users can scroll through paragraphs of Jan Cremer’s(famous Dutch writer) book, and listen to them being read out-loud. In the second mode, users can just have fun and create typical motorcycle sounds by pulling the handle.

]]>
https://sjoerd.tech/jan-cremer-motor/feed/ 0
Neural net https://sjoerd.tech/neural-net/ https://sjoerd.tech/neural-net/#respond Mon, 22 Mar 2021 22:46:38 +0000 https://sjoerd.tech/?p=1143 Continue reading "Neural net"

]]>
During my job at 100%FAT, I developed the software for Neural Net, an interactive installation for the Technical Museum Wien in Vienna, Austria.

The installation is aimed at visualizing how an AI Neural Network works. In the installation, neurons in different layers are connected with each other. Each connection transmits only a small amount of information, but all neurons combined can achieve great things.

I first made a simulation of what the end result would look like, to be able to quickly make changes and see what works and what doesn’t. This is much easier to do in software than hardware.

The user can ‘draw’ a digit between 0 and 9 using 20 giant buttons. The neural net will respond to changes in real-time and try to predict what number has been put in. The brightness of all 1500+ LED’s will communicate what the network is doing and show the flow of information.

https://www.technischesmuseum.at/museum/tmw-zine_-_unsere_stories/ki_zine/ki_zine_3_-_neuronen_zum_begreifen_nah

]]>
https://sjoerd.tech/neural-net/feed/ 0
CONCORDIA ROBOT https://sjoerd.tech/concordia-robot/ https://sjoerd.tech/concordia-robot/#respond Fri, 18 Sep 2020 15:20:53 +0000 https://sjoerd.tech/?p=1103 Continue reading "CONCORDIA ROBOT"

]]>
During my job at 100%FAT, I developed all the software, electronics and interaction design for a social robot for Concordia.

Concordia is a cultural institute holding art exhibitions, screening movies and hosting theatre. Concordia is based right in the city center of Enschede. In order to attract more people and expand their audience, Concordia wanted to put a technological eye-catcher in front of the museum, which acts as an interactive banner and invites people to come in.

The concept is a robot sitting on a bench, which can be interacted with. The robot should interact with the potential visitors that are walking by in the busy shopping street. People should feel invited to come closer, interact more with the robot, and ultimately feel more intrigued to visit Concordia.

The robot will be placed outside, so all electronics are made water-proof. The whole robot runs at a single 30Ah 12V battery which lasts 12+ hours and can be charged overnight.

The eyes and mouth are 18×15 (mini)WS2812B led matrices, allowing for full individually addressable LED’s that are also visible outdoors. Below the main control PCB, made by me, is shown. A Teensy 4.0 is used as the main brain of the robot. Various other components are used to control the various motors, sensors, led matrices and sound.

A Raspberry Pi 3B+ is used for playing and storing audio. It also does the people-tracking with the Intel Realsense D435 depth camera. For this, I implemented a blob-tracking algorithm on the point cloud data of the D435.

3D blob tracking dance. (noise in the back is furniture in my room)

A total of 50 different animations have been implemented. These animations can easily be linked to different audio files. Some of the animations show different emotions, others are just cool effects. Some animations also have linked motor behavior.

First an attempt was made at implementing speech synthesis. However, the results of these were not always audible and had little inflections in the voice. The decision was therefore made to have a real person record the audio and applying a filter over this. The mouth moves with the amplitude of the audio.

The robot has multiple interaction states. In each state the robot says different things and behaves differently. It can distinguish whether people are walking by or not, and will try to attract people if there aren’t any people close by. If someone comes to interact, the robot says ‘hello’ and starts a conversation.

The bench also has sensors, so you can sit next to the robot and the robot will look at you and say different things. When you stay up, the robot will say ‘goodbye’. Lastly, the robot also has a wheel that you can turn, which will also trigger certain events.

]]>
https://sjoerd.tech/concordia-robot/feed/ 0
Pneumatic Shield https://sjoerd.tech/pneumatic-shield/ Fri, 03 Jul 2020 21:20:46 +0000 http://sjoerd.tech/?p=927 Continue reading "Pneumatic Shield"

]]>
For my final graduation project for my study Creative Technology at the University of Twente, I developed a Arduino-nano based pneumatic shield for the control of pneumatically actuated wearables.

Pneumatic wearables are essentially small air-pockets / balloons, integrated into clothing, that can be in- and deflated to either provide a sense of touch, actuate something or they can be used as pressure sensors.

There is no accessible way to prototype these pneumatics. There are systems like Pneuduino and Programmable air, but they are quite expensive and don’t offer precise control. This is what my solution tries to solve.

The back side of the PCB. Many blood sweat and tears were needed to solder this PCB…

The shield is able to provide accurate closed loop pressure and airflow control of up to 4 outputs. Each output has a pressure sensor, and can either FILL, HOLD, or RELEASE air from an actuator. Actuators can be directly connected to the outputs without the need of any external tubing or connectors. It is an Arduino Nano shield, and left-over pins can be used to connect external sensors and actuators. The shield can be powered by any 5V/2A power source (e.g. a power bank)

The board is super cost effective at a component price of just €16. This is way cheaper than any solution out there, whilst still offering decent performance.

The shield can be controlled by a PC dashboard application, or by using the Arduino Library for full control.

I also made a 12 output setup, which doesn’t have the accurate control that the smaller shield has, but is more focused on controlling a lot of outputs.

I finished the graduation project with a 9

]]>
Heterdaadje https://sjoerd.tech/heterdaadje/ Wed, 01 Jul 2020 09:26:00 +0000 http://sjoerd.tech/?p=943 Continue reading "Heterdaadje"

]]>
During my job at 100%FAT, I developed a smart waste bin for the municipality of Almelo, which aims at reducing litter around underground waste bins.

The problem that this project aims to solve is the fact that people put their waste next to the underground waste bins, instead of trowing it in, which causes litter and costs the municipality more man hours to clean.

The solution is a durable, aluminium ring that wraps around the waste bin. The ring has various sensors which can detect when trash is placed next to the bin. Furthermore, it has LED strips and a speaker for feedback.

When placing trash next to the bin, the ring will make an alarm sound and ask the litterer to put their trash in the bin. During the evening/night, the sound is swapped for LED visual feedback to not keep the neighborhood awake.

The conceptualization, electronics and programming have all been done by me. Only the external housing of the ring has been made by another person in the company. The ring lasts for longer than a week on a single power bank, which can be easily swapped out for a fresh one.

Below there are various news articles(with videos) that covered this innovative solution.

https://www.tubantia.nl/almelo/durf-hier-in-almelo-maar-eens-rotzooi-te-dumpen-dan-merk-je-dat-direct~a8e7e7ca/

https://www.rtvoost.nl/nieuws/332434/Het-heterdaadje-detector-moet-afvaldump-in-Almelo-tegengaan

https://indebuurt.nl/almelo/gemeente/afvaldumpers-in-almelo-voortaan-op-heterdaad-betrapt~71095/

]]>
Spherical Pacman https://sjoerd.tech/spherical-pacman/ Mon, 22 Jun 2020 17:26:56 +0000 http://sjoerd.tech/?p=679 Continue reading "Spherical Pacman"

]]>
I coded a spherical Pacman game entirely using c++ and OpenFrameworks.

The game is a combination between Pacman and Bomberman, just like pacman you move in maze, and like in Bomberman, you can place bombs which will destroy obstacles and obliterate the enemies. The goal is to eat all pallets without getting caught by any ghosts.

I made an arcade cabinet out of cardboard, colored paper and transparent sheets of plastic. A coin detection system was built to detect when a coin is inserted. A joystick and LED-button are used to control the game, and a led-strip is placed around the screen for an extra ‘wow’ factor. For the screen an iPad is used.

The game in action
Code, 17 tabs of code…
]]>
TREE GENERATOR https://sjoerd.tech/tree-generator/ Thu, 05 Dec 2019 13:49:07 +0000 http://sjoerd.tech/?p=873 Continue reading "TREE GENERATOR"

]]>
Just for fun, I made a 3-dimensional procedural tree generator.
The tree is generated using an implementation of a Space Colonization Algorithm, as proposed in this paper.

The algorithm works by first generating a set of ‘leaves’, after which branches start growing towards those ‘leaves’. This results in very realistic looking trees, which look, in my opinion, far better than L-system or fractal trees.

After generating the trees, I implemented 3D rotational mass-spring-damper systems into the trees. Every branch in the tree is a 3D rotational MSD, which receives forces from both it’s parent and children. This generates a network of MSD’s. By using 4 dimensional Perlin Noise as wind, some natural looking tree movement can be obtained.

The leaves also have stacked 2-dimensional mass spring damper systems implemented so the leaves can also move with the wind.

]]>
THE POOLINATOR https://sjoerd.tech/the-poolinator/ https://sjoerd.tech/the-poolinator/#respond Tue, 05 Nov 2019 14:51:52 +0000 http://sjoerd.tech/?p=857 Continue reading "THE POOLINATOR"

]]>
I followed the BioRobotics program for the first part of my minor.
During this 10-week minor, the goal is to develop a robotic arm that can be controlled using bio-signals(EMG) to enable patients with Duchenne Muscular Dystrophy(DMD) to interact with other people and/or to perform activities they otherwise wouldn’t be able to do.

We(5 students) decided to make a pool playing robot. Pool is often considered a ‘social game’, which makes it perfectly suitable for our project. Making a robot that can play pool is quite ambitious, since a lot of accuracy is required to perform a shot. We decided to build one anyway because it would be a fun challenge.

The final robot

We build a ceiling-mounted, 5 degrees of freedom robotic arm. 1 DC motor is used to rotate the arm around the y-axis, another 2 DC motors rotate a lead screw, which in turn control the angle of the ‘shoulder’ and ‘elbow’ of the robotic arm. Inverse kinematics were used to move these motors to the right positions and reach any desired x-y-z point above the pool table(100x60cm)

The end-effector(the part of the robot that actually interacts with the environment) of the robotic arm

At the end point of the arm a stepper motor has been placed which allows the user to aim their shots in any desired angle(0-360 degrees). Furthermore, a servo has been put in which allows the user to also control the amount of tilt. A solenoid magnet is used to shoot the balls. Springs were attached to the side of the solenoid to give it enough force to hit the balls(ping-pong balls filled with water).

After booting up, the robot will calibrate automatically by using calibration switches. After that, the robot will move to its idle position.
After pressing a button, the x-z position of the robot can be controlled(either by EMG or a joystick). A laser diode pointing down is used to give accurate feedback on the position of the cue stick.
When the desired position has been reached, the button can be pressed again, and similarly the angle/tilt of the cue can be adjusted.
Another button press will make the robot shoot and return to the idle position, after which the user can go for another shot.

The robot in action
The controller used to control the robot

To control all of the motors, 2 MBED micro-controllers were used, as well as an Arduino Nano. The robot worked quite well in the end, although it was really slow due to the high gearing ratio of both the motors and the lead screw. Overall I’m quite happy how it turned out, also considering our robot was the most complex of all groups.

Rainbow spaghetti
]]>
https://sjoerd.tech/the-poolinator/feed/ 0