matpi / EmbeddedSystemsUTU

This repository concerns the course KSA4 Embedded Systems (craft, design and technology education) in the University of Turku, Department of Teacher Education, Rauma Unit in the academic year 2014
4 stars 5 forks source link

Joulukalenteri Juho & Sara #23

Open Mikne opened 9 years ago

Mikne commented 9 years ago

Joulukalenteri ois tarkotus tehdä. Luukku / luukut ois tarkoitus avautua joko automaattisesti 24h välein tai luukut voi saada auki tietyssä aikavälissä.

sipara commented 9 years ago

Rupesimme epäilemään omaa taitotasoa ja ajanriittävyyttä tämän projektin kanssa. Löysimme opinsys:in nettisivulta tietoa ohjelmoitavasta nallesta. Nallessa on esimerkiksi liiketunnistimia ja se heiluttaa käsiä ihmisen kulkiessa ohi. Sivu josta löysimme enemmän tietoa: https://github.com/opinsys/ohjelmointi-opetuksessa

Mikne commented 9 years ago

int analoginput = A0; // Potentiometrin keskimmäinen jalka kytketään pinniin a0

int arvo = 0; // jännitteen arvo tallentaan arvo -nimiseen muuttujaan

include

Servo ekaServo; // luodaan servo-objekti nimeltä ekaServo

void setup()

{

ekaServo.attach(9); //käynnistää ekaServo nimisen servo-objektin pinnissä 9

ekaServo.write(77); // asettaa servon keskelle, 90 asteen kulmaan

delay(1000); // servolle pitää antaa aikaa liikkua

// Seuraava komento avaa sarjaliikenteen tietokoneelle nopeudella 9600 bps:

Serial.begin(9600);

}

void loop()

{

// Sitten luetaan jännite analogisesta inputista:

arvo = analogRead(analoginput);

// Tulostetaan saalis sarjaporttiin:

Serial.print("Jännite = " );

Serial.println(arvo); // "Serial.println" komento vaihtaa riviä tulostuksen jälkeen

// pieni tauko:

delay(1);

if (arvo > 400)

ekaServo.write(0); // käskee servon toiseen äärilaitaan, 0-asteen kulmaan

delay(100);

ekaServo.write(77); // käskee servon vastakkaiseen äärilaitaan, 180 asteen kulmaan

delay(100);

}

Mikne commented 9 years ago

Kokeiltiin tällästä koodia, jota vois käyttää nalleen käden heilutukseen. Käytettiin infrapunasensoria ja pientä servoa testauksessa. Jos DELAY:t on pidempiä, se vaikuttaa myös siihen kuinka tiheästi serial monitoriin tulostuu etäisyys. Jos delayt on pitkiä, myös servo reakoi hitaasti eikä riitä pelkkä heilautus, vaan kättä pitää pitää tavallaan tauon ajan verran tarpeeksi lähellä sensori, jotta servo reakoi tähän. Haluttaisiin tietää, miten tulostus on nopea ja reakointi nopea, mutta niin ettei servon liikkeen tarvitse olla tosi nopea tai lyhyillä tauoilla. Voiko loopiin tehä uutta aliohjelmaa/tms, jotta tauot eivät vaikuttaisi tulostuksen nopeuteen/hitauteen?

Robojuchen commented 9 years ago

delayn pystyy totetuttamaan ilman että ohjelman muu suoritus pysähtyy. tähän on olemassa esimerkki arduino-ohjelmassa, "blink without delay". Toisaalta servoa pitää liikuttaa servo kirjastosta löytyvän "sweep" esimerkin mukaisesti for-loop silmukalla jos haluaa että se liikkuu hitaasti ja sulavasti. Tutkikaapa aluksi vaikka sitä servo esimerkkiä.

Robojuchen commented 9 years ago

Tähän nalleprojektiin pitäisi vielä saada jotakin persoonallista ja erityistä vaikkapa tuhon esimerkkiprojektiin verrattuna. Voisi nalle aistia ympäristöään jollakin sensorilla? Tai puhua/äännellä? Hakea tai antaa tietoa internetistä? Ideoikaa vähän lisää. Yksi sensori ja servot on vähän turhan yksinkertainen koko projektiksi, ellei sitten ala ihan opettamaan nallea kävelemään :)

jktmik commented 9 years ago

Siihen tulee ledisilmät, kaulapanta jossa näyttö, jne... jotka alkaa välkkymään kun heiluttaa nallelle kättä!

jktmik commented 9 years ago

Saimme koodattua infrapunasensorin kahteen lediin.. Tarkoitus olisi että ledit syttyvät esim. 50cm etäisyydeltä

Tähän vielä kun saisi esimerkiksi servot ja näytön yhdistettyä.

Robojuchen commented 9 years ago

Hyvältä vaikuttaa! Esim kahdella tai kolmella servolla saa jo kivan monipuolisia ja elävän näköisiä liikeitä. Valitsette vain minkälainen näyttö olisi kiva.

Robojuchen commented 9 years ago

Servoja on muuten hyvinkin pieniä niin arduino pro miniä käyttämällä voitte tehdä hyvin pienestäkin nallesta projektin jos sellainen kiinnostaa.

sipara commented 9 years ago

Mietittiin nallen kokoa ja se voisi olla just tosi pieni ja tehdään servojen kanssa eri toimintamalleja. Laitan tähän osia, joita ainakin tarvitaan. Jos kommentoit tätä listaa. Katsoin ebaysta näitä osia ja siellä tulee aina pitkä lista vähän erihintaisia, mutta saman näköisiä laitteita. Mikä lieneen kaikissa eroina sitten.

LISTAA:

mitä tarkoittaa controller B tai controller S, onko jotain näytön kokoja vai mitä ?

tai ebay:sta

http://www.ebay.com/itm/SG90-Mini-Gear-Micro-9g-Servo-For-RC-Helicopter-Airplane-Car-Boat-Trex-450-/171417769756?pt=LH_DefaultDomain_0&hash=item27e94b971c

Robojuchen commented 9 years ago

Jos ette halua myöhemmässä elämässä ohjelmoida nalleanne niin voitte ohjelmoida noilla koulun usb-pulikoilla ja tilata itse pelkän pro-minin.

Servot voi tilata tosiaan ebaysta jolloin suosittelen 1-2extraservon tilaamista sekundakappaleiden varalta tai sitten ostaa kouluelektroniikasta jossa niihin kuulunee takuu.

Teettekö yhden nallen vai molemmille?

Nuo 1.2v oled näytöt on hyviä. Nuo lisämääreet koskevat vain tuommoista multicopteria johon noita yleensä ostetaan