Sem categoria
Elementos de Eletrônica

Prof. André

Indutor , bobina ou Solenóide

L = N (A0/Ai) H

Onde: n de espiras

A0 = variacao de fluxo

A1 = variação de corrente

L = (u .N^2 A)/l

Onde:

u = permeabilidade magnetica [Tm/A]

A = area de secao transversal [m]

l = comprimento [m]

Oposição a passagem da corrente na bobina.

Xl= WL = 2PifL [ohm]

Xl Reatancia indutiva.

Exemplo 1 : Na figura abaixo: Determine a indutancia L da bobina. Sabendo-se u = 4Pi.10^-7 {T.m/A]; N= 100 espiras.

l=100mm

d = 4mm

L=( u.N^2 .A )/l

Associação de indutores

a) Serie:

Lt= L1+L2+…+Ln

b) Paralelo:

1/Lt = 1/L1 + 1/L2 + … + 1/Ln

Capacitor: É o elemento que armazena energia eletrica em um campo eletrico. Possui 2 placas condutoras e um campo eletrico) entre elas.

Simbolo

C = Q ?U [F]

onde : Q = Carga Eletrica [C], Coulomb

U = tensão [V]

C= (E.A)d [F]

Onde : E0= Permissividade dieletrica [F/m]

A = Area das placas[m^2]

d= distancia[m]

Tipos

a) corrente continua -> eletrolitico (polaridade)

b) C.A => Ceramico -> XXXX

=Poliester

1st 1 arg dezeba

1st 2 argumeno unidade

3 quantidade de zero (pf)

-Comportamento do capacitor em cc

Constante de tempo do circuito é T=r.c {s]

Obs: Para o capacitor carregar-se totalmente é necessario um t=5Pi

Vc = V0 (1-e^(-t/Pi)) (V)

V0 => tensao da fonte (V)

B) Descarga

Pi= R.C

Vc=V0*e ^(-t/r) [v]

Exemplo: No circuito abaixo A chave 1 fica fechada e ch2 aberta durante 30 segundos.

Tomando-se que o capacitor inicialmente esta descarregado. Determine:

a) A tensão no capacitor quando a chave 1abrir depois de 30 segundos.

b) A tensão no capacitor 10 segundos apos abrir chave 1 e cfechar chave 2.

Sem categoria
CMU Sphinx – Exemplo no Windows

Atenção este artigo esta sendo escrito e poderá ser modificado.

No ultimo artigo, escrevi um artigo de como compilar o cmu sphinx no windows.

Neste artigo irei trabalhar com voces para escrever um código para reconhecer texto no windows.

Escrevendo o código em Visual Studio.

Para quem perdeu os últimos posts sobre esse assunto segue os links:

  • Instalando Sphinx no Windows
    Em artigos anteriores eu apresentei o uso e instalação do CMU Sphinx no Linux. Neste artigo irei retratar a instalação no windows. Primeiro baixe o projeto CMU Sphinx do git: O git do projeto: https://github.com/cmusphinx/sphinxtrain Em seguida instale o Visual Studio 2020 Express: https://visualstudio.microsoft.com/pt-br/vs/express/ Após a instalação, entre no visual studio e abra o projeto… Read more: Instalando Sphinx no Windows
  • Reconhecimento de voz – primeiros passos
    Iremos falar do processo de instalação do SpeechRecognition. https://pypi.org/project/SpeechRecognition/ Que permite reconhecer voz e converter para texto, utilizando o google e outros métodos como o CMU Speech. Instalação no ubuntu: Irei abordar todos estes processos em outros artigos. Porem neste vamos preparar o ambiente para o uso em python. Por enquanto é só. Nos próximos… Read more: Reconhecimento de voz – primeiros passos
  • Sphinx reconhecimento de audio gravado
    Para este experimento iremos utilizar o seguinte texto: https://www.nasa.gov/mp3/586447main_JFKwechoosemoonspeech.mp3 Trata-se do famoso discurso de J.F. Kenedy, sobre a necessidade de ir a lua. A transcrição do audio, pode ser vista neste link. JFK RICE MOON SPEECH (nasa.gov) Preparação do Arquivo Primeiramente precisamos converter o texto em wav. ffmpeg -i 586447main_JFKwechoosemoonspeech.mp3 -ar 16000 -ac -1 jfk.wav… Read more: Sphinx reconhecimento de audio gravado
  • CMU Sphinx
    Temos visto uma crescente de IoT desenvolvidos especificamente para reconhecer comandos de seu dono, tais dispositivos, como Alexa ou o Google Home, tem se tornado, bem popular. Iremos neste artigo, aprender a criar nosso próprio google home. O que é o CMU Sphinx CMU Sphinx é uma api de reconhecimento de voz. Ela é bastante… Read more: CMU Sphinx
  • Montagem de código em C com Ninja
    Definição Ninja é um pequeno conjunto de ferramentas, desenvolvido por Evan Martin, um empregado da Google. Ninja foi usado em diversas construções de aplicações. Entre suas vantagens estão a facilidade de montagem de aplicação, a velocidade e rapidez. Outra vantagem é a capacidade de construir aplicações em multiplos SOs. (Windows, Linux, MacOS). Referência: https://en.wikipedia.org/wiki/Ninja_(build_system) Construção… Read more: Montagem de código em C com Ninja

