Você está aqui: C ::: C para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos

Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando C

Quantidade de visualizações: 3098 vezes
Nesta dica mostrarei como é possível usar operações básicas da linguagem C para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua.

É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados.

Vanos começar analisando a seguinte imagem:



Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10Ω, 20Ω e 30Ω).

Vamos começar relembrando os aspectos importantes dos circuitos em série:

1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito.

2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação.

3) A resistência elétrica R (medida em ohms (Ω)) total do circuito é igual à soma de todas as resistências das cargas.

4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito.

Vamos escrever um pouco de código então? Veja nosso primeiro código C que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>  
   
int main(int argc, char *argv[])
{
  setlocale(LC_ALL,""); // para acentos do português
     
  // Tensão total do circuito em série
  double e_total = 90.0;
 
  // Resitência total
  double resist1 = 10.0;
  double resist2 = 20.0;
  double resist3 = 30.0;
  double r_total = resist1 + resist2 + resist3;
    
  // Corrente elétrica total
  double i_total = e_total / r_total;
    
  // Potência elétrica total
  double p_total = e_total * i_total;
	  
  // mostra os valores
  printf("Tensão total: %.2f\n", e_total);
  printf("Resistência total: %.2f\n", r_total);
  printf("Corrente total: %.2f\n", i_total);
  printf("Potência total: %.2f\n", p_total);
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Tensão total: 90,00
Resistência total: 60,00
Corrente total: 1,50
Potência total: 135,00

Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código C que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>  
   
int main(int argc, char *argv[])
{
  setlocale(LC_ALL,""); // para acentos do português
     
  // Tensão total do circuito em série
  double e_total = 90.0;
 
  // Resitência total
  double resist1 = 10.0;
  double resist2 = 20.0;
  double resist3 = 30.0;
  double r_total = resist1 + resist2 + resist3;
    
  // Corrente elétrica total
  double i_total = e_total / r_total;
    
  // Potência elétrica total
  double p_total = e_total * i_total;
	  
  // mostra os valores
  printf("Tensão total: %.2f\n", e_total);
  printf("Resistência total: %.2f\n", r_total);
  printf("Corrente total: %.2f\n", i_total);
  printf("Potência total: %.2f\n", p_total);
  
  // mostra as tensões nos resistores
  printf("\nTensão nos resistores individuais:\n");
  double e1 = resist1 * i_total;
  double e2 = resist2 * i_total;
  double e3 = resist3 * i_total;
    
  printf("Tensão no Resistor 1: %.2fV\n", e1);
  printf("Tensão no Resistor 2: %.2fV\n", e2);
  printf("Tensão no Resistor 3: %.2fV\n", e3);  
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Tensão total: 90,00
Resistência total: 60,00
Corrente total: 1,50
Potência total: 135,00

Tensão nos resistores individuais:
Tensão no Resistor 1: 15,00V
Tensão no Resistor 2: 30,00V
Tensão no Resistor 3: 45,00V

Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>  
   
int main(int argc, char *argv[])
{
  setlocale(LC_ALL,""); // para acentos do português
     
  // Tensão total do circuito em série
  double e_total = 90.0;
 
  // Resitência total
  double resist1 = 10.0;
  double resist2 = 20.0;
  double resist3 = 30.0;
  double r_total = resist1 + resist2 + resist3;
    
  // Corrente elétrica total
  double i_total = e_total / r_total;
    
  // Potência elétrica total
  double p_total = e_total * i_total;
	  
  // mostra os valores
  printf("Tensão total: %.2f\n", e_total);
  printf("Resistência total: %.2f\n", r_total);
  printf("Corrente total: %.2f\n", i_total);
  printf("Potência total: %.2f\n", p_total);
  
  // mostra as tensões nos resistores
  printf("\nTensão nos resistores individuais:\n");
  double e1 = resist1 * i_total;
  double e2 = resist2 * i_total;
  double e3 = resist3 * i_total;
    
  printf("Tensão no Resistor 1: %.2fV\n", e1);
  printf("Tensão no Resistor 2: %.2fV\n", e2);
  printf("Tensão no Resistor 3: %.2fV\n", e3);
	
  // mostra as potências dissapadas nos resistores
  printf("\nPotência dissipada nos resistores individuais:\n");
  double p1 = e1 * i_total; // Potência = Tensão x Corrente
  double p2 = e2 * i_total;
  double p3 = e3 * i_total;
    
  printf("Potência no Resistor 1: %.2fW\n", p1);
  printf("Potência no Resistor 2: %.2fW\n", p2);
  printf("Potência no Resistor 3: %.2fW\n", p3);  
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Tensão total: 90,00
Resistência total: 60,00
Corrente total: 1,50
Potência total: 135,00

Tensão nos resistores individuais:
Tensão no Resistor 1: 15,00V
Tensão no Resistor 2: 30,00V
Tensão no Resistor 3: 45,00V

Potência dissipada nos resistores individuais:
Potência no Resistor 1: 22,50W
Potência no Resistor 2: 45,00W
Potência no Resistor 3: 67,50W

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Arquivos e Diretórios

Como abrir ou criar arquivos em C usando a função fopen()

Quantidade de visualizações: 66289 vezes
Há muitas situações nas quais precisamos ler ou gravar dados em arquivos a partir de nossos programas C. O primeiro passo para esta tarefa é aprender a usar a função fopen(). Esta função é a responsável por conectar um ponteiro de arquivos ao arquivo que queremos manipular. Veja sua assinatura:

FILE *fopen(const char *nome, const char *modo);


O parâmetro nome é uma string que indica o nome do arquivo a ser aberto ou criado. O parâmetro modo indica se o arquivo será aberto para leitura, escrita ou ambos.

Antes de continuarmos, veja um trecho de código que tenta abrir um arquivo chamado "testes.txt" localizado no diretório "c:\":

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  FILE *arquivo = fopen("c:\\testes.txt", "r");

  // testa se o arquivo foi aberto com sucesso
  if(arquivo != NULL)
    printf("Arquivo foi aberto com sucesso.");
  else
    printf("Nao foi possivel abrir o arquivo.");

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Veja que a primeira linha declara um ponteiro para a estrutura FILE e atribui a este ponteiro o resultado de uma chamada à função fopen(). Se o arquivo for aberto com sucesso, poderemos manipulá-lo a partir do ponteiro *arquivo. Do contrário, o valor NULL será retornado.

A linguagem C padrão permite a definição dos seguintes modos de abertura de arquivos:

a - abre um arquivo para inserção. Se o arquivo não existir, o sistema operacional tentará criá-lo.

r - abre um arquivo existente para leitura.

w - abre um arquivo para escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo.

r+ - abre um arquivo existente para leitura e gravação.

w+ - abre um arquivo para leitura e escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo.

a+ - abre um arquivo para inserção e leitura. Se o arquivo não existir, o sistema operacional tentará criá-lo.


C ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número usando a linguagem C

Quantidade de visualizações: 47866 vezes
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:



Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125.

O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
 
// função recursiva que calcula a potência  de
// um inteiro
int potencia(int base, int expoente)
{
  if(expoente == 0){
    return 1;
  }
  else{
    return base * potencia(base, expoente - 1);
  }
}
 
int main(int argc, char *argv[])
{
  int base = 3;
  int expoente = 4;
 
  printf("%d elevado a %d = %d", base, expoente,
    potencia(base, expoente));
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

3 elevado a 4 = 81


C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de C - Um método recursivo que conta de 10 até 0

Quantidade de visualizações: 775 vezes
Pergunta/Tarefa:

Escreva um método recursivo em C que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura:

void contar_recursivamente(int n){
  // sua implementação aqui
}
Veja que o método deverá receber o valor 10 e efetuar novas chamadas a si mesmo até que os valores de 10 até 0 sejam exibidos. O ponto de parada da recursividade é a exibição do valor 0.

Sua saída deverá ser parecida com:

10
9
8
7
6
5
4
3
2
1
0
Resposta/Solução:

Veja a resolução comentada deste exercício usando C console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>   
   
// função recursiva que conta de 10 até 0;
void contar_recursivamente(int n){
  // vamos exibir o número atual
  printf("%d\n", n);
	
  // devemos prosseguir com a recursividade?
  if(n > 0){
    // decrementa o valor de n
    n--;  
    contar_recursivamente(n); // e faz uma nova chamada recursiva
  }
}
   
int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português
	
  // efetua uma chamada ao método recursivo fornecendo 
  // o primeiro valor
  contar_recursivamente(10);
	
  printf("\n\n");
  system("pause");
  return 0;
}



Vamos testar seus conhecimentos em Java

Analise o seguinte código Java

double a = 0.0 / 0;
System.out.println(a);

Qual é o resultado de sua execução?

A) Infinity

B) NaN

C) Uma exceção java.lang.ArithmeticException: / by zero

