Ławki. Dorota Błaszczak. Opis techniczny. projektu Joanny Napieralskiej. Warszawa, 2 lipca 2011



Podobne dokumenty
Pomiar odległości z Arduino czujniki, schematy, przykładowe kody

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Opis ultradźwiękowego generatora mocy UG-500

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

Instrukcja do oprogramowania ENAP DEC-1

Laboratorium - Instalacja Virtual PC

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Platforma e-learningowa

Wideoboroskop AX-B250

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

Rozdział 1. Przegląd bramofonu SAFE

MultiTool instrukcja użytkownika 2010 SFAR

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows XP

INSTRUKCJA OBSŁUGI MONITORA LINII PRĄDOWEJ

Włóż płytę instalacyjną z systemem Windows Vista do napędu DVD ROM lub podłącz pamięć flash USB do portu USB.

xchekplus Przewodnik Użytkownika

USB HYBRID TV STICK. Instrukcja obsługi. Watch & record Digital TV & Analog TV programs on Your PC! MT4153

INSTRUKCJA OBSŁUGI KROSOWNICY WIDEO KV-12/4

Dokumentacja Licznika PLI-2

Systemy operacyjne I Laboratorium Część 3: Windows XP

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Polski. Podręcznik Użytkownika BT-03i

1. Opis. 2. Wymagania sprzętowe:

Parametryzacja przetworników analogowocyfrowych

MultiBoot Instrukcja obsługi

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Laboratorium Komputerowe Systemy Pomiarowe

dokument DOK wersja 1.0

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów

ROZDZIAŁ 1. PRZEGLĄD BRAMOFONU SAFE...

INSTRUKCJA OBSŁUGI STEROWNIKA DO SAUNY. FFES Serwis: Biuro:

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

RX10RF + VS RF + SALUS Smart Home Podłączenie modułu sterującego i regulatora

Instrukcja obsługi programu. BlazeVideo HDTV Player v6

Spis treści. Opis urządzenia. Pierwsze użycie

INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski

Laboratorium - Instalacja systemu Windows 7

RPTC CONTROLLER (v1.11) STEROWNIK PRZEMIENNIKA RADIOWEGO OBSŁUGA KOMUNIKATÓW GŁOSOWYCH OBSŁUGA KOMUNIKATÓW IDCW OPCJONALNY MODUŁ GSM

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Eura-Tech. Instrukcja Obsługi Aplikacji Mobilnej

Instrukcja obsługi sterownika Novitek Triton

Centrala alarmowa ALOCK-1

PRUS. projekt dokumentacja końcowa

Wstęp Architektura... 13

Instrukcja obsługi elektronicznego licznika typu 524. Model 524. Licznik sumujący i wskaźnik pozycji typu Opis. 1. Opis

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Częstościomierz wysokiej rozdzielczości

Veronica. Wizyjny system monitorowania obiektów budowlanych. Instrukcja oprogramowania

Instrukcja użytkownika ARSoft-WZ1

Czytnik kart zbliżeniowych PROX 4k Instrukcja obsługi kartą Master

Laboratorium Elektrycznych Systemów Inteligentnych

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

LOW ENERGY TIMER, BURTC

1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB

Satel Integra FIBARO

Spis treści 1. Obsługa dekodera Opis dekodera MAG 254/MAG250 3 Opis pilota EPG 4

TECHNIKA MIKROPROCESOROWA II

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

Platforma szkoleniowa krok po kroku

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Interfejs analogowy LDN-...-AN

Przekaźnika sygnalizacyjnego PS-1

INSTRUKCJA INSTALATORA

Rejestrator samochodowy Peiying FULL HD. Instrukcja obsługi PY-0010

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

SPECYFIKACJA TECHNICZNA LB-762-IO

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Instrukcja obsługi Twin1 ISR

Sterownik nagrzewnic elektrycznych HE module

PROCEDURA USTAWIANIA CZUJNIKÓW

ActionFX oprogramowanie do sterowania efektami platform i kin 7D V1.0.1

REGULATOR NAPIĘCIA STR DOKUMENTACJA TECHNICZNA INSTRUKCJA

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

