Robojuchen / Mechatronics2013

Demo
2 stars 4 forks source link

Jannen ja Paten työ #11

Open jasasy opened 11 years ago

jasasy commented 11 years ago

Tarkoitus olis rakentaa jonkinlainen "kassakaappi" jonka lukitus aukeaa avainlätkällä ja tämän jälkeen kansi aukeaa automaattisesti. Tässä siis perusidea ja kun se on saatu toimimaan, lisäämme laatikkoon kaikkea hauskaa. Arduino Uno riittänee tällaiseen projektiin?

Nelli1 commented 11 years ago

Ahaa, Siis herkkujako? Tuleeko sinne laatikkoon lamppu? Musiikkia? Savua? Diskoboksi? Sori ei osata vastata tähän arduino asiaan. Onnea matkaan. Terveisin, M, S, K & N

Robojuchen commented 11 years ago

Nämä on ihan hyviä nämä kaappiprojektit. Parhaimmillaan ihan hyödyllinen oikea tuote. Ominaisuuksia laajennettavissa projektin edetessä

Nyt kun vaikuttaisi että Raumalle on syntymässä älykaappiteknologian keskittymä, pitää miettiä miten jokaisen projektista saadaan omannäköinen ja omat haasteet. Se on ihan oikein että haetaan synergioita toisten projektien kanssa, mutta toistensa kopioita ne eivät saa olla.

pohlai commented 10 years ago

Vaihdettiin Jannen kanssa kokonaan aihetta. Aiomme rakentaa korurummutuslaitteen eli vehkeen joka pyörittää korurumpua, vaihtaa välillä auotomaattisesti suuntaa, ilmoittaa äänillä/valoilla koska valmis ja rummutusaika on tietysti myös säädettävissä. Arduino Uno on tilattu tätä projektia varten. Korurumpua käytetään korujen kiillotukseen, hiontaan ja viimeistelyyn. Korut (esim. itsetehdyt renkaat, ketjut) laitetaan rumpuun teräshaulien, veden ja kiillotusaineen kanssa pyörimään tietyksi ajaksi.

-Pate

Robojuchen commented 10 years ago

Tämä on hyvä idea, tulee varmaankin ihan oikeaan käyttöön. Nyt vain miettimään mitä vauhtia rummun pitää pyöriä ja miten järeä moottori siihen tarvitaan, varmaankin hieman isompi vaihteistollinen DC moottori H-sillalla(katsokaa tuota moottori topicia)

Mekaniikka on tässä projektissa varsin yksinkertainen, ellei rumpua kallistella myös akselillaan hioutumisen tehostamiseksi. Jos teette vain kahteen suuntaan pyörivän rummun satsatkaa käyttöliittymään.

Näyttö, näppäimistö, vai peräti kosketusnäyttö? Mikä olisi teistä hyvä käyttöliittymä? Voiko laitetta kehitellä muuten pidemmälle?

jasasy commented 10 years ago

Ollaan saatu nyt Arduino sekä vahva servo, joka pyörii ympäri sekä LCD näyttö. Kokeillaan seuraavaksi että saadaanko servosta tarpeeksi nopeutta vai pitääkö hankkia joku muu moottori.

pohlai commented 10 years ago

Tässä on nyt aluksi koodi, jolla saadaan kalibroitua servo

/* Calibrate Continuous Rotation Servo

// based on http://arduino.cc/en/Tutorial/Sweep // by BARRAGAN http://barraganstudio.com // This example code is in the public domain.

modified Jan 2013 by Markus Loder-Taucher */

// include the TinkerKit library

include

// include the Servo library

include

Servo TKContinuousRotationServo; // create servo object to control a servo // a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

int pos = 90; // value set to 90, servo stands still for calibration // adjust potentiometer taht the servo is not moving or making any noise

void setup() { TKMicroServo.attach(O0); // attaches the servo on pin 9 to the servo object }

void loop() { TKMicroServo.write(pos); // tell servo to go to position in variable 'pos'

pohlai commented 10 years ago

Ja tässä koodi, jolla servo lähtee pyörimään:

/* Move Continuous Rotation Servo

// based on http://arduino.cc/en/Tutorial/Sweep // by BARRAGAN http://barraganstudio.com // This example code is in the public domain.

modified Jan 2013 by Markus Loder-Taucher */

// include the TinkerKit library

include

// include the Servo library

include

Servo TKContinuousRotationServo; // create servo object to control a servo // a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

void setup() { TKContinuousRotationServo.attach(O0); // attaches the servo on pin 9 to the servo object }

void loop() {

for(pos = 90; pos > 1; pos -= 1) // servo goes from not moving (90) to full speed in one direction (0) { // decreasing the value by 1 each loop TKContinuousRotationServo.write(pos); // tell servo to go to position in variable 'pos' delay(25); // waits 25 ms for the servo } for(pos = 0; pos < 90; pos += 1) // servo goes from moving full speed in one direction (0) to not moving (90) { // increasing the value by 1 each loop TKContinuousRotationServo.write(pos); // tell servo to go to position in variable 'pos' delay(25); // waits 25 ms for the servo }

// change direction

for(pos = 90; pos < 180; pos += 1) // servo goes from not moving (90) to full speed in the other direction (180) { // decreasing the value by 1 each loop TKContinuousRotationServo.write(pos); // tell servo to go to position in variable 'pos' delay(25); // waits 25 ms for the servo } for(pos = 180; pos > 90; pos -= 1) // servo goes from moving full speed in the other direction (180) to not moving (90) { // increasing the value by 1 each loop TKContinuousRotationServo.write(pos); // tell servo to go to position in variable 'pos' delay(25); // waits 25 ms for the servo }

}

pohlai commented 10 years ago

Tässä vielä LCD näytölle koodi

#include <Wire.h> // Tämä tuo I2C-kirjaston käyttöön.

#include <LiquidCrystal_I2C.h> // Ja tämä LCD-kirjaston.

LiquidCrystal_I2C lcd(0x20,16,2); // Asettaa LCD näytön osoitteeksi 0x20, näytön koko 16x2 merkkiä.

void setup()

{

lcd.init(); // Alustaa näytön toimivaksi.

// Sitten taustavalo päälle ja tulostetaan.

lcd.backlight();

lcd.print("Hello, world!");

}

void loop()

{

delay(1000);

lcd.print("Hello,Pori!"); // Uusi teksti tulostuu aina entisen päälle.

delay(1000);

lcd.print("Hello, Rauma!");

}
pohlai commented 10 years ago

Nyt on pakko myöntää että koodausjutut on päässy unohtumaan. Tarvitsemme apua lopullisen koodin kokoamiseen. Servon pitäisi pyöriä tietyn ajan, jonka jälkeen se vaihtaa suuntaa. LCD-näytölle pitäisi saada jäljellä oleva toiminta-aika sekä mahdollisesti aika, jonka kulutta pyörimissuunta vaihtuu. Lisäksi koodiin pitäisi sisällyttää ainakin kaksi lediä, jotka kertovat koska rummutus on valmis ja milloin se on käynnissä. Itse mekaaninen laite alkaa olemaan valmis.

Robojuchen commented 10 years ago

Nyt vain tekemään sitä koodia. Jos koodi ei suoraan luonnistu niin lcd-näytön koodia kokeilette erikseen ja teette kokonaisohjelmasta yksityiskohtaista vuokaaviota. Olen laittanut mallin vuokaaviosta ja koodista aiemmin sähköpostiin.