Výtah se 3 podlažími
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.
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.
Re: Výtah se 3 podlažími
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.
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.
Re: Výtah se 3 podlažími
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;}
}
Re: Výtah se 3 podlažími
Podmínky budou vycházet z předešlího příspěvku. S tačí využívat if a else.
Re: Výtah se 3 podlažími
Tady máš kompletní návod včetně programu na výtah se třemi patry !
https://www.instructables.com/id/Step-Motor-Elevator/
https://www.instructables.com/id/Step-Motor-Elevator/
Re: Výtah se 3 podlažími
Děkuji moc.Taky jsem na tento článek narazil.
- 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
už to jezdí ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: Výtah se 3 podlažími
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
Budu potřebovat 6 tlačítek takže bych to tam měl 2x.
Arduino klávesnice membránová 1x3
Re: Výtah se 3 podlažími
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
}
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 42 hostů