MONITOR SMILE VDS BASIC. comodín (przycisk uniwersalny)

Laboratorium - Zaawansowana instalacja Windows XP

EV3 B23. Podstawowy elektroniczny sterownik chłodniczy (instrukcja skrócona dla P4 = 1)

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Przełącznik USB 2.0. Podręcznik użytkownika. Typ: DA & DA

Model: JMC-03_V2.2_RNS510 TV DVB-T for CAR INSTRUKCJA OBSŁUGI MMI 2G. Spis treści

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

TUNER DVB-T PRZEWODNIK UŻYTKOWNIKA

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Laboratorium - Tworzenie partycji w Windows XP

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

INDU-22. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. masownica próżniowa

polski Podręcznik użytkownika BT-02N

Karta TV PVR-TV 713X

Transkrypt:

Dorota Błaszczak Opis techniczny projektu Joanny Napieralskiej Ławki Warszawa, 2 lipca 2011 D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 1 / 22

Joanna Napieralska - Ławki Instalacja interaktywna Konsultacje i oprogramowanie: Projekt techniczny: Dorota Błaszczak Tomasz Rudzki Z opisu Wystawy dźwięku : Galeria ASP ul. Spokojna 15 w Warszawie, 15-21.04.2011 Instalacja Ławki swoją formą przypomina pomnik, upamiętniający wydarzenia marcowe, które przedstawione w wyświetlanej na ekranie scenie z filmu Różyczka, obserwować można przysiadając na ławce. Moment refleksji "zakłóca" jednak pojawienie się jednej z trzech warstw dźwięku: dialogów, gdy zwiedzający usiądzie na ławce podświetlonej na niebiesko, efektów - na ławce oświetlonej na żółto i muzyki - na ławce oświetlonej światłem czerwonym. W chwili zapalenia się oświetlenia ławki, wyzwalane jest odtwarzanie właściwej warstwy dźwięku. Kiedy zwiedzający siedzą jednocześnie na dwóch lub trzech ławkach warstwy dźwięku mieszają się ze sobą w odpowiednich konfiguracjach. Opuszczenie miejsca powoduje wygaszenie LEDowego podświetlenia ławki i stopniowe wyciszenie dźwięku. (Joanna Napieralska) D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 2 / 22

Instalacja interaktywna Ławki - interfejs Interfejs, w szerokim jego rozumieniu, jest ważnym elementem instalacji, gdyż w znacznym stopniu determinuje możliwości obcowania z projektem, stwarzając określone warunki percepcji. Dla tej interaktywnej instalacji, dotyczącej słuchania dźwięku filmowego, został zaproponowany interfejs, składający się z ławek - siedzisk, ustawionych przed ekranem filmowym. Ławki te stworzyły naturalną przestrzeń do oglądania filmu. I tak jak każde miejsce stwarza nieco inne warunki do oglądania obrazu czy słuchania dźwięku, tak tutaj mechanizm ten został wykorzystany, aby wybór ławki określał to, co można było usłyszeć. Każda z ławek umożliwiała usłyszenie jednej, określonej warstwy dźwiękowej filmu, dla odbioru indywidualnego, co było sygnalizowane podświetleniem danej ławki. A tak jak w kinie, duże znaczenie ma wspólne oglądanie filmu w jednym pomieszczeniu, tak i tu pojawienie się drugiej osoby stwarzało inne możliwości odkrywania dźwięku filmowego, możliwości wysłuchania dwóch warstw dźwiękowych jednocześnie. Przy trzech zajętych ławkach można było usłyszeć pełne zgranie filmu. Na wystawie została przedstawiona deterministyczna wersja oprogramowania, kiedy to zajęta ławka powodowała wprowadzenie określonej warstwy dźwiękowej, przypisanej tej ławce. W programie sterującym była również przygotowana opcja, w której na zachowanie się warstw dźwiękowych wpływał brak zmienności zajętości ławek. Funkcja ta została wprowadzona aby wybrać osoby, które dłuższy czas siedziały na jednej ławce, słuchając jednej warstwy dźwiękowej. Po określonym czasie prezentowane było pełne zgranie dźwięku (oraz zapalane oświetlenie wszystkich ławek) w miejsce tej jednej warstwy dźwiękowej. Opuszczenie ławki wyciszało dźwięk i system wraca do pierwotnego zachowania, odtwarzania jednej warstwy dźwiękowej przypisanej danej ławce. Zaproponowana zmienność zachowania instalacji w funkcji czasu, miała umożliwić odbiór pełnego dźwięku filmu dla jednej osoby. Miała również zarysować prostą metaforę zasłuchania się i zmiany percepcji dźwięku w zależności od uwagi słuchającego w tym przypadku zrealizowaną jako nagroda za wsłuchiwanie się, w postaci pojawienia się pełnej wersji dźwięku. Przedstawiona tu funkcjonalność nie była wykorzystana w głównych godzinach wystawiania instalacji, lecz była tylko testowana bez publiczności. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 3 / 22

