769A04 Fysiska datorprototyper Jody Foo, jody.foo@liu.se
2 Översikt Fysisk interaktion & fysiska interaktiva system Designuppdrag 2 Arduino Raspberry Pi & GrovePi+
3 Design av fysiska interaktiva system Fysisk teknik som användare samspelar med inomhus eller utomhus, direkt eller indirekt Hur får man folk att ge sig i kast med tekniken? Folks rörelse är en kritisk faktor Rummets egenskaper kan variera (värme, vind, nederbörd, ljus, ljud) Artefaktens fysiska egenskaper påverkar interaktionen (återkoppling, ljud, ljus, rörelse, vikt, storlek, textur)
4 Fysiska, interaktiva system Skillnad mot interaktiv mjukvara? Fysiska egenskaper - storlek - tyngd - rörelse - ljud (från själva fysiska artefakten)
5 Fysisk interaktivitet Input - Från eller flera personer samtidigt? - Fysiska reglage - Sensorer som känner av omgivningen - Hybrid? t.ex. skärm+touch (digitalt material) Output - Här och nu eller där och då? (där och då - fördröjd interaktion, t.ex. vid datainsamling med IoT) - Fysiska förändringar - Ljud - Ljus - Rörelse - Hybrid? Skärm/projektion (digitalt material)
6 Fysiska begränsningar eller möjligheter? Rörelse tar tid - när går något långsamt, när går något snabbt, förväntningar från liknande artefakter? Rörelse låter - olika förväntningar beroende på miljö? Rörelse kan vara oprecis - förlåtande interaktion? Hur många händer/armar/kroppar har vi?
3D modeller och mock-ups fysiska digitala virtuella
8 3D-modeller och mock-ups Utforskning och test av den fysiska utformningen: - form, storlek, vikt - funkar det för grupper eller bara individer Fysiska modeller - kartong - lera - 3D-utskrifter VR / AR Vilken typ av interaktion och utforskning är möjlig?
Projektionsteknik Sammansmältning av digitala och fysiska ytor
https://www.slideshare.net/susanuw/prototyping-physical-immersive-environments-for-ux-designers/16
https://www.slideshare.net/susanuw/prototyping-physical-immersive-environments-for-ux-designers/17
https://www.slideshare.net/susanuw/prototyping-physical-immersive-environments-for-ux-designers/18
Internet of Things Smarta saker = interaktiva saker?
14 IoT som fysiska interaktiva system? Är all IoT interaktiv? smarta(?) (hushålls)apparater lampor termostater högtalare automatisering av hem, fabriker m.m. övervakning ljud/bild temperatur, fukt puls position
15 Design av IoT Saker som samlar och delar data Passande fysisk utformning Strömförsörjning Värme i elektroniken utan fläkt Vilken typ av interaktion är möjlig?
Spåra (människors) rörelser
17 Spårningsteknik https://behavioranalyticsretail.com/technologies-tracking-people/ Vision Analytics (AI DL) Thermal Imaging Infrared Beams Time of Flight (ToF) Structured Light 3D Scanner WiFi Tracking UWB (Ultra Wide Band) Radar Imaging BLE (Bluetooth Low Energy) Beacons GPS (Global Positioning System) Personal Tracker RFID (Radio Frequency Identification) Tags & Tracking Bio-Metrics (Facial Recognition & Anonymous Demographics, Eyetracking) 3D Spatial Learning (Augmented Reality)
18 Halvfabrikat för utveckling av tjänster och interaktiva fysiska system ibeacons: Lätta att använda, tål vatten, telefoner måste ha på Bluetooth Dash buttons: Kopplar knapptryck till script Det finns andra: Tile squares, m.m.
Plattformar för prototypning av fysisk interaktion Exempel: Arduino, Raspberry Pi
Designuppdrag 2 (DU2)
24 DU2: Utforskning av fysisk interaktion med hjälp av interaktiva prototyper Individuell uppgift Välj en av era koncept från skissningen av "att träffa vänner på campus (nya som gamla)" Utforska och experimentera med fysiska prototyper Två spår - Interaktiv elektronisk prototyp med Raspberry Pi/Arduino/ Annat (fokus på interaktivitet) - Fysiska modeller (fokus på fysisk form och fysisk interaktion) Fokus på att utforska och experimentera med intressant fysisk interaktion genom prototypkonstruktion
25 Ett interaktivt sätt att utforska designrymden
26 DU2: Lärandeaspekter Erfarenhet och kunskap om en ny teknisk platform/nya tekniker - Arduino, Raspberry Pi, sensorer, displayer, ställdon (aktuatorer) m.m. - Material och skapande av fysiska modeller Utforska aspekter av fysisk interaktivitet/interaktion - interaktiv prototypningprocess - låt prototypen tala till er - utnyttja möjlighet med interaktion med elektronik och fysiska komponenter - minska mängden som testaren måste föreställa sig/låtsas
27 DU2: Dokumentation och omfång Dokumentera experiment med bilder och filmklipp från interaktionen - tanken är att ni ska prova många olika interaktioner - bygg, testa, dokumentera, plocka isär, upprepa - inte "bygg en prototyp som sedan presenteras" Valmöjligheter: bredd / djup - utforska fundamentalt olika slags fysisk interaktion - utforska varianter av en typ av fysisk interaktion - utforska en specifik detalj av en specifik typ av fysisk interaktion
28 DU2: Redovisning Demonstrera en av era experiment/idéer vid seminarie och argumentera för valet av just den (v51) Lägg bilder i din portfolio skapad i Sway och dela med lärarna
Upplägg v47-v51 eget arbete, handledningstillfällen via teams, seminarium, presentation, sammanställning av litteratur, portfolio, handledningstillfällen
30 Uppstart v47 Utlåningstillfälle 18/11 i Alan Turing. Se schema i TimeEdit. - Raspberry Pi + GrovePi-kit - Sensorer och andra tillbehör - Arduino (finns ett fåtal) - För Raspberry Pi, låna SD-kortläsare under passet och förbered SD-kortet med Raspberry OS - Ta med laptop, eller låna med kortläsare (begränsat antal) - Kit för fysiska modeller: stål-linjal, limpistol, papperskniv Övrigt material ansvarar ni själva för Eget arbete - Bli varm i kläderna, testa mindre övningar - Finns en övningsserie förberedd för Raspberry Pi + GrovePi
31 Handledning / fråga / diskutera RPi & Arduino - ons 18/11, 13-17 (i samband med utlån) - ons 25/11, 13-17 - ons 9/12, 13-17 - Använd kanalen RPi och Arduino i Teams! Fysiska modeller - fre 20/11, kl. 8-10 - fre 27/11, kl. 8-10 - fre 4/12, kl. 8-10 - fre 11/12, kl. 8-10 - Använd kanalen Fysiska modeller i Teams!
32 Eget arbete Förslag: jobba med öppna möten i Teams på tid för eget arbete i schemat Koppla upp och jobba enskilt på distans, ställ frågor till varandra vid behov
33 Handledning RPi Första tillfället, ons 25 nov, kl. 13-17 Se till att ha provat på innan. Kom dit med planer, idéer, problem. Skicka frågor till Jody för eventuell uppdelning av tiden i områden
Tillståndsdiagram som verktyg för att kommunicera, specificera och reda ut interaktioner
35 Varför tillståndsdiagram "The devil is in the details" I en fysisk artefakt kan tillståndet hos fler delar av artefakten interagera om vredet är i position X när bilen startas slås halvljuset på automatiskt Hur en interaktion känns beror på alla de detaljer som bidrar till helheten hur lång tid ska man hålla in knappen/vänta hur lång tid efter att man gått förbi vad händer man trycker på knapp A och B samtidigt? vad händer man trycker på knapp A och sen B? vad händer man trycker på knapp B och sen A? vilka knappar slutar fungera när automaten inte känner av en kopp
36 Object State Transition Chart (OSTC)
37 Tillståndsdiagram, UML Starttillstånd och tillstånd (state) Pilar mellan giltiga tillståndsförändringar Händelser utlöser (trigger) en tillståndsförändring Ytterligare villkor som måste vara uppfyllda (guard) Parallella tillstånd
40 A description on paper has a number of limitations. It cannot show the full dynamic properties of the user interface, and it may not be able to communicate the true nature of the application to people outside the design team. [...] For these and other reasons it is sommon to use prototyping tools to describe ideas for user interface designs. Once described in this way, the designs can be tested directly, without the need to wait while they are implemented. Newman & Lamming. 1995. Interactive System Design, s. 287
Arduino Vad är det för något? Arbetsflöde Vad kan man göra?
43 Arduino Mikrokontroller kan inte koppla in vanliga datortillbehör har oftast inga kommunikationsmöjligheter (WiFi/nätverk/BT) koppla in annan elektronik (sensorer, motorer, m.m.) via GPIOpins programmeras från en dator, via USB eller en annan mikrokontroller (som i sin tur kommunicerar med en dator) mycket mer strömsnål än en Raspberry Pi oftast billigare än en RPi (från 5 kr)
44 Arbetsflöde Installera mjukvara på din dator eller använd deras webb-editor - https://create.arduino.cc/editor - https://www.arduino.cc/en/main/create Koppla in elektronik till Arduino via GPIO-pins / breadboard Skriv program i C på dator Koppla in Arduino via USB, kompilera och skicka över programmet från datorn Programmet körs igång så fort Arduinon får ström. Felsökning och kommunikation med datorn via serieport (kan etableras via USB)
45 Vad kan man göra med en Arduino? Strömsnåla och små prototyper Enklare bearbetning av sensordata (begränsat minne och prestanda) Styrning av elektroniska komponenter
Raspberry Pi Vad är det för något? Arbetsflöde Vad kan man göra?
Raspberry Pi 3 Raspberry Pi Zero
48 Raspberry Pi komplett dator kan koppla in tangentbord, mus, skärm, högtalare har Bluetooth, WiFi, USB-portar kan skriva program på datorn som vanligt koppla in annan elektronik (sensorer, motorer, m.m.) via GPIOpins strömsnål billig (~60-679 kr)
49 Raspberry Pi 3 - Hårdvara Enkortsdator Quad Core 1.2GHz Broadcom BCM2837 64bit CPU 1GB RAM BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board 100 Base Ethernet 40-pin extended GPIO 4 USB 2 ports 4 Pole stereo output and composite video port Full size HDMI CSI camera port for connecting a Raspberry Pi camera DSI display port for connecting a Raspberry Pi touchscreen display Micro SD port for loading your operating system and storing data Upgraded switched Micro USB power source up to 2.5A
GrovePi+, en hatt till Rasberry Pi 50
51 Arbetsflöde, RPi+GrovePi Förbered SD-kort med Raspberry Pi OS (baserad på Debian) Koppla in RPi till skärm, tangentbord, mus. Alternativt kör "headless" (enklast om med trådat nätverk finns tillgängligt, men går även att konfigurera för eget Wifi, inte eduroam) Installera bibliotek och exempel för GrovePi Koppla in komponenter via GrovePi (eller GPIO) Skriv program i Python på RPi, starta via t.ex. terminal Felsök med utskrifter till terminalen etc.
52 Vad kan man göra med en RPi? Prototypning Prototypning innan framtagning av mer specialiserad (och billigare) hårdvara Webbserver för få besökare IoT-enhet med god lagrings och beräkningskapacitet Produktionsmiljö Linux som operativsystem
GrovePi+ elektronik utan större förkunskaper
54 Elektronik kan vara komplicerat vad kan man koppla till vad? vad måste man bygga innan man kan koppla ihop X med Y? löda räkna felsöka - lösa sladdar - komponenter som brunnit...
GrovePi+, en hatt till Rasberry Pi 55
56 Prototyp med Grove https://techexplorations.com/guides/arduino/grove/what-is-grove/
57 Prototyp med Grove https://kvaes.wordpress.com/2018/07/20/iot-prototyping-in-azure-with-particle-grove/
58 GrovePi+ Koppla in sensorer, lysdioder, displayer, ställdon m.m. utan att löda, läsa fullständiga tekniska specifikationer etc. Stort urval av komponenter Startkit ett gäng extra komponenter http://wiki.seeedstudio.com/grove/
59 Vilka slags prototyper kan vi bygga? Input/Output GrovePi-komponent Text i terminal Grafiskt gränssnitt Skicka information till internet GrovePi-komponent x Tangentbord Textgränssnitt Grafiskt gränssnitt Hämta information från internet Möjliga sätt att fylla i kryss i tabellen? 2 20 möjliga kombinationer (1 048 576)
60 Exempel Input Program / Mjukvara Output GrovePi Python + import grovepi Text GrovePi Program i Python (eller i annat språk som GrovePi stödjer) Läs input från GrovPi-sensor Skriv ut text i terminalen och/eller styr någon GrovePikomponent
GrovePi startkit
Grove Button 62
Grove Buzzer 63
LED 64
Sound sensor 65
Relay 66
Temperatur, luftfuktighet 67
Rotary Angle Sensor 68
Light Sensor 69
Ultrasonic Ranger 70
71 Ytterligare komponenter 3-axlig digital accelerationsmätare 4-siffrig display 6-axlig accelerometer och gyroskop 80 cm infraröd närhetsgivare digital infraröd temperatursensor elektromagnet haptisk motor högljuddhetsensor högtalare infraröd reflektiv sensor IR-avståndsbrytare IR-mottagare IR-sändare kollisionssensor LED-ljuskedja Switch (P) tumjoystick vibrationsmotor öronpulssensor Grove-Q beröringssensor GSR-sensor
72 Koppla in en komponent Tre sorters portar Analoga A0, A1, A3 Digitala D2, D3, D4, D5, D6, D7, D8 I2C I2C-1, I2C-2, I2C-3
73 Vilken sensortyp Läs informationen om komponent, ta reda på om den är digital, analog eller I2C Koppla in sensor i rätt sorts port
74 Läsa eller skriva En sensor läser man information från En output-enhet (lampa, motor etc) skriver man information till Detta måste konfigureras i skriptet Se: https://www.dexterindustries.com/grovepi/programming/ python-library-documentation/
75 Programmering på Raspberry Pi Kom ihåg: RPi är en dator som kör Linux som operativsystem, precis som i SU-salarna. Stöd för många programmeringssspråk, bl.a. Python Modul för att komma åt GPIO-portar Modul för GrovePi importera grovepi-modulen
76 Struktur på ett GrovePi-program och program för Arduino Konfiguration av portar/pins som används vilken sensor/output är kopplad till vilken port ska det läsas eller skrivas till porten Loop (med paus för RPi) gör det du vill göra i loopen
77 Litteratur Vallgårda, A. & Sokoler, T. (2010). A material strategy: Exploring material properties of computers. International Journal of Design, 4(3), 1-14. http://www.ijdesign.org/index.php/ijdesign/ article/view/628/309 Löwgren, J. (2016). On the significance of making in interaction design research. Interactions, 23(3), 26-33. https://doi.org/ 10.1145/2904376
www.liu.se