keskiviikko, 9. huhtikuu 2014

MYSSY VALMIS!

Myssy on nyt sitten valmis, ohessa kuvia edestä ja takaa ja pari kuvaa myssystä pimeässä.

Photo%2009-04-14%2013%2002%2022-normal.jPhoto%2009-04-14%2013%2002%2008-normal.j

Photo%2009-04-14%2013%2002%2034-normal.j

Photo%2009-04-14%2013%2003%2051-normal.jPhoto%2009-04-14%2013%2004%2026-normal.j

 

Tässä vielä nostalgiaksi luonnokset, jotka lapset taiteilivat meille ohjeeksi ensimmäisellä kokoontumiskerralla:


luonnos4-normal.jpg

luonnos3-normal.jpg

luonnos2-normal.jpg

luonnos1-normal.jpg

Kuten kuvista näkyy, myssy on ehtinyt elää matkan varrella. Jotakin on lähtenyt pois ja jotakin tullut tilalle, mutta luonnokset elävät vahvasti lopputuloksessa. Melkoisen upeeta!

torstai, 3. huhtikuu 2014

Valmistusprosessia ja testausta, loppusuoralla

No niin, nyt ovat lopulliset pipoa koskevat valinnat tehty ja työn touhuun päästy.  Piposta ei tullutkaan kaksi väristä, vaan lopulliseksi väriksi valikoitui valkoinen. Pipon tupsu sen sijaan sai pitää molemmat värinsä.  Tupsun toisesta puolesta tuli punainen ja toisesta pinkki.

Vihaisten silmien valkoiselle kankaalle piirrettyjen verisuonien lomasta hohtaa punainen ledivalo. Iloisissa silmissä taas on käytetty vaaleanpunaista kangasta ja ledi näissä silmissä on valkoinen. Silmien kankaat eivät ole kovin paksua materiaalia, jotta ledi valoo pääsee hyvin hohtamaan siitä läpi.

Pipoon piti suunnitelman mukaan tulla valkoinen fleecevuori, mutta materiaalien puutteen vuoksi päädyimme punaiseen fleece- kankaaseen. Pipo on kuitenkin neulottu sen verran tiuhaan, ettei punainen fleecevuori paljoakaan paista läpi. 

Pipossa on nyt kaikki osat valmiina. Yksi kytkin vielä oikkuilee ja se vaatii korjausta. Lisäksi tarvitaan vähän tuunausta, eli vuori kiinni ja pikkuisen siistimistä. Alla yksi testikuva pimeästä, suorastaan pelottava. Silmät eivät ole vielä kokonaan kiinnitetty, joten valo vuotaa vielä sivulle. Eli lopullisessa versiossa koko pipo ei ole "tulessa" kuten kuvassa.:-)

IMG_1098-normal.jpgIMG_1096-normal.jpgIMG_1107-normal.jpgIMG_1106-normal.jpgIMG_1103-normal.jpg

keskiviikko, 2. huhtikuu 2014

Myssyä ohjaava ohjelma

Tämä ei ole aivan vielä lopullinen mutta tästä näkee ohjelman, jolla tietokonetta ohjataan, jotta myssy toimisi oikein. Tämä on siis ohje tietokoneelle, miten pitää toimia ja koska valoja sytytellään ja sammutellaan.

/*
** Valoon reagoiva "NaamaMyssy"
**
**
*/
 

/* Valot */

const int tupsuValo = A5;
const int vihainenValo = A4;
const int iloinenValo = 11;

/* Kytkimet */

const int tupsuKytkin = 2;
const int vihainenKytkin = 3;
const int iloinenKytkin = 9;

/* Sensori */

const int valoSensori = A2;

/* Merkkivalo piirikortilla */

const int ledPin = 13;    // LED is connected to digital pin 13

/* Tilat */

const int valoisa = 1;
const int pimea = 0;
const int vihainen = 2;
const int iloinen = 1;
const int off = 0;
const int on = 1;

/* Valoisan raja, eli missä kohtan tulkitaan pimeäksi, 1000 vastaa tosi tosi kirkasta tilannetta nolla täyttä pimeyttä. */

const int valoisanRaja = 50;

/* Nappuloiden tilat, eli jos tilat muuttuvat, niin valoja muutetaan vastaavasti */
int vanhaYmparistonTila = valoisa;
int uusiYmparistonTila = valoisa;

int vanhaTupsuNappulanTila = off;
int uusiTupsuNappulanTila = off;

int vanhaVihaisenNappulanTila = off;
int uusiVihaisenNappulanTila = off;

int vanhaIloisenNappulanTila = off;
int uusiIloisenNappulanTila = off;

int valoisuusArvo = 0;