Instalacja interaktywna Ławki opis techniczny Schemat całej instalacji można podzielić na kilka funkcjonalnych części: 1. Interfejs użytkownika/uczestnika, w formie trzech stojących przed ekranem ławek, składający się z: a. Części wejściowej (zbierającej dane), w postaci czujników ultrasonograficznych (zobacz Dodatek 1), po jednym czujniku na każdą ławkę. b. Części wyjściowej - wizualnej, w postaci podświetlenia ławek taśmami LEDowymi, reagującej na wykrycie osoby lub innego obiektu w zdefiniowanym obszarze na ławkach i wokół ławek. c. Części wyjściowej audiowizualnej, w postaci rzutnika i ekranu oraz wzmacniacza i zestawu głośników 5.1. 2. Interfejs sprzętowy między czujnikami i LEDami a komputerem, w postaci płytki Arduino (zobacz Dodatek 1). 3. Interfejs programowy dla płytki Arduino, w postaci zmodyfikowanego na potrzeby projektu oprogramowania StandardFirmata (zobacz Dodatek 2). 4. Program sterujący instalacją, napisany w środowisku MAX/MSP/Jitter (zobacz Dodatek 1). Działanie programu i jego poszczególnych modułów, szczegółowo opisane na następnych stronach, zilustrowane jest obrazami okien lub ich fragmentów, które zawierają kod źródłowy aplikacji. Oprócz dwóch Dodatków (1 i 2) zawierających techniczne szczegóły dotyczące instalacji, na końcu tekstu znajdują się kolejne dwa Dodatki (3 i 4) z informacjami na temat bieżącej konfiguracji programu oraz z instrukcją dla obsługi Galerii, napisanymi w czasie trwania wystawy (15-21.04.2011). D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 4 / 22

Program sterujący Ławki Główną funkcjonalnością realizowaną przez program jest sterowanie warstwami dźwiękowymi pętli filmowej oraz sterowanie zapalaniem oświetlenia poszczególnych ławek, w sytuacji gdy wykryta zostanie obecność osoby przy odpowiadającej danej warstwie dźwiękowej ławce. Inicjalizacja programu następuje zaraz po jego uruchomieniu, w momencie gdy impuls inicjalizacyjny wysyłany jest do wszystkich modułów programu. Program może być również uruchomiony i zatrzymany przy pomocy klawisza Spacji, jako wspomaganie testowania i wdrażania projektu. Inicjalizowane są domyślne wartości dla różnych parametrów programu dotyczących ustawienia przetworników cyfrowo-analogowych, wyboru wersji obrazu, ustawienia czasu przenikania warstw dźwiękowych, etc.. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 5 / 22

Wczytywane są odpowiednie pliki wideo i pliki dźwiękowe, o określonych nazwach dla zestawu jednego pliku wideo i czterech plików dźwiękowych 5.1 (dialogi, muzyka, efekty, zgranie). Pliki te powinny być D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 6 / 22

umieszczone w predefiniowanych katalogach (Options/File Preferences ) na dysku wewnętrznym, dla obrazu, i na dysku zewnętrznym, dla dźwięku. Takie rozłożenie plików dźwiękowych ma zapobiegać problemom przy jednoczesnym odtwarzaniu obrazu razem z czterema warstwami dźwiękowymi 5.1. Dla obrazu definiowane zostają parametry odtwarzania, wraz z ustawieniem pętli, a dla dźwięku, pliki zostają przypisane znacznikom cue, aby usprawnić synchroniczny start plików. W fazie pracy nad projektem, start poszczególnych modułów programu był uruchamiany ręcznie poprzez przypisane klawisze lub klikanie w odpowiednie kontrolki. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 7 / 22