D) 0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Levantamento topográfico no Civil 3D

É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente.

Estamos falando da ferramenta:

A) Point Groups

B) Aba Survey do Prospector

C) Survey Point

D) Survey Database
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrostática

Qual a massa, em quilograma, de um cubo maciço de lado igual a 5 cm que é fabricado de um material com massa específica de 11,3 g/cm3?

A) 1,4125 kg

B) 2,8250 kg

C) 4,2375 kg

D) 5,6500 kg

E) 7,0625 kg
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

Os engenheiros são profissionais responsáveis por criar soluções para situações do dia a dia que, de certa forma, pareciam impossíveis. Eles otimizaram as formas de transporte, de construção e, principalmente, de produção das indústrias. Diante dessas inovações, é comum que esses profissionais enfrentem situações éticas em que precisem decidir se avançam ou não com tais projetos.

Quanto ao conceito de ética na engenharia, é correto afirmar que:

A) A ética na engenharia é um aspecto que deve ser considerado em segundo lugar ante os benefícios que pode trazer à humanidade.

B) A ética engloba a avaliação racional de ganhos e riscos, definindo as responsabilidades individuais durante a execução de um projeto.

C) A ética engloba a avaliação social dos riscos e das responsabilidades coletivas durante a execução de um projeto.

D) A ética é um conceito que não se aplica à engenharia, somente à medicina, por esta área tratar diretamente da vida de um indivíduo.

