Viseesaw uses the figure of a seesaw, to show metaphorically the inequality of two physical, conceptual or social realities.
Things used in this project
Story
Viseesaw uses the figure of a seesaw, to show metaphorically the inequality of two physical, conceptual or social realities.
The swinging movement of the seesaw is done by a stepper motor which is controlled by MKR1000.
The inputs would come from two cases that could switch during the time:
Input Case 1
• Viseesaw would be placed in the middle of a room. Virtual division of the room in two spaces. The swing of the seesaw would represent how many people are in each side of a room.
1. A sensor in the door of the room would count how many people are inside. Other (two) sensors placed in the middle of the room would count how many visitors are crossing the middle of the room. This information would be sent to Genuino.
2. Every time there is a change on the distribution of the visitors in the room, the seesaw swing position would be updated.
Input case 2
• The swing of the seesaw would represent the inequality of two realities that someone would like to confront.
1. MKR1000 would process the information of each inequality from a database which is managed from an open public website accessed by internet.
This project pretends to be implemented in 3 parts.
Part I
At this stage of the project (part I) the movement of the seesaw is controlled at this way:
– MKR1000 reads a number value in a webpage as a Web client via WIFI.
– MKR1000 transform this value to the number of steps to be a applied to a stepper motor which moves the seesaw.
1 a) Construction of the seeasaw.
2D CAD design
Most of the parts were manufactured cutting 4mm thickness wood plates with a laser cutting machine.
Some parts are joined with wood glue to get 12 mm thickness. (Tip: in order to avoid movement and misalignment you can design the parts with rectangle holes and insert rectangle wood pins before fixing the 3 woods plates part with glue).
1 b) Motion System
Stepper motor – NEMA-17 size – 200 steps/rev, 12V 350mA
G260 mm GT2 Timing belt – 260 mm long
Aluminum GT2 Timing Pulley – 6mm Belt – 36 Tooth – 8mm Bore
Aluminum GT2 Timing Pulley – 6mm Belt – 20 Tooth – 5mm Bore
2x 608.ZZ bearing
D8 mm shaft
The long plate of the seesaw is relative light, but it is quite long, therefore it has moment inertia and can produce back lash.
1 c) Arduino + sketch
MKR1000 provides 3.3v digital I/O.
Adafruit mortor shield V2.3 can work with 3v and 5v digital I/O. By default it is 5v, and it is possible to changet to 3v with a drop of solder to bridge the corresponding 3v jumpers.
In this project I decided to keep de 5v digitar I/O of the motor shield in order to avoid welding, and I have used a 4 channel 2C level shifter to pullup 3v digital I/O from Arduino/Genuino MKR1000 to 5v I/O in the motor shield.
Arduino Ground is powering the 5v of the motor shield and also the 3v and 5v of the 2C level shifter. Same with the Ground.
MKR1000 SCL pin is connected after pulled up (5v) to the A5 pin in motor shield.
MKR1000 SDA pin is connected after pulled up (5v) to the A4 pin in motor shield.
The motor is powered from a external power supply 12v 1500mA connected to the motor shield.
1 d) Code
– MKR1000 reads an angle value in a webpage as a Web client. Library <SPI.h> <WiFi101.h>
Wifi connection.
The page we are reading is also containing headers which we have to clean. For that we need a mark which indicates when we have to read the angle value. As a mark I have a letter, e.g. “L”.
e.g Webpage content:
L24K
“L” start to read, 24 degree angle to swing, “K” end to read.
– MKR1000 transform this value to the number of steps to be applied in the stepper motor shield in order to move the motor and the viseesaw. <Wire.h><Adafruit_MotorShield.h> and “utility/Adafruit_MS_PWMServoDriver.h”
Part II (coming soon)
Placed Viseesaw in the middle of a room. Depending how the people are distributed in each side of the room
In order to count how many people are in each side of the room some sensors will be placed in the entrance and middle of a room.
Ultrasounds distance sensors SR-04
In order to know if a person is going in or out, at each position will be necessary 2 sensor which allow to know direction.
Entrance: 1 point x 2 sensor
Middle room: 2 point x 2 sensor
Total: 6 sensors
Part (III) IOT & Azure
This project also pretend that Visesaaw can interact with a website as IoT.
We hope Microsoft can support this project and give more time to use Microsoft Azure as trial time expired.
Code
Read more: Viseesaw