Mihai Popa Postat Ianuarie 7, 2015 Autor Partajează Postat Ianuarie 7, 2015 Salut, Nu am inteles partea cu "indiciul aplicatiei". Link spre comentariu
Mihai Popa Postat Ianuarie 16, 2015 Autor Partajează Postat Ianuarie 16, 2015 Am adaugat aici un temporizator pentru un incubator, la cererea colegului gabygaby. Temporizator incubator v1.0.rar Link spre comentariu
Mihai Popa Postat Ianuarie 17, 2015 Autor Partajează Postat Ianuarie 17, 2015 Am adaugat versiunea finala, care temporizeaza 2 ore si numara in jos de la 120 la 0 minute. Cand temporizarea ajunge la 0, se urmareste starea senzorilor. Temporizator incubator v2.0.rar Link spre comentariu
itudoru Postat Ianuarie 26, 2015 Partajează Postat Ianuarie 26, 2015 Da ma intereseaza pe mine hexul daca vrei sal pui. Link spre comentariu
Mihai Popa Postat Ianuarie 26, 2015 Autor Partajează Postat Ianuarie 26, 2015 Fisierul .hex este in interiorul arhivei Temporizator incubator v2.0.rar. Link spre comentariu
Vizitator Postat Ianuarie 27, 2015 Partajează Postat Ianuarie 27, 2015 Pentru că am fost solicitat de către itudoru să postez HEX-ul atașez din nou poza și fișierul DSN împreuna cu HEX-ul. Link spre comentariu
Vizitator Postat Februarie 9, 2015 Partajează Postat Februarie 9, 2015 (editat) Atasez alaturat un termometru cu 4 sonde digitale DS18B20. Fisierul contine HEX-ul si DSN-ul care se deschide in PROTEUS ISIS. Si un filmulet cuacest termometru: https://www.youtube.com/watch?v=QJsGlIANJc4&list=FLez0bK7BJ4BDYgNQwzK6ZRA&index=4 Editat Februarie 9, 2015 de Vizitator Link spre comentariu
Vizitator florinpetreus Postat Martie 16, 2015 Partajează Postat Martie 16, 2015 Buna. Sunt si eu un amator al acestor PIC-uri. Vreau sa fac un termostat. Am gasit un cod si am reusit sa-l fac sa functioneze ca un termmometru dar conditiile nu functioneaza. Daca ma poate ajuta careva cu sugestii... as fi foarte recunoscator. Ca si control am pus sa-mi afiseze pe a 16-a pozitie de pe randul 1 un caracter. Partea cu IF. Este pentru PI16F877A cu 8GHz. Codul este: program LCD_temp ' Declarations section dim LCD_RS as sbit at RB4_bit LCD_EN as sbit at RB5_bit LCD_D7 as sbit at RB3_bit LCD_D6 as sbit at RB2_bit LCD_D5 as sbit at RB1_bit LCD_D4 as sbit at RB0_bit dim LCD_RS_Direction as sbit at TRISB4_bit LCD_EN_Direction as sbit at TRISB5_bit LCD_D7_Direction as sbit at TRISB3_bit LCD_D6_Direction as sbit at TRISB2_bit LCD_D5_Direction as sbit at TRISB1_bit LCD_D4_Direction as sbit at TRISB0_bit 'end lcd module connection ' Set TEMP_RESOLUTION to the corresponding resolution of the DS18x20 sensor in use: ' 18S20: 9 (default setting can be 9,10,11 or 12); 18B20: 12 const TEMP_RESOLUTION as byte = 12 dim text as char[9] temp as word sub procedure compara end sub sub procedure Display_Temperature(dim temp2write as word) const RES_SHIFT = TEMP_RESOLUTION - 8 dim temp_whole as byte temp_fraction as word text = "000.0000" if (temp2write and 0x8000) then ' check the temp if negative text[0] = "-" temp2write = not temp2write + 1 end if temp_whole = word(temp2write >> RES_SHIFT) ' extract temp whole if (temp_whole div 100) then ' convert temp_whole to characters text[0] = temp_whole div 100 + 48 else text[0] = "0" end if text[1] = (temp_whole div 10) mod 10+48 ' extract tens text[2] = temp_whole mod 10 + 48 ' extract ones temp_fraction = word(temp2write << (4-RES_SHIFT)) ' extract temp fraction temp_fraction = temp_fraction and 0x000F ' completata ( nu mai calculeaza zecimalele ) temp_fraction = temp_fraction * 625 ' unsigned int text[4] = word(temp_fraction div 1000) + 48 ' Extract thousands text[5] = word((temp_fraction div 100) mod 10 + 48) ' Extract hundreds text[6] = word((temp_fraction div 10) mod 10 + 48) ' Extract tens text[7] = word(temp_fraction mod 10) + 48 ' Extract ones Lcd_Out(2, 5, text) ' Print temperature on Lcd end sub main: ' Main program ADCON1 = 6 ' ADC's off CMCON = 7 ' Comparators off TRISE = %11111111 ' all PORTE is input text = "000.0000" Lcd_Init() ' Initialize Lcd Lcd_Cmd(_LCD_CLEAR) ' Clear Lcd Lcd_Cmd(_LCD_CURSOR_OFF) ' Turn off cursor Lcd_Out(1, 1, "Temp: ") Lcd_Chr(2,13,223) ' Print degree character, "C" for Centigrades ' Different LCD displays have different char code for degree Lcd_Chr(2,14,"C") ' If you see greek letter ‘alpha’ type 178 instead of 223 while 1 ' Temperature is read in the main loop Ow_Reset(PORTE, 2) ' Onewire reset signal Ow_Write(PORTE, 2, 0xCC) ' Issue command SKIP_ROM Ow_Write(PORTE, 2, 0x44) ' Issue command CONVERT_T Delay_us(120) Ow_Reset(PORTE, 2) Ow_Write(PORTE, 2, 0xCC) ' Issue command SKIP_ROM Ow_Write(PORTE, 2, 0xBE) ' Issue command READ_SCRATCHPAD temp = Ow_Read(PORTE, 2) temp = (Ow_Read(PORTE, 2) << 8) + temp Display_Temperature(temp) ' Format and display result on Lcd Delay_ms(520) ' 520 mS delay if temp < $14 then Lcd_Out(1, 16, "<") else if temp > $14 then Lcd_Out(1, 16, ">") else if temp = $14 then Lcd_Out(1, 16, "=") end if end if end if wend end. Link spre comentariu
Mihai Popa Postat Martie 16, 2015 Autor Partajează Postat Martie 16, 2015 (editat) Salut, Problema ta era ca tu compari valoarea raw a temperaturii trimise de senzorul de temperatura in loc sa faci comparatia doar cu partea intreaga a acesteia. Am atasat si o schema pentru test. Am atasat proiectul si o schema de test. Test.rar Editat Martie 16, 2015 de Mihai Popa Link spre comentariu
Vizitator Postat Martie 17, 2015 Partajează Postat Martie 17, 2015 Buna. Sunt si eu un amator al acestor PIC-uri. Vreau sa fac un termostat. Am gasit un cod si am reusit sa-l fac sa functioneze ca un termmometru dar conditiile nu functioneaza. Daca ma poate ajuta careva cu sugestii... as fi foarte recunoscator. Ca si control am pus sa-mi afiseze pe a 16-a pozitie de pe randul 1 un caracter. Partea cu IF. Este pentru PI16F877A cu 8GHz. Codul este: . . . Scuze, ai vrut sa scrii 8MHz, nu? Codul pe care l-ai atasat in ce program este? Link spre comentariu
Mihai Popa Postat Martie 17, 2015 Autor Partajează Postat Martie 17, 2015 Codul este scria in MikroBasic Pro Link spre comentariu
Vizitator Postat Martie 17, 2015 Partajează Postat Martie 17, 2015 Codul este scria in MikroBasic Pro Da, ma gandeam eu. Nu reusesc sa instalez acest program. Eu lucrez (adica ma invat ) in mikroC Pro. Imi aduc aminte cum lucram in Basic pe un calculator CIP 03 prin anii 1993. Chiar am reusit sa fac un program sa calculez nr de spire la un transformator,... Dar neavand posibilatati materiale nu am avut pe ce sa mai lucrez. MikroC Pro mi se pare usor de lucrat in el, as incerca si in mikroBasic Pro, ca sunt multe exemple pe net, folosind acest soft. Poate o sa ma ajute un prieten care este informatician. Dar sa ne lase timpul si pe mine si pe el sa ne intalnim. Link spre comentariu
homer Postat Aprilie 17, 2016 Partajează Postat Aprilie 17, 2016 Oare ar fi greu de adaugat si un modul pentru masurat voltajul pentru acest proiect ? Link spre comentariu
Vizitator Postat Aprilie 18, 2016 Partajează Postat Aprilie 18, 2016 Pentru care din proiectele de mai sus? Cel de la mine sau de la MIhai Popa? Link spre comentariu
homer Postat Aprilie 18, 2016 Partajează Postat Aprilie 18, 2016 Pt 877a din moment ce 628 stiu ca nu se poate folosi pentru voltmetru.Daca nu i mult de modificat ar fi fain pentru masina de avut cu 2senzori de temperatura si voltmetru pe 2*16 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