Dla końcowej fazy wystawiania projektu, program został zmodyfikowany, aby wszystkie moduły startowałyautomatycznie w odpowiedniej kolejności zaraz po otworzeniu programu z pulpitu. Podprogram obrazdzwiek zawiera funkcje sterowania odtwarzaniem materiału audiowizualnego w pętli. Dla obrazu, w czasie inicjalizacji zostają ustawione domyślne parametry dla okna odtwarzającego wideo (pełny ekran, bez menu, odtwarzanie w pętli). Program umożliwia włącznie i wyłączanie okna obrazu, zmianę jego wielkości, startowanie i zatrzymanie odtwarzania. Za odtwarzanie poszczególnych warstw dźwiękowych odpowiadają cztery struktury, odtwarzające pliki według zdefiniowanych wcześniej znaczników cue. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 8 / 22

D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 9 / 22

Moduł odtwarzania odpowiadający jednej warstwie dźwiękowej, sprawdza czy dany plik dźwiękowy nie został zatrzymany (w wyniku ograniczeń w transferze danych z dysku). W takim przypadku plik ten jest ponownie startowany od wyliczonego punktu czasowego, uwzględniającego opóźnienie startu pliku w stosunku do obrazu. Wszystkie warstwy dźwiękowe są miksowane w formacie 5.1. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 10 / 22

Podprogram Arduino2JN_PW jest odpowiedzialny za komunikację z czujnikami (poprzez płytkę Arduino) oraz sterowanie odtwarzaniem poszczególnych warstw dźwiękowych w zależności od zachowania się uczestników. Aby zapewnić odpowiednią komunikację i uzyskać dane z czujników, trzy cyfrowe wyjścia płytki Arduino (2, 3, 4) są połączone z wejściami RX czujników oraz wyjścia PW czujników są połączone z wejściami cyfrowymi płytki (5, 6, 7) - patrz opis w Dodatku 2. Do sterowania zapalaniem świateł LEDowych, wykorzystane jest napięcie z trzech wyjść cyfrowych płytki (8, 9, 10). Sygnały sterujące z płytki Arduino odbierane są poprzez obiekt maxuino, działający w oparciu o protokół OSC (przykładowo: komunikaty /analog, /digital dla wejść i wyjść analogowych lub cyfrowych, komunikaty /0, /1, /2 etc. dla oznaczenia numerów wejść i wyjść). Moduł ten umożliwia odebranie wartości odległości z trzech czujników oraz włączanie lub wyłączanie świateł LED. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 11 / 22

D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 12 / 22

Poniższy moduł programu umożliwia detekcję ruchu w pobliżu każdej z ławek. Określone zostały odległości progowe włączania i wyłączania flagi obecności, przy czym zastosowana została tu charakterystyka histerezy dla wartości granicznych (włączanie dla wartości > 150 cm, a wyłączanie dla wartości < 190 cm), aby zminimalizować zmienność zachowania systemu dla odległości zbliżonych do granicznych. Kolejny moduł programu zawiera funkcje analizujące stan flagi obecności dla trzech ławek. W przypadku obecności osoby na jednej lub dwóch ławkach, odtwarzana jest odpowiadająca im warstwa dźwiękowa (muzyka, dialogi, efekty). Jeżeli wszystkie trzy ławki są zajęte, to dźwięk przełączany jest poprzez przenikanie na zgranie końcowe dźwięku dla prezentowanej pętli filmu. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 13 / 22

