Mostrando postagens com marcador Computação. Mostrar todas as postagens
Mostrando postagens com marcador Computação. Mostrar todas as postagens

sexta-feira, 20 de novembro de 2015

javaScript: Criar lista de itens em HTML a partir de um texto indentado com Tabs


Atenção! Para o funcionamento: corrija a tag textarea abaixo:

domingo, 1 de novembro de 2015

javaScript: movimento, canvas, seno, cosseno e transformada de fourie




sábado, 31 de outubro de 2015

javaScript: Movimento, Canvas, Seno, Cosseno, Ciclos


Cardioide em javaScript



sexta-feira, 10 de abril de 2015

Resumão de eletrônica básica







Contato apenas pelo dominio: www.codigorapido.com.br
Ou pelo canal: https://www.youtube.com/channel/UCEaedVQ_AxGjQzyGr3dUdZw




Prefixos do Sistema Internacional de Unidades

  • Microcosmo:
    Yocto (y) 10-24
    Zepto (z) 10-21
    Atto (a) 10-18
    Femto (f) 10-15
    Pico (p) 10-12
    Nano (n) 10-9
    Micro (µ) 10-6
    Mili (m) 10-3
          Macrocosmo:
    Quilo (k) 103
    Mega (M) 106
    Giga (G) 109
    Tera (T) 1012
    Peta (P) 1015
    Exa (E) 1018
    Zetta (Z) 1021
    Yotta (Y) 1024

Grandezas importantes em um circuito:

  • Q = Carga elétrica - dado em Coulomb (C) e é equivalente a um numero de 1.6021765 x 10 elevado a -19 de elétrons
  • I = Corrente - dado em Amperes (A) é a quantidade de elétrons em Coulombs (C) dividido pelo tempo (s)
  • R = Resistência (R, Quando se trata de corrente continua) ou impedância (Z, Quando se trata de corrente alternada) - dado em Ohms (O)
  • E = Energia - dado em Joules (J)
  • V = Voltagem - dado em Volts (V). 1V = 1Joule/1Coulomb
  • P = Potencia - dado em Watts (W). 1W = 1Joule/segundo
  • L = Indutância - dado em Henris (H)
  • C = Capacitância - dado em Farads (F)
  • F = Frequencia - dado em Hertz (Hz)
  • T = Temperatura - dado em graus celsius (°C) ou Kelvin (k)
  • t = tempo em segundos (s)
  • ? = Letra grega (Rô) Resistividade do material - Dado em Om

Definições e siglas importantes de um circuito:

  • d.d.p. = diferença de potencial - dado em volts.
  • f.e.m. = Força eletromotriz - dado em volts.
  • f.e.m.c. = Força eletromotriz contrária - dado em volts.
  • CC ou DC = corrente CC ou DC é o mesmo corrente continua ou direta
  • CA ou AC = Corrente CA ou AC é o mesmo alternada
  • Vcc = Fonte de voltagem
  • Icc = Fonte de corrente
  • GND = Ground ou terra
  • ANT = Antena
  • Vee ou Vss = fonte negativa
  • Circuito eletrônico = é um conjunto de elementos, ligados ente sí formando uma rede por onde passam correntes elétricas.
  • Componente eletrônico = é o nome de qualquer elemento que compõe circuitos elétricos. Podem ser de 2 tipos:
    • componentes passivos, ou componentes elétricos são componentes que possuem seus valores específicos definidos e não podem injetar corrente em um circuito de forma independente. Exemplo: indutores, resistores, capacitores...
    • componentes ativos são componentes que são capazes de modificar a forma como o circuito trabalha de forma independente Exemplo: válvulas termiônicas e semicondutores como diodos e transistores...
  • Terminal = extremidade de um componente eletrônico ou de um Ramo por onde entra ou sai uma corrente elétrica.






  • Nó = Ponto de encontro entre 2 ou mais terminais






  • Nó essencial = Ponto de encontro entre 3 ou mais terminais. Veremos mais a frente a importância deste conceito em "Lei dos nós"






  • Ramo ou caminho = trecho entre 2 nós essenciais composto por componentes em série






  • Malha ou malha fechada = Ramo curto-circuitado com nós, mas sem nós essenciais. Um circuito fechado.






  • Malha aberta = Ao desfazer, por um momento o curto-circuito de uma malha fechada, formamos um ramo com 2 extremos.













