Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Radek Brázdil:24.9.2018 18:54

Zdravím, prvně bych vám chtěl představit "můj projekt" do školy který vyžaduje škola. Studuji 4. ročník elektrotechniky a dostali jsme za úkol udělat 3D tablo třídy. Tablo by mělo fungovat tak že se vytisknou panáčci z plastu ti zvednou nad hlavu svou fotku. a pak se zase sklopí. Tohle vše je udělané přes arduino. Pak je tu druhá část kterou potřebuji vyřešit.
Potřeboval bych k tomu udělat "prezentaci" našich fotek. Vezmeme že panáček na kterým jsem označený já tak zvedne nad hlavu fotku na které jsem vyfocen a vedle na monitor by se měla objevit nějaká jiná fotka na které jsem já + hláška. Poté se můj panáček sklopí a zvedne se zase druhý a na monitoru by se měla sama překlepnout fotka. To se dá načasovat lehce, ale mě zajímá jestli jde program spustit čidlem jakmile před čidlem někdo projde pustí se prezentace načasovaná s arduinem. Takže lze propojit čidlo s c#? Popřípadě bych byl rád za pomoc. Dále potřebuji aby když je prezentace neaktivní tam byla fotka řekněme naší školy a hned po aktivaci čidlem by se pustila "prezentace" a po ukázání poslední fotky by tam byla zase fotka naší školy. hodím sem zdroják který mám zatím. Začínám se teprve učit programovat. tak se omlouvám :) Děkuji za případné rady :).

Zkusil jsem: using System;
using System.Collec­tions.Generic;
using System.Componen­tModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Window­s.Forms;

namespace SlideShow
{
public partial class Form1 : Form
{
public Form1()
{
InitializeCom­ponent();
}

string[] pictures = { "apples.jpg", "flower1.jpg", "mountain.jpg", "sunset.jpg", "waterfall.jpg" };

int i = 0;

private void timer1_Tick(object sender, EventArgs e)
{

i++;

if (pictures.Length == i)
{
i = 0;
}

pictureBox1.Image = Image.FromFile("i­mages/" + pictures[i]);

}

private void Form1_Load(object sender, EventArgs e)
{

pictureBox1.Image = Image.FromFile("i­mages/" + pictures[0]);
}

private void toolStripButton2_Clic­k(object sender, EventArgs e)
{

timer1.Enabled = false;

i++;

if (pictures.Length == i)
{
i = 0;
}

pictureBox1.Image = Image.FromFile("i­mages/" + pictures[i]);

timer1.Enabled = true;
}

private void toolStripButton1_Clic­k(object sender, EventArgs e)
{

timer1.Enabled = false;

if (i == 0)
{
i = pictures.Length;
}

i--;

pictureBox1.Image = Image.FromFile("i­mages/" + pictures[i]);

timer1.Enabled = true;
}
}
}

Chci docílit: .

 
Odpovědět
24.9.2018 18:54
Avatar
don.jarducius:24.9.2018 19:37

Ahoj, jen tě nasměruju, to Arduino propoj s PC, USB kabelem, zobrazí se ti jako sériový port... čidlo připoj k Arduinu… tam se ti bude reagovat líp na přerušení. Pokud Arduino zjistí pohyb, pošli si hlášku přes sériový port PC a tam ji zpracuj v C# = spusť prezentaci.

PS: to časování můžeš vyřešit taky z Arduina… vždyť program v něm musí přesně vědět, kterou figurku zvedá...

Editováno 24.9.2018 19:39
Nahoru Odpovědět
24.9.2018 19:37
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Radek Brázdil:27.9.2018 11:46

Arduino propojený s PC mám usb kabelem. Čidlo je připojeno k arduinu a arduino je naprogramovaný panáčci se zvedají a sklápěj. Jak mám propojit ten c# s arduinem? nebo jak nastavit aby c# reagoval na ty signály?

 
Nahoru Odpovědět
27.9.2018 11:46
Avatar
Roman
Člen
Avatar
Odpovídá na Radek Brázdil
Roman:2.10.2018 19:36

Člověče na to že jsi ve 4. ročníku celkem hloupá otázka.
Za mích mladých let jsem před maturitou ovládal vše pomocí up8051 kde se kodovalo v asambleru a komunikoval jsme přes com/lpt porty pc programem napsaným v Céčku.
Dneska máte k dispozici celé desky a kód píšete v IDE s nastepavaci a základní refaktorizaci a přes to všechno se ptáš jak ovládat / komunikovat mezi pc - arduinem. Něco je shnilého v tomto školním kraji.

 
Nahoru Odpovědět
2.10.2018 19:36
Avatar
Odpovídá na Roman
Jan Procházka:4.10.2018 14:02

Roman: Není to o školním kraji, je to všeobecné.

Dneska můžeš vyrobit a naprogramovat leccos aniž bys měl náznak tušení o tom, co v těch krabičkách (PC, raspberry, arduino) vlastně je a proč...

 
Nahoru Odpovědět
4.10.2018 14:02
Avatar
Odpovídá na Radek Brázdil
Jan Procházka:4.10.2018 14:09

Pokud můžeš použít desku Arduino Leonardo, tak ta umí přes knihovny keyboard.h a joystick.h emulovat další USB klávesnici/jo­ystick.

Tedy, můžeš mít kód v leonardu, který reaguje na čidla, hejbe s paňácama, rozsvěcí světla a odesílá "zmáčknutí kláves" přes USB.

V počítači potom stačí reagovat na jednotlivé stisky kláves, které Ti bude Leonardo-klávesnice posílat jako bys je mačkal na klávesnici sám.

 
Nahoru Odpovědět
4.10.2018 14:09
Avatar
Radek Brázdil:15.10.2018 18:42

Všem děkuji za rady :) Mám to hotové :)

 
Nahoru Odpovědět
15.10.2018 18:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.