Smart Objects (6 CFU)
This course introduces the basics of smart objects, i.e., objects able to interact with an external environment and with other objects.
The aim of the course is to provide students with the background needed to develop a product prototype featuring interaction capabilities.
The topics covered in the first part include the notion of smart object, principles of object-environment interaction, and some basics
on programming, with emphasis on command execution.
The second part of the course is devoted to the prototyping platform Arduino, and covers aspects of elementary circuit design and Arduino
programming. Students will learn how to make a product prototype able to interact with the external environment, through a simple circuit
controlled by Arduino.
- Course taught from Oct 8, 2018 to Jan 14, 2019
- Lectures will be held on Mon 14.30 - 16.30, 17.00 - 19.00 in classroom F7
- Student hour: please ask the teachers
- Smart Objects: Overview
- The Sense-Think-Act Interaction Paradigm
- Overview of the Arduino Structure
- Basics on Programming (Sketch for Arduino)
- Sensors and Actuators
- Interfacing with Sensors and Actuators
- Elementary Circuit Assembly
- Arduino Projects
- Oct 8, 2018: Course starts
We will be using the "Arduino Project Book", i.e., the standard book that comes with the
Arduino Starter Kit. You don't have to buy any of these (of course, you can, if you want).
For Arduino and the respective hardware, please take a look at our
For the book, we will give you an electronic copy
(without violating the
Creative Commons License
Students are required to buy the Arduino platform together with some components that will
be used during the course. Teams (of max 3 people) can buy a single platform (+ components)
to use in their project. A basic shopping list is reported below. This will be used to learn the
basics of Arduino programming and circuit assembly. Additional components
may be needed, as the course progresses. These will be announced as well.
Of course students can buy additional components, if needed by their prototype.
Oct 8, 2018 (Chatzigiannakis): Introduction to Smart Objects.
Oct 15, 2018 (Chatzigiannakis): Introduction to Smart Objects.
Oct 22, 2018 (Patrizi): Smart Object overview,
Arduino structure, Sketch program structure.
Basic Sketch Instructions: pinMode, digitalWrite, delay.
Variables, comments. Exercises.
Oct 29, 2018 (Patrizi): Lecture cancelled for weather alert.
Nov 5, 2018 (Patrizi + Chatzigiannakis): 1st Delivery (concept).
Nov 12, 2018 (Patrizi): constants, digitalRead, if-then-else. Exercises.
Nov 19, 2018 (Chatzigiannakis): circuito.io + Basic components: buttons, resistors, diodes, LEDs.
Nov 26, 2018 (Chatzigiannakis): circuito.io + loops: while, for. Textual output. digitalRead, digitalWrite, AnalogRead, delay, pinMode.
Dec 3, 2018 (Patrizi + Chatzigiannakis): 2nd Delivery (raw prototype).
Dec 10, 2018 (Patrizi): Lab.
Dec 17, 2018 (Chatzigiannakis): Lab.
Jan 7, 2019 (Patrizi): Lab.
Jan 14, 2019 (Patrizi+Chatzigiannakis): Final Delivery (final prototype).
Information about exam
Students are required to implement, in teams, a prototype that features interaction capabilities.
This will be done through 3 deliveries.
During the final delivery, questions about interaction aspects (including Arduino and programming) will be asked
to all team members and will contribute to the final mark.
Marking (1st delivery; 2nd delivery; final project and exam): 10% 10% 80%
Course attendance is compulsory and will contribute to marking.