Definições importantes em um transistor NPN:

  • b = Base
  • c = Coletor
  • e = Emissor
  • HFE = Ganho ou Beta do transistor ou parâmetro hibrido de grande sinal
  • Hfe = Ganho ou Beta do transistor ou parâmetro hibrido de pequeno sinal
  • A Resistência (R), a tensão (V) e a corrente (I) podem se combinar com os terminais de um transistor NPN formando parâmetros importantes:

  • . R - Resistência I - corrente
    b - base Rb - Resistência da base Ib - corrente da base
    c - coletor Rc - Resistência do coletor Ic - corrente do coletor
    e - emissor Re - Resistência do emissor Ie - corrente do emissor
  • Outras combinações:

  • Vcb = voltagem entre c (Coletor) e b (Base)
  • Vce = voltagem entre c (Coletor) e e (Emissor)
  • Vbe = voltagem entre b (Base) e e (Emissor)
  • Vceo = voltagem entre c (Coletor) e e (Emissor) - base aberto
  • Vcbo = voltagem entre c (Coletor) e b (Base) - emissor aberto

Resistores

1ª Lei de Ohm:

  • d.d.p. ou Voltagem é a força eletromotriz que uma amperagem (I) precisa para vencer cada Resistência (R)
  • V = I * R
    Voltagem (V):
    Resistência (O):
    Corrente (A):

2ª Lei de Ohm:

  • Resistência é igual a resistividade do material (?) vezes o comprimento do resistor (l) dividido pela área (A).
  • R = ? * l / A
    Resistência (O):
    Resistividade (Om):
    Area (mm²):
    Comprimento (m):

Efeito Joule:

  • Potência é igual a voltagem vezes a corrente.
  • P = V * I , que também pode ser P = R * I²
    Potencia (W):
    Voltagem (V):
    Corrente (A):

Minimização de circuito de Resistores (Associação de resistores)

  • Resistência resultante (Rf) de n resistores em série é a somatória de todas as resistências:
  • SR Rf = R1 + R2 + ... + Rn

  • Resistência resultante de n resistores em paralelo:
  • 1/Rf = 1/R1 + 1/R2 + ... + 1/Rn

  • Resistência resultante de 2 resistores em paralelo:
  • Rf = (R1 * R2)/(R1 + R2)
    Rf (O):
    R1 (O):
    R2 (O):


Indutores

Calculo da indutância:

  • L = µ0*µr*Ai*ni² / l
    Indutância (H):
    Comprimento (m):
    Número de espiras (adimensional):
    Área lateral do núcleo (cm²):
    µ0 - permeabilidade magnética do vácuo (µH/m):
    µr - permeabilidade relativa do núcleo do indutor:
    Onde:
    "µ0" é a permeabilidade magnética do vácuo
    "µr" é a permeabilidade magnética relativa do material do núcleo
    "ni" o numero de espiras do indultor
    "Ai" a área da secção transversal do núcleo do indultor
    "l" ocomprimento do núcleo do indutor, que poderá ser ni*passo (onde passo é a largura do fil)
    "L" é a indutância em H que queremos encontrar

Energia armazenada em Joules:

  • E = L*I²/2

Minimização de circuito de Indutores (Associação de indutores)

  • Indutância resultante (Lf) de n indutores em série é a somatória de todas as indutancias:
  • SL Lf = L1 + L2 + ... + Ln

Indutância resultante de n indutores em paralelo:

  • 1/Lf = 1/L1 + 1/L2 + ... + 1/Ln

Indutância resultante de 2 indutores em paralelo:

  • Lf = (L1 * L2)/(L1 + L2)
    Lf (H):
    L1 (H):
    L2 (H):


Capacitores

Capacidade elétrica de um capacitor:

  • C = Q / V
    Capacitância (F):
    Quantidade de carga em Coulumbs(C):
    Voltagem (V):

O equilibrio entre os capacitores é alcançado quando a energia potencial eletrostática (E) de todos eles são iguais:

  • E = V² * C / 2
    E (J):
    Voltagem (V):
    Capacitância (F):

Minimização de circuito de capacitores (Associação de capacitores)

  • Capacitância resultante (Cf) de n capacitores em paralelo é a somatória de todas as capacitâncias:
  • SC Cf = C1 + C2 + ... + Cn

