Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   795 / 845
(#) SzilCsong hozzászólása Máj 10, 2023 /
 
SPI vonalon két eszköz (SD kártya és MFRC522) van-e annak jelentősége, hogy a MFRc 3,3V-on dolgozik, az SD kártya pedig 5V (abba benne van a 3,3V-os stab ic és a LVC125A szint illesztő IC)
Tehát meg tudja kavarni az UNO-t ha eltésrő feszültségű jeleket kap, úgy hogy egyébként külön külön jól működik?
(#) toth1996 hozzászólása Máj 10, 2023 /
 
Sziasztok.
Ardunio Nanom van.

D2 és D10 lábak változására szeretném hogy felkeljen az ardunio.
D10 lábbal már nem működőt(Kódba nincs benne tudom).

Kód:

  1. #include <avr/sleep.h>
  2. #include <avr/power.h>
  3.  
  4. int seconds=0;
  5. int pin2 = 2;
  6.  
  7. void setup() {
  8.   Serial.begin(9600);
  9.  
  10.   /* Setup the pin direction. */
  11.   pinMode(pin2, INPUT);
  12.  
  13.   Serial.println("Initialisation complete.");
  14.  
  15. }
  16.  
  17. void loop() {
  18.   delay(1000);
  19.   seconds++;
  20.  
  21.   Serial.print("Awake for ");
  22.   Serial.print(seconds, DEC);
  23.   Serial.println(" second");
  24.  
  25.   if(seconds == 3)
  26.   {
  27.     Serial.println("Entering sleep");
  28.     delay(200);
  29.     seconds = 0;
  30.     enter);
  31.   }
  32. }
  33. void entervoid)
  34. {
  35.   /* Setup pin2 as an interrupt  attach hler. */
  36.   attachInterrupt(digitalPinToInterrupt(10), pin2Interrupt, HIGH);
  37.   delay(100);
  38.  
  39.   set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  40.   sleep_enable();
  41.   sleep_mode();
  42.   /* The program will continue from here. */
  43.  
  44.   /* First thing to do is disable sleep. */
  45.   sleep_disable();
  46. }
  47.  
  48. void pin2Interrupt(void)
  49. {
  50.   /* This will bring us back from sleep. */
  51.  
  52.   /* We detach the interrupt to stop it from
  53.    * continuously firing while the interrupt pin
  54.    * is low.
  55.    */
  56.   detachInterrupt(0);
  57. }


Azt olvastam hogy D2-D3 lábra tudom csak beállítani az interuppot ha igen ezt valahogy lehet módosítani?

