Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Victor Teodoro

C++ queria converter esse programa de c++ para C

Recommended Posts

float Ts = 0.02;  // Time Sample => Tempo de amostragem
float kp = 0.000787669;
float ki = 0.0787669;
float kd = 0.0;

float termoP, termoI=0, termoD, termoI_ant=0;
float controle;
int aux;
float sp=1000,erro,vel,erro_ant;
int cont = 0;
boolean b2;

void setup()
{
  Serial.begin(9600);
  analogWrite(3,0);  // Pino 3 => PWM
  pinMode(2,INPUT);  // Funciona como um botão
  digitalWrite(2,1); // Encostamos o fio do pino 2 em algum lugar que tenha tensão
}                    // Por exemplo: a porta USB do Arduino (no nosso caso, foi o que fizemos)

void loop() 
{
  b2 = digitalRead(2);
  while(b2!=0)  b2 = digitalRead(2);

  while(cont<50) // Regime transitório 
  {
    Serial.println(analogRead(A2));
    cont++;
    delay(20);
  }

  while(cont<=500) // Regime permanente
  {
    vel = analogRead(A2);  // Valor analógico(correspondente à velocidade) antes da conversão => ("Valor analógico" é uma tensão)
    vel = vel*5/1023; // Conversão do valor analógico
    vel = (466.34*vel) - 5.25;  // Ajusta valor da velocidade de acordo com w(v)
    erro = sp - vel;
    erro_ant = erro;
    termoP = kp*erro;
    termoI = (ki*erro*Ts) + termoI_ant;
    termoI_ant = termoI;
    termoD = (erro - erro_ant)*kd*Ts;
    controle = termoP+termoI+termoD;
    if(controle>255)  controle=255;
    if(controle<0)    controle=0;
    aux = controle;
    analogWrite(3,aux);
    Serial.println(analogRead(A2));
    delay(20);
    cont++;  
  }

  while(1);
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Victor Teodoro     as linguagens c /c++ são praticamente iguais apenas que c++ tem alguns comandos a mais que a c, mas os comando desse seu código são todos da linguagem c mesmo, o que tem de diferente aí é esses comandos do arduíno tipo esse :

Serial.begin(9600);
analogWrite(3,0);  // Pino 3 => PWM
pinMode(2,INPUT);  // Funciona como um botão
digitalWrite(2,1); // Encostamos o fio do pino 2 em algum lugar que tenha tensão
Serial.println(analogRead(A2));
 vel = analogRead(A2);  // Valor analógico(correspondente à velocidade) antes da conversão => ("Valor analógico")

já de arduíno não sei  converter .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×