W powyższym module znajduje się również algorytm badający zmienność stanu poszczególnych ławek, opisany w początkowej części dotyczącej interfejsu. Jeżeli stan ten nie zmienia się przez czas zdefiniowany przy inicjalizacji programu, ustawiana jest flaga still (na wartość 1), a każdy ruch powoduje, że flaga ta jest ustawiana na wartość 0 oraz zegar badający stan ruchu jest zerowany. W różnych częściach programu można znaleźć zmienne i podprogramy związane z pracą nad projektem, nazywane zmiennymi lub modułami próby. Podstawowe okno modułu próby zawiera przyciski umożliwiające symulację pracy interfejsu. Daje to możliwość pracy nad programem bez podłączenia płytki Arduino i czujników, oraz możliwość wywołania odpowiedniego zachowania programu poprzez ustawienie flagi obecności przy danej ławce. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 14 / 22

Kolejne okno modułu próby dotyczy pracy nad odpowiednim sterowaniem całego projektu, w funkcji wartości otrzymywanych z symulacji czujników. Okno to umożliwia również podgląd wartości uzyskiwanych z rzeczywistych czujników. Moduły próby wykorzystywane były na wczesnym etapie pracy nad projektem, jak również w galerii, w czasie przygotowywania instalacji, debugowania i wyznaczania ostatecznych parametrów domyślnych programu. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 15 / 22

Dodatek 1 Informacje techniczne 1. Płytka mikrokontrolera Arduino Duemilanove ATmega328 Ze strony http://nettigo.pl/product/arduino, ARDUINO-Duemilanove: Arduino jest płytką uruchomieniową opartą o układ ATmega328. Posiada 32 kb pamięci Flash (2 kb zajęte przez bootloader), 2 kb pamięci RAM oraz 1kB pamięci EEPROM. Siłą Arduino jest bogactwo wejść i wyjść. I tak dostajemy: 1. 14 pinów służących jako wyjście lub wejścia. 6 z nich może działać w trybie PWM output - czyli można sterować mocą przekazywną (doskonale nadaje się do sterowania jasnością świecenia diody) 2. 6 analogowych wejść (do mierzenia wartości napięcia) w zakresie do 5V (możliwe do zmiany przez podanie napięcia AREF), rozdzielczość pomiaru - 1024. Częśc z wejść/wyjść może pełnić funkcje dostarczane przez oprogramowanie Arduino: 1. komunikacja szeregowa (RS) 2. protkół I2C 3. zewnętrzne przerwania 2. Ultradźwiękowy czujnik odległości Maxbotix LV-MaxSonar-EZ1 Ze strony http://nettigo.pl/product/ultradzwiekowy-czujnik-odleglosci-lv-maxsonar-ez1- %5BMB1010%5D, mxb-lv-ez1: Ultradźwiękowy czujnik Maxbotix LV-MaxSonar-EZ1 (MB1010) jest czujnikiem działającym w zakresie od 0 do 6.45m. Zasilanie od 2.5V do 5.5V, pobór prądu ok 2mA. Czujnik oferuje odczyt w następujący sposób: wyjście analogowe z krokiem napięcie zasilania/512 na cal wyjście szeregowe (serial) z sygnałem wysokim na poziomie napięcia zasilania wyjście PWM (szerokość impulsu zależna od odczytu odległości) z krokiem 147 μs/cal Działa na częstotliwości 42 khz. Fizyczne rozmiary płytki - 20 mm x 20 mm wysokość ok 15 mm. Czujnik przeznaczony jest do pracy w pomieszczeniach zamkniętych. 3. MAX/MSP/Jitter Graficzne środowisko programowania czasu rzeczywistego, stosowane w projektach multimedialnych, muzycznych i graficznych. http://cycling74.com/ D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 16 / 22