Capacitância resultante (Cf) de n capacitores em série:

  • 1/Cf = 1/C1 + 1/C2 + ... + 1/Cn

Capacitância resultante (Cf) de 2 capacitores em série:

  • Cf = (C1 * C2)/(C1 + C2)
    Cf (F):
    C1 (F):
    C2 (F):


Leis de Kirchhoff

Lei de Ohm generalizada

  • A d.d.p. resultante (Vf) de malha aberta nos terminais é dada:
  • Vf = I * S R + S f.e.m.c. - S f.e.m.

Lei dos Nós

  • A somatória de todas as correntes que chegam (Ichegam) e saem (Isaem) de um nó esscencial é igual a zero:
  • S Ichegam = S Isaem

Lei das Malhas

  • A somatória das voltagens sobre todos os componentes em uma malha é igual a zero:
  • S V = 0

Teorema de Thévenin

  • Toda a rede composta por fontes de corrente e resistores pode ser simplificada em uma malha aberta chamada circuito equivalente de Thévenin composto por uma única fonte de voltagem e um único resistor onde se pode medir a diferença de potencial em seus terminais. Tal procedimeno é possivel utilizando-se o conhecimento sobre associação de resistores e a lei generalizada de Ohm.
  • Vth = Fonte de voltagem do circuito simplificado de Thevenin. Também chamado de Voc.
  • Rf = Resistência resultante

Teorema de Norton

  • Toda a rede composta por fontes de corrente e resistores pode ser simplificada em uma malha fechada chamada circuito equivalente de Norton composto por uma única fonte de corrente e um único resistor.
  • Int = Fonte de corrente do circuito simplificado de Norton. Também chamado de Isc.
  • Rf = Resistência resultante



domingo, 22 de março de 2015

Um pouco sobre circuitos ressonantes (Eletrônica)








Introdução

 

Ondas de rádio FM operam entre 88 MHz e 108 MHz em faixas de 200 KHz. Para alcançarmos estas frequências, precisaremos de um circuito ressonante (LC). Utilizaremos um capacitor variável para teste de 1pF à 5pF e tentaremos criar uma faixa um pouco maior que a convencional para variações de 70MHz à 160MHz para termos uma boa margem de busca para o sinal. Como existem perdas, uma ampla margem de frequencia de busca poderá nos ajudar no projeto. Note que a capacitância é inversamente proporcional à frequencia. Este pequeno tutorial foi dividido em 5 partes: 

parte 1 - Capacitores, o primeiro e mais complexo item a se fabricar 

parte 2 - Relação frequência, capacitância e indutância 

parte 3 - Construção do Indutor 

parte 4 - Receita do bolo: Circuito Ressonante 

parte 5 - Exercícios sobre capacitores, indutores e frequências. 

Servirão como referências e calibragens das formulas apresentadas. A necessidade da parte 5 decorre da grande dificuldade de se encontrar material didático que combine a apresentação das formulas com exercícios modelos. O que foi observado na elaboração deste material foi que muitos autores, tanto em livros quanto internete, costumam errar nas conversões de potencias de dez (p, n, μ, m). Por isso, só com um acompanhamento ou um bom material de referência podemos calibrar as conversões destas potencias de forma correta.

Parte 1 - Capacitor 

 

Importantes dados e lembretes usados a frente:
ε0 = permeabilidade elétrica do vácuo 8.854 pF/m. Capacitores μ0 = permeabilidade magnética do vácuo 4*pi*10-7 N/A2. Indutores
Constante dielétrica adimensional dos materiais:
material εr
vácuo 1
ar 1
polietileno 2.2
parafinada 2.2
acrílico 2.8
Papel 3.8
Óleo mineral 4
Baquelita 5
vidro 6
silicone 11
água 80
Constante de permeabilidade relativa adimensional dos materiais:
material μr
vácuo 1
ar 1
ferrite de 200 a 500
Microcosmo:
Yocto (y) 10-24
Zepto (z) 10-21
Atto (a) 10-18
Femto (f) 10-15
Pico (p) 10-12
Nano (n) 10-9
Micro (μ) 10-6
Mili (m) 10-3
Centi (c) 10-2
Deci (d) 10-1
unidade de medida
Macrocosmo:
unidade de medida
Deca (da) 101
Hecto (h) 102
Quilo (k) 103
Mega (M) 106
Giga (G) 109
Tera (T) 1012
Peta (P) 1015
Exa (E) 1018
Zetta (Z) 1021
Yotta (Y) 1024