GIT

Para aqueles que querem o projeto já pronto, segue o git

https://github.com/marcelomaurin/cmusphinxwin

Agora usaremos o nome hello, para o nosso primeiro programa.

Neste momento , voce deve conseguir compilar um hello world.

Agora iremos começar a trabalhar.

Primeiramente iremos incluir as dll do sphinx. As DLLs estão no projeto que compilamos o sphinx.

No nosso projeto hello, crie uma pasta libs, e adicione a dll copiada.

Iremos adicionar agora a lib ao nosso projeto

Arraste a DLL para o Gerenciador de Soluções > hello.

Irá ser incluída a dll ao projeto.

Copie os includes do sphinxbase, para o projeto hello, e adicione na pagina de propriedades do hello, na aba c/c++> Geral > Diretórios de Inclusão Adicionais.

OPENCV
OpenCV com Windows

Até agora, sempre que apresentei um projeto em OpenCV o fiz no linux.

Para aqueles que perderam as referencias dos meus projetos em OpenCV, segue uma lista bem resumida:

Porque fazer no Windows

Agora irei faze-lo no Windows usando o Visual Studio.

Isso se dá porque geralmente eu prefiro o Linux ao Windows para desenvolvimento. A escolha é pessoal, e foi um hábito adquirido, no passar dos anos, pois o Linux, em minha opinião, oferece uma oportunidade maior de crescimento profissional. No que tange aprendizado de baixo nível.

Porem sem querer entrar nas questões de plataforma, há também necessidade, vez ou outra, usar o windows para desenvolvimento.

E para ser sincero, muitas vezes me sinto desconfortável, até pela falta de prática do uso desta plataforma.

Instalando o OPENCV no Windows

Porem para chegar nesse ponto, irei apresentar alguns artigos, que devem ser necessários para este fim.

O primeiro é a instalação do OpenCV e sua respectiva configuração no ambiente windows.

Primeiramente vamos baixar o opencv no site:

https://opencv.org/
Site do OpenCV

Baixe a ultima versão desta lib.

De forma geral ao tentar instalar, ele compacta na pasta: C:\Users\marce\Downloads

Eu costumo mover ele para o raiz do D:\ , no caso, caso não use um segundo disco, faça em seu c:\

Pronto a instalação do OpenCV foi realizada.

Preparando ambiente Visual Studio

Agora vou criar uma pasta VS, dentro do meu D:\opencv\

O C precisa de duas coisas para funcionar, se tratando de bibliotecas, includes e libs.

  • Includes são os cabeçalhos das funções.
  • Libs são os binários (DLLs)

Copiando a pasta include, já marcada acima, dentro do VS.

No caminho D:\opencv\build\x64\vc16 ou equivalente, pois o build contem os arquivos pré compilados, onde no meu caso irei utilizar a plataforma win 64 bits, por isso o X64. Copiarei as pastas bin e lib da pasta, para o VS, conforme mostrado a seguir:

Agora precisamos incluir o caminho completo do bin, nas variáveis de ambiente:

Criando Hello World

Agora vamos dar inicio a criação do projeto no visual studio.

Entre no Visual Studio e crie um projeto.

Agora, selecionamos o tipo de projeto:

Como o visual studio tem muitos templates, é mais fácil pesquisar c++ na aba de pesquisa, e selecionar Projeto Vazio, conforme figura acima.

