fratello Postat Iunie 26, 2020 Partajează Postat Iunie 26, 2020 (editat) Fiindca am achizitionat 4 x MAX7912 cu scopul de a face un ceas matriceal, am vrut initial sa realizez unul cu Arduino ... dar cativa colegi m-au indrumat spre acest topic si le multumesc. Proiectul este exact ce cautam ! Felicitari Kreator pentru realizare ! As vrea insa sa imi creez propriile fonturi pentru cifre si eventual sa incerc "portarea" pe un alt PIC, neavand acest model disponibil. M-ar ajuta mult sa stiu exact in ce mediu de programare a fost scris programul ... Am incercat sa il compilez in MikroBasic PRO for PIC 7.5.0, dar au fost semnalate asa de multe erori incat m-am gandit ca nu e ce trebuie sau nu stiu eu ce trebuie facut. Multumesc anticipat pentru orice sfat ! Editat Iunie 26, 2020 de fratello Link spre comentariu
Kreator Postat Iunie 26, 2020 Autor Partajează Postat Iunie 26, 2020 (editat) Salut @fratello Ma bucur ca-ti place proiectul meu! Programul prezentat in primul post a fost scris in MikroBasic PRO for PIC de la Mikroe, eu detin var 6.4.0. Intre timp am realizat o alta varianta (pe care o recomand a fi realizata), deoarece asamblat in carcasa, matricile incalzesc interiorul acesteia, iar temperatura citita din RTC este mai mare decat a mediului ambiant. Solutia adoptata a fost ca temperatura sa o citesc dintr-un DS18B20 montat in exteriorul carcasei, astfel temperatura afisata este cea a mediului ambiant. O alta imbunatatire fata de varianta anterioara este afisarea corecta a temperaturilor negative. Deoarece a crescut marimea programului a trebuit sa folosesc alt PIC si anume fratele mai mare a celui initial - PIC 16F1825. Schema a devenit urmatoarea (rezistenta de 2M2 si conectorul X1 nu se vor monta, acestea fiind prevazute pentru o dezvoltare ulterioara a proiectului care sa seteze intensitatea luminoasa a afisajului in fct de lumina ambientala): Programul este mai jos, fontul il modifici schimband itemii din variabila alfabet. Pentru usurinta iti recomand sa-ti faci un program in excel, unde setezi coloanele egale cu randurile, introduci 1 in celulele "aprinse" si cu o formula iti determini itemii fontului. Programul poate fi transpus foarte usor pentru Arduino (vad ca este foarte la moda acum!) program Ceas_MAX7219_PIC1825 ' Declarations section Const cnfgww As Byte = %11010000 'Adress for write DS3231 Const cnfgwr As Byte = %11010001 'Adress for read DS3231 const TEMP_RESOLUTION as byte = 9 const MAX7219_TEST as byte =0x0F const MAX7219_BRIGHTNESS as byte = 0x0A const MAX7219_SCAN_LIMIT as byte = 0x0B const MAX7219_DECODE_MODE as byte = 0x09 const MAX7219_SHUTDOWN as byte = 0x0C const mxbt As Byte[11] =(0, 23, 59, 31, 12, 99, 59, 23, 59, 15, 1) ' max value const mnbt As Byte[11] =(0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0) ' min value const stadrs As Byte[11] =(0, 0x02, 0x01, 0x04, 0x05, 0x06, 0x00, 0x09, 0x08, 0x0B, 0x0D) ' Adress data RTC const alfabet as byte [17] [8]= (( 30, 63, 51, 51, 51, 51, 63, 30), '0 ( 6, 14, 30, 6, 6, 6, 6, 15), '1 ( 30, 63, 35, 6, 12, 24, 63, 63), '2 ( 30, 63, 35, 14, 14, 35, 63, 30), '3 ( 6, 14, 30, 54, 54, 63, 6, 15), '4 ( 62, 63, 48, 62, 51, 3, 63, 30), '5 ( 30, 63, 48, 62, 51, 51, 63, 30), '6 ( 63, 63, 3, 6, 12, 12, 12, 12), '7 ( 30, 63, 51, 30, 51, 51, 63, 30), '8 ( 30, 63, 51, 51, 31, 3, 63, 30), '9 ( 0, 0, 0, 0, 0, 0, 0, 0), 'blank ( 0, 3, 3, 0, 0, 3, 3, 0), 'dp (120, 124, 68, 64, 64, 68, 124, 120), 'C ( 56, 109, 109, 109, 57, 1, 1, 0), '` ( 62, 63, 51, 62, 51, 51, 63, 62), 'B ( 0, 0, 27, 31, 28, 24, 24, 24), 'r ( 0, 0, 0, 7, 7, 0, 0, 0)) '- Dim CS as sbit at RC3_bit 'Chip Select pin for MAX7219 CS_Direction as sbit at TRISC3_bit Dim Soft_I2C_Sda as sbit at RA0_bit 'SDA pin for DS3231 Dim Soft_I2C_Scl as sbit at RA1_bit 'SCL pin for DS3231 Dim Soft_I2C_Sda_Direction as sbit at TRISA0_bit Dim Soft_I2C_Scl_Direction as sbit at TRISA1_bit Dim i,j, x, y, yy, bright, m, s_, z_, u, dp, str as byte Dim k, k0, k1, k4, k5, al as byte Dim flgal, flsh, x0, x1, x5, flgint, pflgint,tal,tal1 as bit Dim ma, sa, za, uua, utmp, ztmp, stmp, ltmp, rtmp, mtmp as byte[8] Dim dsp, th_dsp, h_dsp as byte[32] Dim s0, s1, m0, m1, h0, h1, ah0, ah1, am0, am1 As Byte Dim d0, d1, mo0, mo1, y0, y1, th0, th1, br1, br0 As Byte Dim btset, btmod, btvar, btmp, grc, ytal, tsgn As Byte dim temp1 as word sub function I2CR(dim byref adress as byte) as byte ' Read value from RTC Soft_I2C_Start() ' Issue start signal Soft_I2C_Write(cnfgww) ' Address DS3231 Soft_I2C_Write(adress) ' Go to adresa Soft_I2C_Start() ' Issue repeated start signal Soft_I2C_Write(cnfgwr) ' Address for reading R/W=1 result = Soft_I2C_Read(0) ' Read with NAK Soft_I2C_Stop() ' Stop end sub sub procedure I2CW(dim adress, value as byte) ' Write value in TRC Soft_I2C_Start() ' Issue start signal Soft_I2C_Write(cnfgww) ' Address Soft_I2C_Write(adress) ' Go to adresa Soft_I2C_Write(value) ' Write valoare Soft_I2C_Stop() ' Stop end sub sub procedure read_RTC() ' Read some data from RTC btmp=0x00 btmp=I2CR(btmp) 'sec s0 = btmp Mod 16 s1 = btmp / 16 btmp=0x01 btmp=I2CR(btmp) 'min m0 = btmp Mod 16 m1 = btmp / 16 btmp=0x02 btmp=I2CR(btmp) 'hour h0 = btmp Mod 16 h1 = btmp / 16 btmp=0x04 btmp=I2CR(btmp) 'day d0 = btmp Mod 16 d1 = btmp / 16 btmp=0x05 btmp=I2CR(btmp) 'mounth mo0 = btmp Mod 16 mo1 = btmp / 16 btmp=0x06 btmp=I2CR(btmp) 'year y0 = btmp Mod 16 y1 = btmp / 16 btmp=0x08 btmp=I2CR(btmp) 'almin am0 = btmp Mod 16 am1 = btmp / 16 btmp=0x09 btmp=I2CR(btmp) 'alhour ah0 = btmp Mod 16 ah1 = btmp / 16 btmp=0x0B bright=I2CR(btmp) ' brightness br0 = bright Mod 16 br1 = bright / 16 btmp=0x0C al=I2CR(btmp) ' set alarm On/Off btmp=0x0F btmp=I2CR(btmp) ' flag alarm flgal=btmp.0 btmp=0x0D btmp=I2CR(btmp) ' Temperature On/Off grc=btmp end sub sub procedure maxCMD (dim address, value as byte) ' Send command to MAX7219 CS = 0 for i = 0 to 3 SPI_Write(address) '// Send address. SPI_Write(value) '// Send the value. next i CS = 1 end sub sub procedure max7219_init() ' Initialize MAX7219 maxCMD(MAX7219_TEST, 0x01) ' Test mode maxCMD(MAX7219_TEST, 0x00) ' Finish test mode maxCMD(MAX7219_DECODE_MODE, 0x00) ' Disable BCD mode maxCMD(MAX7219_BRIGHTNESS, bright) ' Use lowest intensity maxCMD(MAX7219_SCAN_LIMIT, 0x0f) ' Scan all digits maxCMD(MAX7219_SHUTDOWN, 0x01) ' Turn on chip end sub 'Prepare hour data sub procedure prepare_to_show_hour(dim m, s_, z_, u, dp1, al1 as byte) for i = 0 to 7 ma[i] = alfabet[m] [i] sa[i] = alfabet[s_] [i] za[i] = alfabet[z_] [i] uua[i] = alfabet[u] [i] next i for i = 0 to 7 utmp[i]=uua[i] utmp[i].7 =za[i].0 ztmp[i]=za[i]>>1 next i for i = 0 to 7 ztmp[i].6 = alfabet[10 + dp1] [i]. 0 ztmp[i].7 = alfabet[10 + dp1] [i]. 1 stmp[i]=sa[i]<<1 mtmp[i]=ma[i] next i mtmp[0].7=al1.0 for i = 0 to 7 h_dsp[i] = utmp[i] h_dsp[i+8] = ztmp[i] h_dsp[i+16] = stmp[i] h_dsp[i+24] = mtmp[i] next i end sub 'Prepare Temperature data sub procedure prepare_to_show_temp(dim tsgn, z_, u as byte) for i = 0 to 7 ma[i] = alfabet[tsgn] [i] za[i] = alfabet[z_] [i] uua[i] = alfabet[u] [i] next i for i = 0 to 7 utmp[i] = alfabet[12] [i] >>1 utmp[i].6 = alfabet[13] [i].0 ztmp[i] = alfabet[13] [i] >> 2 ztmp[i].6 = uua[i].0 ztmp[i].7 = uua[i].1 stmp[i] = uua [i] >> 2 stmp[i].5 = za[i].0 stmp[i].6 = za[i].1 stmp[i].7 = za[i].2 mtmp[i]=ma[i] << 4 mtmp[i].0 = za[i].3 mtmp[i].1 = za[i].4 mtmp[i].2 = za[i].5 next i for i = 0 to 7 th_dsp[i] = utmp[i] th_dsp[i+8] = ztmp[i] th_dsp[i+16] = stmp[i] th_dsp[i+24] = mtmp[i] next i end sub sub procedure temp2hour 'Scroll from temperature to hour for i = 0 to 7 th_dsp[i+24] = th_dsp[i+24] << 1 th_dsp[i+24].0 = th_dsp[i+16].7 th_dsp[i+16] = th_dsp[i+16] << 1 th_dsp[i+16].0 = th_dsp[i+8].7 th_dsp[i+8] = th_dsp[i+8] << 1 th_dsp[i+8].0 = th_dsp[i].7 th_dsp[i] = th_dsp[i] << 1 th_dsp[i].0 = h_dsp[24+i].7 h_dsp[i+24] = h_dsp[i+24] << 1 h_dsp[i+24].0 = h_dsp[i+16].7 h_dsp[i+16] = h_dsp[i+16] << 1 h_dsp[i+16].0 = h_dsp[i+8].7 h_dsp[i+8] = h_dsp[i+8] << 1 h_dsp[i+8].0 = h_dsp[i].7 h_dsp[i] = h_dsp[i] << 1 next i for i = 0 to 31 dsp[i] = th_dsp[i] next i end sub sub procedure hour2temp 'Scrool from hour to temperature for i = 0 to 7 h_dsp[i+24] = h_dsp[i+24] << 1 h_dsp[i+24].0 = h_dsp[i+16].7 h_dsp[i+16] = h_dsp[i+16] << 1 h_dsp[i+16].0 = h_dsp[i+8].7 h_dsp[i+8] = h_dsp[i+8] << 1 h_dsp[i+8].0 = h_dsp[i].7 h_dsp[i] = h_dsp[i] << 1 h_dsp[i].0 = th_dsp[24+i].7 th_dsp[i+24] = th_dsp[i+24] << 1 th_dsp[i+24].0 = th_dsp[i+16].7 th_dsp[i+16] = th_dsp[i+16] << 1 th_dsp[i+16].0 = th_dsp[i+8].7 th_dsp[i+8] = th_dsp[i+8] << 1 th_dsp[i+8].0 = th_dsp[i].7 th_dsp[i] = th_dsp[i] << 1 next i for i = 0 to 31 dsp[i] = h_dsp[i] next i end sub sub procedure up_down() 'Procedure for Button Up or Button Down if x0 = 1 then if btset = 6 then I2CW(btmod, 0) else btvar = I2CR(btmod) btvar = bcd2dec(btvar) if btvar = mnbt[btset] Then btvar = mxbt[btset] else btvar = btvar - 1 end if I2CW(btmod, dec2bcd(btvar)) end if x0 = 0 end if if x1 = 1 then if btset = 6 then I2CW(btmod, 0) else btvar = I2CR(btmod) btvar = bcd2dec(btvar) if btvar = mxbt[btset] Then btvar = mnbt[btset] else btvar = btvar + 1 end if I2CW(btmod, dec2bcd(btvar)) end if x1 = 0 end if end sub sub procedure prepare_2_show_data ' Prepare data for send to MAX7219 for i = 0 to 31 dsp[i] = h_dsp[i] next i end sub sub procedure send_2_display() ' Send data to MAX7219 for i = 0 to 7 CS = 0 ' Begin transfer. SPI_Write(i+1) ' Send address. SPI_Write(dsp[i+24]) ' Send the value. SPI_Write(i+1) ' Send address. SPI_Write(dsp[i+16]) ' Send the value. SPI_Write(i+1) ' Send address. SPI_Write(dsp[i+8]) ' Send the value. SPI_Write(i+1) ' Send address. SPI_Write(dsp[i]) ' Send the value. CS = 1 ' Finish transfer. next i end sub sub procedure show_data() ' Show received data prepare_2_show_data send_2_display() end sub sub procedure alarm ' Buzz if PORTC1 = 1 if al = 0 then I2CW(0xf,0x0) end if PORTC.1 = flgal and al.0 and tal1 and tal end sub sub procedure init_main() OSCCON = %11111111 ' MCU clock at 16 MHz ANSELA = %00000000 ' All I/O pins of the PORTA are configured as digital ANSELC = %00000000 ' All I/O pins of the PORTC are configured as digital CM1CON0 = %00000000 ' Disbale comparator CM2CON0 = %00000000 ' Disbale comparator TRISA = %11111111 ' PORTA All Inputs TRISC = %00100000 ' PORTC All Outputs APFCON0.SDOSEL = 0 APFCON0.SSSEL = 1 INTCON.GIE = 1 ' Enables all unmasked interrupts INTCON.PEIE = 0 ' Disables all peripheral interrupts INTCON.T0IE = 1 ' Enables the TMR0 interrupt INTCON.INTE = 1 ' Enables the RA2/INT external interrupt INTCON.IOCIE = 0 ' Disables the PORTA change interrupt INTCON.T0IF = 0 ' TMR0 register did not overflow INTCON.INTF = 0 ' The RA2/INT external interrupt did not occur INTCON.IOCIF = 0 ' None of the PORTA <5:0> pins have changed state OPTION_REG.WUE = 0 ' PORTA pull-ups are enabled by individual port latch values OPTION_REG.INTEDG = 0 ' Interrupt on rising/falling edge of RA2/INT pin OPTION_REG.T0CS = 0 ' set Timer0 clock source to internal OPTION_REG.T0SE = 1 ' Increment on high-to-low transition on RA2/T0CKI pin OPTION_REG.PSA = 0 ' asign prescaler to Timer 0 OPTION_REG.PS2 = 1 ' asign prescaler value OPTION_REG.PS1 = 1 ' asign prescaler value OPTION_REG.PS0 = 1 ' asign prescaler value WPUA = %00111111 ' Pull-ups PORTA to be enabled WPUC = %00100000 ' Pull-ups PORTA to be enabled SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH) Soft_I2C_Init() ' Initialize I2C module SPI1_Init() ' Initialize SPI module btmp=0xB ' Set brtightness adress bright=I2CR(btmp) ' Read brtightness value if bright >15 then bright = 2 end if I2CW(btmp,bright) ' write bright btmp=0x0D ' Set Temp_On/Off adress grc=I2CR(btmp) ' Read Temp_On/Off value if grc > 1 then grc = 0 end if I2CW(btmp,grc) ' write Temp_On/Off adress btmp=0xC ' Set alarm on/off adress al=I2CR(btmp) ' Read alarm on/off value max7219_init() ' Initialize MAX7219 module PORTC.1 = 0 ' Do not start alarm on start_up I2CW(0xA,%10000000) ' Alarm when hours, minutes, and seconds match I2CW(0x0E,0) ' Square wave is output on the INT/SQW pin I2CW(0x10,0) ' Aging Offset TRISC.1 = 0 ' Because SPI1_Init make PORTC1 as input str = 0 j = 0 y = 0 k = 0 x = 0 x0 = 0 x1 = 0 x5 = 0 flgint = 0 pflgint = 0 flgal = 0 dp = 0 btset = 0 ytal = 0 tal = 0 tal1 = 0 CS=1 'I2CW(2,Dec2Bcd(23)) 'hour 'I2CW(1,Dec2Bcd(19)) 'min 'I2CW(0x0D,1) ' hour to temp 'I2CW(0x0C,0) ' alarm end sub sub procedure Interrupt() iv 0x0004 ics ICS_AUTO if INTCON.INTF = 1 then flgint = not flgint OPTION_REG.INTEDG = not OPTION_REG.INTEDG dp.0 = not dp.0 if dp.0 = 0 then Ow_Reset(PORTC, 4) ' Onewire reset signal Ow_Write(PORTC, 4, 0xCC) ' Issue command SKIP_ROM Ow_Write(PORTC, 4, 0x44) ' Issue command CONVERT_T else Ow_Reset(PORTC, 4) Ow_Write(PORTC, 4, 0xCC) ' Issue command SKIP_ROM Ow_Write(PORTC, 4, 0xBE) ' Issue command READ_SCRATCHPAD temp1 = Ow_Read(PORTC, 4) temp1 = (Ow_Read(PORTC, 4) << 8) + temp1 btmp.0 = temp1.4 btmp.1 = temp1.5 btmp.2 = temp1.6 btmp.3 = temp1.7 btmp.4 = temp1.8 btmp.5 = temp1.9 btmp.6 = temp1.10 btmp.7 = temp1.11 if btmp > 128 then tsgn = 16 btmp = not btmp + 1 else tsgn = 10 end if th0 = btmp Mod 10 th1 = btmp / 10 end if k = k + 1 if k = 23 then k = 0 end if INTCON.INTF = 0 End if if INTCON.T0IF = 1 then TMR0 = 61 y = y + 1 if ytal = 128 then ytal = 0 end if if ytal<64 then tal1 = 1 else tal1 = 0 end if if tal1 = 1 then if ytal mod 8 = 0 then tal = not tal end if else tal = 0 end if ytal = ytal + 1 if y = 20 then flsh = not flsh y = 0 end if ' buton mod if Button(PORTA, 3, 1, 1) then k4 = 255 end if if k4 and Button(PORTA, 3, 1, 0) then btset = btset + 1 if btset= 11 then btset= 0 end if btmod = stadrs[btset] k4 = 0 end if 'Button Up if btset <> 0 then if Button(PORTA, 5, 1, 1) then k0 = 255 end if if k0 and Button(PORTA, 5, 1, 0) then k0 = 0 x0 = 1 end if end if ' Button Down if btset <> 0 then if Button(PORTA, 4, 1, 1) then k1 = 255 end if if k1 and Button(PORTA, 4, 1, 0) then k1 = 0 x1 = 1 end if end if 'Button Al On/Off if Button(PORTC, 5, 1, 1) then k5 = 255 end if if k5 and Button(PORTC, 5, 1, 0) then x5 = 1 k5 = 0 end if INTCON.T0IF = 0 End if end sub main: ' Main program delay_ms(100) init_main() while TRUE select case btset case 0 ' show alt hour & temperature if flgint <> pflgint then pflgint = flgint read_RTC() prepare_to_show_hour(h1, h0, m1, m0, dp, al ) prepare_to_show_temp(tsgn, th1, th0) if grc = 1 then if k<=16 then if k=16 then dp = 1 prepare_to_show_hour(h1, h0, m1, m0, dp, al ) for yy = 0 to 31 hour2temp send_2_display() delay_ms(30) alarm() next yy else prepare_2_show_data send_2_display() alarm() end if else if k=22 then dp = 1 prepare_to_show_hour(h1, h0, m1, m0, dp, al ) for yy = 0 to 31 temp2hour send_2_display() delay_ms(30) alarm() next yy else prepare_to_show_temp(tsgn, th1, th0) for i = 0 to 31 dsp[i] = th_dsp[i] next i send_2_display() alarm() end if end if else show_data alarm() end if end if case 1 read_RTC() if flsh = 0 then h1 = 10 h0 = 10 end if prepare_to_show_hour(h1, h0, m1, m0, 1, 0 ) show_data() up_down() case 2 read_RTC() if flsh = 0 then m1 = 10 m0 = 10 end if prepare_to_show_hour(h1, h0, m1, m0, 1, 0 ) show_data() up_down() case 3 read_RTC() if flsh = 0 then d1 = 10 d0 = 10 end if prepare_to_show_hour(d1, d0, mo1, mo0, 0, 0 ) show_data() up_down() case 4 read_RTC() if flsh = 0 then mo1 = 10 mo0 = 10 end if prepare_to_show_hour(d1, d0, mo1, mo0, 0, 0 ) show_data() up_down() case 5 read_RTC() if flsh = 0 then y1 = 10 y0 = 10 end if prepare_to_show_hour(2, 0, y1, y0, 0, 0 ) show_data() up_down() case 6 read_RTC() if flsh = 0 then s1 = 10 s0 = 10 end if prepare_to_show_hour(10, 10, s1, s0, 1, 0 ) show_data() up_down() case 7 read_RTC() if flsh = 0 then ah1 = 10 ah0 = 10 end if prepare_to_show_hour(ah1, ah0, am1, am0, 1, 1 ) show_data() up_down() case 8 read_RTC() if flsh = 0 then am1 = 10 am0 = 10 end if prepare_to_show_hour(ah1, ah0, am1, am0, 1, 1 ) show_data() up_down() case 9 if flsh = 0 then br1 = 10 br0 = 10 end if prepare_to_show_hour(14, 15, br1, br0, 1, 0 ) show_data() up_down() btmp=0x0B bright=I2CR(btmp) ' brightness br0 = bright Mod 16 br1 = bright / 16 maxCMD(MAX7219_BRIGHTNESS, bcd2dec(bright)) case 10 btmp=0x0D btmp=I2CR(btmp) ' Temperature On/Off grc=btmp if flsh = 0 then grc = 10 end if prepare_to_show_hour(13, 12, 0, grc, 1, 0 ) show_data() up_down() end select if x5 = 1 then x5 = 0 if al <> 0 then al = 0 else al = 1 end if while not k5.0 prepare_to_show_hour(ah1, ah0, am1, am0, 1, 1 ) show_data() wend I2CW(0xc,al) ' Alarm On/Off I2CW(0xf,0x0) ' Clear alarm flag end if alarm() wend end. LE Cum se procedeaza a.i. codul sa apara intr-o caseta mai mica, ca in alte forumuri? Editat Iunie 26, 2020 de Kreator Link spre comentariu
mama Postat Iunie 26, 2020 Partajează Postat Iunie 26, 2020 $ systemd-analyze && systemd-analyze blame Startup finished in 3.943s (kernel) + 32.791s (userspace) = 36.735s graphical.target reached after 31.998s in userspace 14.539s polkit.service 12.580s snapd.service 9.207s lvm2-monitor.service 8.257s dev-sdb1.device 7.314s udisks2.service 6.999s NetworkManager.service 6.409s avahi-daemon.service 6.371s org.cups.cupsd.service 6.315s linux-module-cleanup.service 6.314s systemd-logind.service 4.041s apparmor.service 3.904s systemd-modules-load.service 2.896s upower.service 2.681s ModemManager.service 2.327s systemd-udevd.service 1.850s ldconfig.service 1.823s systemd-sysusers.service 1.738s systemd-journal-flush.service 1.123s systemd-tmpfiles-setup-dev.service 902ms systemd-timesyncd.service 789ms tlp.service 686ms [email protected] 658ms systemd-tmpfiles-setup.service 578ms systemd-journald.service 448ms systemd-udev-trigger.service lines 1-25 Link spre comentariu
mama Postat Iunie 26, 2020 Partajează Postat Iunie 26, 2020 (editat) 40 minutes ago, Kreator said: LE Cum se procedeaza a.i. codul sa apara intr-o caseta mai mica, ca in alte forumuri? Scrii ca în imaginea atașată, iar în locul la .... introduci codul, și o să iasă ca în postarea mea anterioară. Scuze pentru ce am postat anterior, nu are legătură cu topicul, dar am vrut să probez dacă merge Editat Iunie 26, 2020 de mama Link spre comentariu
Untold Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 (editat) Salutare! Felicitari lui @Kreator si celorlalti pentru realizare, as vrea sa-mi fac si eu un astfel de ceas. DAR! Nu prea ma pricep si am un pickit2 antic si de demult. Insa detin mai multe dotpoint-uri din alea, de la o reclama stradala, au cam 10 cm inaltime. Le am la serviciu, saptamana viitoare pe joi, vineri cand ajung, am sa pun poze aici si datasheetul. Avand prea multe module cu care nu am ce face, ma ofer sa dau la schimb un set sau chiar doua pentru o placa functionala la care sa conectez doar afisajul. Sau macar un kit, sa lipesc piesele pe placa ma pricep oleaca. Multumesc si felicitari inca o data pentru acest frumos proiect! L.E. Scuze, acum am vazut ca modulele ceasului sunt luate de pe e-bay, dar oare pe Aliexpress nu sunt? Imi puteti da un link? Ca eu nu am paypall, dar de pe Aliexpress am mai cumparat. Ramane insa valabila si oferta cu schimbul. Editat Iunie 27, 2020 de Untold Link spre comentariu
fratello Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 (editat) Multumesc frumos, Kreator !!! Postez aici pe masura ce avansez. LE. Cu codul de pe prima pagina obtin eroarea din poza : Editat Iunie 27, 2020 de fratello Link spre comentariu
Kreator Postat Iunie 27, 2020 Autor Partajează Postat Iunie 27, 2020 Introdu si prima linie, aia cu program .... Sau ia cu copy paste tot ceea ce e scris in cod Link spre comentariu
fratello Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 Multumesc pentru raspunsul prompt !!! Acum insa .... Link spre comentariu
Kreator Postat Iunie 27, 2020 Autor Partajează Postat Iunie 27, 2020 Tu folosesti varianta demo care este limitata la 2k ROM Link spre comentariu
fratello Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 M-am gandit ... Multumesc. Link spre comentariu
val Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 (editat) Acum 2 ore, Untold a spus: ...acum am vazut ca modulele ceasului sunt luate de pe e-bay, dar oare pe Aliexpress nu sunt? Imi puteti da un link? De aici am luat modul culoare verde: https://www.aliexpress.com/item/32689479860.html?spm=a2g0s.9042311.0.0.27424c4ddkNzw5 De aici am luat modul culoare rosie: https://www.aliexpress.com/item/32676574851.html?spm=a2g0s.9042311.0.0.27424c4d9B95ci Posibil sa le gasiti si mai ieftine , dar tineti cont si de numarul componentelor vandute si de comentariile cumparatorilor. Editat Iunie 27, 2020 de val Link spre comentariu
Untold Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 (editat) @Val, multumesc mult pentru link-uri, insa eu am module destul de multe, in jur de 10-15 bucati, rosii. M-ar fi interesat partea electronica, o placa completa cu microcontroler, senzor de temp, RTC si ce mai e p-acolo. Multumiri inca o data! P.S. Poate atasa cineva o poza cu ceasul la interior? Editat Iunie 27, 2020 de Untold Link spre comentariu
val Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 Scuze din partea mea pentru neintelegere, din pacate pe e-bay sau Aliexpress nu veti gasi placa completa pentru acest proiect, doar modulul rtc, uC-u neprogramat si senzorul de temperatura separat. Referitor la modulele de afisaj pe care le detineti trebuie sa verificati daca acestea contin cate un ci Max7219 pe fiecare grup de 8x8 led pentru a le folosi in acest proiect. Link spre comentariu
fratello Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 Ma puteti ajuta, va rog ?!? Incerc sa portez programul (prima pagina) pe un PIC16F1827 , pe care il am ... Din pacate nu reusesc. Nu stiu care este problema ; compilarea programului de pe pagina 3, pentru PIC16F1825, merge fara probleme, deci nu este limita MikroBasic. Poate e din cauza ca 16F1827 are doar 4K memorie program ? Dar si 16F1824 are tot 4k .... Link spre comentariu
UDAR Postat Iunie 27, 2020 Partajează Postat Iunie 27, 2020 PIC16F1827 are doar 4k de ROM spre deosebire de 1825 care are 8k iar spatiul necesar este de 4669 octeti deci ceva mai mult de 4k ( 4096 octeti ) . Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum