Modification/ programmation attiny13
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:
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 .