Dodatek 2 Oprogramowanie płytki Arduino Dla płytek Arduino zostało stworzone środowisko programowania open-source, które można znaleźć na stronie http://arduino.cc/en/main/software. Umożliwia ono pisanie programów do załadowania i uruchomienia na płytkach Arduino. Wykorzystywany jest tu język Java, w oparciu o środowisko programowania Processing. Biblioteka Firmata umożliwia wykorzystanie protokołu komunikacji Firmata między płytką i komputerem we własnych aplikacjach. Na potrzeby projektu Ławki został zmodyfikowany program StandardFirmata, aby móc korzystać z protokołu komunikacji dla kilku czujników ultradźwiękowych. Po testach obsługi czujnika wykonanych przez Tomasza Rudzkiego, zmodyfikowany został kod źródłowy Firmaty, aby zapewnić prawidłowy odczyt wartości czujników z zachowaniem pełnej obsługi komunikacji dla wszystkich wejść i wyjść płytki. Poniżej pokazane są fragmenty zmodyfikowanego kodu, oznaczone komentarzem DB. Pomiar każdego czujnika wykonywany jest po ustawieniu wejścia czujnika RX w stan HIGH (podawanego z cyfrowego wyjścia płytki Arduino. Stan LOW na tym wejściu czujnika zatrzymuje pomiary. To umożliwia naprzemienne mierzenie odległości dla każdego z czujników i uniknięcie interferencji między sygnałami pomiarowymi z czujników. Czas trwania impulsu z wyjścia PW czujnika, a mierzonego na wejściu cyfrowym płytki Arduino, jest przeliczany na odległość w [cm] według specyfikacji czujnika. Ta wartość jest podawana na odpowiednie wejście analogowe płytki i odczytywana w programie MAX/MSP jako wartość sterująca. Dla celów szybkiego sprawdzenia działania oprogramowania płytki Arduino, zostały dodane diody testowe na samej płytce, które zapalały się w każdym cyklu pomiaru dla danego czujnika. StandardFirmata_DB_rx.pde /* Copyright (C) 2006-2008 Hans-Christoph Steiner. All rights reserved. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. See file LICENSE.txt for further informations on licensing terms*/. // // DB int RXPin1 = 2; //8 int RXPin2 = 3; //12 int RXPin3 = 4; //13 long computedistance(int pw, int rx); int pingpin1 = 5; //6 int pingpin2 = 6; //7 int pingpin3 = 7; //8 byte distpin1 = 3; byte distpin2 = 4; byte distpin3 = 5; // D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 17 / 22

void setup() { // // DB pinmode(rxpin1, OUTPUT); pinmode(rxpin2, OUTPUT); pinmode(rxpin3, OUTPUT); pinmode(pingpin1, INPUT); pinmode(pingpin2, INPUT); pinmode(pingpin3, INPUT); // } void loop() { // /* ANALOGREAD - do all analogreads() at the configured sampling interval */ for(pin=0; pin<total_pins; pin++) { if (IS_PIN_ANALOG(pin) && pinconfig[pin] == ANALOG) { analogpin = PIN_TO_ANALOG(pin); if (analogpin == distpin1){ // DB Firmata.sendAnalog(distPin1, computedistance(pingpin1, RXPin1)); } else if (analogpin == distpin2){ // DB Firmata.sendAnalog(distPin2, computedistance(pingpin2, RXPin2)); } else if (analogpin == distpin3){ // DB Firmata.sendAnalog(distPin3, computedistance(pingpin3, RXPin3)); } else if (analoginputstoreport & (1 << analogpin)) { Firmata.sendAnalog(analogPin, analogread(analogpin)); } // } long computedistance(int pwpin, int rxpin) { long duration, inches, cm; // triggered by a HIGH pulse of 2 or more microseconds. digitalwrite(rxpin, HIGH); delay(50); // a HIGH pulse whose duration is the time (in microseconds) from the sending // of the ping to the reception of its echo off of an object. duration = pulsein(pwpin, HIGH); inches = duration / 147.; cm = inches * 2.54; digitalwrite(rxpin, LOW); delay(30); return cm; } D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 18 / 22

Dodatek 3 Instrukcja napisana na potrzeby obsługi w Galerii, na czas wystawy (15-21.04.11). Instalacja ŁAWKI Instrukcje dla Galerii (16.04.2011) Awarie: 1. W przypadku zniknięcia obrazu na ekranie, czyli wyłączenia się projektora: a. Poczekać, aż zgaśnie migająca zielona lampka na projektorze i zostanie tylko ciągłe czerwone światełko. b. Włączyć projektor przy pomocy pilota, przyciskiem ON (pilot leży przy komputerze za ekranem) 2. W przypadku zatrzymania się obrazu na ekranie: a. Na komputerze nacisnąć -Q (trzymać klawisz i nacisnąć Q), co powoduje przerwanie działania programu. b. Kursorem (strzałką), która zwykle będzie w lewym dolnym rogu ekranu), najechać na ikonę na środku ekranu i 2x kliknąć (przycisk jest w lewym dolnym rogu sterującego prostokąta - gładzika), aby włączyć ponownie program. c. Po pojawieniu się filmu na całym ekranie komputera, należy przesunąć strzałkę do lewego dolnego rogu ekranu, tak aby była niewidoczna (zawartość ekranu komputera jest wyświetlana na dużym ekranie). d. Można sprawdzić czy pojawia się dźwięk siadając na ławce czerwonej (przy ścianie) muzyka jest obecna od początku filmu. 3. W innych przypadkach należy skontaktować się z panią J. Napieralską. Informacje dodatkowe: 1. Siadanie na ławce (lub też stanie blisko ławki) powoduje włączenie się oświetlenia danej ławki oraz włączenie się związanej z tą ławką warstwy dźwiękowej: a. Dialog ławka niebieska (przy oknie) b. Efekty ławka żółta (środkowa) c. Muzyka ławka czerwona (przy ścianie) D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 19 / 22