Segítségeteket Előre köszönöm.
(#) atiotezer válasza toth1996 hozzászólására (») Máj 10, 2023 /
 
(#) vargham válasza atiotezer hozzászólására (») Máj 10, 2023 /
 
A többi lábra pin change interruptot lehet tenni. Arra is tud ébredni.
(#) mateatek válasza toth1996 hozzászólására (») Máj 10, 2023 /
 
Ha nem elég a 2, 3 lábak megszakítása, akkor a többi digitális lábra csak PCInterruptot tudsz használni. Ennél a megszakításnál nincsen olyan sok variációd, mint a 2 és 3 lábra. A PCInterrupt a jelszint változására hoz létre megszakítást, ráadásul portbankonként ugyanazt. Onnantól neked kell lekezelni, hogy milyen irányú volt a megszakítást kiváltó változás, illetve, ha egy portbankon belül több lábat is használsz megszakításra, akkor azt is vizsgálnod kell, hogy mely lábon következett be.
(#) robis01 válasza toth1996 hozzászólására (») Máj 10, 2023 /
 
Ez nem az Arduino miatt van fixálva, hanem a panelon lévő AVR miatt. Ha pl megnézed az ATMEGA328 adatlapját látható hogy a beépített perifériák (INTERRUPT, ADC, I2C, SPI, stb.) melyik lábakon vannak kivezetve. Ezen nem lehet változtatni.
De létezik megoldás a problémára:
1. vargham, mateatek javaslata
2. atiotezer linkje alapján választasz másik panelt, amin van elég interrupt
3. interrupt képes portbővítőt használsz, és az ébreszti az ARDUINO-t
(#) robis01 válasza andyka hozzászólására (») Máj 11, 2023 /
 
Ha olyan a belseje mint az enyémnek akkor elég nehéz lesz átalakítani. De ha megoldottad hogy együtt fusson a potenciométer a csappal, (erről tehetnél fel képet, leírást mert érdekel hogyan oldottad meg) akkor mennie kellene a servo vezérlésnek, feltéve hogy a motor áramfelvétele, feszültsége benne van az EZ1 megengedett paramétereiben. Erről nincs infom, lemérni az enyémet meg nincs értelme mert az 230V-os.
Ha jól emlékszem ezen csapok áramkörei CR03-CR04-CR05 stb. néven futnak, és volt köztük olyan is a MCU-val össze is köthető.

De még mindig azt mondom hogy egy hidrológiailag váltásra tervezett, egy bemenetű és két kimenetű
csap nem lesz jó megoldás keverésre.
(#) robis01 válasza SzilCsong hozzászólására (») Máj 11, 2023 /
 
Egy kis olvasmány ttl szintek
A gond nem az arduinonál lesz, hanem az MFRC322-nél ami ha jól tudom nem 5v toleráns. Rosszabb esetben átengedi magán az 5V-ot ami rákerül a 3,3v táp vonalra.
(#) icserny válasza SzilCsong hozzászólására (») Máj 11, 2023 /
 
Beolvasáskor az SPI buszon egyszerre csak egy eszköz kaphat kiválasztó jelet, tehát eleve külön-külön lesznek kezelve az eszközök.
(#) toth1996 válasza robis01 hozzászólására (») Máj 11, 2023 /
 
Nagyon szépen köszönök mindent.
Mateatek nek a megoldása lesz szerintem a jó döntés.
Megküzdők vele új ez nekem igy írok ha elakadtam
Köszi ismét
(#) mateatek válasza toth1996 hozzászólására (») Máj 11, 2023 /
 
A 10-es láb az a PB2. A PB2 az a PCINT2. Tehát a PCICR regiszternél ehhez a portbankhoz a PCIE0 bitet kell magasra tenni. Majd a PCMSK0 regiszterben a PCINT2-es bitet. Adatlapban megtalálod.
Ez a következő módon is megteheted a setupban:

PCICR = 0b00000001;
PCMSK0 = 0b00000100;

Majd, beírod a programba a megszakítást:

ISR(PCINT0_vect) {
megszakitaskor_lefuto_program;
}

Igazából ennyi.
(#) toth1996 hozzászólása Máj 11, 2023 / 1
 
Sziasztok.

Sikerült.
Nem tesztelgettem túl.

De megosztanám veletek a kódot hátha valakinek segítegyszer.

  1. #include <avr/sleep.h>
  2. #include <avr/power.h>
  3.  
  4. int seconds=0;
  5. int pin10 = 10,pin2=2;
  6.  
  7. void setup() {
  8.  
  9.   PCICR |= 0b00000111; // Enables Ports B  C ,D Pin Change Interrupts
  10.   PCMSK0 |= 0b00000100; // PCINT0 (D10)
  11.   PCMSK2 |= 0b00000100; // PCINT2 (D2)
  12.  
  13.   Serial.begin(9600);
  14.   pinMode(pin10, INPUT);
  15.   pinMode(pin2, INPUT);
  16.   Serial.println("Initialisation complete.");
  17.  
  18. }
  19.  
  20. void loop() {
  21.   delay(1000);
  22.   seconds++;
  23.  
  24.   Serial.print("Awake for ");
  25.   Serial.print(seconds, DEC);
  26.   Serial.println(" second");
  27.  
  28.   if(seconds == 3)
  29.   {
  30.     Serial.println("Entering sleep");
  31.     delay(200);
  32.     enter);
  33.     seconds=0;
  34.   }
  35. }
  36. void entervoid)
  37. {
  38.   delay(100);
  39.  
  40.   set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  41.   sleep_enable();
  42.   sleep_mode();
  43. }
  44.  
  45. ISR(PCINT0_vect)
  46. {
  47.   if(digitalRead(10) == HIGH){
  48.     sleep_disable();
  49.    }
  50. }
  51.  
  52. ISR(PCINT2_vect)
  53. {
  54.   if(digitalRead(2) == LOW){
  55.     sleep_disable();
  56.    }
  57. }
(#) Antennaman válasza mnyugger hozzászólására (») Máj 11, 2023 / 1
 
Hello nyugger , pipi és a többiek!
Nagy köszönet a segítségért a kis rádióval kapcsolatban.
Tegnap sikerült az összelegózás is és nagy örömömre beindult a technika. Ugyan egy bontott enkóder megviccelt mert nem léptetett de egy másikkal szepen teszi a dolgát.
Hálásan köszi
A hozzászólás módosítva: Máj 11, 2023
(#) kapu48 válasza toth1996 hozzászólására (») Máj 11, 2023 /
 
A 32. sorban mi akar lenni ez:
  1. enter);

Zárójeleket párosával kel használni!
De úgy sem működek!
  1. enter();
? Nincsen ilyen rutin.


A 36. sorban szintén zárójel hiányzik!:
  1. void entervoid)
?
A hozzászólás módosítva: Máj 11, 2023
(#) benjami válasza kapu48 hozzászólására (») Máj 11, 2023 /
 
Szerintem csak kicsit bizonytalanul működik a billentyűzetén a zárójel kezdet gomb. A 36. sorból is hiányzik (ahogy írtad is), gondolom ez akart lenni eredetileg:
  1. void enter(void)

Az már egy másik kérdés, hogy miért pont az ezen okokból le sem fordítható verziót tette be ide.
A hozzászólás módosítva: Máj 11, 2023
(#) Kera_Will válasza Antennaman hozzászólására (») Máj 11, 2023 / 1
 
73 & 55! MNI DX DR OM !
(#) toth1996 válasza kapu48 hozzászólására (») Máj 11, 2023 /
 
Hogy őszinte legyek passz hogy tudtam így "Elrontani" de már nem tudom módosítani.

void entervoid) --> void enter(void)
enter); -->>> enter();

Kódómba pedig jól van.

Sorry
(#) MATA hozzászólása Máj 12, 2023 /
 
Üdv mesterek!
Találtam egy töltő kapcsolást ezen az oldalon:
http://lygte-info.dk/project/Charger%20UK.html
Megépítettük gond volt először a kód lefordításával de Ragathol segítségével megoldódott a probléma amit ezúton is köszönök!
Viszont most adódott egy másik kipróbálva a PC programmal ami Java nyelven íródott akövetkező a jelenség: Az áramot a feszültséget valós időben mutatja a progi viszont az Idővel nagy baj van azt úgy mutatja hogy kb 3-asával de van hogy 4-et is ugrik egyszerre és így ugye a kapacitást sem jól számolja. Egy óra az 2.42 órára jön ki nála. A progit mellékelem alul. Ha találkozott már valaki ilyen jelenséggel kérem ossza meg velem a tapasztalatait. Köszönöm előre is!

Charger.ino
    
(#) sargarigo válasza MATA hozzászólására (») Máj 12, 2023 / 1
 
Csak a kijelzéssel van baj? Mert a kódot átfutva ő magának intéz mindent, itt nem látom a baj okát (ettől még persze lehet).
Inkább azt gondolnám, hogy a java program csúszik meg valamiért, azt nem mutattad meg egyáltalán megvan a forrása?
(#) MATA válasza sargarigo hozzászólására (») Máj 12, 2023 /
 
Köszönöm a gyors választ a Java program forrás kódját azt sajnos nem lehet elérni csak maga a futtatható program van meg. Csak az idő kijelzéssel van a baj meg természetesen igy a kapacitás számolással de azt jól számolja a maga mért időhöz képest. Csak ugye ez sokkal több a valóságnál.
(#) MATA válasza sargarigo hozzászólására (») Máj 12, 2023 /
 
A Java progi itt van csak a forráskódja nincs sajnos!
(#) SzilCsong válasza robis01 hozzászólására (») Máj 12, 2023 /
 
Összeraktam egy kártyaolvasót, ami szintillesztő IC nélkül csatkaozik az arduinohoz, ugyanúgy, ahogy a videoba is van, mégse működik.
(#) SzilCsong válasza icserny hozzászólására (») Máj 12, 2023 /
 
Oké, értem, de ha nem látok róla egy működőképes példát, akkor nem tudom megcsinálni
(#) Lamprologus válasza MATA hozzászólására (») Máj 12, 2023 / 1
 
A PrecisionTime.h és PrecisionTime.ccp-ben kéne körülnézni ... lehet ott lesz valami!
(#) robis01 válasza SzilCsong hozzászólására (») Máj 12, 2023 /
 
Biztos hogy jól kötötted össze? A videóhoz tartozó Click here to download code and schematic: https://drive.google.com/open?id=1iAJ...-nél nincs összekötve az 5V és 3,3V tápfeszültséget kapó eszközök bemenete.
(#) SzilCsong válasza robis01 hozzászólására (») Máj 12, 2023 /
 
itt az 5V-ot csak az RTC kap, 3,3V-ot az SD és az Rfid. Vagy milyen bemenetre gondoltál?
Ugyanígy kötöttem be.
(#) Antennaman válasza Kera_Will hozzászólására (») Máj 12, 2023 /
 
Szia Vili,
Engem is utolért ez a fejlett technika. Most az első siker után már SSB vételt biztosító Arduinó vezérelt radiót szeretnék építeni gyakorlásként. Te próbáltad már ezt az SI4735 -öt?
Amúgy köszi a biztatást! 73!
(#) andyka hozzászólása Máj 12, 2023 /
 
Köszönöm a moderátornak hogy megerössítette hogy „megerösítette” hogy „fényévekre vagyok a valoságtól”.
A hozzászólás módosítva: Máj 12, 2023
(#) Antennaman válasza KoblogPerGyok hozzászólására (») Máj 12, 2023 /
 
Üdv Koblogpergyök,
Na ezt jó tudnom! Ezeket a .h és .cpp fàjlokat amúgy így simán a Libraies mappába kell bemásolnom? Akkor ezután nem másolok vagy telepítek be minden library-t ész nélkül, és ki törölgetem amit feleslegesnek vélek. Hetek óta küzdök ilyen hibaüzenetekkel vagyis mióta bele vágtam szinte nulláról. Látom mindenek előtt el kell sajátítanom az alapokat! Köszönöm a tanácsokat.
(#) robis01 válasza SzilCsong hozzászólására (») Máj 13, 2023 /
 
Ez alapján úgy értelmezem, hogy a 3,3V (MFRC) és az 5V (SD CARD) össze van kötve az ARDUINO-nál.

ábra.jpg
    
Következő: »»   795 / 845
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem