praegune kellaaeg 20.04.2024 05:46:55
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
new1
HV kasutaja
liitunud: 02.06.2007
|
18.07.2021 17:52:23
|
|
|
Kui vajutan sellel keypadil suvalist nuppu, siis mingi pin võiks korraks juhtivaks muutuda, nagu klaviatuuril iga nupuvajutyusega saaks siis väikese piuksu või ledi vilksatuse, mille järgi saaks aru, kas number ikka sai sisestatud, ekraani sel asjal mul ju olema ei saa, kus näha et kas ikka on neljast koodikombinatsioonist ikka neli seal olemas või mitte.
|
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
19.07.2021 08:10:45
|
|
|
Selleks, et miskit nuppu lugeda - tuleb see IO-st sisse lugeda. Kõigepealt aga tuleb IO defineerida - kas ta on Input, output või mõlemad! St. klaviatuur tuleb õigesti programmeerida. Samamoodi outputiga - see tuleb defineerida. Seejuures peab LED ka õieti ühendatud olema.
Ma omal ajal mässasin kah- tükk aega tuli manuaalist järge vaadata ja leida õiged defineerimised ja siis sain tööle. Skeemi tulid mõned (pullup) takistid juurde. seejuures millegipärast hoopis teised väärtused kui netist leitud joonisel. Mul luges nupuvajutust ja pani LED põlema.
Soovitan - leia netist just sellisele juhtumile sobiv näide ja tee järgi - eeldusel, et skeem ja programm on netis olemas. Mina nii tegin. Oma tarkusega paneksin seda LED põlema tänaseni.
|
|
tagasi üles |
|
|
new1
HV kasutaja
liitunud: 02.06.2007
|
19.07.2021 23:52:35
|
|
|
Leidsin sellise https://electronics.stackexchange.com/questions/37525/piezo-barely-audible . Seda servot mul vaja pole ja saan rohelise led-i väljundist oma vajamineva pulsi kätte, mis häire maha lükkab. Testisin seda ja selle piezo väljundile tekib iga suva nupu vajutamisega korraks pinge, kõik mida mul vaja oligi, seega mul hetkel rohkem küsimusi pole. Või noh, okei, üks väike puudus on seal, nimelt kui arduino toite peale saab, siis vilgutab kiirelt kolm korda rohelist LED-i see aktiveeriks mul automaatselt häire mahavõtmise ja ukse avamisel tahaks alles siis arduinole toite peale lasta mitte 24/7 seda toite all hoida. Seda häda saan ka muidugi nn rauas ära lahendada, lihtsalt tekitades toite sisselülimisel omakrda viiteahela transistori baasil, ent suht mõttetu lisaahel, kui saaks pisikese koodimuutmisega ilmagi hakkama.
|
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
20.07.2021 07:15:59
|
|
|
Seal koodis oli palju pahna - sinu jaoks üleliigset. Võta maha nii, et oleks vaid init osa ja sind huvitav osa. Peaksid ka kõrvalefektist pääsema.
|
|
tagasi üles |
|
|
new1
HV kasutaja
liitunud: 02.06.2007
|
20.07.2021 22:15:48
|
|
|
Ma ei ole kindel mis seal vajalik on mis mitte. Sul asi vist selgem, kustuta ise ebavajalik maha ja kopeeri ülejäänu siia, ma proovin mis teeb reaalselt. Oluline on et see piezo nupulevajutuse korral piuksu annab ja roheline led õige pin korral süttiks, ülejäänu ebavajalik. Proovisin ka selle servo PWM väljundilt, et äkki saan sealt sobiva impulsi luku avamsel, paraku teeb see ka toite peale saamisel servo avamise liigutuse ilmselt läbi, seega sama häda küljes mis rohelisel LED-il minu jaoks.
|
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
21.07.2021 08:22:39
|
|
|
Ei ole. Ma olen kontrollereid programmeerinud aga mitte Arduinot. Siiski kiirkorras nägin - seal koodis on init osa - ja on ka LED juhtimine. Sa pead ikka iga rea ise selgeks tegema ja selleks on Arduino manuaal. Otsi kõigepealt manuaalist pin IO osa - see on kõige olulisem.
|
|
tagasi üles |
|
|
new1
HV kasutaja
liitunud: 02.06.2007
|
22.07.2021 02:18:18
|
|
|
A ei siis las jääb, liialt kaua aega ja jebimist kuluks sellele, lihtsam on analoogis paarisekundiline viivitus tekitada ja saab asja valmis ära teha.
|
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
|
tagasi üles |
|
|
eweb
HV kasutaja
liitunud: 28.10.2003
|
04.10.2021 14:53:02
|
|
|
Äkki oskab keegi arduinoga kodus olev nõu anda veidi...
Sisenditeks on 4 lülitit. Väljunditeks on 4 LEDi ja lisaks 2 releed. Süsteemi ülesehitus peaks olema selline, et kui nt 1. lüliti annab signaali, süttib LED nr 1, relee nr 1 on ühendatud, relee nr 2 ei ole. Lüliti 1 katkestatakse, lüliti 2 annab signaali - süttib LED nr 2, relee nr 1 ja nr 2 ei tee midagi. Lüliti 2 katkestatakse, lüliti 3 annab signaali - süttib LED nr 3, relee nr 1 ei ole ühendatud, relee nr 2 on ühendatud. Lüliti 3 katkestatakse, lüliti 4 annab signaali - süttib LED nr 4, releed 1 ja 2 on ühendatud.
Olen LEDidega katsetades asja nii kaugele saanud, et 4 lülitit ja 4 LEDi funktsioneerivad, nagu peab. Küll aga releesid asendavad LEDid ei taha teha seda, mida nad peaksid. Põlevad kogu aeg. Kui lüliti ühendada, siis lähevad õiged LEDid pisut tuhmimaks.
https://youtu.be/lJE5jt2eBho
|
|
tagasi üles |
|
|
kalvis
Kreisi kasutaja
liitunud: 20.10.2009
|
04.10.2021 15:05:34
|
|
|
Jälle, alusta Arduino IO väljundite programmeerimisest. LED tarbib imevähe voolu, seega on IO pin takistus ja kivis olev pull-up toitetakisti väga olulise tähendusega kuidas IO käitub. Sul jääb kivis olev pull-up toide peale, kuigi IO juhtttransistor muudab oma väärtust
|
|
tagasi üles |
|
|
eweb
HV kasutaja
liitunud: 28.10.2003
|
04.10.2021 15:53:16
|
|
|
Kood on praegu selline, ilmselt mitte kõige ilusam...
const int button1 = 0;
const int button2 = 1;
const int button3 = 2;
const int button4 = 3;
const int ledPin1 = 4;
const int ledPin2 = 5;
const int ledPin3 = 6;
const int ledPin4 = 7;
const int relee1 = 8;
const int relee2 = 9;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(relee1, OUTPUT);
pinMode(relee2, OUTPUT);
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
pinMode(button3, INPUT_PULLUP);
pinMode(button4, INPUT_PULLUP);
}
void loop() {
buttonState1 = digitalRead(button1);
buttonState2 = digitalRead(button2);
buttonState3 = digitalRead(button3);
buttonState4 = digitalRead(button4);
if (buttonState1 == HIGH)
{
// turn LED on:
digitalWrite(ledPin1, LOW);
digitalWrite(relee1, LOW);
digitalWrite(relee2, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin1, HIGH);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, HIGH);
}
if (buttonState2 == HIGH)
{
// turn LED on:
digitalWrite(ledPin2, LOW);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin2, HIGH);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, HIGH);
}
if (buttonState3 == HIGH)
{
// turn LED on:
digitalWrite(ledPin3, LOW);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, LOW);
} else {
// turn LED off:
digitalWrite(ledPin3, HIGH);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, HIGH);
}
if (buttonState4 == HIGH)
{
// turn LED on:
digitalWrite(ledPin4, LOW);
digitalWrite(relee1, LOW);
digitalWrite(relee2, LOW);
} else {
// turn LED off:
digitalWrite(ledPin4, HIGH);
digitalWrite(relee1, HIGH);
digitalWrite(relee2, HIGH);
}
} |
|
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|