Projekt Magic Board 2.0: Porovnání verzí

m
 
(Není zobrazeno 15 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
 +
 
=== Členové projektu ===
 
=== Členové projektu ===
 
<br />
 
<br />
Řádek 4: Řádek 5:
 
Stanislav Maier, obor: Systémové inženýrství a informatika – informatika, smaier@seznam.cz<br />
 
Stanislav Maier, obor: Systémové inženýrství a informatika – informatika, smaier@seznam.cz<br />
 
Ota Kubíček - konzultace
 
Ota Kubíček - konzultace
 +
[[Soubor:Magic Board.jpeg|300x300px|rám|vpravo]]
  
 
=== Motivace vzniku projektu a jeho význam ===
 
=== Motivace vzniku projektu a jeho význam ===
  
 
Kreslit umí každý, stačí vzít tužku nebo i klacík a vést rukou tah. V tomto projektu jsem chtěla zjistit, jaké to je kreslit bez toho, abych se dotkla papíru nebo kreslícího náčiní.
 
Kreslit umí každý, stačí vzít tužku nebo i klacík a vést rukou tah. V tomto projektu jsem chtěla zjistit, jaké to je kreslit bez toho, abych se dotkla papíru nebo kreslícího náčiní.
Prvotní idea bylo vytvoření drawbota - robota, který by byl ovládaný člověkem na dálku nebo kreslil obrázky zadané v počítači. Vzhledem k omezené časové kapacitě a dostupným prostředkům byl tento nápad převeden na princip vertikálního plotteru, který se používá pro vytvoření kresby, kterou fix umístěný v plotteru „vytiskne“. Magic Table 2.0 však měl nechat uživatele ovládat fixu přímo pohybem svých paží.<br />
+
Prvotní idea bylo vytvoření drawbota - robota, který by byl ovládaný člověkem na dálku nebo kreslil obrázky zadané v počítači. Vzhledem k omezené časové kapacitě a dostupným prostředkům byl tento nápad převeden na princip vertikálního plotteru, který se používá pro vytvoření kresby z obrázku zadaném v počítači, kterou fix umístěný v plotteru „vytiskne“. Magic Board 2.0 však měl nechat uživatele ovládat fixu přímo pohybem zápěstí.<br />
 +
 
 +
Pohyby zápěstím jsou krouživé a plotter umožňuje kreslit pouze jedním tahem, čímž připomíná starou dětskou hračku „magická tabulka“, kde se tvořil obrázek jedním tahem pomocí dvou otočnými kolečky. Je to jednoduchý princip, který lze dále upravovat – ať už změnou kreslícího nástroje tak podkladem. Magic Board 2.0 se tak může stát herní konzolí pro dva, kde mohou dva lidé tvořit jeden obrázek nebo společně vést fixu skrze bludiště. <br />
  
Projekt vychází z principu vertikálního plotteru, což zařízení, jehož účelem není tisknout obrázky nadefinované v počítači, ale vytvářet je živě pomocí pohybem zápěstí. Pohyby zápěstím jsou krouživé a plotter umožňuje kreslit pouze jedním tahem, čímž připomíná starou dětskou hračku „magická tabule“, kde se tvořil obrázek jedním tahem pomocí dvou otočnými kolečky. Je to jednoduchý princip, který lze dále upravovat – ať už změnou kreslícího nástroje tak podkladem. Magic Table 2.0 se tak může stát herní konzolí pro dva, kde mohou dva lidé tvořit jeden obrázek nebo společně vést fixu skrze bludiště.
 
  
 
=== Použitý materiál a software ===
 
=== Použitý materiál a software ===
Řádek 102: Řádek 105:
 
   delay(10);     
 
   delay(10);     
 
}
 
}
 
  
 
=== Popis vývoje a konečné verze vlastního produktu ===
 
=== Popis vývoje a konečné verze vlastního produktu ===
Řádek 110: Řádek 112:
  
 
Na dřevěnou desku byly v rozích umístěny oba servomotory a ve spodní části uprostřed na černé lepence upevněno Arduino. Motory byly ukotveny pomocí kovových úhelníků a připevněny pomocí oboustranné pěnové lepicí pásky a každý byl zajištěn dvěma elektrikářskými stahovacími páskami. Propojení mezi servomotory a Arduinem umožnily dva prodlužovací třívodičové kabely.
 
