Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   523 / 1210
(#) don_peter hozzászólása Máj 15, 2014 /
 
Uraim, aki már készített K típusú szenzorhoz korrekciós programot az segítene nekem kicsit?
Elmélet is elég lenne, hogy miként és hogyan lehetne megvalósítani egy precíz korrekciót a szenzorhoz.
Most elég nagy szórással mér a cucc és ezt szeretném pontosítani.
Előre is köszi a segítséget.
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Máj 15, 2014 /
 
Erre gondolsz?
K-type sensor data
Mert ez milivoltba adja meg és azt hiszem én digitálisan kapom a jeleket nem analógba.
Vagy nem jól mondom?

(MAX6675-el fogadom a jeleket ami 12bites adatot ad át nekem)
A hozzászólás módosítva: Máj 15, 2014
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Máj 15, 2014 /
 
Akkor a K típusú szenzor nem is a legjobb megoldás a pontos hőmérséklet mérésre?
Forrasztópákákba nem ilyen vagy illyes fajta hőelem van?
(K, J...stb)

Arra gondoltam amit el is kezdtem, hogy 3 különböző műszerrel bemérem a hőelem egyes (lépésenként 50fokkal emelve) mért hőmérsékleteket és azokat átlagolom és abból készítek egy korrekciós táblázatot amely szabályozza majd a kijelzett hőmértékeket.
100-500fok közt fogok mérni szóval nem a legpontosabb tartományába..

(Amúgy Omega K típusú szenzort használok ami azért nem olcsó.. )
A hozzászólás módosítva: Máj 15, 2014
(#) linux_PIC hozzászólása Máj 15, 2014 /
 
Jó napot kívánok! Kapcsolókkal lenne bajom.

Van egy PIC18F4550-es IC-m.
A kapcsolás a következő:
- 5 láb digitális kimenet, ezekre mindre egyesével sorosan rá van rakva 1K ellenállás + 1 dióda (védelmi szempontból ajánlották) + egy nyomó kapcsoló egyik kivezetése.
- az 5 kapcsoló másik kivezetése össze van kötve és a PIC INT0 megszakítás lábára van kötve, illetve egy 10K ellenállással földre van kötve, szóval alaphelyzetben föld, és ha nyomok akkor átbillen tápra a csomópont.

Program:
- 5 lábra kirak 5V tápfeszt.
- ha bármeik gombot (egyszerre többet is) megnyomom, akkor a csomópont ugye tápra megy, megszakítás keletkezik, megszaktás rutin végig megy egysével a kimeneteken ( 1 tápfeszen, többi addig földön ) és megnézi meik gombok vannak lenyomva (ha nyomva van akkor a megszakítás láb magas szintű).

Probléma:
- 5V a táp. Alaphelyzetben bármelyik 1K ellenállás után a földhöz képes 4.97V van, ez rendben is van. Viszont a dióda után 9V körüli értéket mérek, ami számomra lehetetlen, a kapcsoló nincs zárva. Illetve ha sokáig megy az áramkör akkor a kapcsolók közös ponta is felmegy tápra, azaz valamelyik kapcsoló meghal és elkezd vezetni?! Az egyik kapcsolómra a digitális multiméterem rövidzárat jelez (30-40 ohm). Kicseréltem a kapcsolót és ment az áramkör, de nemsokára egy másik kapcsoló halt be.

Amire én gondoltam: Logika megcserélése. Közös pontot tápra húzom fel 10K-val, és alacsony szinteket rakok az 5 PIC kimenetre, és az Interrupt élfigyelést lefutóra álltom.

Bármi ötlet, hogy ezt miért csinálja?
(#) mrobi válasza linux_PIC hozzászólására (») Máj 15, 2014 /
 
Üdv.

Biztos jó a műszered?
(#) linux_PIC válasza mrobi hozzászólására (») Máj 15, 2014 /
 
A műszer hibátlan. Más panel feszültségeit, ellenállás értékekeit hibátlanul megméri.

Holnap megnézem majd fordított logikával mit produkál :s

SPI buszra felfűzött Shift Regiszteres lábnövelésből maradt vissza ez a logika, hogy minden kimenet magas szintű alapból... csak aztán a Shift Regiszter kikerült a kapcsolásból.
Bővebben: Youtube - How to Control a Ton of Inputs using Shift Registers!
A hozzászólás módosítva: Máj 15, 2014
(#) KaiserA hozzászólása Máj 16, 2014 /
 
Sziasztok!
Azt szeretném kérdezni, hogy van egy PIC32MX440F512H :PIC
ÉS EGY LCD kijelzőm. a következő képen köttöttem be az LCD-t a PIC-hez
LCD:LCD
Az a kérdésem, hogy hogy tudom életre bírni a kijelzőt. Mit kell beállítani? lcd.c fájlt kell includolni.? a lábakkal kell valamit állítani?
(#) mrobi válasza linux_PIC hozzászólására (») Máj 16, 2014 /
 
Nem hinném, hogy a logikával lenne a baj. Az, hogy a dióda után 9V-ot mérsz, az lehetséges. A műszer nagy belső ellenállása miatt, nem folyik áram a diódán, ezét bizonytalan potenciálon van. Én a gombokra gyanakodnék. Mitől is mehet tönkre egy gomb:
- nagy feszültség (itt 5V van, tehát nem valószínű)
- nagy áram (akkor már a pic lábai is halottak lennének)
- mechanikai elhasználódás (újak a gombok? vagy esetleg bontottak?)
(#) linux_PIC válasza mrobi hozzászólására (») Máj 16, 2014 /
 
A gombok újak.

KaiserA:
HD44780 LCD könyvtárat keress.
például: LCD c library

HD44780.h fájlból egy kis részlet:
Itt adod meg a PIC - LCD lábkiosztását.
  1. #define DATA_MASK 0b00001111
  2. #define LCD_DATA        LATD
  3. #define LCD_DATA_DDR    TRISD
  4.  
  5. #define LCD_RS          LATCbits.LATC0
  6. #define LCD_RS_DDR      TRISCbits.TRISC0
  7.  
  8. #define LCD_RW          LATCbits.LATC1
  9. #define LCD_RW_DDR      TRISCbits.TRISC1
  10.  
  11. #define LCD_EN          LATCbits.LATC2
  12. #define LCD_EN_DDR      TRISCbits.TRISC2


3 vezérlőjel megvan. Viszont a képen csak 7 adatlábat látok bekötve. 2 féle üzemmódod lehet. 4 adat lábas és 8 adat lábas. 7-esről még nem hallottam.

Linkelt LCD adatlapjából: DB0 - DB7 Data bus line
A képen nincs D0 seholse :O

Most nézem hogy amit én találtam az speciel 4 adat lábas, szóval ha Te 8 lábról szeretnél adatot küldeni akkor keress mást :/
A hozzászólás módosítva: Máj 16, 2014
(#) icserny válasza linux_PIC hozzászólására (») Máj 16, 2014 /
 
Idézet:
„A képen nincs D0 sehol sem.”

Van pedig, csak keresd tovább!
(#) don_peter válasza icserny hozzászólására (») Máj 16, 2014 /
 
Közben tovább gondolva a dolgot eszembe jutott még valami.
Véleményed szerint lehet abból baj, ha előbb kikapcsolom az USB-t és ezt követően megírom a PIC .h állományába a kihagyott részeket?
Kimenetnek használnám és billegtetnem kéne. (relé meghajtás miatt, persze nem közvetlen)

USB kikapcsolása: (init()-ben)
  1. UCONbits.SUSPND = 0;
  2. UCONbits.USBEN = 0;


Gyári: (.h állományban)
  1. extern volatile near unsigned char       LATC;
  2.     extern volatile near struct {
  3.       unsigned LATC0:1;
  4.       unsigned LATC1:1;
  5.       unsigned LATC2:1;
  6.       unsigned :3;
  7.       unsigned LATC6:1;
  8.       unsigned LATC7:1;
  9.     } LATCbits;


Átírnám: (.h állományban)
  1. extern volatile near unsigned char       LATC;
  2.     extern volatile near struct {
  3.       unsigned LATC0:1;
  4.       unsigned LATC1:1;
  5.       unsigned LATC2:1;
  6.       unsigned LATC3:1;
  7.       unsigned LATC4:1;
  8.       unsigned LATC5:1;
  9.       unsigned LATC6:1;
  10.       unsigned LATC7:1;
  11.     } LATCbits;
(#) icserny válasza don_peter hozzászólására (») Máj 16, 2014 /
 
Idézet:
„Kimenetnek használnám és billegtetnem kéne.”

Tegnap már megírtam: Ezek a lábak GPIO kimenetek nem lehetnek.
Ha annyira kell még az a két láb, akkor miért nem használsz például PIC18F4520-at?
(#) KaiserA válasza linux_PIC hozzászólására (») Máj 16, 2014 /
 
Köszönöm szépen!
A D0 láb a PIC F0 lábára van kötve, a többi pedig a D porton van. az nem baj ,hogyha nem az összes lába D porton van? a R/W pedig a földre kötöttem ,mert mindig írni akarok csak a kijelzőre.

Milyen parancsal lehet valamit kiírni a kijelzőre C32 ben? hol tudok ehezz segítséget találni?

Köszönöm szépen

refgfegfh.JPG
    
(#) don_peter válasza icserny hozzászólására (») Máj 16, 2014 /
 
Nem értettem meg teljesen, azt hittem csak bemenetként nem lehet használni.
Köszi.
(#) fotomen32 válasza Hp41C hozzászólására (») Máj 16, 2014 /
 
Kipróbáltam a programot és szépen működik csak a kijelző fényereje kicsi.
Megakartam fejelni a pic lábait 1-1 tranyóval de rájöttem hogy nem jó mert a szegmensek negatív jelet kapnak,átlehet e írni a programot ugy hogy minden láb pluszt adjon ki?
Esetleg tanulásként a program meik részét kellene átírni és hogyan?
(#) Hp41C válasza KaiserA hozzászólására (») Máj 16, 2014 / 1
 
Szia!
Az LCD működik 3.3 .. 3.6V -os vezérlő jelekről? Nem túl jó ötlet az adatvonalak keverése. Az LCD 4 bites módban a D7..4 kivezetési bekötésével is működtethető. Így most minden adatot át kell kódolni... Az adatlapban megtalálható az inicializálás és a kezelés leírása is.
(#) usane válasza zenetom hozzászólására (») Máj 16, 2014 /
 
8 gombos érintőkapcsolón világításhoz amin ws2812B villanása vagy más színnel való világítása jelzi majd a megnyomást/bekapcsolt állapotot. Csak kicsi a hely és viszonylag vastag fedlap lesz az érintőkön, így nehéz bekalibrálni , hogy ne zavarják egymást és az érzékenység is megfelelő legyen.
A hozzászólás módosítva: Máj 16, 2014
(#) KaiserA válasza Hp41C hozzászólására (») Máj 16, 2014 /
 
Szia!
Igen 3.3 V-ról is működik.
(#) izenahogyishivnak hozzászólása Máj 16, 2014 /
 
Léptetőmotort szeretnék PIC-el vezérelni, a vezérlő STEP, DIR jeleket igényel. A kérdésem az volna, hogy a STEP jel generálására a PIC hardveres PWM-jét fel lehet használni, vagy szoftverből kell ezt generálni. A probléma az, hogy vannak gyorsítások, lassítások, stb, amikor nem elég egy fix frekvencián adni a jelet, hanem pl. nulláról 10kHz-re 0,2s alatt kell felgyorsítani a jelet lineárisan.
(#) KaiserA hozzászólása Máj 16, 2014 /
 
Sziasztok!
Meg tudja valaki mondani, hogy hol találok C32-es fordíthoz, parancsokat, pl gomblenyomás, kiírás kijelzőre. lcd_putc(" ")? vagy hogyan kell. Milyen parancsal tudok PIC lábat földre húzni?
Köszönöm szépen
A hozzászólás módosítva: Máj 16, 2014
(#) icserny válasza KaiserA hozzászólására (») Máj 16, 2014 / 1
 
A C nyelvben nincsenek ilyen parancsok. A periféria kezelést ezért vagy az adott mikrovezérlőhöz tartozó fejléc állományban definiált portok matatásával, vagy a Microchip által biztosított progamkönyvtárak perifériakezelő függvényeivel, vagy pedig saját függvényekkel/makrókkal kell megoldani.

A C32 fordító telepítési könyvtárában van némi dokumentáció és van egy examples mappa. Ez utóbbiban a led_message az első esetet valósítja meg. A plib_examples almappában található mintapéldák a 2. eset képviselik. Ha ezeket átlátod, akkor a honlapomon található információk alapján az igényeidnek megfelelő LCD kezelést magad is meg tudod írni (ez lesz a 3. eset: saját függvények)
A hozzászólás módosítva: Máj 16, 2014
(#) KaiserA válasza icserny hozzászólására (») Máj 16, 2014 /
 
Sziasztok!
Azt szeretném megkérdezni, hogy ezt H fájlt hogy kell úgy átírni, hogy a lennt lévő kapcsolási rajz alapján múködjön, bekötöttem mint a 8 adatlábat, de ha a PICen 0-ába húzom a D0-D3 ig akkor 4 bites ként is múködik. Valaki tudna segíteni? PIC
LCD

  1. /**
  2.  * Driver library for HD44780-compatible LCD displays.
  3.  *
  4.  * Author: Armandas Jarusauskas (http://projects.armandas.lt)
  5.  *
  6.  * Contributors:
  7.  *    Sylvain Prat (https://github.com/sprat)
  8.  *
  9.  * This work is licensed under a
  10.  * Creative Commons Attribution 3.0 Unported License.
  11.  *
  12.  */
  13.  
  14. /******************************* CONFIG ***************************************/
  15.  
  16. // number of lines on the LCD
  17. #define LCD_LINES           2
  18. #define LCD_CHARACTERS      16
  19. #define LCD_HAS_BACKLIGHT
  20.  
  21. // data mask
  22. // this must match the data pins on the port
  23. // this program uses 4 lower bits of PORT D
  24. #define DATA_MASK 0b00001111
  25. // if you don't use the lower four pins
  26. // for your data port, your data will have
  27. // to be shifted.
  28. // number of left shifts to do:
  29. #define DATA_SHIFT 0
  30.  
  31. // pins
  32. #define LCD_DATA        LATD
  33. #define LCD_DATA_DDR    TRISD
  34.  
  35. #define LCD_RS          LATCbits.LATC0
  36. #define LCD_RS_DDR      TRISCbits.TRISC0
  37.  
  38. #define LCD_RW          LATCbits.LATC1
  39. #define LCD_RW_DDR      TRISCbits.TRISC1
  40.  
  41. #define LCD_EN          LATCbits.LATC2
  42. #define LCD_EN_DDR      TRISCbits.TRISC2
  43.  
  44. #ifdef LCD_HAS_BACKLIGHT
  45. #define LCD_BL_DDR    TRISGbits.TRISG4
  46. #define LCD_BL        LATGbits.LATG4
  47. #endif
  48.  
  49. // timings: depend on the instruction clock speed
  50. // these are values for a 48 MHz CPU clock
  51. #define LCD_ADDRESS_SETUP_DELAY() Nop()           // >40 ns
  52. #define LCD_ENABLE_PULSE_DELAY()  Delay10TCYx(1)  // >250 ns
  53. #define LCD_EXECUTION_DELAY()     Delay100TCYx(6) // >50 us
  54. #define LCD_HOME_CLEAR_DELAY()    Delay10KTCYx(2) // >1.6 ms
  55.  
  56. /******************************* END OF CONFIG ********************************/
  57.  
  58. // commands
  59. #define CLEAR_DISPLAY           0x01
  60. #define RETURN_HOME             0x02
  61. #define ENTRY_MODE              0x04
  62. #define DISPLAY_CONTROL         0x08
  63. #define CURSOR_DISPLAY_SHIFT    0x10
  64. #define FUNCTION_SET            0x20
  65. #define SET_CGRAM_ADDR          0x40
  66. #define SET_DDRAM_ADDR          0x80
  67.  
  68. // ENTRY_MODE flags
  69. #define CURSOR_INCREMENT        0x02
  70. #define ENABLE_SHIFTING         0x01
  71.  
  72. // DISPLAY_CONTROL flags
  73. #define DISPLAY_ON              0x04
  74. #define CURSOR_ON               0x02
  75. #define BLINKING_ON             0x01
  76.  
  77. // CURSOR_DISPLAY_SHIFT flags
  78. #define DISPLAY_SHIFT           0x08
  79. #define SHIFT_RIGHT             0x04
  80.  
  81. // FUNCTION_SET flags
  82. #define DATA_LENGTH             0x10
  83. #define DISPLAY_LINES           0x08
  84. #define CHAR_FONT               0x04
  85.  
  86.  
  87. // function prototypes
  88. void lcd_flags_set(unsigned char, unsigned char, unsigned char);
  89. void lcd_initialize(void);
  90. void lcd_command(unsigned char);
  91. void lcd_data(unsigned char);
  92. void lcd_write(char *);
  93. void lcd_write_pgm(char *);
  94. void lcd_goto(unsigned char, unsigned char);
  95. void lcd_add_character(unsigned char, unsigned char *);
  96.  
  97. // inline functions
  98. #define lcd_clear()         lcd_command(CLEAR_DISPLAY); LCD_HOME_CLEAR_DELAY()
  99. #define lcd_return_home()   lcd_command(RETURN_HOME); LCD_HOME_CLEAR_DELAY()
  100.  
  101. #define lcd_display_on()    lcd_flags_set(DISPLAY_CONTROL, DISPLAY_ON, 1)
  102. #define lcd_display_off()   lcd_flags_set(DISPLAY_CONTROL, DISPLAY_ON, 0)
  103. #define lcd_cursor_on()     lcd_flags_set(DISPLAY_CONTROL, CURSOR_ON, 1)
  104. #define lcd_cursor_off()    lcd_flags_set(DISPLAY_CONTROL, CURSOR_ON, 0)
  105. #define lcd_blinking_on()   lcd_flags_set(DISPLAY_CONTROL, BLINKING_ON, 1)
  106. #define lcd_blinking_off()  lcd_flags_set(DISPLAY_CONTROL, BLINKING_ON, 0)
  107.  
  108. #ifdef LCD_HAS_BACKLIGHT
  109. #define lcd_backlight_on()  LCD_BL = 1
  110. #define lcd_backlight_off() LCD_BL = 0
  111. #endif


a programom eddig itt tart:
  1. #include <proc/p32mx440f512h.h>                                                                                         //A processzor h file-ja a proc mappából
  2. #include <plib.h>                                                                                                                       //A periferiak h file-jai
  3. #include <stdio.h>
  4. #include <ctype.h>
  5. #include <string.h>
  6. #include <math.h>
  7. #include "GenericTypeDefs.h"
  8. #include "HardwareProfile.h"   
  9. #include "delays.h"
  10.  
  11.  
  12. //PIC alap beállításai FRC
  13. #pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1                     //80Mhz-es orajel beallitasa
  14. #pragma config POSCMOD = HS, FNOSC = FRC , FPBDIV = DIV_1                                       //Belső kivalasztasa 8Mhz
  15. #pragma config DEBUG = OFF                                                                                                      //Debug kikapcs
  16. #pragma config ICESEL = ICS_PGx1                                                                                        //PGC1 es PGD1
  17. #pragma config PWP = PWP512K                                                                                            //Program Flash Write Protect teljes 512k írás védett
  18. #pragma config OSCIOFNC = OFF                                                                                           //CLKO enable kikapcs, a kristaly laba (ha on a belső órát kirakja az OSC2/CLK0/RC15 lábra)
  19. #pragma config IESO = OFF                                                                                                       //Two-speed start-up disabled
  20. #pragma config FSOSCEN = OFF                                                                                            //Secondary oscillator kikapcsol (RTCC hez)
  21. #pragma config CP = OFF                                                                                                         //Code-protect kikapcsol
  22. #pragma config BWP = ON                                                                                                         //Boot flash write protect bekapcsol
  23. #pragma config UPLLEN = ON                                                                                                      //USB PLL Enable
  24. #pragma config UPLLIDIV = DIV_2                                                                                         //USB PLL Div by
  25. #pragma config FCKSM    = CSECMD                                                                                //Clock Switching & Fail Safe Clock Monitor
  26. #pragma config FWDTEN = OFF , WDTPS = PS131072                                                          //Watchdog timer kikapcsolasa
  27.  
  28.  
  29.  
  30. //függvény deklarációk
  31. int init();
  32.  
  33.  
  34. /*****************************************************************************
  35.  * Inicializalas
  36.  *****************************************************************************/
  37. int init()
  38. {
  39.     //JTAG kikapcsolás, mert 64 tűs IC-nél resetkor a RB10-RB14 lábak JTAG- hoz lesznek konfigolva nem rendes IO-k
  40.     mJTAGPortEnable(0);
  41.  
  42.     //LED1 TRIS (lásd HardwareProfile.h)
  43.     mPORTESetPinsDigitalOut(BIT_6);
  44.     LED_OFF(LED1);
  45.         mPORTESetPinsDigitalOut(BIT_5);
  46.     LED_OFF(LED2);
  47.         mPORTESetPinsDigitalOut(BIT_7);
  48.     LED_OFF(LED3);
  49.  
  50. //Gombok
  51.         mPORTESetPinsDigitalIn(BIT_2);                                                                  //1-es gomb
  52.         mPORTESetPinsDigitalIn(BIT_3);                                                                  //2-es gomb
  53.         mPORTESetPinsDigitalIn(BIT_4);                                                                  //3-as gomb
  54.  
  55.  
  56.  
  57. }
  58.        
  59.  
  60. /*****************************************************************************/
  61. //                                                              Foprogram
  62. /*****************************************************************************/
  63.  
  64. int main()
  65. {
  66.     SYSTEMConfig(SYS_FREQ, SYS_CFG_ALL); //Inicializalas
  67.     //SYSTEMConfigPerformance(SYS_FREQ);
  68.  
  69.     init();
  70.  
  71.         //LED1 villogtatás (LED1:RB6 lásd HardwareProfile.h)
  72.         while(1){
  73.                 LED_TOGGLE(LED1);
  74.         DelayMS(20);
  75.                 LED_TOGGLE(LED2);
  76.         DelayMS(20);
  77.                 LED_TOGGLE(LED3);
  78.        
  79.    
  80. }  }


Köszönöm szépen
A hozzászólás módosítva: Máj 16, 2014
(#) usane válasza KaiserA hozzászólására (») Máj 16, 2014 /
 
Hát az adatbusszal van egy kis gikszer. Az 8 bites adatvonalként van definiálva, nálad meg a D0 az nem az D porton van. Egyszerűbb lenne ha azt átkötnéd az 58 helyett a 46-os lábra.
(#) KaiserA válasza usane hozzászólására (») Máj 16, 2014 /
 
Szia!
Az a bajom hogy már legyárottam a panelemet, programozásilag nem lehet , egyszerűen megoldani?
A hozzászólás módosítva: Máj 16, 2014
(#) Hp41C válasza KaiserA hozzászólására (») Máj 16, 2014 /
 
Használd 4 bitesen és definiálj egy 16 elemű byte tömböt, amiben a kiírandó nibble (0..15) bitfordított értékének kétszerese van eltárolva. A kiírás során a nibble -k helyett azok átkódolt értéküket írd ki a PORT4 .. PORTD1 -re.
A hozzászólás módosítva: Máj 16, 2014
(#) zalan888 hozzászólása Máj 16, 2014 /
 
Hali.
Kis segítséget szeretnék kérni. Ezt a PIC-es kapcsolást szeretném megépíteni ami ezen az oldalon található: LINK ennek is a 877A-as változatát.
Az a problémám, hogy összeszereltem próbapanelen, de nem értem mitől futnak így rajta a karakterek. Ez a video ezt szemléltetné
Megcsináltam ezt a kapcsolást Proteus szimulátorral, és ott tökéletesen működik. A led panelem egy 8x8-as közös anódos. Igaz hogy az oldalon 7x7-es panel szerepel de működnie kell 8x8-ason is szerintem. Hol kellene keresnem a hibát? A programban vagy a bekötéseknél?
(#) icserny válasza zalan888 hozzászólására (») Máj 17, 2014 /
 
Végül is nem tudjuk, hogy mit hova kötöttél. A LED mátrix lábkivezetései eléggé össze-vissza vannak elrendezve, könnyen el lehet téveszteni a sorrendet. Legalább egy kötéslistát adj meg (melyik portláb a LED mátrix melyik lábára van kötve, s melyik az anód, ill. melyik a katód).

Egyébként a program is tökéletlen, mert ha nincs áramkorlátozás, akkor egyszerre csak egy LED-et szabad kigyújtani (csak egy pillanatra!), máskülönben az egyszerre bekapcsolt LED-eken egyenlőtlenül oszlik meg az áram.
(#) vicsys válasza zalan888 hozzászólására (») Máj 17, 2014 /
 
Ha a proteusban jó, akkor 99%, hogy elkötésed van.
(#) KaiserA válasza Hp41C hozzászólására (») Máj 17, 2014 /
 
Szia!
Kaphatok egy kis segítséget, hogy program nyelven, ezt hogy hogy kell megvalósítani? Köszönöm szépen
(#) zalan888 válasza icserny hozzászólására (») Máj 17, 2014 /
 
Köszönöm a hozzászólásokat. A mellékelt ledpanelem van. Úgy kötöttem be, vagy legalábbis én úgy értelmezem, hogy sorba kell venni az oszlopokat, mondjuk balról jobbra és akkor így jönnek a lábszámok: 13,3,4,10,6,11,15,16 majd a sorok száma: 9,14,8,12,1,7,2,5
Ezért vélem én is úgy hogy valami elkötés lehet, ha a szimulátorban tökéletesen működik.
Következő: »»   523 / 1210
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