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:// 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 pendant un temps donné en seconde
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 .
-----