Criar e calcular capacitância de um capacitor em pF (picoFarads) 

A formula para a criação do capacitor é dada por: C = (ε0*εr*(nc-1)*Ac)/(d) Onde:

ε0 é a permeabilidade dielétrica do espaço livre (vácuo)

εr é o valor, adimensional, da permeabilidade dielétrica relativa do material

nc o número de chapas

Ac a área de cada chapa do capacitor

d é a distancia entre as placas.

Atenção: Para aumentar a capacitância de um capacitor plano, podemos fazer uma ou mais modificações:
- aumentar a área das armaduras;
- diminuir a distância entre as armaduras;
- inserir um dielétrico de maior constante dielétrica.

 
Foi construído um capacitor com as seguintes propriedades:
 
(ε0) - permissividade elétrica do vácuo em pF/m (10-12 C2/Nm2) : -
(εr) - permissividade relativa do material dielétrico: -
(C) - Capacitância (pF):
(Ac) - área da chapa do capacitor (m2):
(nc) - Quantidade de chapas do capacitor:
(d) - Distância entre as chapas (m):

 

Parte 2 - Relação frequencia, capacitância e indutância


Já temos uma capacitância para trabalharmos. Devemos agora encontrar os valores ideais de indutores para conseguirmos alcançar as frequencias entre 70 MHz e 160 MHz. A frequencia do circuito ressonante é obtida pela formula: f=1/(2*pi*√(C*L)). Onde: "f" é a frequencia "pi" a constante 3,141525... "C" a capacitância que já temos "L" a indutância que precisamos encontrar temos: - A frequencia - A capacitância Isolando L temos: L = 1/(4*pi2*f2*C) Lembremos que ao variarmos o capacitor, variaremos a frequencia e que L deve ser o mais constante possível nessa variação. 



Com a capacitância, frequencia (ou indutância) dadas, encontre a indutância L (ou a frequencia f):
μ0 - permeabilidade magnética do vácuo μH/m: -
μr - permeabilidade relativa do núcleo do indutor: -
C - capacitância que ja temos em pF:
f - frequência em MHz:
L - indutância em μH:

 

 

Parte 3 - Construção do Indutor


L também pode ser obtido pela formula envolvendo a área da seção transversal dada por:
L = μ0*μr*ni2*Ai / l
Onde:

"μ0" é a permeabilidade magnética do vácuo
"μr" é a permeabilidade magnética relativa do material
"ni" o numero de espiras do indutor
"Ai" a área da secção transversal do núcleo do indultor, que será pi*r2
"l" o comprimento do núcleo do indutor, que poderá ser ni*passo (onde passo é a largura do fio)
"L" é a indutância em Hz que queremos encontrar

Para que a variação da capacitância forneça a variação da frequência que queremos ressonâncias, precisamos ter um indutor definido com:
- O comprimento do núcleo do indutor
- O raio do núcleo do indutor
- O numero de voltas do indutor

Respeitando os limites dos parâmetros, são 3 valores que podemos escolher para obtermos uma indultancia L determinada. Nesse caso, podemos fazer uma otimização das variáveis, para que possamos economizar material e espaço na placa do circuito. Temos então que:

L = μ0*μr*ni2*Ai / l = 1/(4*pi2*f2*C)

A quantidade de espiras vai influenciar no comprimento do núcleo. Ou seja, se temos 1 espira por 1mm para x espiras teremos x mm. Então, para cada espira, teremos um passo de sua largura.

L = μ0*μr*ni2*Ai / ni*passo = 1/(4*pi2*f2*C)

Substituindo Ai por pi*r2: L = μ0*μr*ni2*pi*r2 / ni*passo = 1/(4*pi2*f2*C)

Fornecendo um numero de cada vez para as espiras, podemos encontrar rapidamente um bom raio para o indutor.

Com o capacitor acima criado, faremos um indutor para o circuito ressonante. Dadas as seguintes propriedades, encontrar:
 - o menor numero de espiras do indutor
 - o menor raio e 
 - comprimento de núcleo para o funcionamento do circuito ressonante possível:
Lx - recalcular indutância com base em ni e Ai (pi*ri2):
ni - numero de espiras:
ri - Raio do núcleo do indutor em m:
passo - comprimento do passo em m:
li - comprimento do núcleo em m:


Apos as definições das propriedades do capacitor e indutor, recalcule a indutância para confirmar se a mesma se encontra próximo dos limites definidos pela formula da frequência. O indutor é um componente passivo, ou seja, a indutância, numero de espiras e comprimento do passo deverão, teoricamente, ser constantes e de muito pouca variação para que o circuito ressonante funcione. 8% de erro pode ser tolerável.

 

Parte 4 - receita do bolo: Circuito Ressonante


Este tutorial foi baseado na hipótese de que não possuímos nem o capacitor nem o indutor. Comparando a complexidade da produção do capacitor e do indutor, é notável que o capacitor envolve maior complexidade. Por isso, devido a esta complexidade maior, decidi começar a receita pelo capacitor de forma que ao escolhermos uma capacitância qualquer e uma frequência possamos encontrar um indutor com um indutância, raio e comprimento fixos. Um indutor nada mais é que uma bobina. O inverso também poderia ser feito: definir um indutor e a frequência primeiro para depois determinarmos as propriedades do capacitor variável. Supondo que temos um capacitor variando de 1pF à 5pF, e uma faixa de frequências que varia aproximadamente de 70MHz à 160MHz, começaremos encontrando a indutância para a frequência mais baixa:

na parte 1 - digite a capacitância máxima, aproximadamente 5pf. Se desejar também, procure pelas outras propriedades ideais de seu capacitor.

na parte 2 - digite a frequência mínima de 70MHz e clique em "calcular indutância". Tentaremos atingir uma indutância de 1uH. Em seguida, para confirmar, clique em recalcular capacitância. A capacitância deve bater com o digitado na parte 1. Agora que temos uma indutância, calcularemos as dimensões do indutor.

na parte 3 - Escolha um bom raio e um bom comprimento (ou passo de espiras) para o núcleo do indutor. Lembre-se: indutância, raio e passo nunca variarão. Agora, de posse de uma indutância, raio e comprimento de núcleo fixos, descobriremos qual a capacitância mínima para operar na frequência mais alta que impomos 160MHz.

Na parte 2 digite a nova frequência e clique em recalcular capacitância. Como podemos ver, o resultado apresentado é de aproximadamente 1pF. 


Parte 5 - Exercícios

 
 
Alguns exercícios sobre circuitos ressonantes servirão de calibragem e referência para as formulas acima apresentadas


                                        Exercícios de capacitância


//==================================================================================================
C1 - determine a capacitância pelos dados:
//==================================================================================================
(ε0) - permissividade elétrica do vácuo em pF/m (10-12 F/m) : 8.854187817 
(εr) - permissividade relativa do material dielétrico:  1
(Ac) - 0.0007679981654493518 m2:  
(nc) - 6 chapas  
(d) - 0.001 m

 
 
Exercícios de indutância


//==================================================================================================
I1 - determine a indutância em μH da bobina de núcleo de ar para os dados:
//==================================================================================================
a) l = 100mm = 0.1m
b) ri = 2mm = 0.002m
c) ni = 100 voltas
d) ur = 1
e) u0 = 4*pi/10 = 1.2566370614359172953850573533118
f) A = pi*ri^2
g) L = (u0*ur*ni^2*A)/l

L = u0*ur*pi*ni^2*r^2/l

 
 
//==================================================================================================
I2 - determine quantas espiras para os dados:
//==================================================================================================
a) ri =  0.005m
b) l = 0.01m
c) L = 100 μH
d) ur = 1
e) u0 = 4*pi/10 = 1.2566370614359172953850573533118
f) A = pi*ri^2
g) ni = √(L*l/(u0*ur*A))

ni = √(L*l/(u0*ur*pi*ri^2))

 
 
//==================================================================================================
I3 - determine quantas espiras para os dados:
//==================================================================================================
a) ri =  0.005m
b) l = 0.02m
c) L = 1 mH = 1000 μH
d) ur = 2000
e) u0 = 4*pi/10 = 1.2566370614359172953850573533118
f) A = pi*ri^2
g) ni = √(L*l/(u0*ur*A))

