Fórum témák
- • 555-ös IC-s kapcsolások
- • Autórádió (fejegység) problémák, kérdések, válaszok
- • DS18B20 hőmérő-szenzor
- • Érdekességek
- • Forrasztási 1×1 forrasztástechnikai miértek
- • HESTORE.hu
- • HP nyomtató hibák
- • Li-Po - Li-ion akkumulátor és töltője
- • Androidos okos telefonok
- • Rádiótechnika számok keresése
- • Kapcsolási rajzot keresek
- • Számítógép hiba, de mi a probléma?
- • Mosógép vezérlők és általános problémáik
- • Napelemes rendszer kérdés
- • Digitális fényképezőgép javítás, egyebek
- • Thomson DPL07Vd - Philips Ambilight
- • Felajánlás, azaz ingyen elvihető
- • Videoton RT7300S
- • Castone erősítő javítás
- • Hifi erősítők tervezése
- • Vag-com-hex interfész (kábel hibák)
- • Inverteres hegesztőtrafó
- • STK erősítők javítások
- • Elfogadnám, ha ingyen elvihető
- • Napelem alkalmazása a lakás energia ellátásában
- • TV-játék
- • Vásárlás, hol kapható?
- • Sprint-Layout NYÁK-tervező
- • Espressif mikrokontrollerek
- • Kapcsolóüzemű tápegység
- • Szervó vezérlés
- • Crystal radio - detektoros rádió
- • Keltető hőfokszabályozó
- • Erősítő építése elejétől a végéig
- • Töltésszabályzó napelemhez
- • Savas akkumulátor
- • Kávéfőzőgép hiba
- • Adatlapot keresek
- • DSP - Miértek, hogyanok
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Akkus fúró elektronikus panel hibák
- • Indukciós főzőlap javítása
- • Optocsatolók
- • Erősítő mindig és mindig
- • RC-modellautó elektronika
- • DC-DC konverter
- • Autóelektronika
- • Autó-generátor nem tölt rendesen
- • Mosogatógép hiba
- • Kapcsolóüzemű táp 230V-ról
- • Fejhallgató erősítő
- • Muzeális készülékek-alkatrészek restaurálása
- • Orosz tranzisztorok helyettesítése
- • Vezetéknélküli termosztát
- • Folyamatábrás mikrokontroller programozás Flowcode-dal
» Több friss téma
|
A klónok CH340 Soros-USB illesztőjének drivere ( Letöltés)
Amik kommentelve voltak azokal is 0 volt nem számolt... érdekes!
Üdv!
Találtam a neten shift regiszteres futófényes programot. Utánanéztem, hogyan lehetne kapcsolgatnom a kivezetéseit saját igényeim szerint, de nem találtam semmi számomra érthető dolgot az IC vezérlésével kapcsolatban. El rudná nelem magyarázni, hogy hogyan működnek a parancsok pl a shiftOut()?
Előre is köszönöm!
Valaki csinált már vonalas telefonal kommunikáciot arduinoval milyen protokol ez ?
2 irányú megoldás érdekelne ! A hozzászólás módosítva: Júl 14, 2018
Keres rá itt a forumon: Telefonszám szűrés
A témába vág, és találsz pár linket.
Én már csináltam ilyet, igez csak kísérleti jelleggel. DTMF-nek hívják a dolgot, és pár olcsó alkatrész kell csak hozzá. Az a dolog lényege, hogy egy kéttónusú hangot állít elő minden billentyűre, amit a vevő oldalon sávszűrővel bont ketté. Így egy mátrix elemei (a nyomógombok) pontosan meghatározhatók. A te oldaladról csak egy dtmf adó/vevő kell, aminek "nyomogatod a gombjait" a mikorvezérlővel. A másik oldalon meg fogadod a jelzéseket.
Vannak kész modulok is amik már ledekkel is mutatják a dolgokat, de a lényeg az ic, meg a kavics hozzá. Azt tudni kell, hogy ennek eléggé lassú az átviteli sebessége, filmeket ne ezzel akarj a telefondrótba tömködni
Riasztonak kellene másodlagos biztositásra ha a gsm kiesne!
Akkor ez MT8870 DTMF vezetékes vonal és arduinon kivül kell még valami más illesztés ?
Esetleg egy példaprogramot kaphatok arról, hogy mondjuk felkapcsoljuk a 2, 5, 8-as pinjét a shiftregiszternek, majd várunk 1 mp-et, aztán a 3, 6, 1-es pint, és a kettő váltakozik?
Előre is köszönöm!
Egy példa az illesztésre. Innen származik.
A Google egyébként elég ügyesen bánik a kérdéssel, sokan csináltak már hasonlót: "dtmf phone dialer circuit"
Nekem anno elég volt hogy működik, nem kötöttem telefonra, ezért linkeltem a fentieket.
Milyen shift regisztert használsz? Milyen kapcsolással próbálkozol?
köszi!
Szerintem fölösleges ilyen 250x200 px felbontású képeket feltenned ide, mert semmi se látszik rajta.
| (#) |
vyky hozzászólása |
Júl 15, 2018 |
 |
/ |
 |
|
Sziasztok. Találtam a neten egy ilyen programot,ami már majdnem azt csinálja amit én szeretnék. // Example 03A: Turn on LED when the button
is pressed
// and keep it on after it is released
const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin
int state = 0; // 0 = LED off while 1 = LED on
void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}
void loop() {
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
// and change the state
if (val == HIGH) {
state = 1 - state;
}
if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}
De mégsem. Mert ha jól értelmezem a programot itt csak akkor kapcsolja fel a ledet,ha a gombnyomás száma 1.Ellenkezőleg nem tesz semmit. Szóval számolja a kapcsolások számát.
De nekem az kellene,hogy a kapcsolások számát számolja,és annak az értéke legyen a led világítási ideje. Ebben valaki előrébb lendítene? Köszönöm előre is.
Egy lehetséges megoldás:
// Example 03A: Turn on LED when the button is pressed
// and keep it on after it is released
const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
const int ENTER = 8; // the Készenvan BUTTON input pin where the
int val = 0; // val will be used to store the state
// of the input pin
int num = 0;
int enter = 0; // val will be used to store the state
// of the input pin
int state = 0; // 0 = LED off while 1 = LED on
void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
pinMode(ENTER, INPUT); // and BUTTON is an input
}
void loop() {
do{ // Számolja a BUTTON eseményt
do{
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(val == LOW || enter == LOW); // várunk, hogy megnyomják a BUTTONt
delay(20); // kivárja a prelt
if(val == HIGH) num++; // számolja az eseményt
do{
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(val == HIGH || enter == LOW); // Várja, hogy elengedjék a BUTTONt
delay(20); // kivárja a prelt
}while(enter == LOW); // ismétel ha nem ENTERT nyomtak
do{
if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
delay(100 * num); // kivárja a beállitott ídöt
// and change the state
state = 1 - state;
}while(enter == LOW); // ismétel ha nem ENTERT nyomtak
}
A hozzászólás módosítva: Júl 15, 2018
Szia.Köszönöm ,ez nagy segítség  Ha jól értelmezem akkor a 7 pinen lévő gombbal állítom be az időtartamot,és a 8 pinen lévővel,meg "nyugtázom" ?
Ja! A végéről még kimaradt a kiugrás figyelése:
...
// and change the state
state = 1 - state;
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(enter == LOW); // ismétel ha nem ENTERT nyomtak
}
Ha a "Készenvagy" kifelyezésnél jobb szerinted a "nyugtázom" ?
Legyen igazad!
Valamit elrontottam.mert nem csinál semmit.
Szerintem a nyomógombokat nem jól kötötted be. Hány lábúak? Négy? A hozzászólás módosítva: Júl 15, 2018
Ilyenkor a legnagyobb gondot a gombok pergése okozza!
Ezért kötelezőek a 100n-es kerámia kondenzátorok minden gomb két pólusa közé!
Ezeket nem látom a képen?
Más.
Ha túl hosszan nyomod az ENTER gombot? akkor túlfut a program a LED villogáson. A hozzászólás módosítva: Júl 15, 2018
Perll miatt tettem ellenállást és kötöttem össze a gndvel.
De most tettem kondit is.
Akkor tegyél bele még 3 LEDet:
// Example 03A: Turn on LED when the button is pressed
// and keep it on after it is released
const int LED = 13; // the pin for the LED
const int lowLED = 12; // the pin for the LED
const int highLED = 11; // the pin for the LED
const int blinkLED = 10; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
const int ENTER = 7; // the Készenvan BUTTON input pin where the
int val = 0; // val will be used to store the state
// of the input pin
int num = 0;
int enter = 0; // val will be used to store the state
// of the input pin
int state = 0; // 0 = LED off while 1 = LED on
void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(lowLED, OUTPUT);
pinMode(highLED, OUTPUT);
pinMode(blinkLED, OUTPUT);
pinMode(BUTTON, INPUT); // and BUTTON is an input
pinMode(ENTER, INPUT); // and BUTTON is an input
}
void loop() {
do{ // Számolja a BUTTON eseményt
do{
digitalWrite(lowLED, HIGH);
digitalWrite(highLED, LOW);
digitalWrite(blinkLED, LOW);
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(val == LOW || enter == LOW); // várunk, hogy megnyomják a BUTTONt
delay(40); // kivárja a prelt
if(val == HIGH) num++; // számolja az eseményt
do{
digitalWrite(lowLED, LOW);
digitalWrite(highLED, HIGH);
digitalWrite(blinkLED, LOW);
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(val == HIGH || enter == LOW); // Várja, hogy elengedjék a BUTTONt
delay(40); // kivárja a prelt
}while(enter == LOW); // ismétel ha nem ENTERT nyomtak
delay(40); // kivárja a prelt
do{
digitalWrite(lowLED, LOW);
digitalWrite(highLED, LOW);
digitalWrite(blinkLED, HIGH);
if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
delay(1000 * num); // kivárja a beállitott ídöt
// and change the state
state = 1 - state;
enter = digitalRead(ENTER); // ENTERre kiugrik
}while(enter == LOW); // ismétel ha nem ENTERT nyomtak
}
És látod, hogy hol jár a programod.
Nagyobbra vettem a várakozásokat ís! A hozzászólás módosítva: Júl 15, 2018
Na most az történik,hogy a gombnyomkodásra a ledek sorban felvillannak,majd ha a kész gombot megnyomom nem történik semmi
Szia. Igen 4 lába van kimértem multiméterrel hogy melyik láb nincs kontaktban nyomás nélkül.szóval itt nincs hiba.
Akkor javítsd az OR feltételeket AND ra:
...
}while(val == LOW && enter == LOW); // várunk, hogy megnyomják a BUTTONt
...
}while(val == HIGH && enter == LOW); // Várja, hogy elengedjék a BUTTONt
Köszönöm,most valóban látom mi történik azaz,hogy történik-e gombnyomás  És ha a készvan gombot megnyomom a LED villog.
És ha jól látom a program működését,akkor ameddig nyomom a BUTTON-t olyan időközzel villog a led?
|
|