Na dřevěnou desku byly v rozích umístěny oba servomotory a ve spodní části uprostřed na černé lepence upevněno Arduino. Motory byly ukotveny pomocí kovových úhelníků a připevněny pomocí oboustranné pěnové lepicí pásky a každý byl zajištěn dvěma elektrikářskými stahovacími páskami. Propojení mezi servomotory a Arduinem umožnily dva prodlužovací třívodičové kabely.
Kreslící nástroj byl sestaven z vlasce, kancelářského kolíku (inspirace zde: http://www.open-electronics.org/a-low-fi-arduino-powered-vertical-plotter/) a lihového fixu. Na vlasec byly umístěny elektrikářské svorky – z důvodu stabilizace fixy, a aby nedošlo k poškození motorů – měly zajistit, aby se po přiblížení kreslícího nástroje motory vypnuly. V praxi se ukázalo, že stačí pouze pro stabilizaci.
+
Kreslící nástroj byl sestaven z vlasce, kancelářského kolíku (inspirace zde: http://www.open-electronics.org/a-low-fi-arduino-powered-vertical-plotter/) a lihového fixu. Na vlasec byly umístěny elektrikářské svorky – z důvodu stabilizace fixy, a aby nedošlo k poškození motorů – měly zajistit, aby se po přiblížení kreslícího nástroje motory vypnuly. V praxi se ukázalo, že stačí pouze pro stabilizaci.<br />
  
{{DEFAULTSORT:Projekt Magic Table 2.0}}
+
[[Soubor:Magic Board_technika.jpeg|300x300px|rám|vlevo]]
 +
[[Soubor:Servomotor upevneni.jpeg|300x300px|náhled|střed]]
 +
[[Soubor:Vyroba navijaku.jpeg|300x300px|rám|vlevo]]
 +
[[Soubor:Navijak.jpeg|300x300px|rám|vlevo]]
 +
[[Soubor:Umisteni akcelerometru.jpeg|300x300px|rám|vlevo]]
 +
[[Soubor:Zavěšení.jpeg|300x300px|rám|vlevo]]
 +
[[Soubor:Použití.jpeg|300x300px|náhled|vlevo]]
 +
[[Soubor:Návod.jpeg|300x300px|náhled|vlevo]]

Aktuální verze z 8. 8. 2016, 12:19

Členové projektu


Lucie Trojanová, Studia nových médií luci.trojanova@gmail.com
Stanislav Maier, obor: Systémové inženýrství a informatika – informatika, smaier@seznam.cz
Ota Kubíček - konzultace

Magic Board.jpeg

Motivace vzniku projektu a jeho význam

Kreslit umí každý, stačí vzít tužku nebo i klacík a vést rukou tah. V tomto projektu jsem chtěla zjistit, jaké to je kreslit bez toho, abych se dotkla papíru nebo kreslícího náčiní. Prvotní idea bylo vytvoření drawbota - robota, který by byl ovládaný člověkem na dálku nebo kreslil obrázky zadané v počítači. Vzhledem k omezené časové kapacitě a dostupným prostředkům byl tento nápad převeden na princip vertikálního plotteru, který se používá pro vytvoření kresby z obrázku zadaném v počítači, kterou fix umístěný v plotteru „vytiskne“. Magic Board 2.0 však měl nechat uživatele ovládat fixu přímo pohybem zápěstí.

Pohyby zápěstím jsou krouživé a plotter umožňuje kreslit pouze jedním tahem, čímž připomíná starou dětskou hračku „magická tabulka“, kde se tvořil obrázek jedním tahem pomocí dvou otočnými kolečky. Je to jednoduchý princip, který lze dále upravovat – ať už změnou kreslícího nástroje tak podkladem. Magic Board 2.0 se tak může stát herní konzolí pro dva, kde mohou dva lidé tvořit jeden obrázek nebo společně vést fixu skrze bludiště.


Použitý materiál a software


Arduino, Tinkerkit, 2x servomotor, 2x akcelerometr, 2x kabel (1m) k akcelerometrům, 2x prodlužující třivodičové kabely od servomotorů k Arduinu, USB kabel, notebook

Kreslící plocha: Dřevěná deska, 2x kovový úhelník, pěnová oboustranná lepicí páska, lihový fix, kancelářský kolík, černá lepenka, silonový vlasec, 6x stahovací elektrikářská páska (4x na upevnění motorů, 2x na umístění Arduina na černou lepenku)

2x Naviják: černá lepenka, papírová tuba od alobalu, tavící pistole, „křížový“ nástavec ze servomotorů

50 cm provázku na svislé zavěšení kreslící desky

Odkazy na knihovnu arduina a vlastní zdrojový kód


Na rozpohybování motorů byl do Příkladu „Servo“ zadán příkaz z knihovny pro Tinkerkit: Motory jsou označeny jako „Servo TKContinuousRotationServo“ a „Servo TKContinuousRotationServo_2“

Kód pro koordinaci akcelerometrů a servomotorů:

Reads two analog input pins; a T000020 Accelerometer Module with the x-axis connected to I0 pin

the y-axis connected to the I1 pin, uses the result to set the brightness of two T010111 LED Module 
connected on O0 and O1. Also prints the results to the serial monitor.
http://www.tinkerkit.com/accelerometer/

created on Dec 2011
by Federico Vanzati
modified in Jul 2013 
by Matteo Loglio
This example code is in the public domain.
*/

// include the TinkerKit library

  1. include <TinkerKit.h>

TKAccelerometer accelerometer(I0, I1); // creating the object 'accelerometer' that belongs to the 'TKAccelerometer' class

                                 // and giving the values to the desired input pins

//TKAccelerometer accelerometer(I0, I1, I2); //if you connected also the Z axis, you

                                            //can declare it with three pins and use
                                            //functions like readZ() and readZinG().
  1. include <Servo.h>

Servo TKContinuousRotationServo; // create servo object to control a servo

Servo TKContinuousRotationServo_2; // a maximum of eight servo objects can be created

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


//TKLed xLed(O0), yLed(O1); // creating the objects 'xLed' & 'yLed' that both belongs to the 'TKLed' class

                                 // and giving the values to the desired output pins

int xAxisValue = 0; // a variable to store theaccelerometer's x value int yAxisValue = 0; // a variable to store theaccelerometer's y value

void setup() {

 // initialize serial communications at 9600 bps
 Serial.begin(9600);
 TKContinuousRotationServo.attach(O1); 
 TKContinuousRotationServo_2.attach(O2); // attaches the servo on pin 9 to the servo object 

}

void loop() {

 // read the both joystick axis values:
 xAxisValue = accelerometer.readX();  
 yAxisValue = accelerometer.readY(); 
 // set the leds brightness

// xLed.brightness(xAxisValue); // yLed.brightness(yAxisValue);


TKContinuousRotationServo.write(map(xAxisValue, 0, 1000, 0, 180));

delay(25); TKContinuousRotationServo_2.write(map(yAxisValue, 0, 1000, 0, 180)); // tell servo to go to position in variable 'pos' delay(25); Serial.print("servoX = " );

 Serial.println(map(xAxisValue, 0, 1000, 0, 180)); 

Serial.print("servoY = " );

 Serial.println(map(yAxisValue, 0, 1000, 0, 180));     
 // print the results to the serial monitor:
 Serial.print("Accelerometer X = " );                       
 Serial.println(xAxisValue);   
 Serial.print("\t Accelerometer Y = " );                       
 Serial.println(yAxisValue);     


 // wait 10 milliseconds before the next loop
 delay(10);    

}

Popis vývoje a konečné verze vlastního produktu


Nejprve bylo potřeba pomocí rozpohybovat a následně je sladit s akcelerometry. K tomu posloužila knihovna pro modul TinkerKit, která byla k dispozici online, jak pro ovládání motorů, tak pro ovládání akcelerometrů. Kód bylo potřeba upravit tak, aby pozice akcelerometrů správně pohybovala motory.

Zpočátku jsme měli při testování pohybu motorů zapojené oba akcelerometry do osy „X“. Servomotory se ale nepohybovaly správně, a tak bylo potřeba změnit zapojení do „Y“. Změněním zapojení do jiné osy jsme zajistili koordinaci pohybu rukou a motoru, tedy že při svislé poloze akcelerometrů se motory nehýbaly a při naklonění obou akcelerometrů doprava se oba motory točily doprava.

Na dřevěnou desku byly v rozích umístěny oba servomotory a ve spodní části uprostřed na černé lepence upevněno Arduino. Motory byly ukotveny pomocí kovových úhelníků a připevněny pomocí oboustranné pěnové lepicí pásky a každý byl zajištěn dvěma elektrikářskými stahovacími páskami. Propojení mezi servomotory a Arduinem umožnily dva prodlužovací třívodičové kabely. Kreslící nástroj byl sestaven z vlasce, kancelářského kolíku (inspirace zde: http://www.open-electronics.org/a-low-fi-arduino-powered-vertical-plotter/) a lihového fixu. Na vlasec byly umístěny elektrikářské svorky – z důvodu stabilizace fixy, a aby nedošlo k poškození motorů – měly zajistit, aby se po přiblížení kreslícího nástroje motory vypnuly. V praxi se ukázalo, že stačí pouze pro stabilizaci.

Magic Board technika.jpeg
Servomotor upevneni.jpeg
Vyroba navijaku.jpeg
Navijak.jpeg
Umisteni akcelerometru.jpeg
Zavěšení.jpeg
Použití.jpeg
Návod.jpeg