/* Asetukset ajetaan kerran kun myssyyn laitetaan virrat */
void setup()     
{
  
  pinMode(tupsuKytkin, INPUT_PULLUP);
  pinMode(iloinenKytkin, INPUT_PULLUP);
  pinMode(vihainenKytkin, INPUT_PULLUP);

  pinMode(tupsuValo, OUTPUT);
  pinMode(iloinenValo, OUTPUT);
  pinMode(vihainenValo, OUTPUT);

  pinMode(valoSensori, INPUT);
 
  pinMode(ledPin, OUTPUT);      
     
  digitalWrite(tupsuValo, LOW);
  digitalWrite(iloinenValo, LOW);
  digitalWrite(vihainenValo, LOW);
  digitalWrite(ledPin, LOW);
     
  // Asetetaan alkuarvot nappuloille riippuen onko pimeää vai ei
  valoisuusArvo = analogRead(valoSensori);
  if(valoisuusArvo > valoisanRaja){
    uusiYmparistonTila = valoisa;
    uusiTupsuNappulanTila = off;
  }
  else{
    uusiYmparistonTila = pimea;
    uusiTupsuNappulanTila = off;  
  }
  Serial.begin(9600);
}

int onCnt;
void loop()    
{
  
  valoisuusArvo = analogRead(valoSensori);
 // Serial.println(valoisuusArvo);
  if(valoisuusArvo > valoisanRaja)
    uusiYmparistonTila = valoisa;
  else
    uusiYmparistonTila = pimea;

  int tupsunArvo = digitalRead(tupsuKytkin);
  int vihaisenArvo = digitalRead(vihainenKytkin);
  int iloisenArvo = digitalRead(iloinenKytkin);
  
  Serial.println(tupsunArvo);
    
  if(tupsunArvo != HIGH) uusiTupsuNappulanTila = uusiTupsuNappulanTila ^ 1;    
  if(vihaisenArvo != HIGH) uusiVihaisenNappulanTila = uusiVihaisenNappulanTila ^ 1;    
  if(iloisenArvo != HIGH) uusiIloisenNappulanTila = uusiIloisenNappulanTila ^ 1;    
  
  if( vanhaYmparistonTila != uusiYmparistonTila ){ /* Muuta valonappulan tilaa vain jos ympäristön valaistus on muuttunut */

    /* Tutkitaan, että jos on tullut pimeää, niin laitetaan nappula päälle vaikka sitä ei olisi painettukaan, laitetaan iloinen päälle oletuksena */
    if((uusiTupsuNappulanTila == off)&&(uusiYmparistonTila == pimea)){
        uusiTupsuNappulanTila = on;
    }  
    else if( (uusiTupsuNappulanTila == on)&&(uusiYmparistonTila == valoisa) ){
       uusiTupsuNappulanTila = off;
    }
  }

  if( vanhaTupsuNappulanTila != uusiTupsuNappulanTila ){ /* Muuta valoja vain jos valonappulan tila on muuttunut */
    switch(uusiTupsuNappulanTila){
      case on:
        digitalWrite(tupsuValo, HIGH);       
      break;
      case off:
        digitalWrite(tupsuValo, LOW);
      break;
    }    
  }

  if( vanhaIloisenNappulanTila != uusiIloisenNappulanTila ){ /* Muuta valoja vain jos valonappulan tila on muuttunut */
    switch(uusiIloisenNappulanTila){
      case on:
        digitalWrite(iloinenValo, HIGH);       
      break;
      case off:
        digitalWrite(iloinenValo, LOW);
      break;
    }    
  }

  if( vanhaVihaisenNappulanTila != uusiVihaisenNappulanTila ){ /* Muuta valoja vain jos valonappulan tila on muuttunut */
    switch(uusiVihaisenNappulanTila){
      case on:
        digitalWrite(vihainenValo, HIGH);       
      break;
      case off:
        digitalWrite(vihainenValo, LOW);
      break;
    }    
  }
  
  
  vanhaTupsuNappulanTila = uusiTupsuNappulanTila;
  vanhaIloisenNappulanTila = uusiIloisenNappulanTila;
  vanhaVihaisenNappulanTila = uusiVihaisenNappulanTila;
  
  vanhaYmparistonTila = uusiYmparistonTila;
  delay(250);
}

keskiviikko, 2. huhtikuu 2014

Myssyn valmistelua

Tässä vähän kuvallista kerrontaa myssyn valmistuksesta, työn alla on kytkin ja myssyn silmät, myssyn vuori on tässä jo valmiina. Alla olevassa kuvassa myssyyn tulee ekaa kertaa virtaa ja valo syttyy! Eli myssyyn on neulottu tässä vaiheessa kuvassa näkyvä tietokone ja siihen liitetty patterikotelo. Tuo valo on vain merkkivalo, ei lopullinen myssyn valo ja sen tehtävä on vain näyttää, että tietokone toimii ja virta kulkee.

 

IMG_1094-normal.jpg

 

Tässä valoisuussensori, joka on kytketty näkyvissä olevilla langoilla tietokoneeseen.

IMG_1093-normal.jpg

Alla nappuloiden pintakirjailut.

IMG_1088-normal.jpg

Kytkin valmistuu

IMG_1086-normal.jpg

Silmän valmistusta

IMG_1085-normal.jpg

Näkyvissä myssyn vuori, tupsu ja oheistarvikkeita ja testausympäristöä

IMG_1082-normal.jpg

Tekstiilitiimi myssyn silmien kimpussa.

IMG_1081-normal.jpg

tiistai, 25. maaliskuu 2014

Osien sijoittelu myssyyn

Tässä vielä suunnitelma, miten erilaiset sähköiset "älyosat" sijoitetaan myssyyn.

Slide3-normal.jpg