Digite o nome Hello World no Nome do projeto, conforme apresentado, e o local, indique a sua pasta de projeto. Por fim click no botão CRIAR.

Va na aba de gerenciador de Soluções, e click com botão direito no nome do projeto. Selecione NEW > Novo Item.

Mude para main.cpp e pressione adicionar.

Agora, iremos mudar o projeto, para incluir os locais que criamos no opencv.

Em PROJETO > Pagina de Propriedades, conforme figura abaixo:

Abra a aba C/C++, localize Diretórios de Inclusão Adicionais, incluindo o seguinte item:

Inclua a pasta do include.

Agora vamos adicionar a lib.

Em GERAL > Vinculador , Diretórios de Biblioteca Adicionais

Inclua o a pasta D:\opencv\VS\lib

Agora iremos mostrar qual a lib que será adicionada.

A lib que iremos usar para debug, é opencv_world480d.lib.

Para isso vamos em Propriendades de Configuração > Vinculador > Entrada > Dependências Adicionais.

Pronto agora vamos ao código.

Inclusão do fonte:

Iremos usar o fonte que apontamos no artigo anterior, com uma pequena modificação.


#include <opencv2/opencv.hpp>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace cv;
using namespace std;

int main(int, char**)
{
    Mat frame;
    //--- INITIALIZE VIDEOCAPTURE
    VideoCapture cap;
    // open the default camera using default API
    //cap.open(0);
    // OR advance usage: select any API backend
    int deviceID = 0;             // 0 = open default camera
    int apiID = cv::CAP_ANY;      // 0 = autodetect default API
    // open selected camera using selected API
    cap.open(deviceID, apiID);
    // check if we succeeded
    if (!cap.isOpened()) {
        cerr << "ERROR! Unable to open camera\n";
        return -1;
    }

    //--- GRAB AND WRITE LOOP
    cout << "Start grabbing" << endl
        << "Press any key to terminate" << endl;
    for (;;)
    {
        // wait for a new frame from camera and store it into 'frame'
        cap.read(frame);
        // check if we succeeded
        if (frame.empty()) {
            cerr << "ERROR! blank frame grabbed\n";
            break;
        }
        // show live and wait for a key with timeout long enough to show images
        imshow("Live", frame);
        if (waitKey(5) >= 0)
            break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}

Salve o programa, e como de praxe para o windows, reinicie o visual studio, para validar as modificações do ambiente.

Agora é só rodar o OpenCV e pronto.

Por fim para aqueles que quiserem, segue o github:

https://github.com/marcelomaurin/opencvwin

cmusphinx IA Python Reconhecimento de Voz
Instalando Sphinx no Windows

Em artigos anteriores eu apresentei o uso e instalação do CMU Sphinx no Linux.

Neste artigo irei retratar a instalação no windows.

Primeiro baixe o projeto CMU Sphinx do git:

O git do projeto:

https://github.com/cmusphinx/sphinxtrain

Em seguida instale o Visual Studio 2020 Express:

https://visualstudio.microsoft.com/pt-br/vs/express/

Após a instalação, entre no visual studio e abra o projeto sphinxbase, localizado na raiz do projeto.

Agora, já com o projeto do visual studio aberto, compile o sphinx.

Agora é só aguardar a finalização.

Agora é pegar a versão na pasta.

Lembre-se que vc tem as duas opções de compilação DEBUG e RELEASE, em produção sempre compile em RELEASE.

Pronto, agora é só usar, como apresentado na serie de artigos anteriores.

cmusphinx IA Python Reconhecimento de Voz robotinics srvOuve
Reconhecimento de voz – primeiros passos

Iremos falar do processo de instalação do SpeechRecognition.

https://pypi.org/project/SpeechRecognition/

Que permite reconhecer voz e converter para texto, utilizando o google e outros métodos como o CMU Speech.

Instalação no ubuntu:

sudo apt-get install -y portaudio19-dev

sudo apt-get install python3-pyaudio

# pip3 install pyaudio #pode ser usado esse tambem

pip3 install SpeechRecognition

Irei abordar todos estes processos em outros artigos.

Porem neste vamos preparar o ambiente para o uso em python.

Por enquanto é só.

Nos próximos artigos, irei mostrar um pouco mais dos fontes e projetos adjacentes.

IA
Instalando drivers do NEO4J no Python

O procedimento a seguir, mostra como rodar o NEO4J no Python.

Para facilitar um pouco nosso ambiente iremos utilizar o ANACONDA/JUPYTER NOTEBOOK

Primeiro crie uma pasta NEO4J no JUPYTER NOTEBOOK.

Agora, crie uma aplicação Notebook.

E digite:

pip3 install neo4j

IA
Instalação NEO4J

Neo4J é um banco de dados baseado em grafos.

Com ele é possível montar relações baseadas em suas ligações.

Baixando a versão DESKTOP

Entre no site:

https://neo4j.com/

Faça seu cadastro e copie o seu token

Ao finalizar o download, começe instalando o mesmo, preenchendo os dados cadastrais.

Quando solicitado, copie o NEO4J Activation Key.

Por fim , aguarde a finalização da instalação.

IA Python
SPACY – MATCHER

O matcher é um módulo do SPACY destinado a encontrar padrões.

Um exemplo de código:

from spacy.matcher import Matcher

mat = Matcher(nlp.vocab)

padrao =[{"ORTH":"("},"SHAPE":"dd"},{"ORTH":")"},{"ORTH":"-","OP":"?"},{"IS_DIGIT":True})

