Výtah se 3 podlažími

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Výtah se 3 podlažími

Příspěvek od petan » 13 pro 2018, 15:34

Jako nejlepší je si to vyzkoušet...od toho ta práce zřejmě bude. Tyhlety desky mají výhodu, že mají operák a trimr, kterým jde nastavit citlivost. Není nic jednoduššího, než si to připojit k Arduinu a nechat si vypisovat stav vstupů na sériový port...Případně na displej, kterej jak píšeš tam stejně budeš mít. Aspoň si oživíš displej.

Marty+-
Příspěvky: 35
Registrován: 12 pro 2018, 12:12
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od Marty+- » 13 pro 2018, 16:34

Vše už jsem udělal jen nevím jak ten motor řídit tak, aby jezdil do těch pater co potřebuji. S tímto problémem si nevím rady.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Výtah se 3 podlažími

Příspěvek od petan » 13 pro 2018, 19:05

Ukaž kód kterej máš, ať je z čeho vycházet.

Marty+-
Příspěvky: 35
Registrován: 12 pro 2018, 12:12
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od Marty+- » 13 pro 2018, 19:56

Kód na motor nebo snímač mám to rozdělený zvlášť.
Děkuji moc za ochotu a pomoc která přichází.

dak94
Příspěvky: 5
Registrován: 11 zář 2018, 08:47
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od dak94 » 14 pro 2018, 22:17

Nevím jak to bude konstrukčně vypadat (velikost atd), ale napadlo mě, jestli by nešel použít oblíbený ultrazvuk k měření vzdálenosti? (ten ultrazvuk má dosah bez problému 3m, tak to by mělo stačit) Zase, ale záleží jak přesně má ten výtah zastavovat. Ten senzor nemusí být úplně přesný, tak aby lícovala podlaha výtahu s podlahou patra. Někde v krabici mám i laserový dálkoměr, ale ten levný co mám tak má snad dosah jen v řádu desítek cm.

Marty+-
Příspěvky: 35
Registrován: 12 pro 2018, 12:12
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od Marty+- » 15 pro 2018, 08:20

Konstrukčně ještě nic nemám.Mám vyrobený model z merkuru. Výšku bych viděl tak maximálně na 40cm. K tomu snímači mám jen halův senzor.

Marty+-
Příspěvky: 35
Registrován: 12 pro 2018, 12:12
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od Marty+- » 20 pro 2018, 16:20

Hezký večer.Potřeboval bych poradit s programem.Mám snímač ,který vypisuje patro. Ale jak dosáhnout aby fungovaly 3 tyto snímače spolu?
Aby vypisovaly patro první,druhý a třetí.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define D0Pin 8
// initialize the library with the numbers of the interface pins
LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup()
{
pinMode(D0Pin, INPUT);
lcd.begin(); // set up the LCD's number of columns and rows:
}
void loop()
{
int digitalVal = digitalRead(D0Pin);
lcd.setCursor(0,1);
lcd.print("PATRO");
lcd.print(digitalVal);
}

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Výtah se 3 podlažími

Příspěvek od petan » 20 pro 2018, 21:01

Zkus mrknout do knížky. Doporučuju nastudovat příkazy "IF" a "SWITCH"

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Výtah se 3 podlažími

Příspěvek od petan » 21 pro 2018, 14:24

První věc, kterou ti doporučím je pojmenovávat proměnný nějakým logickým názvem. D0Pin a digitalVal vůbec neodpovídají svému názvu. Sám na pojmenování pinů používám většinou nějakej název ve stylu pin_button1, nebo in_button1. A nebo jednoduše button1 - aspoň na první pohled poznám, že jde o vstup 1

Kód: Vybrat vše

//I/O
#define btnIN1	A1	//START programu 1
#define btnIN2	A2	//START programu 2
#define btnIN3	A3	//ABORT - preruseni provadeneho programu
Na začátku programu si načítám stavy vstupů do proměných (které mají taky logický název), abych v programu nepracoval s analogRead a digitalRead. Tento styl se trochu přibližuje funkci PLC a potom lze jednoduše přidat třeba hlídání náběžné/sestupné hrany, debounce apod.

Kód: Vybrat vše

bool btnRight, btnUp, btnDown, btnLeft, btnSelect, btnNone;	//aktualni stavy tlacitek
bool btnLastRight, btnLastUp, btnLastDown, btnLastLeft, btnLastSelect, btnLastNone;	//minulé stavy tlacitek (kvuli detekci hrany)
bool btnEdgeRight, btnEdgeUp, btnEdgeDown, btnEdgeLeft, btnEdgeSelect, btnEdgeNone;	//stavy tlacitek edge
Každopádně zatím ses moc nevycejchoval s tím svým programem. Vše už jsem udělal jen nevím jak ten motor řídit tak, aby jezdil do těch pater co potřebuji. (???)
Abych nerejpal, tak tady je takovej ideovej návrh výtahu. Ono je tam celkově nutné řešit dost věcí - nelze jet nahodu a dolu najednou. Je dobré hlídat, aby nebylo sepnuto více snímačů v šachtě, když si někdo zavolá výtah z 2. patra, tak aby nejel k někomu do třetího patra, když si ho zavolá pozdějc... Výtahem zas tak často nejezdím, tak nevím co ještě.

Kód: Vybrat vše

bool sensPatro1, sensPatro2, sensPatro3;	//snimace pater
bool btnVytah1, btnVytah2, btnVytah3;	//tlacitka ve vytahu
bool btnPatro1, btnPatro2, btnPatro3;	//tlacitka v patrech
byte stavVytahu;	//musis vedet, co vytah dela, abys podle toho mohl resit nejakou logiku. Tezko muzes privolat vytah dolu, když jede nahoru
			//0 - vytah stoji, 1 - vytah jede dolu, 2 - vytah jede nahoru, atd. Pripadne to řesit pomoci bool proměnnych
byte aktualniPatro;

void loop{
//zde přidělit proměnným hodnoty z digitálních vstupů

	if(sensPatro1){
		aktualniPatro = 1;
	}

	if(sensPatro2){
		aktualniPatro = 2;
	}

	if(sensPatro3){
		aktualniPatro = 3;
	}

	if(vytahStoji && stisknutoPrivolavaciTlacitko){
		if(aktualniPatro < pozadovanePatro){
			jedNahoru = true;
		}
		
		if(aktualniPatro > pozadovanePatro){
			jedDolu = true;
		}

		if(aktualniPatro == pozadovanePatro){
			jedNahoru = false;
			jedDolu = false;
			otevriDvere = true;
		}
	}
	
	//a tak dále :)
	
}
Ps.: Jestli sem přidáváš kód, tak ho vlož mezi tagy code (viz tlačítka nahoře).

Marty+-
Příspěvky: 35
Registrován: 12 pro 2018, 12:12
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od Marty+- » 21 pro 2018, 21:07

Ta logika co je zde napsaná je naprosto správně s těma patrama. Když do toho chci dát i lcd display který vypisuje jaké je zrovna patro tak mám program jen na první patro a nwm jak tam dál zakombinovat dalsí snímače. Děkuji za návrhy kodu. Moc mi to pomáhá. Jen pro upřesnění výtah nebude mít dveře. Ten kod který tady mám je na vypisování pater.
Děkuji moc za pomoc.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů