FABLAB 101 | MIAGE L3 | 2022-23
WHERE ? | WHAT ? |
---|---|
FABLAB UPSACLAY WEBSITE |
ELECTRONICS 101 : INPUT DEVICES |
WHO ? | WHEN ? |
ROMAIN DI VOZZO |
STARTING IN SEPT 2023 |
THE FABLAB 101 COURSE ETHOS, VALUES AND RULES
-
YOU GO FROM BITS TO ATOMS : YOU (mostly) TURN CODE INTO PHYSICAL OBJECTS or TURN ATOMS INTO BITS.
-
YOU LEARN HOW TO USE VERSION CONTROL TO DOCUMENT AN SHARE YOUR WORK ON STATIC WEBPAGES.
-
YOU DESIGN 2D/3D OBJECTS FOR DIGITAL FABRICATION PROCESSES.
-
YOU USE COMPUTER NUMERICAL CONTROL (CNC) : 3D PRINTERS IN THIS CASE.
-
YOU EXPLORE INTERACTIONS BETWEEN ELECTRONIC DEVICES TO MAKE THEM WORK TOGETHER.
-
YOU PRACTICE ITERATIVE DESIGN. AND ADVANCED PROTOTYPING. YOU AVOID DESIGN TUNNELS.
-
ALL HANDS ON MACHINES. NO DESIGN-THINKING. YOU MAKE ART.
-
THE VALUES YOU COMMIT TO BY JOINING THIS CLASS : COMMUNITY BUILDING. PEER-TO-PEER LEARNING. THE COMMONS. NO START-UP ETHOS NEEDED.
-
YOU UNDERSTAND THAT WHAT IS NOT DOCUMENTED ONLINE NEVER EXISTED.
-
YOU DEMONSTRATE AND CULTIVATE COLLECTIVE INTELLIGENCE.
-
YOU DON’T PRETEND THERE IS NO GLOBAL WARMING/CLIMATE-CHANGE. YOU EMBRACE THE OPPORTUNITY TO ENGAGE AGAINST IT.
-
MORE IMPORTANT : HAVE FUN, EXPLORE, EXPRESS YOURSELF.
ASSIGNMENTS x3 + EXTRA ASSIGNMENTS x3 |
---|
1) VERSION CONTROL 101 |
2) COMPUTER-AIDED DESIGN 101 and 3D PRINTING 101 |
3) ELECTRONICS 101 |
HOW LONG FOR ONE CLASS ? | SCHEDULE | ASSIGNMENT TO COMPLETE EACH WEEK |
---|---|---|
3H | 09/19/2022 | VERSION CONTROL 101 |
4H | 10/17/2022 | VERSION CONTROL 101 and/or COMPUTER-AIDED DESIGN 101 and 3D Printing |
4H | 10/31/2022 | COMPUTER-AIDED DESIGN 101 and 3D Printing |
4H | 11/14/2022 | COMPUTER-AIDED DESIGN 101 and 3D Printing |
4H | 11/28/2022 | ELECTRONICS 101 |
4H | 12/12/2022 | ELECTRONICS 101 |
THE GRADING SYSTEM | ||
---|---|---|
VERSIONING (GIT/WEB/DOCUMENTATION) | GITLAB = 5 POINTS / WIKIFACTORY = 3 POINTS | (mandatory) |
CAD DESIGN (AUTODESK FUSION 360) | 3 POINTS | (mandatory) |
3D SLICING | 2 POINTS | (mandatory) |
3D PRINTING | 2 POINTS | (mandatory) |
PROGRAMMING 1 (ARDUINO APP + ARDUINO UNO BOARD) | 2 POINTS | (mandatory) |
GUI 1 (PROCESSING APP + ARDUINO UNO BOARD) | 2 POINTS | (mandatory) |
PROGRAMMING 2 (ARDUINO APP + ESP32 BOARD) | 2 POINTS | (mandatory) |
GUI 2 (BLYNK APP (?) + ESP32 BOARD) | 2 POINTS | (mandatory) |
PRESENT YOUR WORK FROM YOUR WEBSITE (FINAL ONLY) | 2 POINTS | (mandatory) |
TOTAL | 20/20 POINTS | - |
VERSION CONTROL 101 : GIT, GITLAB, GITBOOK/MKDOCS/HUGO
-
These slides below will show you how to :
-
- Create your Gitlab Account.
-
- Install GIT on your computer.
-
- Generate and add an SSH-KEY to your Gitlab account.
-
- Chose a template for your webpage.
-
- Generate a static webpage for your documentation.
-
- ADD, COMMIT, PUSH, PULL…
[ASSIGNMENT TO BE DONE ON 09/19/2022
] :
- A) Create your Gitlab account (HIGH EMPOWERMENT = 5 points) OR create a Wikifactory account (STANDARD EMPOWERMENT = 3 points).
- B) Create a project in Gitlab. Chose a simple template for your static-page (GITBOOK ?).
- C) Clone your project locally.
- D) Edit your static website locally - with your own documentation contents - and push it online.
[EXTRA ASSIGNMENT
] :
- E) Build a more complexe website from the ground up or for a more advanced website generator like HUGO or PELICAN.
TUTORIAL TO BE CONTINUED BY EACH STUDENT ON HER/HIS WEBPAGE…
| |
COMPUTER AIDED DESIGN 101 : AUTODESK FUSION 360
-
These slides below will show you how to :
-
- Start a 2D sketch.
-
- Use primitive geometric shapes to design the contours of an object.
-
- Turn a 2D shape into a 3D object.
-
- Export your 3D object into a .stl file
-
- Slice your .stl file into a gcode via PRUSASLICER
-
- 3D Print your objects
[ASSIGNMENT TO BE DONE ON
] : ON 10/17/2022, 10/31/2022, 11/14/2022
- A) Review the tutorial below and learn the basics of 2D and 3D Design.
- B) Create your own 3D design (max size 50mm x 50mm x 5mm).
- C) Regroup your object with 5 other peoples’s objects in PrusaSlicer.
- D) Slice your 3D designs together in PrusaSlicer and 3D Print them at the same time. The printing-time for your group of objects ideally is around 1-2 hours as a maximum.
[EXTRA ASSIGNMENT
] :
- Design 3 objects that connect together via notches or clips. 3D Print each one of them in a different colors.
DESIGN WITH FUSION 360
EXPORT A .STL FILE WITH FUSION 360
SLICING WITH PRUSASLICER
ELECTRONICS 101 : ARDUINO, SENSORS, ESP32 AND PROCESSING
-
During this series of hands-on classes at FABLAB UPSaclay you will learn the basics of Arduino and explore the world around you through the use of electronic sensing devices (sensors). You will investigate and document :
-
- The Arduino Hardware (PCB) and Software (IDE).
-
- Some sensors (or input devices) in combination with Arduino.
-
- The ESP32 hardware in combination with the Arduino IDE.
-
- The Processing software in combination with the Arduino UNO board and/or the ESP32 board.
[ASSIGNMENT TO BE DONE ON
] : 11/28/2022 AND ON 12/12/2022
- A) Find the Arduino UNO’s “Specification Sheet” on the web, read it, and explain what it does in 5 lines (max).
- B) Connect an Arduino UNO to a sensor. Program it. Read the data coming out of it through the Serial Monitor and through the Serial Plotter.
- C) Generate a Graphical User Interface in Processing to express visually the data coming from your sensor.
- D) Repeat the steps with the ESP32 (IoT board with integrated wi-fi) to send your the data coming from your sensor to a localhost page.
[EXTRA ASSIGNMENT
] :
- Create an app that interfaces with the ESP32 to send its data online.
-
Arduino is a system composed of open hardwares and open source softwares. Designed for Education, you can use all the ressources provided by Arduino for free. You just need an Arduino Circuit Board to connect to your computer and to install the Arduino IDE on your computer (free as well). The Fablab will lend you an Arduino Uno V3 for the time of the course.
-
Arduino can be connected to various sensors. You can sens many things like temperature, humidity, distances, proximity, colors, particules, motion, light, infra-reds, force, air quality, co2 and other gazes, speed, etc.
-
With a simple light-sensor you can get data out of the Arduino board through the Serial Monitor (see the numbers above) that is embeded into the Arduino IDE or from the Serial Plotter (see the curves above).
-
With the Processing app, you can easily create a GUI (Graphical User Interface) to visualize creatively the data coming out of the combination of the light-sensor and the Arduino Uno board.
-
Here is how the combination of the Arduino board and the light-sensor looks like.
unsigned int ADCValue;
void setup(){
Serial.begin(9600);
}
void loop(){
int val = analogRead(0);
val = map(val, 0, 300, 0, 255);
Serial.println(val);
delay(100);
}
-
Here is the code that you copy/paste into the Arduino IDE, to transfer to the Arduino board.
import processing.serial.*;
Serial myPort; // Create object from Serial class
static String val; // Data received from the serial port
int sensorVal = 0;
void setup()
{
size(720, 480);
noStroke();
noFill();
String portName = "/dev/cu.usbmodem14201";// Change the number (in this case ) to match the corresponding port number connected to your Arduino.
myPort = new Serial(this, portName, 9600);
}
void draw()
{
if ( myPort.available() > 0) { // If data is available,
val = myPort.readStringUntil('\n');
try {
sensorVal = Integer.valueOf(val.trim());
}
catch(Exception e) {
;
}
println(sensorVal); // read it and store it in vals!
}
background(0);
// Scale the mouseX value from 0 to 640 to a range between 0 and 175
float c = map(sensorVal, 0, width, 0, 400);
// Scale the mouseX value from 0 to 640 to a range between 40 and 300
float d = map(sensorVal, 0, width, 20,1600);
fill(255, c, 0);
ellipse(width/2, height/2, d, d);
}
-
Here is the code that you copy/paste into the Processing IDE, to generate this GUI.
-
The microcontrollers available for you at FABLAB UPSACLAY are the following :
MICROCONTROLLERS | CHIP | LINK TO SPECSHEET |
---|---|---|
ADAFRUIT METRO ATMEL 328P | https://www.adafruit.com/product/2488 | |
DF ROBOT FIRE BEETLE ESP32 IoT | https://www.dfrobot.com/product-2195.html |
-
The sensors available for you at FABLAB UPSACLAY are the following ones :
SENSORS | WHAT IT DOES | LINK TO SPECSHEET |
---|---|---|
HUMIDITY + TEMPERATURE | https://learn.adafruit.com/adafruit-am2320-temperature-humidity-i2c-sensor/overview | |
MICROPHONE | https://www.adafruit.com/product/2716 | |
GAZ | https://www.adafruit.com/product/3199 | |
PROXIMITY + LUX | https://www.adafruit.com/product/4161 | |
TEMPERATURE | https://www.adafruit.com/product/4686 |
-
The ESP32 FIREBEETLE V1.0 we have are from DFROBOTS. In the pictures below, you will learn how to make a web-server to control 2 LEDs through a wifi-connection with the FireBeetle. Now that you know how to use the ARDUINO IDE, you can start with the ESP32 and explore the web to find projects you like. But first, reproduce the steps below to make a web-server.
-
You can even play with the HTML from the html code that is embedded into the Arduino code. You can change the apparence of the interface to make it fit your taste, like I did below.
#ETC.