E) A ética somente diz respeito à engenharia, pois as descobertas realizadas por tal área englobam um grande número de pessoas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Vazão de projeto

O escoamento livre em condutos é caracterizado por ter uma superfície livre, cuja pressão atuante é a pressão atmosférica.

Considere o dimensionamento de um canal de drenagem em terra com vegetação rasteira nos taludes e fundo, possui: taludes 2H: 1V e declividade de fundo (So) de 20cm/km. Ele foi dimensionado para uma determinada vazão de projeto Q, tendo chegado a uma seção com largura de fundo (b) igual a 1,5m e altura da lâmina de água (yo) 1,30m. Determine qual a vazão Q do projeto e indique se a seção é de mínimo perímetro molhado.

Dados: 0,025 (cobertura vegetal rasteira).

A) Vazão de projeto de 2,45m3/s e satisfaz a condição de mínimo perímetro molhado.

B) Vazão de projeto de 2,72m3/s e satisfaz a condição de mínimo perímetro molhado.

C) Vazão de projeto de 3,94m3/s e satisfaz a condição de mínimo perímetro molhado.

D) Vazão de projeto de 3,54m3/s e não satisfaz a condição de mínimo perímetro molhado.

E) Vazão de projeto de 2,99m3/s e não satisfaz a condição de mínimo perímetro molhado.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 27 usuários muito felizes estudando em nosso site.