ni = √(L*l/(u0*ur*pi*ri^2))

 
 
Exercícios de frequência


//==================================================================================================
f1 - determine a frequência para os dados:
//==================================================================================================
a) C =  43μF 
b) L = 200μH
c) f=1/(2*pi*√(C*L))

 
 
//==================================================================================================
f2 - determine a frequência para os dados:
//==================================================================================================
a) C =  40μF 
b) L = 4000μH
c) f=1/(2*pi*√(C*L))

 
 
//==================================================================================================
f3 - determine a frequência para os dados:
//==================================================================================================
a) C =  500μF 
b) L = 200μH
c) f=1/(2*pi*√(C*L))

sexta-feira, 7 de novembro de 2014

Java: Serializar e deserializar lista de objetos, salva-lo em arquivo e recuperá-lo em lista de objetos novamente

Esta classe tem me ajudado muito desde o dia em que foi criada. Já reaproveitei pelo menos 5 vezes.


 1 package Arquivos;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 import java.io.ObjectInputStream;
 8 import java.io.ObjectOutputStream;
 9 import java.util.List;
10 import java.util.ArrayList;
11 
12 
13 // Referencia:
14 // http://www.javasimples.com.br/core-java/serializacao-transformando-objetos-em-bytes
15 public class Crud
16 {
17 
18     public void serializar(List<String> filmes, String arquivo)
19     {
20         FileOutputStream arq = null;
21         ObjectOutputStream out = null;
22         try
23         {
24             //arquivo no qual os dados vao ser gravados
25             arq = new FileOutputStream(arquivo);
26 
27             //objeto que vai escrever os dados
28             out = new ObjectOutputStream(arq);
29 
30             //escreve todos os dados
31             out.writeObject(filmes);
32         }
33         catch (IOException ex)
34         {
35             ex.printStackTrace();
36         }
37         finally
38         {
39             try
40             {
41                 arq.close();
42                 out.close();
43             }
44             catch (IOException ex)
45             {
46                 ex.printStackTrace();
47             }
48         }
49     }
50 
51     public List<String> deserializar(String arquivo)
52     {
53         FileInputStream arqLeitura = null;
54         ObjectInputStream in = null;
55         List<String> lista = null;
56         try
57         {
58             File destinationFile = new File(arquivo);
59             if (!destinationFile.exists())
60             {
61                 serializar(new ArrayList<String>(), arquivo);
62             }
63             
64             //arquivo onde estao os dados serializados
65             arqLeitura = new FileInputStream(arquivo);
66 
67             //objeto que vai ler os dados do arquivo
68             in = new ObjectInputStream(arqLeitura);
69 
70             //recupera os dados
71             lista = (List<String>) in.readObject();
72         }
73         catch (ClassNotFoundException ex)
74         {
75             ex.printStackTrace();
76         }
77         catch (IOException ex)
78         { 
79             ex.printStackTrace();
80         }
81         finally
82         {
83             try
84             {
85                 arqLeitura.close();
86                 in.close();
87             }
88             catch (IOException ex)
89             {
90                 ex.printStackTrace();
91             }
92         } 
93         return lista;
94     }
95 }
96 

Adicionar fragmentos de uma imagem como Style em uma página HTML

