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   768 / 839
(#) Massawa válasza Bakman hozzászólására (») Feb 6, 2023 /
 
Hát nem tudom, magyarázd el a kedves kollegának, hogyan lehet egy SPI-t bemérni egy szkoppal. És azt hagyd meg magadnak, hogy másokat minösitgess. Arra ott a tükör
(#) sdrlab válasza asch hozzászólására (») Feb 6, 2023 / 1
 
Alapvetően ezért kell digit szkóp, és lehetőleg nem analóg, hogy az egyszeri lefutású jeleket is kényelmesen tudd vizsgálni, ne kelljen ciklikus trükközésekkel valami látható állapotot elérni!
(#) majkimester válasza Massawa hozzászólására (») Feb 6, 2023 /
 
A digitális szkópok manapság fel vannak erre készülve, tartalmaznak protocol decodert, amivel nem csak a hullámformát nézheted meg, hanem az elküldött byte-okat dekodolva, illetve akár csomag szinten is egy event táblában.

Itt egy példa I2C-re: Bővebben: Link
Egy konkrét I2C címre küldött csomagra triggerel: adott cimre adott adat irása esetére.
A hozzászólás módosítva: Feb 6, 2023
(#) Massawa válasza majkimester hozzászólására (») Feb 6, 2023 /
 
S ki vonta ezt kétségbe?

Tudod ez olyasmi mint amikor agyuval lövöldözünk verébre. ( vagy aktuálisan egy müholdvezérelte méregdrága föld levegö lövedékkel lönnek szét egy állo hidat).

Amit az ilyen szkop tud, annak a nagyrészét tudja - és jobban, (mert nagy képernyön dolgozol, áttekinthetö grafikával és gyakran jobb beállitásokkal ) egy 10 euros logikai analizator is. És az ilyen áramkörök vizsgálata közben kimondottan zavaró lehet egy szkop idöbeli grafikája, mint a te képeden a felsö sárga képrészlet ( föleg ha még a szinkronizácio is bizonytalan), mert megtévesztheti a felhasználot a szörös kép, a sok tüske, aminek egy részét maga a szkop okozza stb.
Szoval igen vannak esetek amikor kell a szkop is, de egy mikropcesszoros szerkezetben az esetek 90%-ban a logikai analizátor többet ér meg némi agyzsir, ami ahhoz kell, hogy rájöjjünk miért nem megy valami ugy ahogy kellene. És ezt aligha lehet egy szkoppal kideriteni.
Itt is érvényes az alapszabály, minden feladathoz a megfelelö szerszám kell.
A hozzászólás módosítva: Feb 6, 2023
(#) sdrlab válasza Massawa hozzászólására (») Feb 6, 2023 /
 
Amikor nem megy egy kommunikáció, vagy bizonytalan..., ott analizátorral nem sokra mész! De szkópon jobb esetben látni fogod, hogy kritikusa szintre van csúszva valahol valami vezérlőjel, vagy adatfolyam, vagy bármi más, ami miatt hol jó, hol nem jó az egész....
Ha jó minden, nincs szükség szkópra, tény..., de akkor analizátor sem kell
(#) Massawa válasza sdrlab hozzászólására (») Feb 6, 2023 /
 
Ez nem igaz.
Még a legocskább analizator is kijelzi, ha a szintek nem stimmelnek ( legalább is nekem még olyanhoz nem volt szerencsém, ami ezt nem tudta.).
A logikai analizator legalább 8 jelet tud egyszerre mérni és ott azonnal láthatod, ha valamelyik jel huncutkodik ( de vajon mitöl változhat egy ilyen áramkörben a jelek szintje? És azzal mit lehet kezdeni? S ha ilyen gond van az inkább a rossz tervezés kérdése s nem az áramkör hibája).

S hány olyan áramkör van, ahol pontosan bizonyos mennyiségü impulzus után kell valaminek történnie. Azaz végig kell számolnod egy sereg impulzust ami azután kiválthat egy másik állapotot. De a programban elszámoltad magad, vagy csak egy éllel tévedtél stb. Mivel fognál neki egy ilyen hiba kideritéséhez?
A hozzászólás módosítva: Feb 6, 2023
(#) sdrlab válasza Massawa hozzászólására (») Feb 6, 2023 / 3
 
Hát ez az Analizátorral csak annyit látsz, hogy nem megy, vagy bizonytalan! De hogy miért, azt már nem tudod megmondani, mert az információ hiányzik a mérésből! Szkóppal látni fogod, hogy valamelyik jel fázisa nem megfelelő, hangolni kell rajta, késleltetni, stb... Ha elvonatkoztatsz az i2c kommunikáció csigatempójától, máris belefuthatsz ilyenbe..., de akár még ezen az interfészen sem lehetetlen helyzet egy ilyen! Bonyolultabb, gyorsabb interfészeknél pláne gyakori helyzet tud lenni....

Az az érzésem, te protokoll szintű hibakeresésre gondolsz csak, mert feltételezed, hogy fizikailag minden rendben van! Én viszont a fizikairól beszélek, ami ha nem jó, nyilván a protokoll szintjét is maga után vonja...
A hozzászólás módosítva: Feb 6, 2023
(#) Massawa válasza sdrlab hozzászólására (») Feb 6, 2023 /
 
Köszönöm a felvilágositást.

Ugye ezért volt a valamikori fejlesztö osztályon 20 mérnöknek 2 jo szkopja meg 40 logikai analizátora.
A hozzászólás módosítva: Feb 6, 2023
(#) Kovács Tibor hozzászólása Feb 6, 2023 /
 
Uno alaplappal szenvedek.Összeraktam próbapanelen egy loggert, ami a vízóra állását rögzíti SD kártyára, LCD kijelzővel, valós idejű órával. Szépen működik, beépítettem egy kibuherált Datcon műszerdobozba, huzalok beforrasztva, első feltöltés az alaplapra OK, de módosítottam a programon, újra akarom tölteni és hibát dob az alaplapra feltöltéskor. Az ellenőrzés ok , egy másik ugyanúgy összedrótozott panelre feltölti. Mi lehet a baj? Egyáltalán a hibaüzenetet részleteiből kideríthető a tényleges hiba?
  1. #include <SD.h>// 2023_01_20 nincs prell , méri 2külön óra impulzusait beállítható induló állásról (saját továbbfejlesztés) SD-re menti az adatokat de még fut állandóan
  2. #include <SPI.h>// 2023_01_28 Mentések közötti idő beállítható, de még nem tudja a valós idejű órához kötni a mentést.
  3. #include <DS3231.h>
  4. #include <LiquidCrystal.h>
  5. LiquidCrystal lcd(4, 5, 6, 7, 8, 9);
  6. File sdcard_file;
  7. DS3231  rtc(SDA, SCL);
  8. int CS_pin = 10; // Pin 10 on Arduino Uno
  9.  
  10. const float gazimp = 2;
  11. const float vizimp = 3;//buttomPin2    
  12. float gazimp_allapot = 0; //button1_State
  13. float vizimp_allapot = 0; //button2_State
  14. float count_gaz_indulo =10792.63;
  15. float count_viz_indulo =09485.01;
  16. float count_gaz =0;
  17. float count_viz =0;
  18. float prestate_gaz =0;
  19. float prestate_viz =0;
  20.  
  21. volatile int  Pulse_Count; //impulzusszám
  22. unsigned int  Liter_per_hour; //liter/óra
  23. unsigned long Current_Time, Loop_Time; //áramlási idő és várakozási idő
  24. unsigned long temp_millis; //SR-re mentési időintervallum ha eltelt idő alapján ment
  25. bool menthet; // SD-re mentés idejének meghatározása RTC idő alapján
  26.  
  27. void setup()
  28. {
  29.  
  30.  
  31.  
  32. Serial.begin(9600);
  33.  
  34. pinMode(gazimp, INPUT_PULLUP);
  35. pinMode(vizimp, INPUT_PULLUP);
  36.  
  37. pinMode(CS_pin, OUTPUT);
  38.  
  39.  
  40.  // Initialize the rtc object
  41.   rtc.begin();
  42.  
  43.   // The following lines can be uncommented to set the date and time
  44.   //rtc.setDOW(SATURDAY);     // Set Day-of-Week to (hét napja)
  45.  //rtc.setTime(17, 25, 0);     // Set the time to 24hr format(perc,óra,másodperc)
  46.   //rtc.setDate(05, 02, 2023);   // Set the date to nap,hónap,év)
  47.  
  48.  
  49.  
  50.  
  51.  
  52.   // SD Card Initialization
  53.   if (SD.begin())
  54.   {
  55.     Serial.println("SD card is ready to use.");
  56.   } else
  57.   {
  58.     Serial.println("SD card initialization failed");
  59.     return;
  60.   }
  61.     //Serial.print("Date  ");  
  62.   //Serial.print("      ");
  63.   //Serial.print("   Time  ");
  64.   //Serial.print("     ");
  65.   //Serial.print("Hour  ");  
  66.   //Serial.print("      ");
  67.   //Serial.print("   Minute  ");
  68.   //Serial.print("     ");
  69.   //Serial.print("   Gázóra állás   ");
  70.   //Serial.print("   Vízóra állás   ");
  71.   //Serial.println("     ");
  72.   sdcard_file = SD.open("data.txt", FILE_WRITE);
  73.   if (sdcard_file) {
  74.     sdcard_file.print("Date  ");  
  75.     sdcard_file.print("      ");
  76.     sdcard_file.print("   Time ");
  77.     sdcard_file.print("     ");
  78.     sdcard_file.print("   Gázóra állás   ");
  79.     sdcard_file.print("   Vízóra állás   ");
  80.    
  81.     sdcard_file.println("     ");
  82.     sdcard_file.close(); // close the file
  83.   }
  84.   // if the file didn't open, print an error:
  85.   else {
  86.     Serial.println("error opening test.txt");
  87.   }
  88.  
  89.                                
  90.    
  91. lcd.begin(16, 2);// beállítja az LCD oszlopok és sorok számát  
  92. lcd.setCursor(0,0);
  93. lcd.print("Gaz:");
  94. lcd.setCursor(5,0);
  95. lcd.print(count_gaz_indulo);
  96. lcd.setCursor(14,0);
  97. lcd.print("m3");
  98. lcd.setCursor(0,1);
  99. lcd.print("Viz:");
  100. lcd.setCursor(5,1);
  101. lcd.print(count_viz_indulo);
  102. lcd.setCursor(14,1);
  103. lcd.print("m3");
  104. }
  105.  
  106.  
  107. void loop()
  108.  
  109.  
  110.  
  111. {
  112.  
  113.  
  114.  
  115.  
  116.   //Serial.print(rtc.getDateStr());
  117.   //Serial.print(";");
  118.  // Serial.print(rtc.getTimeStr());
  119.   //.print(";");
  120.   //Serial.print("Gázóra");
  121.   //Serial.print(count_gaz_indulo+count_gaz*0.005);
  122.   //Serial.print(";");
  123.   //Serial.println(count_viz_indulo+count_viz*0.005);
  124.  
  125.   // read the state of the pushbutton value:
  126.   gazimp_allapot = digitalRead(gazimp);
  127.   vizimp_allapot = digitalRead(vizimp);
  128.   // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  129. //gáz számláló
  130.   if (gazimp_allapot == HIGH && prestate_gaz == 0)
  131.   {
  132.     count_gaz++;  
  133.   lcd.setCursor(5,0);
  134.     lcd.print(count_gaz_indulo+count_gaz*0.005);
  135.   lcd.print(" ");
  136.     prestate_gaz = 1;
  137.   }
  138.   if (gazimp_allapot == LOW && prestate_gaz == 1)
  139.   {
  140.     prestate_gaz = 0;
  141.   }
  142.  
  143.    if (gazimp_allapot == HIGH && prestate_gaz == 0)
  144.   {    count_gaz++;  
  145.   lcd.setCursor(5,0);
  146.     lcd.print(count_gaz*0.005);
  147.   lcd.print(" ");
  148.     prestate_gaz = 1;  }
  149.   if (gazimp_allapot == LOW && prestate_gaz == 1)
  150.   {    prestate_gaz = 0;  }
  151. //víz számláló
  152.   if (vizimp_allapot == HIGH && prestate_viz == 0)
  153.   {    count_viz++;  
  154.   lcd.setCursor(5,1);
  155.     lcd.print(count_viz_indulo+count_viz*0.005);
  156.   lcd.print(" ");
  157.     prestate_viz = 1;  }
  158.   if (vizimp_allapot == LOW && prestate_viz == 1)
  159.   {     prestate_viz = 0;  }
  160.  
  161.    if (vizimp_allapot == HIGH && prestate_viz == 0)
  162.   {    count_viz++;  
  163.   lcd.setCursor(5,0);
  164.     lcd.print(count_viz*0.005);
  165.   lcd.print(" ");
  166.     prestate_viz = 1;  }
  167.   if (vizimp_allapot == LOW && prestate_viz == 1)
  168.   {     prestate_viz = 0;  }
  169.   //******************SD logger mentési időbeállítási paraméterek*****************
  170. if(millis()>temp_millis){temp_millis = millis()+5000; meghiv_mentesre();} // a megadott milisekundum szerinti időnként fut le (SD-re ment)
  171. }
  172. void meghiv_mentesre(){
  173.  
  174.  // if(hour==0 && minute==0 && menthet){menthet=false; mentes();}
  175.    //     if(minute==1){menthet=true;}
  176.  
  177. //void mentes(){
  178. //}
  179.  
  180. Serial.print(rtc.getDateStr());
  181.   Serial.print(";");
  182.   Serial.print(rtc.getTimeStr());
  183.   Serial.print(";");
  184. //  Serial.print(rtc.getMinute());
  185.   Serial.print(";");
  186.   //Serial.print("Gázóra");
  187.   Serial.print(count_gaz_indulo+count_gaz*0.005);
  188.   Serial.print(";");
  189.   Serial.println(count_viz_indulo+count_viz*0.005);
  190.  
  191.  
  192.  
  193.  
  194. sdcard_file = SD.open("data.txt", FILE_WRITE);
  195.   if (sdcard_file) {    
  196.     sdcard_file.print(rtc.getDateStr());
  197.     sdcard_file.print("     ");  
  198.     sdcard_file.print(rtc.getTimeStr());
  199.     sdcard_file.print("     ");
  200.     sdcard_file.print(count_gaz_indulo+count_gaz*0.005);
  201.     sdcard_file.print("     ");
  202.     sdcard_file.print(count_viz_indulo+count_viz*0.005);
  203.     sdcard_file.print("     ");
  204.    
  205.     sdcard_file.println("     ");
  206.     sdcard_file.close(); // close the file
  207.   }
  208.   // if the file didn't open, print an error:
  209.   else {
  210.     Serial.println("error opening test.txt");
  211.   }
  212.   //delay(500);
  213. }
(#) Jonni válasza Kovács Tibor hozzászólására (») Feb 6, 2023 /
 
Ellenőrizni kell hogy az alaplap tipusa pontosan van-e beállitva. És ha tudsz készits printscreen-t a hibáról, vagy másold be a hibaüzenetet.
(#) sdrlab válasza Kovács Tibor hozzászólására (») Feb 6, 2023 /
 
Próbáld meg így:
Lenyomod a reset gombot, és ott is tartod...
Elindítod a feltöltést, és kisvártatva elengeded a reset gombot...
(#) Kovács Tibor válasza Jonni hozzászólására (») Feb 6, 2023 /
 
Uno az alaplap, az biztosan jó.
Mellékelem a hibaüzenetet...
(#) Kovács Tibor válasza sdrlab hozzászólására (») Feb 6, 2023 /
 
Próbáltam...ugyanaz: probléma az alaplapra feltöltéskor.
(#) Massawa válasza Kovács Tibor hozzászólására (») Feb 6, 2023 / 1
 
Látod az UNO-t a gépen ( ID szám port stb)?
Sajnos nem tudom miért, nálam is elöfordul, hogy a PC-n elveszik a Arduino lap. Gyakran kell ujra inditani a programot, kikeresni a megfelelö COM portot, hogy ujra felismerje az Arduinot. Néha 1/4 ora is elmegy mire ujra összeáll a rendszer.
Ha valaki tudja mi lehet a hiba, segithetne.
(#) Kovács Tibor válasza Massawa hozzászólására (») Feb 6, 2023 /
 
Köszi!
Másik porton volt, erre nem gondoltam...feltöltötte rendben!
(#) Kovács Tibor hozzászólása Feb 6, 2023 /
 
Másik ezzel kapcsolatos:
5V DC -t felhasználnám a régi Datcon tápjából, ezt az USB +/- tápjára kössem vagy az Arduino táp bemenetére(de oda többet kér mint 5V úgyemlékszem)
(#) asch válasza Massawa hozzászólására (») Feb 6, 2023 /
 
Rá kellene nézni szkóppal... Bocs! De viccen kívül, a problémáknak mindig van valami konkrét oka, de ezt nagyon nehéz megsejteni távolról.

Kovács Tibor: az Arduino a fényképen eredetinek látszik, ez már jó. Az Arduino IDE-t rá lehet venni, hogy a szöveges logot is mutassa, arra volna szükség a közelebbi analízishez.

A tippem az volna, hogy az áramkör valamilyen módon visszahat a programozás folyamatára. A serial lábakra ugye nincs rákötve semmi? Az UNO programozása így működik:

* A lapon van egy USB-Serial átalakító csip.
* Az USB serial DTR (data ready) lába egy Reset áramkörre van kötve és egy lefelé jelváltás resetet okoz az ATMega328p-n
* Reset után az Atmega328p-n a bootloader indul el, és egy rövid ideig a serialon várja a felprogramozás megkezdését jelentő parancsot.
* Ha programozó módba lépett, akkor a serialon keresztül feltölti a programot a PC szegmensenként, utána visszaellenőrzi, végül újraindítja a csipet.

Általánosságban az okozhat problémát, ha a serial RX TX lábakra rá van valami más is kötve ami bezavar, vagy ha a reset van elrontva. A többi láb elvileg lényegtelen, a reset a többitől függetlenül érvényre jut, és nem tudják zavarni a serial kommunikációt sem. Esetleg még azt el tudom képzelni, hogy valahogy a csipet SPI programozó módba lehet hozni reset után véletlenül, ha pont olyan jelforma jön az SPI programozó lábakon. De ezt nem tartom valószínűnek.

Amire még vigyázni kell az a földhurok: ha kábelesen van megtáplálva az áramkör, és rádugunk egy asztali PC-t, akkor talán előfordulhat ilyesmi. Én úgy szoktam csinálni, hogy töltőről lehúzott laptopról programozok fel mindent, amit úgy kell programozni, hogy közben például dugasztápos áram alatt van. Nem sikerült még teljesen megfejtenem, hogy pontosan hogyan működik ez a probléma, de úgy tapasztaltam, hogy ez lehet hibaok.

Szerk.: látom mire beírtam megoldódott, de most már itthagyom.
A hozzászólás módosítva: Feb 6, 2023
(#) asch válasza Kovács Tibor hozzászólására (») Feb 6, 2023 /
 
Az Arduino tetején lévő csatlakozósoron van olyan feliratú, hogy:
RAW - ez a dugasztáp + jával van összekötve, ez egy elég sok voltot elvesztegető regulátorra van kötve, tehát erre több mint 5V-ot kell kötni. Specifikáció szerint ha jól emlékszem 7-et, valójában kevesebbel is elindul, de gondolom a specifikáció szerinti áramokat nem tudja leadni.
+5V - ez a processzor tápja direktben. Regulált 5V-ot ide is be lehet kötni. Ha jól emlékszem az USB 5V is direktben hozzá van ehhez kötve.
És persze sok változata van a boardoknak, úgyhogy akár el is térhet ettől.
(#) Massawa válasza asch hozzászólására (») Feb 6, 2023 /
 
Itt nem ilyen gondrol van szo, hanem vagy a Windows vagy a PC vagy az IDE nem tartja meg a beállitást. Néha elég kihuzni az arduino USB kábelét és már valami átprogramozza a portokat. Sokszor megjelenik olyan, hogy COM11, COM14, holott amikor programoztam utoljára COM4volt.
Érdekes modon ha ujra inditom az IDEt akkor rendszerint eltünnek a magas számu COM portok. Néha viszont megtalálja a COM11-en is az Arduinot.
Eddig nem sikerült rájönni mi okozhatja ezt a jelenséget. Ehhez nem kell semmilyen müszer, mert nincs mit mérni, sokkal inkább ismerni kellene a PCk meg a programok belvilágát.
(#) Massawa válasza Kovács Tibor hozzászólására (») Feb 6, 2023 /
 
Az Arduino DC bemenete kb 12 Voltiig jo. Ugyanez a bement elérhetö a Vin tüskén is. A lapon van egy 5Voltos stabilizator.

ARDUINO PINOUT

Az 5 V-s pinek a stabiliizator utáni tápok, egyenesen a processzor lábaira mennek illet az USB + 5 Voltos bemenete is ide megy.
A 3V3 pin meg a belsö 3,3V-s táp kimenete.
(#) KoblogPerGyok válasza Kovács Tibor hozzászólására (») Feb 7, 2023 / 1
 
Szerintem cserélni kellene USB kábelt is. Lehet egy pillanatra nem ad ki tápot, az Arduino megáll, a Windows meg úgy látja, hogy le lett választva az eszköz. Utána megint kap tápot, és azt már egy másik COM-ra teszi.

De ezt okozhatja a PC kopott USB portja is. Hátha ilyesmi a gond.
(#) Jonni hozzászólása Feb 7, 2023 /
 
Hi

Ismeri valaki EZT az IC-t? Egy nano lábai számát lehetne ezzel az IC-vel kibőviteni de nem ismerem. Azt látom , hogy I2C-vel kommunikál. Van ehhez arduino könyvtár , vagy elég csak a "Wire.h "? Önmagába használható, vagy kell hozzá valamilyen kiegészitő alkatrész? Akár PWM képes lábakat is lehet vele nyerni? Hogy lehet a lábakra hivatkozni?
(#) sargarigo válasza Jonni hozzászólására (») Feb 7, 2023 / 1
 
Pont ezt nem ismerem, de van egy hasonló, a PCF8574. Például : Link Nem kell külön alkatrész, csak tápot kell adni. Van lib is hozzá, de magában is használható. Rendes IO lábként lehet kezelni, megadhatod hogy ki vagy bemenet legyen, és tud megszakítást kérni ha változás van a lábain. Alapvetően gombok kezelésére, ledek relék kapcsolgatására lehet használni. Ez az IC is hasonlónak tűnik, csak nagyobb.
A PWM-et nem tudom hogy gondolod, de az I2C már eleve egy sebességkorlátozó tényező, szóval azt inkább natív hardverrel kezeld, és delegáld ki a nem kritikus feladatokat a portbővítőre!
(#) Massawa válasza Jonni hozzászólására (») Feb 7, 2023 /
 
Én a PCF8575-t használom és már közel 100 portot használok ( Be - és kimenetet).
Itt van a fejlesztö verzio a kész már be van épitve. A kapcsolok állapotát jelzi ki egy nagy LED-s táblán.
S valoban csak a wire.h kell hozzá.
A hozzászólás módosítva: Feb 7, 2023
(#) Jonni válasza sargarigo hozzászólására (») Feb 7, 2023 /
 
Mondjuk a PWM nem is lenne fontos...
(#) Jonni válasza Massawa hozzászólására (») Feb 7, 2023 /
 
100 port az jó sok. Nekem ha 10-15-el több lenne mint a nanon már az is jó.
(#) Massawa válasza Jonni hozzászólására (») Feb 7, 2023 /
 
A kép jobboldalán láthatod, hogy egy PCF-el 16 nyomogombot kezelek ( 8 piros, meg 8 fekete) és ha jol emlékszem 8 ilyen modult lehet az arduinora akasztani ( ennyi cim van ).
(#) Kera_Will válasza Massawa hozzászólására (») Feb 7, 2023 /
 
Ha csak kontaktus bemenet kell akkor 512db tudok kezelni 2 De/Multiplexer (4-16) áramkörrel és igaz 10 db IO porttal . és sok diódával ... hacsak 256 db kontaktus kell akkor nem kell sok dióda és 9 port elég. Igaz ezek csak inputok és nem definiálhatóak tetszőlegesre.
A hozzászólás módosítva: Feb 7, 2023
(#) asch válasza Jonni hozzászólására (») Feb 7, 2023 /
 
Ha nem akarsz plusz csipet, de van egy rakás diódád, akkor Charlieplexing is megoldás lehet. N pin-nel lehet N*(N-1) ki vagy bemenetet csinálni.
Egy másik megoldás a shift regiszter: ezeket tetszőlegesen hosszan lehet sorolni mind bemenetre, mind kimenetre. Van belőle olyan is, ami nagyobb áramot is le tud adni. A mikrovezérlőn pedig a shiftelést könnyen meg lehet írni bit állítgatással is, vagy az SPI hardver tudja kezelni mind a kimenetet, mind a bemenetet. Chip Select, clock, data in, data out, beolvasás engedélyezés, kimenet engedélyezés, latch: hét láb kell a teljes értékű működtetéshez.
A hozzászólás módosítva: Feb 7, 2023
(#) Massawa válasza Kera_Will hozzászólására (») Feb 7, 2023 /
 
Azokat a diodamátrixokat már régen használom. A képen láthato fejlesztö HW csak arra kellett, hogy a diodamátrixok kimenetét ( optocsatival leválasztva) megfelelöen kezelje. A fekete gombok ( bemenetek) kiválasztják a megfelelö LEDet ( LEDeket) a piros bemenetek meg azok státuszát világit/villog) és 4 vezetékel eljuttatják a kb 3 méterre levö panelhez.
Következő: »»   768 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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