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 » 01 led 2019, 14:01

Pro motor můžeš použít knihovnu. A nebo nemusíš. Uvnitř knihovny je v podstatě to, co je v programu již napsaný přímo. Knihovna není nic jinýho, než už předpřipravený funkce. Takže když motoru přímo zapínáš/vypínáš výstupy v programu, tak knihovnu nepotřebuješ. Koukni se třeba sem: https://navody.arduino-shop.cz/navody-k ... river.html Tam taky není použitá knihovna. Ale to sis klidně mohl najít sám.

Podmínky smysl nedávají. Hledej "arduino podmínky". To co chceš bude o něco složitější.

Místo "stop" napiš co chceš. Třeba "vytahStop". Jde o to, že nemůžeš použít název nějaké funkce. Třeba proměnná s názvem void, delay, switch apod. by nefungovala, protože toto slovo už má jiný význam.

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+- » 01 led 2019, 18:16

Tahle podmínka je dobře?

Kód: Vybrat vše

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

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+- » 01 led 2019, 19:01

Podmínky budou vycházet z předešlího příspěvku. S tačí využívat if a else.

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 » 01 led 2019, 19:31

Marty+- píše:
01 led 2019, 18:16
Tahle podmínka je dobře?
Zkus to :ugeek:

K380
Příspěvky: 134
Registrován: 04 srp 2017, 12:43
Reputation: 0

Re: Výtah se 3 podlažími

Příspěvek od K380 » 07 led 2019, 14:05

Tady máš kompletní návod včetně programu na výtah se třemi patry !

https://www.instructables.com/id/Step-Motor-Elevator/

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+- » 09 led 2019, 19:54

Děkuji moc.Taky jsem na tento článek narazil. :D

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Výtah se 3 podlažími

Příspěvek od pavel1tu » 09 led 2019, 20:10

už to jezdí ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

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+- » 09 led 2019, 20:59

Ne.

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+- » 16 led 2019, 17:47

Chci se zeptat mohl bych použít tyto tlačítka???
Budu potřebovat 6 tlačítek takže bych to tam měl 2x.
Arduino klávesnice membránová 1x3

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 úno 2019, 19:06

Hezký večer. Potřeboval bych pomoct s tímto kodem. Potřebuju aby display vypisoval digitální hodnotu ze snímače. Ale nějak to nefunguje.Vypisuje to furt jedničku, když zmáčknu tlačítko.Prosím o pomoc.

Kód: Vybrat vše

#include <Stepper.h>  
int tlacitko = 3; //Směr proti hod.ruč.
int tlacitko2 = 2;  //Směr hod.ručiček
int kroky = 50;      //Kroky ke každému stisknutí tlačítka  
int cteni = 0;      //Uloží hodnotu čtení tlačítka po směru hod.ruč.
int cteni2 = 0;   //Uloží hodnotu čtení tlačítka proti směru hodinových ručiček 
int digitalpin1 = 7; //sensor pin
int digitalpin2 = 6;
int digitalpin3 = 5;
int LED=13;
// navody.arduino-shop.cbool aktualniPatro;
int stav = 0;
// knihovny pro LCD přes I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// nastavení adresy I2C (0x27 v mém případě),
// a dále počtu znaků a řádků LCD, zde 20x4
LiquidCrystal_I2C lcd(0x27, 20, 4);

   
const int stepsPerRevolution = 500;   
 
// Inicializa a biblioteca utilizando as portas de 8 a 11 para  
// ligacao ao motor  
Stepper myStepper(stepsPerRevolution, 8,10,9,11);        
   
void setup()   
{  
  pinMode(tlacitko, INPUT);  
  pinMode(tlacitko2, INPUT);  
  pinMode(LED, OUTPUT); //set LED pin as output
  pinMode(digitalpin1, INPUT); 
  pinMode(digitalpin2, INPUT);
  pinMode(digitalpin3, INPUT);//set sensor pin as input
  myStepper.setSpeed(60); //Determina a velocidade do motor 
  lcd.begin();
}  
   
void loop()  
{         
  
  if(digitalpin1){
    stav = 1;}
    
  if(digitalpin2){
    stav = 2;}
    
  if(digitalpin3){
    stav = 3;}
    
  //Gira o motor no sentido horario  
  cteni = digitalRead(tlacitko);   
  if (cteni != 0)
  {
    myStepper.step(-kroky);   
  }  

  //Gira o motor no sentido anti-horario  
  cteni2 = digitalRead(tlacitko2);  
  if (cteni2 != 0)  
  {  
    myStepper.step(kroky);   
  }
     
 lcd.setCursor(0,0); // Sets the cursor to col 0 and row 0
lcd.print("Patro: "); // Prints Sensor Val: to LCD
lcd.print(digitalRead(stav)); // Prints value on Potpin1 to LCD

}

Odpovědět

Kdo je online

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