Bom dia garagistas, 

Estava meio sumido do LdG por motivo particulares, mais sempre que possível, entrava e via os post dos garagistas.

Seguinte:

Fiz uma impressora 3D, está funcionando que uma maravilha, já organizei as ferramentas do meu laboratório e no momento estou fazendo um agitador de percloreto, o qual utiliza um micro controlador e um servo motor de rotação contínua.

O código foi pego de um vídeo do Wagner Rambo da WR Kits (http://www.youtube.com/watch?v=wXGAbordDqs&t=330s). O sketch está funcional no meu arduino UNO, mais quando tento compilar para o Attiny85 dá erro (estou sem reserva de atmega328, motivo pelo qual utilizarei o attiny85). 

Como foi dito, o sketch utiliza uma porta PWM e uma digital apenas, (pelo que li, o attiny85 possui 6 IO sendo 2 delas PWM) fisicamente atenderia e ainda sobrariam algumas portas. O sketch usa 2186 bytes (2,1Kb), sendo que o attiny 85 possui 8Kb de memória. 

Consegui com muito custo, alguma literatura e uns vídeos, gravar o bootloader (com o clock interno de 8Mhz) e compilar o blink no attiny85, utilizando o Arduino como ISP. 

O erro que está dando é de memória ??? Está dizendo que não está declarado  no escopo ?? Será que o Attiny não suportaria oo sketch ? 

Arduino: 1.8.7 (Windows 10), Placa:"ATtiny25/45/85, ATtiny85, Internal 8 MHz"

C:\Users\jose_\OneDrive\Desktop\usCom115_wr_files\usCom_servo360\usCom_servo360.ino: In function 'void setup()':

usCom_servo360:51:3: error: 'TCCR1B' was not declared in this scope

TCCR1B = 0x1A;

^

usCom_servo360:52:3: error: 'ICR1' was not declared in this scope

ICR1 = 2.0E6 * period;

^

exit status 1
'TCCR1B' was not declared in this scope

Em anexo o sketch.

Exibições: 247

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

  

Anexos

Bom dia JAN,

O Atiny85 não tem o registrador TCCR1B.

Por isto o erro.

RV

Bom dia meu grande amigo,

então quer dizer que não poderei utilizar o bixim ? 

Vai poder sim, mas " teremos" que modificar o sketch.

Vou estudar o seu sketch pra entender como ele funfa.

RV

Que maravilha,

já estava pensando em comprar um atmega328 amanhã. 

Obrigado RV

JAN.

O que o Atiny precisa fazer?

RV

RV

Controlar a velocidade do servo (0 a 1023) através de um potenciometro,

Estou tentando aqui, 

tenho alguns exemplos vou tentar 

é chato este pequininho, tentei este sketch e retornou esta mensagem:

Arduino: 1.8.7 (Windows 10), Placa:"ATtiny25/45/85, ATtiny85, Internal 8 MHz"

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp: In function 'void __vector_3()':

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp:82:44: error: cannot convert 'volatile uint8_t* {aka volatile unsigned char*}' to 'volatile uint16_t* {aka volatile unsigned int*}' for argument '2' to 'void handle_interrupts(timer16_Sequence_t, volatile uint16_t*, volatile uint16_t*)'

handle_interrupts(_timer1, &TCNT1, &OCR1A);

^

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp: In function 'void initISR(timer16_Sequence_t)':

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp:129:5: error: 'TCCR1B' was not declared in this scope

TCCR1B = _BV(CS11); // set prescaler of 8

^

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp:136:5: error: 'TIFR1' was not declared in this scope

TIFR1 |= _BV(OCF1A); // clear any pending interrupts;

^

C:\arduino-1.8.7\libraries\Servo\src\avr\Servo.cpp:137:5: error: 'TIMSK1' was not declared in this scope

TIMSK1 |= _BV(OCIE1A) ; // enable the output compare interrupt

^

exit status 1
Erro compilando para a placa ATtiny25/45/85

Este relatório teria mais informações com
"Mostrar a saida detalhada durante a compilação"
opção pode ser ativada em "Arquivo -> Preferências"

Vamos escrever um sketch para atiny85.

Testa este é depois conta o resultado.

ServoAtiny85.ino

RV

Boa tarde RV,

está dando um erro na compilação:

ServoAtiny85:17:18: error: expected primary-expression before ',' token

pinMode(pwm_out, OUTPUT);

^

C:\Users\jose_\Downloads\ServoAtiny85\ServoAtiny85.ino: In function 'void loop()':

ServoAtiny85:26:23: error: expected primary-expression before ',' token

analogWrite(pwm_out, duty);

Testa este, veja se compila.

Aqui onde estou não tenho como compilar nada.

ServoAtiny85_2.ino

RV

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço