Bonjour, je suis à la recherche du connaisseur pour m'aider à comprendre et modifier un programme pour attiny13

Les fichiers on était récupéré à cette adresse :http://libstock.mikroe.com/projects/...13-and-ds18b20

J ai commander ceci pour la programmation
http://fr.aliexpress.com/item/USB-IS...967931731.html

http://fr.aliexpress.com/item/New-Pr...610451320.html

http://fr.aliexpress.com/item/Free-s...619910814.html

J'ai installé le logiciel Atmel studio, puis j'ai simplement ouvert le code .c je me retrouve donc avec ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Code:
// Roman Toropov
// Termostat

char duty;
unsigned int temp2write;

void main() {

   DDB0_bit = 1;
   // duty = 0;
   PWM1_Init(_PWM1_FAST_MODE, _PWM1_PRESCALER_1, _PWM1_NON_INVERTED, 0);

 //--- Main loop
  do {
    //--- Perform temperature reading
    Ow_Reset(&PORTB, 2);                         // Onewire reset signal
    Ow_Write(&PORTB, 2, 0xCC);                   // Issue command SKIP_ROM
    Ow_Write(&PORTB, 2, 0x44);                   // Issue command CONVERT_T
    Delay_us(120);

    Ow_Reset(&PORTB, 2);
    Ow_Write(&PORTB, 2, 0xCC);                   // Issue command SKIP_ROM
    Ow_Write(&PORTB, 2, 0xBE);                   // Issue command READ_SCRATCHPAD

    temp2write =  Ow_Read(&PORTB, 2);
    temp2write = (Ow_Read(&PORTB, 2) << 8) + temp2write;

    //--- Format and display result on Lcd
  // if (temp2write & 0x8000) {
     // text[0] = '-';
     // temp2write = ~temp2write + 1;
     // }

  // Extract temp_whole
  temp2write = temp2write >> 4 ;

             // min duty 20  max 30
  // if ((temp2write < 46) && (temp2write > 35)) { duty = (temp2write - 35) * 12; }
  if (temp2write > 37) { duty = (temp2write - 37) * 5 + 20; }

  if (temp2write > 45) { duty = 255; }
  if (temp2write < 38) { duty = 0; }

  PWM1_Set_Duty(duty);

  Delay_ms(3000);

  } while (1);

}
Je souhaiterais avoir une broche qui lorsque la temperature et supérieur a une consigne max alors il permutte une broche de 0 a 5v ou de 5v a 0(possibilité de choisir le sens de consigne dans le code )
pendant un temps donné en seconde mais également un seuil de temperature de réarmement

exemple délais 30 sec temperature 27
si les 30 seconde sont atteint mes que le temperature dépasse toujours 27 alors il recommence le délais

Cela et il possible ? Je precise que je n y connais rien et que je me lance dans l aventure .

Merci de votre comprehension et pour vos explication .