2. Warstwy dźwiękowe mogą zawierać fragmenty ciszy (zwłaszcza warstwa dialogów), dlatego czasem może nie być dźwięku nawet przy zapalonym świetle danej ławki. Warstwa muzyczna jest prawie cały czas obecna, czyli na muzyce ( czerwona ławka) można sprawdzić czy pojawia się dźwięk. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 20 / 22

Dodatek 4 Instrukcja wyjaśniająca bieżącą konfigurację programu w czasie wystawy (15-21.04.11). Instalacja ŁAWKI Program JN_video_lawki_0416_Galeria.maxpat (16.04.2011, po wernisażu) Informacje/problemy różne: 1. Brak MBox-a program może źle startować, bo nie może znaleźć domyślnie ustawionego interfejsu dźwiękowego. a. Po uruchomieniu samego programu MAX sprawdzić menu Options/DSP status, czy jest ustawiony MBox jako Output device 2. W razie problemów przy ładowaniu programu (brak dźwięku etc.), należy otworzyć okno MAX (menu Window/MAX Window), aby zobaczyć czy nie ma różowych komunikatów o problemach: a. Jeżeli program nie może znaleźć jakiś części programu, to znaczy że został wystartowany zły program. b. Jeżeli program nie widzi plików sprawdzić czy widoczny jest dysk. 3. Organizacja plików na dysku: a. MAX wie, gdzie szukać plików według ustawień menu Options/File preferences, gdzie są zdefiniowane dwie lokalizacje: i. JN_media katalog na dysku wewnętrznym Dorota/JN_media ii. dysk katalog na dysku zewnętrznym... b. Aby pliki były odtwarzane z 2 dysków, w powyższych katalogach powinny się znajdować: i. JN_media plik wideo rose.wyst1.mov (na dzień 16-04-11: pod tą nazwą znajduje się plik o większej kompresji H.264) ii. dysk 4 pliki audio: rose.wyst1.d.wav, rose.wyst1.mix.wav, rose.wyst1.muz.wav, rose.wyst1.sfx.wav Dany plik może znajdować się tylko w jednej z dwóch lokalizacji (np. pliki dźwiękowe na dysku wewnętrznym muszą być przeniesione do innego tymczasowego katalogu) c. Aby pliki były odtwarzane z dysku wewnętrznego: i. JN_media plik wideo i 4 pliki dźwiękowe ii. dysk nie powinno być tu żadnych plików, lub w Options/File preferences trzeba zmienić ten katalog na np. wewnętrzny, aby MAX nie szukał plików na dysku zewnętrznym. 4. Program JN_video_lawki_0416_Galeria.maxpat : D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 21 / 22

a. Otwiera się automatycznie (pełny ekran + podłączenie Arduino) b. Nadal działają: i. Esc przełączanie trybu pełnego ekranu, ii. Spacja stop/start program. c. Program jest ustawiony na odtwarzanie pliku wideo z kompresją H.264 (BR), czyli mniejszego objętościowo pliku. D. Błaszczak - Opis techniczny projektu J.Napieralskiej Ławki 22 / 22