Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [sziku69:] Szólánc.
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] [Adrian Mole:] Friss konfig, Win 11, gyere rám
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
GAMEPOD.hu témák
Útvonal
Fórumok » Egyéb hardverek » Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)Téma összefoglaló
Hozzászólások
LógaGéza
addikt
BT-n se tudok kapcsolódni hozzá, mert a vezérlőprogi IP-t, és portot kér. Szerintem ebből Ethernet shield lesz, csak nem tudom melyik a jó... Megéri a drágábbat venni, vagy elég-e egy olcsóbb?
Boardból se tudom, hogy elég-e egy Nano, vagy tényleg Mega kell...
"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
Danex
addikt
Én a W5100-ast venném, az olcsóval csak szenvedtem, hogy az interneten minden project a W5100-hoz van megírva és az nem működik az olcsón 1-1ben
Alu
senior tag
Sziasztok!
Vettem egy Arduino Uno R3 panelt és lenne vele egy nagy problémám. Letöltöttem hozzá a gyári Arduino szoftvert (1.6.7.) és első pár alkalommal gyönyörűen felismerte és programozta a panelt, de pár alkalom után már a gép se látta az usb bemeneten, mint eszközt. Próbáltam a saját gépemen és még további kettőn a gyári szoftverrel. Próbálkoztam az 1.6.5. -el, majd az 1.6.0 -val, próbáltam leszedni külön usb drivereket, persze egyik se működött. Addig addig dugdostam, míg egyszer csak látta a panelt, felprogramoztam, kihúztam, bedugtam, de megint nem látta. Nekem gyanús, hogy az eszközkezelőben se látja a gép, mint ha rá se lenne dugva, viszont a panelen világítanak a ledek és a rajta lévő programot szépen lefuttatja. Nem tudom ez mennyire lehet lényeges, Magyarországról, egy elektronikai eszközökkel foglalkozó boltból rendeltem a panelt, igaz a webáruházban 2 féle uno -t találtam, de eltérés csak árban volt. Leírások, linkek és képek is azonosak voltak. Természetesen én az olcsóbbikat rendeltem, lehet, hogy ez valami kínai utángyártott darab?
Nektek volt már ilyen problémátok?
λŁƯ™
Gergosz2
veterán
néha csinál ilyet, hogy lehúzod,bedugod és nem látja a fordító. Nem kell megijedni, segíteni szokott ha kihúzod majd újra bedugod.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
LógaGéza
addikt
Nekem is ez a hibám van, ha bedugom, akkor világít a LED rajta, de nem csatlakozik... Több gépen és több kábellel is próbáltam - mennyire könnyű kinyírni ezeket a kütyüket?
"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
Alu
senior tag
Nem csak a fordító, a gép se látja. Eszközkezelőben ott kellene lennie a com portoknál, mint csatlakoztatott usb eszköz, de nincs ott
λŁƯ™
Tankblock
aktív tag
Hello,
Azért a feszültségére érdemes egy pillantást venni. Én így jártam a USBtoSerial converterrel. Nem látta az eszközt ha rácsatlakoztattam a ESP8266 ra. Ha külön betápoltam a Wifi modult akkor köszöni szépen megy.
A kínai verziókhoz, meg van saját módosított driver általában.....
Release the Beast....
Bazs87
tag
Sziasztok!
A fórum visszaolvasása még eltart némi ideig, de türelmetlen vagyok és lenne pár égető kérdésem.
Írtam egy etherneten kommunikáló termosztátot.
Az első gondom az ethernet server és a webserver hivatalos libekkel volt, ha külön használom/tesztelem működik, ha összeollózom a programrészeket nem stabil a működése. Találkozott már valaki ezzel a problémával?
Valami üti az SD olvasásomat is. 10-ből 6x nem veszi észre a kártyát ami az eth shield-be van dugva. Mivel ez megint csak lib és a kártyához hozzá sem értem az eltérő végkimenetelű események közt nem tudom hol keressem a hibát.
A 3. problémám, hogy a stabilan működő nano slave-k, amik handshake nélkül dobálják minden 100 érték után az átlagértéküket néha kifagynak, annak ellenére, hogy ha nincs connectelve addig ül egy while ciklusban és próbál csatlakozni, ameddig újra nem sikerül neki. Ha a mastertől elveszem az 5 voltot és úgy indítom újra általában helyreáll és megint megy a kommunikáció etherneten. (most hardveres resetet kap, ha több ethernet slave érték nem jön be bizonyos idő után - timeout)
Remélem érthetők a felvetett kérdések/problémák és valaki már találkozott velük.
A programok viszonylag nagyok, ezért nem copy-znám be ide őket 1 az 1-ben, de ha valakit érdekel szívesen átküldöm.
Köszi!
Bazs87
zka67
őstag
Szia, igen, én is találkoztam ezzel a hibával, bár nem arduinon, hanem ARM uC-n, de a lényegen ez nem változtat, mert u.a. a könyvtárat írtam át az ARM-ra. Néha hülyeségeket küldözget a hálózatra, és aztán le is áll az ethernet vezérlő. Nem volt idegrendszerem hozzá, hogy megkeressem benne a hibát.
A megoldásom az volt, hogy kerestem egy másik könyvtárat, átírtam és azt használom, azzal abszolút nincs semmi gondom. Itt az eredeti arduinos könyvtár, kicsit másképp működik, de jóval egyszerűbb.
Bazs87
tag
ez is működik a W5100-as shield-del? Úgy tudom ez az ENC28J60 libje, vagy eth server vagy webserver nincs is a minták közt. Ezeket a bővítéseket magadnak megcsináltad esetleg?
zka67
őstag
Szia, én az ENC28J60-ast használom, és a közeljövőben nem is tervezem, hogy áttérek másra.
Egyébként vannak példák a webserverre is: rbbb_server, multipacket...
Alu
senior tag
Köszi a tippet! 2 programozásig megoldotta a problémát, de aztán megint nem látta. Most meg az a win7 -es gép amin az a 2 programozás sikerült, az most nem találja a drivert, egy másik win8-as meg nem is látja, ha adok neki külön tápot akkor se..
λŁƯ™
Flashback
addikt
RGBW101 ledek vezérlése mennyivel másabb mint a ws2812b ?
[ Szerkesztve ]
Bocs nincs hosszú ö, ü és néha az á is ä :)
LógaGéza
addikt
Ahogy nézem nem sokban, a Neopixel támogatja, itt át tudod nézni mi változott.
"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
dave0825
őstag
Üdv.
Most vettem egy autót használtan, és a kulcsán csak központi zár nyitás-zárás van. Olyanra gondoltam, hogy csináltatnék bicskakulcsot hozzá (simát kaptam hozzá, nem bicskát), de olyat, amin van csomagtartó-nyitó gomb is. Ez (elvileg) 433,92MHz-en működik (Opel Astra G), vagy 433, 434, mindenhol mást írnak, de 433 és 434 között, még nem próbáltam. Van is egy 433MHz-es vevőm, ezzel lehetne venni annak a gombnak a jelét, ugye? A vevőt most szereztem 100 ft-ért, még nem próbáltam ki, hogy működik-e, de rendeltem ebay-ről, hogy legyen egy biztosan működő is (bár az enyém nem ilyen, az téglatest alakú, fémmel burkolt, kb. 15cm antennával). Arra meg már programban nem nehéz megoldani, ha annak a gombnak a jelét vette a vevő, akkor mit csináljon a program (valami motorral, vagy valami mechanikával nyissa ki a zárat a csomagtartóban). Ugye? Nagyjából utánanézegettem, hogy elvileg 433MHz-es vevővel lehet fogni a jelét, itt egy videó róla.
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
gyapo11
őstag
A frekvencia önmagában nem elég, csak a rádiónak, az átküldött bitek kódolása is fontos, időzítések stb. De ha megy, és tudja dekódolni, akkor már könnyen meg lehet oldani a nyitást motorral-áttétellel vagy combosabb központizár motorral.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
dave0825
őstag
Na, kezdésnek jó, hogy megoldhatónak bizonyul. Esetleg találni szerinted olyan megírt sketch-et, vagy csak library-t, amibe már be van programozva, hogy mindent tudjon dekódolni? A videón, amit fönt linkeltem, ott kódot is vesz, protokollt is, és bitek számát is. Bár azt nem látom, hogy alap library-t tölt-e be, és már veszi is a kódot, vagy valamit mókolt-e vele. Egyébként a 433MHz-es vevőn lehet hangolni, hogy mondjuk 433,92MHz-et vegyen, vagy az fix 433,0MHz csak?
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
bacus
őstag
opelhez nem ajánlott a bicskakulcs, az inditózár elég nehezen jár a legtöbb opelben ahhoz, hogy a bicskakulcsot kinyirja. Én is akartam, de a riasztós lebeszélt, biztos neki van igaza. (igaz ott a riasztó programozásánál, van amikor 20x kell gyujtást adni és elvenni..)
A központizár nyitásakor a csomagtartó nem old? Nekem volt pár opelem, mindnek nyilt a csomagtartója a központizár nyitásával. (nem fizikailag nyilt, hanem a zár azt is nyitotta) Ezt egyébként a kulcs továbbforditásával mindenhol lehetett blokkolni. Azaz ha a csomitartóba bedugtam a kulcsot és még egy 90 fokot tekertem raja, akkor a központizárat kikapcsoltam.
Most egy omega van, amin nincs is gomb a csomagtartónak, csak belülről v. távlökővel nyitható, (ez állitólag nagyon biztonságos, mert a piros lámpánál nem tudják kirámolni), de szerintem sokkal több hátránya van mint előnye.
Kössünk egyezséget, megegyezős egyezséget... https://www.paypal.me/engiman/30
Danex
addikt
2011-es VW Jettánál nem tudtam dekódolni az távirányítót, a néhányszáz forintos RF adóvevővel
dave0825
őstag
Azt hiszem, nekem is nyitja a központi a csomagtartót, igen. Csak gondoltam ha hátránya nem nagyon van, könnyebb már a kocsi felé menet kinyitnom gombbal magát a csomagtartót, mármint úgy, hogy föl is nyíljon Ezt úgy oldanám meg, hogy a csomagtartón a zár kézzel benyomását helyettesítené valami mechanika Arduino-ról vezérelve, majd onnan (mivel nem nyílik föl magától ugye, csak ha megemelem 30-40 centire) egy plusz teleszkóp nyomná föl a holtpontig, onnan meg már ugye a gyári 2 teleszkóp. Igazából kényelmi funkciót tölt csak be, hogy ha tele van a kezem, nehezen nyúlnék oda kulccsal, majd nyitnám föl kézzel, akkor kényelmesebb csak a gombot megnyomni. Vagy ha magát a gombot a csomagtartóról levenném, mert a központi úgyis zárja, az Arduino meg nyitná kulcsról, szóval nem is kéne oda kézzel nyitó, ahogy te is írtad, biztonsági okokból. Hátrány annyi lehet, ami szerintem a legnagyobb, hogy ha egyszer megadja magát az Arduino.....
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
gyapo11
őstag
Csak találgatni tudok, szerintem a frekvenciával nem lesz gond, nem hiszem, hogy olyan szűk sávszűrőt tennének a vevőbe, hogy párszáz kHz-cel odébb ne venné az adást. Inkább a dekódolás a kérdés.
Library kérdésre nem tudom a választ, még nem néztem ezt a témát.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
tvamos
nagyúr
Nekem is G Astra van, remélem, valami jó fajta kodolást használ, es nem tudod dekódolni, hiszen ebben az esetben csak az nem nyitja ki, aki nem akarja.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
gyapo11
őstag
Amikor kódolást említettem soros átvitelnél, amilyen pl. a riasztó távirányító, akkor nem titkosításra gondoltam, hanem az egyes bitek átvitelének módjára. Hogy milyen csomagban, milyen elő és utó bitekkel, ellenőrző bitekkel, és hogy az egyes bitek átvitele milyen időzítésekkel és hány impulzussal történik. Ebben még semmi titkosítás nincs, de a vételhez pontosan ismerni kell ezeket.
Az már egy következő szint, hogy az így átvitt bitek mit tartalmaznak, pl. a "hello world" szavakat olvasható formában, vagy titkosítva "sd9f87df87s9d8f" amit valamilyen matematikai módszerrel dekódolni kell az olvashatósághoz.
Nem tudom hogy a riasztókhoz milyen titkosítást használnak, de a videón működött a dolog, tehát az arduino is ismerte a dekódoláshoz szükséges infókat.
Az autó ellopásához meg nem csak a titkosítás törése az út, hanem a scanneléssel összegyűjtött adatok és azok lejátszása.
Ezért is érdemes a saját készítésű rendszerbe is titkosítást vinni, arduino, jó nagy flash rom feltöltve véletlen számokkal, ugyanez a vevőben is, elvileg is törhetetlen (One Time Password).
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
tvamos
nagyúr
Ertem amit irsz, meg azt is, amit en irtam. Gondolom a titkositas valamilyen kodolasi metodussal tortenik, mondjuk en eddig csak AES kodot hasznaltam. Persze, ha nem ez a terminusz teknikusz, akkor nyugodtan javits ki, mondom, en csak hasznaltam eddig.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
gyapo11
őstag
Nem tudom mit használnak, sokféle titkosítási módszer van, mindegyik törhető, ha rövid a kulcs. Szóval az fontos, hogy hosszú legyen a kulcs, és akkor sok idő a törés.
Ennek ellenére a fix kód küldése nem jó, mert ha 1000 bites is a kulcs, és ezzel törhetetlen, magát a titkosított bitsorozatot egyszer lehallgatva megvan a nyitáshoz a kód. Tehát mindenképpen kell valami változás minden egyes nyitáshoz küldött kódban (ugrókód). És ha egy kód csak egyszer kerül felhasználásra a riasztó életében, akkor a lehallgatás értelmét veszti, ez az OTP. Itt viszont már nem is kell titkosítani, mert egy kód lehallgatásából semmilyen módon nem állítható elő a következő kód, a lehallgatott kód nem használható újra, ezért a törése elvileg lehetetlen, nincs mit törni, a véletlen számok között nincs összefüggés.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
Flashback
addikt
Sziasztok
RF témában érdeklődnék kicsit.
Kis adatcsomagokat kellene nagy biztonsággal eljuttatnom kb100m távolságra. Úgy hogy akár egy embertömeg is a jel útjában állhat.
Melyik hullámsáv lenne erre a megfelelőbb 400,800mhz? 2,4ghz-et nem akarok az mostanság eléggé zavart freki...
[ Szerkesztve ]
Bocs nincs hosszú ö, ü és néha az á is ä :)
Gergosz2
veterán
433mHz jó lesz, de a 800mHz-sel sem lesz gond. De mindegyiknél figyelned kell rá, hogy tegyél rá egy megfelelő méretű antennát, illetve az adód teljesítménye elég nagy legyen.
PL 433Mhz-es adók többsége negyedhullámos, egy 17 cm-es antennával megtoldva elég messzire tud közvetíteni. Olvastam, hogy valakinek sikerült 3 km-es távot is produkálnia, de 1km mindenképp menni szokott, ha 12V-ról járatod.
Ja és ha nagy biztonságot akarsz, akkor mindenképp valamilyen hiba detektálást és javítást is valósíts meg ismétlés, cheksum, CRC... .
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Régóta vagyok PH-s és Arduinos is, hogy nem találtam eddig erre a topicra?
Ha esetleg az számít, az NRF24L01+ ugyan 2.4Ghz-en megy, de annyi klassz beépített tulajdonsággal ruházták fel, hogy nem kell tartani a zajtól.
Szerintem volna olyan biztonságos mint a 433MHz , és kevesebb vele a szenvedés (nekem legalább is a 433-as modulokkal nincs jó tapasztalatom)
Mások számára a kondi fáradós, nekem farad-os...
tvamos
nagyúr
Nekem 433-mon nem sikerült ilyesmi. (Elvileg akár mukodhetne is, nekem nem ment.) Ami viszont ment, aránylag stabilan, az a 2.4GHz-es Zigbee modul volt, bot antennával. (Az meg persze elvileg akár km-t is...)
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
JozsBiker
aktív tag
Sziasztok !
ESP8266 -ot szerintetek ráköthetem közvetlenül a számítógép soros ( nem USB, hanem a 9 pólusú canon ) portjára ?
zka67
őstag
Szia, nem
Azonnal tönkre megy.
JozsBiker
aktív tag
Akkor jó hogy nem kötöttem rá. Köszi.
Gergosz2
veterán
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
DeniL
tag
Sziasztok,
6 nyomógombot "szimulálnék" a GND és 0-5-ig a digitális pinek összeérintésével. A 6 nyomógombot adott sorrendben kellene lenyomni, de ha ez nem így történik, akkor futás közben kellene visszajelzést adnia, hogy "elrontottad". Ne csak a végén ellenőrizzen, ha le lett nyomva mind a 6.
Elkezdtem többféleképpen, de már kezdem feladni és belefáradni. Remélem találok köztetek olyanokat, akik a helyes útra térítenek és segítségemre lesznek. Köszönöm
1.
#include <SoftwareSerial.h>
int button1 = 0;
int button2 = 1;
boolean button1_state = false;
boolean button2_state = false;
int mode = 0;
void buttoncheck1(){
button1_state = !digitalRead(button1);
}
void buttoncheck2(){
button2_state = !digitalRead(button2);
}
void setup() {
Serial.begin(9600);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
buttoncheck1();
buttoncheck2();
}
void loop() {
while (mode == 0){
Serial.println("elso ciklus");
while (mode == 0){
delay(2000);
buttoncheck1();
if (button1_state==true) {
Serial.println("ez az elso");
mode = 1;
}
else {
Serial.println("rossz sorrend 1.");
}
}
}
while (mode == 1){
Serial.println("masodik ciklus");
while (mode == 1){
delay(2000);
buttoncheck2();
if (button2_state==true) {
Serial.println("ez az masodik");
//mode = 3;
}
else {
Serial.println("rossz sorrend 2.");
}
}
}
}
2.
#include <SoftwareSerial.h>
int ButtonPins[] = {0, 1};
int buttonState[] = {HIGH, HIGH};
int index;
int numberOfBUTTON = 2;
void setup() {
Serial.begin(9600);
/*for (int i = 0; i < numberOfBUTTON; i++) {
pinMode(ButtonPins, INPUT_PULLUP);
}*/
pinMode(ButtonPins[1], INPUT_PULLUP);
pinMode(ButtonPins[2], INPUT_PULLUP);
}
void loop() {
for (index = 0; index < numberOfBUTTON; index++)
{
buttonState[index] = digitalRead(ButtonPins[index]);
if (buttonState[index] == LOW) {
Serial.print((String)(ButtonPins[index]));
Serial.print(" elem");
} else {
Serial.println("rossz sorrend");
}
}
delay(2000);
}
3.
#include <SoftwareSerial.h>
int scheme[6];
int ints_read[6];
int but_state[6];
void buttoncheck(){
int i,j;
for(j=0;j<6;j++)
{
if(but_state[j] != digitalRead(j))
{
for(i=5;i>0;i--)
ints_read[i]=ints_read[i-1];
ints_read[0] = j+1;
}
but_state[j] = digitalRead(j);
/*Serial.print(ints_read[j]);
Serial.print(" ");
Serial.println(scheme[j]); */
}
}
int match_buttons()
{
int i;
int j;
for(j=0;j<6;j++)
{
if(ints_read[j] == 0)
return j;
if(scheme[j] != ints_read[j])
{
for(i=0;i<6;i++)
ints_read[i] = 0;
return -1;
}
}
return 6;
}
void setup() {
int j;
Serial.begin(9600);
for(j=0;j<6;j++)
{
pinMode(j, INPUT);
ints_read[j] = 0;
}
pinMode(6, INPUT);
}
void loop()
{
boolean match = false;
//gombok FORDÍTOTT sorrendben. A helyes lenyomási sorrend 2,3,5,4,1,6;
scheme[0] = 6;
scheme[1] = 1;
scheme[2] = 4;
scheme[3] = 5;
scheme[4] = 3;
scheme[5] = 2;
delay(2000);
while(true)
{
buttoncheck();
if(match_buttons() == -1)
{
Serial.println("rossz sorrend");
//Az eddig beöltött minta már törölve
}
if(match_buttons() == 6)
{
Serial.println("jó sorrend");
break;
}
delay(100);
}
}
galilei01
újonc
Van valami ötletetek rá, hogyan lehetne a mindenféle Serial.print() kiírásokat, melyek a soros portra kimennek, majd megjelennek IDE Serial monitorán, eltárolni egy átmeneti bufferba?
Valahogy a Serial.print() kimenetét, ami a soros TX bufferbe ír, hogyan lehetne meggyőzni, hogy a TX bufferbe kiírással egyidőben ugyanabban a sketch-ben lévő, egy másik bufferbe !! is !! berakjon minden általa kiküldött bájtot.
softguner
csendes tag
Arra gondolsz amit a SoftwareSerial csinál?
Pubszon
veterán
Jut eszembe, a 0 és 1-et ne használd, az az RX és TX. Akkor jó használni, ha a soros kommunikációt nem használod.
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
galilei01
újonc
Konkrétan a hw serial portra (akármilyen módon is ) kiküldött adatokról van szó, tehát az összes hw - tx bufferbe került adatról kellene egy "másolat" amit majd más irányba is ki kellene küldenem.
Éppen most találtam meg a HardwareSerial.cpp -t (Az arduino részeként, ami talán a főbűnös ebben) de hiába nézegetem nem jövök rá hogyan tudnám úgy megheckelni h a kívánt eredményt az aktuális sketch-ben elérjem.
A második egy nagyon elegáns megoldás. Az egyetlen dolog, amire figyelned kell, hogy a for ciklus ne rohanjon kontrolálatlanul.
Az általad megírt verzióban ugyanis egy pillanat alatt végigfut, ennyi idő alatt nem végignyomni a szükséges gombokat.
Ha prellezésmentesek lesznek a gombok amiket használsz, akkor így menni fog:
#include <SoftwareSerial.h>
int ButtonPins[] = {0, 1};
int buttonState[] = {HIGH, HIGH};
//int index; ha globális a változód, a for ciklus csak egyszer fut, hacsak ki nem nullázod utána kézzel
int numberOfBUTTON = 2;
void setup() {
Serial.begin(9600);
/*for (int i = 0; i < numberOfBUTTON; i++) {
pinMode(ButtonPins, INPUT_PULLUP);
}*/
pinMode(ButtonPins[1], INPUT_PULLUP);
pinMode(ButtonPins[2], INPUT_PULLUP);
}
void loop() {
for (int index = 0; index < numberOfBUTTON; index++)
{
bool buttonPressed = false;
while(!buttonPressed)
{
for (int i=0; i<numberOfBUTTIN;i++)
{
if (!digitalRead(ButtonPins[i]) buttonPressed=true;
}
}
/*az fenti rész megoldja, hogy amíg te nem nyomtál semmilyen gombot, addig ne akarja ellenőrizni a lenyomott gombokat. Másképp akkor is ellenőrizne, ha nem nyomsz épp semmit.*/
buttonState[index] = digitalRead(ButtonPins[index]);
if (buttonState[index] == LOW) {
Serial.print((String)(ButtonPins[index]));
Serial.print(" elem");
while(!digitalRead(ButtonPins[index])){} //megakadályozza, hogy rögtön továbblépjen, mikor még a gombot nyomod
} else {
Serial.println("rossz sorrend");
break; //kiugraszt a for ciklusból, ha már egyszer elrontottad
}
}
delay(2000);
}
Így hirtelen ezt tudtam, lehet még benne hiba, de erre indulj el.
Majd tájékoztass
[ Szerkesztve ]
Mások számára a kondi fáradós, nekem farad-os...
Bazs87
tag
Sziasztok!
Van valakinek tapasztalata ugrókódos 433 mhz-es távvezérléssel?
Az egymás után következő 4 kódot tudom olvasni a távirányítóról. Ha én küldöm arduinoról akkor is tudom olvasni, tudom a sorrendet, de a kapcsolgatható konnektort nem érdekli, hajthatatlan
Infrán led-sornál sikerült ugyanidáig eljutnom, de azt sem sikerül vezérelnem, csak olvasnom(pedig az még csak nem is ugrókódos).
2. kérdés: gmail üzenetküldés SSL-lel. Találtam sok mintát, próbálkoztam is vele, de előre nem sikerült jutni. Talán a lib nem ismeri az SSL-t, amivel próbálkoztam. Valakinek van esetleg működő megoldása?
Köszi!
Bazs87
seatibiza
csendes tag
Sziasztok!
Tanacsot szeretnek kerni toletek, hogy az autoban mire tudnam hasznalni ezt a kutyut
Amikre gondoltam, ajtonyitaskor kijelzon megjelenjen melyik ajto van nyitva. Kulso, belso homerseklet kijelzes. Amire nemtudom, hogy jolenne-e, beallitok egy hofokot rajta es mikor eleri a belso homerseklet azt az erteket akkor lekapcsolja a futest. Amolyan digitalis klima szeru cucc vsak klima nelkuli autoba
[ Szerkesztve ]
Bazs87
tag
megfelelő tudással gyakorlatilag bármit. A kérdés, hogy te mit szeretnél pontosan.
Olvastam már diagnosztikát kiíró szoftverről is, ami szervízcsatin keresztül olvassa ki az aktuális motorparamétereket. Teljes autócomputerről, amin net is van, gps, hibakód értelmező, kiírja a gyorshajtásnál túllépéstől függően az esetleges csekk árát...
A dolog programozási-, elektronikai- és típusismeret kérdése, no meg hogy te mit szeretnél
seatibiza
csendes tag
Igazabol minel tobbet kiszeretnek hozni. Egy mk2 ibizam van. Szeretnek egy fullos fedelzeti computert kesziteni hozza
gyapo11
őstag
- Tempomat, csak a mechanikát kellene kitalálni, ami húzza a gázbowdent, de el is tudja engedni. Lehetne egy motorral meg csigával, de az nem tudja elengedni.
- Lopásgátló, amikor kiállok a kapu elé, és belülről zárom a kaput mindig ideges vagyok, hogy nem ugrik-e be valaki az autóba és elhajt. Leállítani nem akarom a hideg motort, jobb ha pöfög és kicsit melegszik. Erre gondoltam azt a régi ötletet, hogy valamilyen kártya, ha benne van minden OK, ha kihúzom alapjáraton megy tovább, de kuplungra vagy gázpedálra leáll. Ha kapuzárás közben meghallom hogy leállt a motor, akkor egy fa testápolóval már futok is ki beszélgetni. Itt az arduinonak csak annyi a szerepe, hogy nem egy kapcsolót kell billenteni, amit ki lehet figyelni, hanem pl. rfid kártya olvasó.
- Aztán tetszik még a késleltetett belsőtér világítás kikapcsolás, még a parkolófényt is bevonnám ebbe, a sötét garázsban elég az a kis fény a pakolás idejére.
- Fogyasztásra is jó lenne, de ahhoz kell egy átfolyásmérő, meg valahonnan a sebesség adatot levenni.
- Riasztó arduinos OTP kulccsal, és én infrában gondolkodok, nehezebb lehallgatni, mondjuk az OTP miatt fölösleges is, könnyebb megcsinálni, és amikor teszteltem teljesen jó érzékenysége és szelektivitása volt. Az egyedi riasztó, pontosabban indításgátló hatásosabb lehet mint a gyári. Csak zárni kell a motorteret, ennek a nyitását is vezérli az arduino. Egy 2.4 GHz-es modullal még át is jelezhet a távirányítóra, itt írta valaki nemrégen, hogy akár 1 km is mehet, de persze vezérelhet komolyabb átjelzőt is.
- Ablaktörlő fokozatmentes ütemvezérlés. Utálom, amikor nyekereg az alig nedves üvegen, a legritkább is túl sűrű, elég lenne sokszor a szemerkélő esőben fél percenként törölni. Egy potival szépen be lehetne állítani egy mozdulattal, kis kijelzőn kiírni a szünet hosszát másodpercben.
- Akkufesz kijelzés, esetleg árammérés. Ez utóbbihoz a söntöt úgy kell beszerelni, hogy az önindító árama ne menjen át rajta. Nekem Moszkvicsban volt ilyen analóg műszer, és szépen látszott az égő lámpák, fűtőmotor és alapjáraton pöfögés pl. lámpánál, hogy szívja kifelé a 10-20 ampereket. Az akku töltöttségére nem ad sok infót, de ha a töltéssel baj van, vagy egyéb extra fogyasztás bejön, az rögtön látszik.
- Sebességfigyelés, 50, 90, 130 átlépéskor jelzés, csak azoknak akik szeretnék betartani a sebességkorlátokat. Ezt a feladatot azért jobban ellátja a gps, de játéknak jó. Főleg ha a fogyasztás mérése miatt már amúgyis megvan a sebességjel.
[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
seatibiza
csendes tag
Ezek jól hangzanak Ez is jó lehet, nemtudom mennyire kivitelezhető
[link]
Azthiszem elkezdem bújni az internetet aztán jövök a kérdésekkel
Nagyon sok éve dolgozom hardverrel is szoftverrel is (és talán pont azért mert ismerem őket) soha nem bíznék egy gázbovdent egy arduinora meg egy csigás motorra.
A riasztó meg a tájékoztató dolgok hasznosak, de anyagi vagy személyi biztonságot kockáztató módosításokat sokszor még autógyártók sem vállalják be csak úgy.
Ez csak a véleményem, nem akarok senkit befolyásolni.
Mások számára a kondi fáradós, nekem farad-os...
zka67
őstag
Szia, a mikrokontrollerek baromi érzékenyek a külső zavarokra. Gondolok itt elsősorban az autó gyújtótrafójára. Ha nincs megfelelően leárnyékolva és a táp megszűrve, akkor felejtsd el, hogy megbízhatóan fog működni.
Az ablaktörlőre szerintem a ford fiestában kitalálták a tökéletes megoldást: úgy működik, hogy bekapcsolod a szakaszos törlést, majd ki is kapcsolod. Utána amikor úgy látod, hogy törölni kell, akkor ismét bekapcsolod és megjegyezte az időt, ezután ebben az ütemben fog törölni.
gyapo11
őstag
Simán rá merném bízni. Persze csak akkor, ha az elengedés biztosított. Baj abból lehet, ha rátapos az arduino a gázra és koppig fölnyomja, viszont ha hozzáérek a gáz- vagy fékpedálhoz, akkor elengedi, és a hagyományos üzemmód visszaáll. Tehát az elengedésre kell biztonsági szempontból odafigyelni.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
gyapo11
őstag
Érzékenyek, viszont könnyű szűrni a tápot. Viszonylag kicsi a fogyasztás, nem túl nagy kapacitású kondi is lesimítja a tüskéket. És persze nem a motortérbe kell tenni, és árnyékolni kell fémdobozzal.
Az ablaktörlő ütemre jó ötlet amit írtál, a változtatást nem tudom hogy megy, de ha erősödik vagy gyengül az eső, akkor is könnyen kell tudni változtatni az ütemen. Másrészt meg nincs visszajelzés, tehát ki kell várni a következő törlést, hogy érzékelhető legyen mire van most éppen állítva. De a gyakorlatban lehet hogy jól bevált.
[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
zka67
őstag
Szia, a változtatás is ugyan úgy megy, mint ahogy leírtam. A törlés után kikapcsolod a szakaszos törlést, és amikor úgy látod, hogy most már törölnie kell, akkor visszakapcsolod, és ebben az ütemben folytatja. A visszajelzés te magad vagy: kicsit esik az eső, bekapcsolod a szakaszos törlést, aztán ki is kapcsolod, majd a törlés után, amikor úgy látod, hogy most már törölhetne, akkor visszakapcsolod és úgy hagyod, és megjegyezte az ütemet. Ha gyorsítani vagy lassítani akarod, akkor is ugyan ez a teendő. Pl. gyorsítani akarod, akkor látod, hogy már törölhetne, akkor csak ki és be kell kapcsolnod, mert az utolsó törléstől eltelt időt méri. Ha lassítani akarod, akkor kikapcsolod, és ha elég eső esett, akkor kapcsolod vissza. Remélem érthető vagyok
Én nagyon szeretem, sokkal jobb, mint a 2 fokozatú vagy potival állítható törlők, mert nem időt kell beállítanod, hanem az eső mértékéhez tudod igazítani a sebességet.
Mai Hardverapró hirdetések
prémium kategóriában
- -51% HP EliteBook 840 G8: i7 1165G7,32GB RAM,1TB NMVe SSD,Iris Xe,IR kam.+ujj.olv.,vil.MAGYAR bill.
- 1.250.000 FT helyett 940.000 FT !! MacBook Pro 16" M3 Pro 12CPU / 18GPU / 18GB / 512 SSD
- RTX 2080TI ROG STRIX GAMER PC
- AKCIÓ !! M3 Chip - MacBook Pro 14" 8C CPU / 10C GPU / 8 GB/ 1 TB / Bontatlan / Magyar
- Tidradio td-h3 akkumulátor