doc= nlp("Meu telefone é (16) 981434112")

matches= matcher(doc)

for match_id, start, end in mat:
   print(doc[start:end])

Tabela dos padrões do MATCHER

  • ORTH, TEXT – Texto exato
  • LOWER – Forma minuscula
  • LENGTH – Tamanho do texto
  • IS_ALPHA – É caracter
  • IS_ASCII – É ascii
  • IS_DIGIT – É numerico
  • IS_LOWER – é caixa baixa
  • IS_UPPER – É caixa alta
  • IS_TITLE – É um titulo
  • IS_PUNCT – Pontuação
  • IS_SPACE – Espaco
  • IS_STOP – Stop Word
  • IS_SENT_START – Inicio de frase
  • LIKE_NUM – Parece um numero
  • LIKE_URL – Parece um endereço web
  • LIKE_EMAIL – Parece um email
  • SPACY – Tem espaço a direita
  • POS – Tamanho
  • TAG –
  • MORPH –
  • DEP –
  • LEMMA – É lematizado
  • Shape –
  • ENT_TYPE –
  • OP – Operador quantificador

IA Python
SPACY – Analise do texto

Ao digitar no spacy :

 palavras = []
    for token in doc:
         token.pos_

Aparece uma série de abreviações.

Segue o significado destas aqui:

  • ADJ – adjetivo
  • ADP – Aposição
  • ADV – Adverbio
  • AUX – Verbo auxiliar
  • CONJ – Conjunção
  • CCONJ – Conjunção coordenativa
  • DET – Determinante
  • INTJ – Interjeição
  • NOUN – Substantivo
  • NUM – número
  • PART – partícula (se que)
  • PRON – pronome
  • PROPN – Nome proprio
  • PUNCT – Pontuação
  • SCONJ – Conjunção subordinada
  • SYM – Simbolo
  • VERB – verbo
  • X – outros
  • SPACE – espaço

Agora ao digitar:

 palavras = []
    for token in doc:
         token.dep_

Aparece as dependencias, que são abreviações dentro do contexto:

Segue as abreviações:

  • acl – clausula modificadora de nome
  • advcl – clausula modificadora de adverbio
  • advmod – modificadora de adverbio
  • amod – modificador de adjetivo
  • appos – modificador apposicional
  • aux – auxiliar
  • case – marcação de caixa
  • cc – conjunção coordenativa
  • ccomp – clausula complementativa
  • clf – classificador
  • compound – composição
  • conj – conjunção
  • cop – copula
  • csubj – clausula substantiva
  • dep – dependencia não especificada
  • det – determinador
  • discourse – elemento de discurso
  • dislocated – elemento deslocado
  • expl – expletive
  • fixed – expressão multi palavra fixada
  • flat – expressao multi palavra gorda
  • goeswith – indo com
  • iobj – objeto indireto
  • list – lista
  • mark – marcador
  • nmod – modificação nominal
  • nsubj – sujeito nominal
  • nummod – numeric modifier
  • obj – objeto
  • obl – nominal oblico
  • orphan – orfão
  • parataxis – parataxis
  • punct – pontuação
  • reparandum – overridden disfluency
  • root – raiz
  • vocative – vocativo
  • xcomp – open clausal complement
en_USEnglish