Π’Ρ…ΠΎΠ΄ Π‘Π»ΠΎΠ³
Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ Ρ€Π΅ΠΌΠΎΠ½Ρ‚
Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹
ΠšΡ€Π°ΡΠΎΡ‚Π°
ЀрилансСры
Π Π°Π·Π½Ρ‹Π΅ спСциалисты
Π’Ρ€Π΅Π½Π΅Ρ€Ρ‹
Π£Ρ…ΠΎΠ΄ Π·Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌΠΈ
Автоинструкторы

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² β€” удалённая Ρ€Π°Π±ΠΎΡ‚Π° Π² МосквС

Π”Π°Ρ‚Π°: 2023-12-11
Π”Π΅Ρ‚Π°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
Москва
Π—Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ
дистанционно
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ
договорная
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ
2023-12-11
ОписаниС
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: AVR ATMega. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток! НуТно ΠΏΠΎΠΌΠΎΡ‰ΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR. НуТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС C; Π½Π° АЦП PC0, PC1, PC2, PC3 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ATMEGA328P значСния напряТСния с Π΄Π²ΡƒΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π₯ΠΎΠ»Π»Π°. Они ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ частоту вращСния колСс ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ энкодСра. PC0 - напряТСниС, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ частоту вращСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ колСса, PC1 - напряТСниС, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вращСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ колСса. Π‘ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ PC2, PC3 аналогичная ситуация, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ колСса. Если напряТСниС, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π΅ Π·Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вращСния, большС напряТСния, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° частоту, Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ происходит Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ сторону. ΠžΠΏΠΎΡ€Π½ΠΎΠ΅ напряТСниС 2,5 Π’ΠΎΠ»ΡŒΡ‚. Максимальная частота 5 ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ² Π² сСкунду, минимальная - 0,1 ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π² сСкунду. PD0, PD1 Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ интСрфСйсу USART. ВсС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π½Π° ПК. Если с ПК ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 0Ρ…10 Ρ‚ΠΎ всС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’Π°ΠΊΠΆΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма с поразрядной инвСрсиСй (Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ 0Ρ…10 выполняСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°). НСобходимо ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ скорости ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ колСса. Если ΠΎΠ½ΠΈ крутятся Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ сторону (Ρ‚.Π΅. Π½Π° PC1, PC3 напряТСния большС, Ρ‡Π΅ΠΌ Π½Π° PC0, PC2), выставляСтся ΠΏΠ΅Ρ€Π΅Π΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ скорости Π·Π½Π°ΠΊ минус. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Free Running mode. Π”Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ с частотой 1 ΠΊΠ“Ρ† ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ сразу ΠΏΠΎ USART. ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ скорости ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ 2*pi*d*frequency, Π³Π΄Π΅ d - это Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ колСс (Ρ€Π°Π²Π΅Π½ 0,25). frequency - частота ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΎΡ‚ 0,1 Π΄ΠΎ 5. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… напряТСний Π½Π° АЦП ΠΎΡ‚ 1 Π΄ΠΎ 2,5 Π’. НСобходимо ввСсти Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, Π³Π΄Π΅ частота 0,1 - это 1 Π’, Π° частота 5 - 2,5 Π’. Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. #include // Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ опрСдСлСния Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° для устройства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ #include // Для доступа ΠΊ функциям Ρ†ΠΈΠΊΠ»Π° Π·Π°Π΄Π΅ΠΆΠΊΠΈ #include // Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с прСрываниями #define F_CPU 11059200UL // Вактовая частота ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° #define POLYNOMIAL 0x9B // ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ для CRC8 #define RX_NUM 4 // количСство ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² #define TX_NUM 4 // количСство ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² #define BUFMASKRX (RX_NUM-1) //Маски для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ индСксов ΠΊΠΎΠ»ΡŒΡ†Π΅Π²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² #define BUFMASKTX (TX_NUM-1) // Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ volatile uint16_t adc_values[4]; // массив для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ АЦП volatile uint32_t frequency[4]; // массив для хранСния частоты Π² Π“Ρ† void ADC_INIT() { ADCSRA |= (1 << ADEN); // Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ АЦП ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); // УстанавливаСм Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ 128 (частота прСобразования = 86,4 ΠΊΠ“Ρ†) ADCSRA |= (1 << ADATE); // УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ автоматичСского скачка ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ ADCSRA |= (1 << ADIE); // Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСрывания для АЦП DDRC = &= ~(1 << 0) | ~(1 << 1) | ~(1 << 2) | ~(1 << 3); // PC0, PC1, PC2, PC3 Π½Π° Π²Ρ…ΠΎΠ΄ PORTC |= (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3); // Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов для Π²Ρ…ΠΎΠ΄ΠΎΠ² PC0, PC1, PC2, PC3 } void USART_INIT(unsigned int UBRR) { UBRR0H = (unsigned char) (UBRR >> 8); // УстанавливаСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ 57600 Π±ΠΎΠ΄ UBRR0L = (unsigned char) UBRR; UCSR0B |= (1 << TXEN0) | (1 << RXEN0); // Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ UCSR0B |= (1 << RXCIE0); // Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ UCSR0C |= (1 << UCSZ01) | (1 << UCSZ00) | (1 << UMSEL00); // УстанавливаСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°Π΄Ρ€Π°: 8 Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, 1 стоп-Π±ΠΈΡ‚ DDRD |= (1 << 1); // Tx Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ DDRD &= ~(1 << 0); // Rx Π½Π° Π²Ρ…ΠΎΠ΄ UBRR0H = 0; UBRR0L = 11; } void USART_Transmit(uint32_t frequency) { // ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°, основанная Π½Π° опросС Ρ„Π»Π°Π³Π° рСгистра UDRE while (!(UCSR0A & (1 << UDRE0))); // Π–Π΄Π΅ΠΌ окончания ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ UDR0 = frequency; // ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ } unsigned char USART_Receive(void) { // ΠŸΡ€ΠΈΠ΅ΠΌ, основанный Π½Π° опросС Ρ„Π»Π°Π³Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ΅ΠΌΠ° RXC while (!(UCSR0A & (1 << RXC0))); // Π–Π΄Π΅ΠΌ окончания ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ° return UDR0; // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ принятыС Π΄Π°Π½Π½Ρ‹Π΅ } ISR(ADC_vect) { ADMUX &= ~(1 << MUX3) | ~(1 << MUX2) | ~(1 << MUX1) | ~(1 << MUX0); // Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ°Π½Π°Π»Ρ‹ АЦП для опроса (PC0, PC1, PC2, PC3) ADCSRA |= (1 << ADSC); // Начало прСобразования АЦП uint8_t adc = ADCL; static uint8_t channel = 0; adc_values[channel] = adc; // Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ АЦП static char frequency[channel] = adc_values[channel] * 0.3; // Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ напряТСния Π½Π° константу для получСния частоты вращСния колСса channel++; // ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°Π½Π°Π» if (channel > 3) { channel = 0; } } ISR(USART0_RX_vect) { // Π‘ΡƒΡ„Π΅Ρ€ ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ Π΅Π³ΠΎ индСксы: char bufRx[RX_NUM]; // Π±ΡƒΡ„Π΅Ρ€ ΠΏΡ€ΠΈΠ΅ΠΌΠ° unsigned char rxIn, rxOut; char bufTx[TX_NUM]; // Π±ΡƒΡ„Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ unsigned char txIn, txOut; bufRX[rxIn++] = UDR0; // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ прСрывания ΠΏΡ€ΠΈΠ΅ΠΌΠ° USART rxIn &= BUFMASKRX; } static void handlerTXUSART (void) // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ USART { if((txIn != txOut) && (UCSR0A & (1 << UDRE0))) { UDR0 = bufTX[txOut++]; txOut &= BUFMASKTX; } } uint8_t calculateCRC8(uint8_t* data, uint8_t length) { uint8_t crc = 0xFF; // Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CRC8 uint8_t i, j; for (i = 0; i < length; i++) { crc ^= data[i]; // XOR с Π±Π°ΠΉΡ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… for (j = 0; j < 8; j++) { if (crc & 0x80) crc = (crc << 1) ^ POLYNOMIAL; // сдвиг ΠΈ XOR с ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠΌ else crc <<= 1; // просто сдвиг Π²Π»Π΅Π²ΠΎ } } return ~crc; // поразрядная инвСрсия } int main(void) { ADC_INIT(); USART_INIT(); sei(); // глобально Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ прСрывания uint8_t command = 0x10; while(1){ USART_Transmit(frequency[0]); USART_Transmit(frequency[1]); USART_Transmit(frequency[2]); USART_Transmit(frequency[3]); uint8_t data[] = UDR0; uint8_t crc = calculateCRC8(&command, 1); crc = calculateCRC8(data, sizeof(data)); USART_Transmit(crc); handlerTXUSART(); } return 0; }.
ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: AVR ATMega. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π”ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±Ρ€Π°Ρ‚Π° Π½Π° arduino ΠΌΠ΅Ρ‚Π΅ΠΎ станция.
Москва ЀрилансСры

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
Для сСбя
Москва Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ESP8266. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠΌΠ°ΡˆΠΈΠ½ΠΊΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ€ΡƒΠ»ΡŒ T300,ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ.
Π›ΠΈΠΏΠ΅Ρ†ΠΊ ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: Чистка систСмного Π±Π»ΠΎΠΊΠ°. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° систСмного Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ST elecrtonics STM32x, ΠΏΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ спСциалиста. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: CAN ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ. ΠžΠΏΠΈΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ простым языком ИмССм Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ CHERY TIGGO 7 1.5 Ρ‚ΡƒΡ€Π±ΠΎ с Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠΌ CVT 25 Π― ΡƒΠ΄Π°Π»ΡΡŽ ΠΈΠ· ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΎΡ€ ΠΈ ΡΡ‚Π°Π²Π»ΡŽ Π² ΠΌΠ°ΡˆΠΈΠ½Ρƒ АКПП TF70SC с заводским Π±Π»ΠΎΠΊΠΎΠΌ управлСния. Акпп с can ΠΎΠΌ с автомобиля ΠŸΠ•Π–Πž Π‘Π˜Π’Π ΠžΠ•Π Π—Π°Π΄Π°Ρ‡Π° Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ совмСстит всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ присутствия Π°ΠΊΠΏΠΏ ΠΊΠ°ΠΊ Ρ€ΠΎΠ΄Π½ΠΎΠΉ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ , Ρ‚ΠΈΠΏ Ρ‚Ρ€ΠΎΠ½ΠΈΠΊ ABS ESP ΠΈ Ρ‚Π΄ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ошибок ΠΈ Ρ‡Π΅ΠΊΠΎΠ² Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠŸΡ€Π΅Π΄ΠΎΠΏΠ»Π°Ρ‚ Π½Π΅ дСлаю Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚. ΠžΠΏΠ»Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ тСстирования Π½Π° Ρ‚Ρ€Π΅Ρ… автомобилях. ЕстСствСнно Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π‘ΡƒΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² этом ΠΆΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ поэтому это выполнимая Π·Π°Π΄Π°Ρ‡Π°. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ. Π‘Ρ€Π°Π·Ρƒ Π³ΠΎΠ²ΠΎΡ€ΡŽ Ρ‡Ρ‚ΠΎ просто ΡΠ½ΡΡ‚ΡŒ can Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ получится. ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ свои возмоТности ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ .
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ST elecrtonics STM32x, ΠΏΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ спСциалиста, AVR ATMega. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Научится ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° языкС C C++. ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° языкС C C++.
Москва ЀрилансСры

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

Π±Π΅Π· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹
договорная
Для Ρ€Π°Π±ΠΎΡ‚Ρ‹
Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