Imagem que será usada no exemplo:

  1 <!DOCTYPE html>
  2 <html>
  3  <head>
  4   <style>
  5    .frame
  6    {
  7     position: relative;
  8    }
  9 
 10    .frame_1_1
 11    {
 12     background: url('Frame.png') -0px -0px;
 13     position: absolute;
 14     background-repeat: no-repeat;
 15     width: 5px;
 16     height: 5px;
 17     top: 0px;
 18     left: 0px;
 19    }
 20 
 21    .frame_1_2
 22    {
 23     background: url('Frame.png') -5px -0px;
 24     position: absolute;
 25     background-repeat: no-repeat;
 26     width: 2px;
 27     height: 5px;
 28     top: 0px;
 29     left: 5px;
 30    }
 31 
 32    .frame_1_3
 33    {
 34     background: url('Frame.png') -7px -0px;
 35     position: absolute;
 36     background-repeat: repeat-y;
 37     width: 19px;
 38     height: 5px;
 39     top: 0px;
 40     left: 7px;
 41    }
 42 
 43    .frame_1_4
 44    {
 45     background: url('Frame.png') -26px -0px;
 46     position: absolute;
 47     background-repeat: no-repeat;
 48     width: 2px;
 49     height: 5px;
 50     top: 0px;
 51     left: 26px;
 52    }
 53 
 54    .frame_1_5
 55    {
 56     background: url('Frame.png') -28px -0px;
 57     position: absolute;
 58     background-repeat: no-repeat;
 59     width: 5px;
 60     height: 5px;
 61     top: 0px;
 62     left: 28px;
 63    }
 64 
 65    .frame_2_1
 66    {
 67     background: url('Frame.png') -0px -5px;
 68     position: absolute;
 69     background-repeat: no-repeat;
 70     width: 5px;
 71     height: 26px;
 72     top: 5px;
 73     left: 0px;
 74    }
 75 
 76    .frame_2_2
 77    {
 78     background: url('Frame.png') -5px -5px;
 79     position: absolute;
 80     background-repeat: no-repeat;
 81     width: 2px;
 82     height: 26px;
 83     top: 5px;
 84     left: 5px;
 85    }
 86 
 87    .frame_2_3
 88    {
 89     background: url('Frame.png') -7px -5px;
 90     position: absolute;
 91     background-repeat: repeat-y;
 92     width: 19px;
 93     height: 26px;
 94     top: 5px;
 95     left: 7px;
 96    }
 97 
 98    .frame_2_4
 99    {
100     background: url('Frame.png') -26px -5px;
101     position: absolute;
102     background-repeat: no-repeat;
103     width: 2px;
104     height: 26px;
105     top: 5px;
106     left: 26px;
107    }
108 
109    .frame_2_5
110    {
111     background: url('Frame.png') -28px -5px;
112     position: absolute;
113     background-repeat: no-repeat;
114     width: 5px;
115     height: 26px;
116     top: 5px;
117     left: 28px;
118    }
119 
120    .frame_3_1
121    {
122     background: url('Frame.png') -0px -31px;
123     position: absolute;
124     background-repeat: no-repeat;
125     width: 5px;
126     height: 2px;
127     top: 31px;
128     left: 0px;
129    }
130 
131    .frame_3_2
132    {
133     background: url('Frame.png') -5px -31px;
134     position: absolute;
135     background-repeat: no-repeat;
136     width: 2px;
137     height: 2px;
138     top: 31px;
139     left: 5px;
140    }
141 
142    .frame_3_3
143    {
144     background: url('Frame.png') -7px -31px;
145     position: absolute;
146     background-repeat: repeat-y;
147     width: 19px;
148     height: 2px;
149     top: 31px;
150     left: 7px;
151    }
152 
153    .frame_3_4
154    {
155     background: url('Frame.png') -26px -31px;
156     position: absolute;
157     background-repeat: no-repeat;
158     width: 2px;
159     height: 2px;
160     top: 31px;
161     left: 26px;
162    }
163 
164    .frame_3_5
165    {
166     background: url('Frame.png') -28px -31px;
167     position: absolute;
168     background-repeat: no-repeat;
169     width: 5px;
170     height: 2px;
171     top: 31px;
172     left: 28px;
173    }
174 
175    .frame_4_1
176    {
177     background: url('Frame.png') -0px -33px;
178     position: absolute;
179     background-repeat: repeat-x;
180     width: 5px;
181     height: 33px;
182     top: 33px;
183     left: 0px;
184    }
185 
186    .frame_4_2
187    {
188     background: url('Frame.png') -5px -33px;
189     position: absolute;
190     background-repeat: repeat-x;
191     width: 2px;
192     height: 33px;
193     top: 33px;
194     left: 5px;
195    }
196 
197    .frame_4_3
198    {
199     background: url('Frame.png') -7px -33px;
200     position: absolute;
201     background-repeat: repeat;
202     width: 19px;
203     height: 33px;
204     top: 33px;
205     left: 7px;
206    }
207 
208    .frame_4_4
209    {
210     background: url('Frame.png') -26px -33px;
211     position: absolute;
212     background-repeat: repeat-x;
213     width: 2px;
214     height: 33px;
215     top: 33px;
216     left: 26px;
217    }
218 
219    .frame_4_5
220    {
221     background: url('Frame.png') -28px -33px;
222     position: absolute;
223     background-repeat: repeat-x;
224     width: 5px;
225     height: 33px;
226     top: 33px;
227     left: 28px;
228    }
229 
230    .frame_5_1
231    {
232     background: url('Frame.png') -0px -66px;
233     position: absolute;
234     background-repeat: no-repeat;
235     width: 5px;
236     height: 2px;
237     top: 66px;
238     left: 0px;
239    }
240 
241    .frame_5_2
242    {
243     background: url('Frame.png') -5px -66px;
244     position: absolute;
245     background-repeat: no-repeat;
246     width: 2px;
247     height: 2px;
248     top: 66px;
249     left: 5px;
250    }
251 
252    .frame_5_3
253    {
254     background: url('Frame.png') -7px -66px;
255     position: absolute;
256     background-repeat: repeat-y;
257     width: 19px;
258     height: 2px;
259     top: 66px;
260     left: 7px;
261    }
262 
263    .frame_5_4
264    {
265     background: url('Frame.png') -26px -66px;
266     position: absolute;
267     background-repeat: no-repeat;
268     width: 2px;
269     height: 2px;
270     top: 66px;
271     left: 26px;
272    }
273 
274    .frame_5_5
275    {
276     background: url('Frame.png') -28px -66px;
277     position: absolute;
278     background-repeat: no-repeat;
279     width: 5px;
280     height: 2px;
281     top: 66px;
282     left: 28px;
283    }
284 
285    .frame_6_1
286    {
287     background: url('Frame.png') -0px -68px;
288     position: absolute;
289     background-repeat: no-repeat;
290     width: 5px;
291     height: 5px;
292     top: 68px;
293     left: 0px;
294    }
295 
296    .frame_6_2
297    {
298     background: url('Frame.png') -5px -68px;
299     position: absolute;
300     background-repeat: no-repeat;
301     width: 2px;
302     height: 5px;
303     top: 68px;
304     left: 5px;
305    }
306 
307    .frame_6_3
308    {
309     background: url('Frame.png') -7px -68px;
310     position: absolute;
311     background-repeat: repeat-y;
312     width: 19px;
313     height: 5px;
314     top: 68px;
315     left: 7px;
316    }
317 
318    .frame_6_4
319    {
320     background: url('Frame.png') -26px -68px;
321     position: absolute;
322     background-repeat: no-repeat;
323     width: 2px;
324     height: 5px;
325     top: 68px;
326     left: 26px;
327    }
328 
329    .frame_6_5
330    {
331     background: url('Frame.png') -28px -68px;
332     position: absolute;
333     background-repeat: no-repeat;
334     width: 5px;
335     height: 5px;
336     top: 68px;
337     left: 28px;
338    }
339   </style>    
340  </head>    
341  <body>
342   <div class='frame'>
343    <div class='frame_1_1'></div>
344    <div class='frame_1_2'></div>
345    <div class='frame_1_3'></div>
346    <div class='frame_1_4'></div>
347    <div class='frame_1_5'></div>
348    <div class='frame_2_1'></div>
349    <div class='frame_2_2'></div>
350    <div class='frame_2_3'></div>
351    <div class='frame_2_4'></div>
352    <div class='frame_2_5'></div>
353    <div class='frame_3_1'></div>
354    <div class='frame_3_2'></div>
355    <div class='frame_3_3'></div>
356    <div class='frame_3_4'></div>
357    <div class='frame_3_5'></div>
358    <div class='frame_4_1'></div>
359    <div class='frame_4_2'></div>
360    <div class='frame_4_3'></div>
361    <div class='frame_4_4'></div>
362    <div class='frame_4_5'></div>
363    <div class='frame_5_1'></div>
364    <div class='frame_5_2'></div>
365    <div class='frame_5_3'></div>
366    <div class='frame_5_4'></div>
367    <div class='frame_5_5'></div>
368    <div class='frame_6_1'></div>
369    <div class='frame_6_2'></div>
370    <div class='frame_6_3'></div>
371    <div class='frame_6_4'></div>
372    <div class='frame_6_5'></div>
373   </div>    
374  </body>
375 </html>
376