Difference between revisions of "Main Page"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
 
(66 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Foreword to the Sketching With Hardware wiki =
+
= Latest News =
TODO - basically what we had in the first live session
+
We did a course on Edge ML, implementing machine learning on a RP2024 device. This isclude sensor data acquisition, model training and deplyoment, see '''[[UBISS2024]]'''.
 +
 
 +
There is now a new page on '''[[Circuitpython|CircuitPython]]'''. This is useful, if you require specific libraries (e.g. emulating a keyboard, mouse, or game controller).
 +
 
 +
The '''[[LMU SKWH 2020]]''' - LMU Sketching with Hardware course (Summer Term 2020) we have completed the Preparation phase (self-paced), and done the [[Tasks SoSe2020|Individual Tasks]].
 +
Please get organized in your group.
 +
 
 +
We will answer your questions in the discord server (links below).
 +
 
 +
'''Todo'''s for you:
 +
* Please provide the planing (time, shopping, milestones, topic) for your group project - see [[Group_Project_SoSe2020#Requirements | Requirements]]
 +
* there is a [[Feedback]] page - if you encounter(ed) any issue with the information, kit, video - please let us know
 +
 
 +
 
 +
Here are some recent changes:
 +
* Introduction to the [[Workshop]] in Frauenlobstr.
 +
* There is now more information about the [[RGB LED]] including a tutorial video: https://www.youtube.com/watch?v=K2m6ttZ1bJw
 +
* There is an example of how to program the [[LED Ring NeoPixel]]
 +
* The page describing the [[LED]] is now setup as example
 +
* Tutorial pages are up: [[Tutorial Basics]], [[Tutorial Digital IO]], [[Tutorial Analog IN]], [[Tutorial Display]], and [[Tutorial Network]]
 +
* There are pages with the [[Tasks SoSe2020|Individual Tasks]] as well as for the [[Group Project SoSe2020]]
 +
* There is a description of the [[Tasks SoSe2020]]
 +
 
 +
= Courses =
 +
At this point there is only one course (summer term 2020 at LMU) ... but we hope for more in the future.
 +
 
 +
Please go to the course page for details, timeline, and requirements:
 +
* '''[[LMU SKWH 2020]]''' - LMU Sketching with Hardware, Summer Term 2020
 +
* there is also a gallery with results from the last course: [[Gallery 2020]]
 +
 
 +
= Foreword and Introduction to Sketching With Hardware =
 +
The course is part of our question of how to create functional prototypes for exploring interactive systems. There are some introductory slides (
 +
[https://www.sketching-with-hardware.org/files/WhySKHW2020.pptx pptx], [https://www.sketching-with-hardware.org/files/WhySKHW2020.pdf pdf]) that are shown in the introductory video (https://youtu.be/Irxo9b5cexs).
 +
 
 +
In the article "Understanding and researching through making: a plea for functional prototypes" (online via [https://dl.acm.org/doi/10.1145/3058498 ACM DL] or as [https://www.sketching-with-hardware.org/files/functional3058498.pdf PDF]) we discuss three different approaches to create prototypes. In this course, we are focusing custom hardware development for research and development in human-computer interaction.
 +
 
 +
<youtube>Irxo9b5cexs</youtube>
 +
 
 +
== Learning Goals ==
 +
The overall learning goal is to equip students with skills to '''Envision a new interactive physical object and implement it a functional prototype''', this includes:
 +
* understand why sketching with hardware is relevant
 +
* understand the challenges in creating function prototypes
 +
* being able to create basic hardware sketches
 +
* being able to program and debug MicroPython on ESP32/ESP8266
 +
* being able to build basic circuits connected to the microcontroller, including
 +
** output: LEDs, servos, motors, speakers, display
 +
** input: buttons, dials, sliders, LDR, accelerometer, distance, I2C sensors
 +
* being able to program basic networking (network variables)
 +
 
 +
= Important Links =
 +
* Wiki: https://www.sketching-with-hardware.org/wiki and please [[Special:RequestAccount|Create a new account]]
 +
* Micropython: https://micropython.org/
 +
* If you have questions, please email to [mailto:swh@um.ifi.lmu.de swh@um.ifi.lmu.de]
  
 
= Video Tutorials =  
 
= Video Tutorials =  
Line 6: Line 58:
 
* [[Tutorial Digital IO]]
 
* [[Tutorial Digital IO]]
 
* [[Tutorial Analog IN]]
 
* [[Tutorial Analog IN]]
 
+
* [[Tutorial Display]]
= Tasks and Requirements =
+
* [[Tutorial Network]]
The course includes several [[Tasks SoSe2020|tasks]]. First, there is a self-paced preparation phase with individual tasks. Then there is a group task to explore how connecting devices in different locations over the internet works. And finally, there is the group project. This is the main thing - you should make a fun hardaware sketch!
+
* [[Tutorial AutoRun]]
 
 
* [[Tasks SoSe2020|Individual tasks and group assignement]] in the preparation phase
 
* [[Group Project SoSe2020]]
 
  
 
= List of Videos available =
 
= List of Videos available =
* https://youtu.be/DnBBB8AcvBg Setting up Software on your computer (python, uPyCraft IDE, Putty) [4:20, on Youtube]
+
* https://youtu.be/DnBBB8AcvBg Setting up Software on your computer (python, [[uPyCraft]] IDE, Putty) [4:20, on Youtube]
 
* https://youtu.be/_TrKPDOReJc Flashing the MicroPython image onto the ESP32 and ESP8266 microcontroller [17:01, on Youtube]
 
* https://youtu.be/_TrKPDOReJc Flashing the MicroPython image onto the ESP32 and ESP8266 microcontroller [17:01, on Youtube]
 
* https://youtu.be/jhfURkMZVEs Setting it up... What could possibly go wrong when setting it up? [10:32, on Youtube]
 
* https://youtu.be/jhfURkMZVEs Setting it up... What could possibly go wrong when setting it up? [10:32, on Youtube]
Line 20: Line 69:
 
* https://youtu.be/0KGgYsEZcZM Digital Output - adding an LED to the controller [30:30 on Youtube]
 
* https://youtu.be/0KGgYsEZcZM Digital Output - adding an LED to the controller [30:30 on Youtube]
 
* https://youtu.be/G6HZ1etMRbM Digital Output - connecting an LED - WebREPL based[16:54 on Youtube]**
 
* https://youtu.be/G6HZ1etMRbM Digital Output - connecting an LED - WebREPL based[16:54 on Youtube]**
* https://youtu.be/_4bXk8JjQSk PWM Output - connecting a servo - WebREPL based [14:40 on Youtube]**
+
* https://youtu.be/XovIHYo7s1A PWM Output - connecting a servo [45:38 on Youtube]**
 
* https://youtu.be/va1beT6sxLs Digital Input - connecting a switch [30:31 on Youtube]**
 
* https://youtu.be/va1beT6sxLs Digital Input - connecting a switch [30:31 on Youtube]**
 
* https://youtu.be/gjj5KyK2qGI Analog Input - ADC - connecting a resistor, voltage divider [46:23 on Youtube]**
 
* https://youtu.be/gjj5KyK2qGI Analog Input - ADC - connecting a resistor, voltage divider [46:23 on Youtube]**
* https://youtu.be/MXfj_gWf0z4 Uploading and running python files with uPyCraft IDE [6:48 on Youtube]
+
* https://youtu.be/MXfj_gWf0z4 Uploading and running python files with [[uPyCraft]] IDE [6:48 on Youtube]
* https://youtu.be/PJ3nQo_Hw3I Connect the ESP32/ESP8266 to the Internet, IoT, netvars.py [8:52 on Youtube], https://www.sketching-with-hardware.org/files/netvars.py library
+
* https://youtu.be/PJ3nQo_Hw3I Connect the ESP32/ESP8266 to the Internet, IoT, netvars.py [8:52 on Youtube], https://www.sketching-with-hardware.org/files/netvars.py module
 
+
* https://youtu.be/UbxwePvgX-U Print to the OLED Display that is mounted to the ESP32 board [22:00 on Youtube], https://www.sketching-with-hardware.org/files/display.zip include the ssd1306.py module and examples to use it
 
+
* https://youtu.be/kzgUN_h1bqw Use main.py as entry point to start your MicroPython code [29:23 on Youtube]
<h2 id="last-news">Last News:</h2>
+
* https://youtu.be/K2m6ttZ1bJw Connecting an RGB-LED and programming it with Micropython [31:11 on Youtube]
<p>We are currently on the Preparation phase (self-paced), get your SWH kit ready and follow the Individual Tasks (6). We will answer your questions in the discord server (links below).</p>
+
* https://youtu.be/HPQMvL1SP_c Connecting speakers and an amplifier, creating sounds ==
<p><b>The page describing the [[LED]] is now setup as example</b>
+
* https://youtu.be/3J3GbD2PrCs Connecting the analog Joystick
<p><b>The first tutorial pages are up: [[Tutorial Basics]] and [[Tutorial Digital IO]]</b>
+
* https://youtu.be/C0W-wI0qHIQ Connecting a PIR motion sensor
<p>Enjoy.</p>
+
* https://youtu.be/EIwjeek5hnM Connecting a stepper motor (28BYJ-48) and driver (ULN2003)
<p>Your SWH Team.</p>
+
* https://youtu.be/PJdDUZWeIDs Connecting the HC-SR04 distance sensor
<hr>
+
* https://youtu.be/YFKACI_TfqA Connecting the MPU-6050 sensor (acceleration, gyro, temperature)
<h2 id="important-links">Important Links</h2>
 
<ol>
 
<li>
 
<p>Wiki: [[Main Page]] or:</p>
 
<ul>
 
<li>[[Special:RequestAccount|Create a new account]]</li>
 
</ul>
 
</li>
 
<li>
 
<p>Discord Server:</p>
 
<ul>
 
<li>Invitation: [https://discord.com/invite/JhMs6jX] </li>
 
</ul>
 
</li>
 
<li>
 
<p>Micropython: [https://micropython.org/:https://micropython.org]</p>
 
</li>
 
<li>
 
<p>Course page: [https://www.um.informatik.uni-muenchen.de/studium_lehre/ss20/swh/index.html]</p>
 
</li>
 
</ol>
 
<hr>
 
<h2 id="sketching-with-hw--sose2020">Sketching with HW – SoSe2020</h2>
 
<p>Leaning Goals:</p>
 
<ul>
 
<li>Sketch with programmable Hardware</li>
 
<li>Build basic circuits connected to the microcontroller
 
<ul>
 
<li>Output: LEDs, Servos, Motors, Speakers, Display</li>
 
<li>Input: buttons, Dials, Light sensitive resistors, accelerometer, distance, I2C sensors</li>
 
</ul>
 
</li>
 
<li>Program and Debug MicroPython on ESP32
 
<ul>
 
<li>Input, Output</li>
 
<li>Networking</li>
 
</ul>
 
</li>
 
<li>Envision a new interactive physical object and implement a functional prototype</li>
 
</ul>
 
<hr>
 
<h2 id="topic-of-this-terms-course-connected-objects">Topic of this terms course: Connected objects</h2>
 
<h3 id="examples">Examples:</h3>
 
<ul>
 
<li>A toy for an animal connected to a representation of it on the owners desk</li>
 
<li>The fridge door in the shared flat connected to a bracelet</li>
 
<li>Two chairs connected to each other representing the others usage</li>
 
</ul>
 
<h3 id="requirements">Requirements:</h3>
 
<ul>
 
<li>At least two connected physical objects (can be more)</li>
 
<li>At least one object has to have 2 or more sensors</li>
 
<li>At least one object has to have 2 or more actuators</li>
 
<li>Object can be different (e.g. dog toy and ball on the users table) or symmetric (e.g. two chairs)</li>
 
<li>One sensors has to be “invented”</li>
 
<li>The object need to communicate over the internet</li>
 
</ul>
 
<hr>
 
<h2 id="timetable">Timetable</h2>
 
<p><s>Kick-off Meeting (90 Minutes, Zoom), 27.7.2020 at 17:00 – life online event</p>
 
<ul>
 
<li>Introduction of the topic and format</li>
 
<li>Showing examples of the hardware and tools</li>
 
<li>Talking about resources</li>
 
<li>Introducing participants and teachers</li>
 
<li>Building of groups of 3 or 4 students – groups will work remotely</li>
 
<li>Kits can be picked up (or shipped) to students individually.</s></li>
 
</ul>
 
<h3 id="preparation-phase-self-paced">Preparation phase (self-paced)</h3>
 
<p>10.8. to 28.8.2020</p>
 
<ul>
 
<li>There will be tasks and explanation videos provided.</li>
 
<li>We will have a Discord Server were you can log in when you are working on your project.</li>
 
<li>This way you can talk to the other students and help each other out and chat.</li>
 
<li>On workdays, there will be at least one knowledgeable person in the virtual lab so you can get help.</li>
 
</ul>
 
 
 
 
 
== Intermediate Meeting ==
 
(90 Minutes, Zoom), 31.08.2020 at 5pm - live online event
 
 
 
All group project proposals are presented (if you cannot make this date, you may submit a video recording of your idea)
 
 
 
See [[Tasks SoSe2020]] and [[Group Project SoSe2020]] for details and requirements.
 
 
 
== Getting started ==
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
 
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
 

Latest revision as of 23:02, 23 June 2024

Latest News[edit]

We did a course on Edge ML, implementing machine learning on a RP2024 device. This isclude sensor data acquisition, model training and deplyoment, see UBISS2024.

There is now a new page on CircuitPython. This is useful, if you require specific libraries (e.g. emulating a keyboard, mouse, or game controller).

The LMU SKWH 2020 - LMU Sketching with Hardware course (Summer Term 2020) we have completed the Preparation phase (self-paced), and done the Individual Tasks. Please get organized in your group.

We will answer your questions in the discord server (links below).

Todos for you:

  • Please provide the planing (time, shopping, milestones, topic) for your group project - see Requirements
  • there is a Feedback page - if you encounter(ed) any issue with the information, kit, video - please let us know


Here are some recent changes:

Courses[edit]

At this point there is only one course (summer term 2020 at LMU) ... but we hope for more in the future.

Please go to the course page for details, timeline, and requirements:

  • LMU SKWH 2020 - LMU Sketching with Hardware, Summer Term 2020
  • there is also a gallery with results from the last course: Gallery 2020

Foreword and Introduction to Sketching With Hardware[edit]

The course is part of our question of how to create functional prototypes for exploring interactive systems. There are some introductory slides ( pptx, pdf) that are shown in the introductory video (https://youtu.be/Irxo9b5cexs).

In the article "Understanding and researching through making: a plea for functional prototypes" (online via ACM DL or as PDF) we discuss three different approaches to create prototypes. In this course, we are focusing custom hardware development for research and development in human-computer interaction.

Learning Goals[edit]

The overall learning goal is to equip students with skills to Envision a new interactive physical object and implement it a functional prototype, this includes:

  • understand why sketching with hardware is relevant
  • understand the challenges in creating function prototypes
  • being able to create basic hardware sketches
  • being able to program and debug MicroPython on ESP32/ESP8266
  • being able to build basic circuits connected to the microcontroller, including
    • output: LEDs, servos, motors, speakers, display
    • input: buttons, dials, sliders, LDR, accelerometer, distance, I2C sensors
  • being able to program basic networking (network variables)

Important Links[edit]

Video Tutorials[edit]

List of Videos available[edit]