Beruflich Dokumente
Kultur Dokumente
Arduino
Pic
Raspberry pi 3
2.3.1 Arduino
Alimentación
Memoria
El pic tiene dos forma de cargar el programa puedes apreciar pines de 5v, 3v3 (limitados a
mediante bootloader o pickit, lo mas 50mA) y tierra (GND o Ground), que aportan
ecomendable en todos los casos es usar pickit alimentación a estos voltajes para tus
debido que al momento de usar bootloader circuitos. Te pueden servir como una fuente
la memoria rom se satura. de alimentación, aunque también puedes
utilizar otras fuentes (pilas, fuentes de
Frecuencia de trabajo del arduino MEGA
alimentación externas, etc). Recuerda que
La frecuencia de trabajo del arduino mega es son unbuffered y debes tener cuidado para no
de 13.56 MHz dañar la placa.
Memoria
SENO
𝐴 1 𝜋
0= ∗∫0 𝑠𝑒𝑛(𝑡)𝑑𝑡
𝑇
Gráfico 6. puertos GPIO de la raspberry pi 3. 𝐴 2
0= =0.64
𝜋
Se lleva a cabo la implementación del
𝐴 1 𝜋
siguiente circuito: 𝑛= ∗∫ 𝑠𝑒𝑛(𝑡)∗cos(2𝑛𝑡)=𝑑𝑡
2𝑇 0
1 1 1
2 ∗ (− 4𝑛2 − 1 − 4𝑛2 − 1)
𝐴𝑛 =
𝜋
𝐴 1
𝑛=−
4𝑛2 𝜋−𝜋
𝜋
1
𝐵𝑛 = ∗ ∫ 𝑠𝑒𝑛(𝑡) ∗ sen(2𝑛𝑡) = 𝑑𝑡
2𝑇 0
0.5 ∗ 𝑠𝑒𝑛(2𝑛𝜋)
𝐵𝑛 = −
𝜋
𝜋
𝐵𝑛 = 0 1 2
𝐴𝑛 = ∗ ∫ − 𝑡 + 2 ∗ cos(2𝑛𝑡) = 𝑑𝑡
2 2𝑇 0 𝜋
FUNCION (𝑌 = 𝜋 𝑡)
1
∗ (−2𝑛𝜋)
𝐴 1 𝜋2
0= ∗∫0 𝑡𝑑𝑡 𝐴𝑛 = 4 2 2
𝑇 𝜋 𝑛 𝜋
𝐴0=1 𝐴𝑛=0
𝜋 𝜋
1 2 1 2
𝐴𝑛 = ∗ ∫ 𝑡 ∗ cos(2𝑛𝑡) = 𝑑𝑡 𝐵𝑛 = ∗ ∫ − 𝑡 + 2 ∗ sen(2𝑛𝑡) = 𝑑𝑡
2𝑇 0 𝜋 2𝑇 0 𝜋
1
∗ (−2𝑛𝜋)
𝐴𝑛 = 4 2 2
𝑛 𝜋 1 1
∗( )
𝐴 1
𝐵𝑛 = 2 𝑛
𝑛= 𝜋
2𝑛𝜋
𝜋 1
1 2 𝐵𝑛 =
𝐵𝑛 = ∗ ∫ 𝑡 ∗ sen(2𝑛𝑡) = 𝑑𝑡 2𝑛𝜋
2𝑇 0 𝜋
𝐴 1 𝜋
0= ∗∫0 2𝑑𝑡
𝑇
𝐴0=2
𝜋
1
𝐴𝑛 = ∗ ∫ 2 ∗ cos(2𝑛𝑡) = 𝑑𝑡
2𝑇 0
𝐴𝑛 = 0
𝜋
1
𝐵𝑛 = ∗ ∫ 2 ∗ sen(2𝑛𝑡) = 𝑑𝑡
2𝑇 0 4. Tablas de comparación
𝐵𝑛 = 0
2
FUNCION (𝑌 = − 𝑡 + 2)
𝜋
𝜋
1 2
𝐴0 = ∗ ∫ − 𝑡 + 2𝑑𝑡
𝑇 0 𝜋
𝐴0=1
Parámetros Arduin Raspberry PI3 Pic
o 18F455
0
Volaje de 5v 2.7V 5V
operativo 3.3V
https://www.mikroe.com/ebooks/microcont
roladores-pic-programacion-en-c-con-
ejemplos/puertos-de-entradasalida
https://arduinodhtics.weebly.com/tipos-de-
arduino.html
https://electronilab.co/tienda/pic18f4550-ip-
pic-18-40-pines-48-mhz-32kb/
http://www.electronicoscaldas.com/microco
ntroladores-pic/32-microcontrolador-pic-
18f4550-usb.html
https://www.xataka.com/ordenadores/raspb
erry-pi-3-model-b-analisis-mas-potencia-y-
mejor-wifi-para-un-minipc-que-sigue-
asombrando
https://comohacer.eu/gpio-raspberry-pi/
https://es.wikipedia.org/wiki/Raspberry_Pi
https://gist.github.com/m3nd3s/2065690
Anexos.
Anexo 4
Anexo 1
Anexo 8
#define PI 3.14159265
Anexo 3 int ww;
int graf[600];
double seno,inc=0;
double aa=0.5,ff,bn;
int nn,pp;
TRISD = 0;
PORTD = 0;
TRISC = 0;
PORTC = 0;
for(ww=0;ww<=512;ww++) GPIO.setmode(GPIO.BOARD)
{ graf=[]
bn=0; i=0
for(nn=1;nn<200;nn+=2) a=0
{ t=0
bn=bn+((-2*sin(10*nn*inc))/(10*nn*PI)) armonicos=1000
;
num=1
}
ff=1
ff=(aa+bn)*200;
pines = [3,5,7,11,13,15,19,21,23,29]
inc=inc+0.0123;
for pin in pines:
//if(seno>1000){seno=500;}
GPIO.setup(pin,GPIO.OUT)
//if(seno<0){seno=0;}
for pin in pines:
graf[ww]=ff*512/200;
GPIO.output(pin, False)
}
def mostrar(data):
ww=0;
ii=1
while(1)//Bucle infinito.
for pin in pines:
{
if (data&ii)==0:
pp=graf[ww];
ww=ww+1; GPIO.output(pin,False)
PORTC=(pp>>8); else:
PORTD = pp&255;
GPIO.output(pin,True)
if(ww>512){ww=0;}
ii=ii<<1
//}
while contador<100:
}
num=1;
}
sumatoria=0
Anexo 9
while num<=armonicos:
import RPi.GPIO as GPIO
sumatoria=sumatoria + void setup()
(math.sin(num*wo*t))/num
char pin;
num+=1
{
xf=512-(1024/math.pi)*sumatoria
for (pin=2;pin<11;pin++)
sierra.insert(contador,int(xf))
{
t+=0.01
pinMode(pin,OUTPUT);
contador+=1
}
while (True):
for (pin=2;pin<11;pin++)
contador=0
{
while contador<100 :
digitalWrite(pin,LOW);
mostrar(sierra[contador])
}
contador+=1
}
void loop()
Anexo 10
{
int intrmd=0;
cont=0;
int cont=0;
while(cont<100)
int sum=0;
{
int ondas[50];
mostrar(ondas[cont]);
float i=0;
cont+=1;
float xf,sumatoria;
}
int a=0;
}
float t=0;
char ii;
void mostrar(int data)
float pi=3.141592;
{
int armonicos=100;
ii=1;
int num=1;
for (pin=2;pin<11;pin++)
int ff=1;
{
float wo=2*pi*ff;
if((data&ii)==0)
{
digitalWrite(pin,LOW); {
}
sumatoria=sumatoria+(sin(num*wo*t))/num
else
;
{
num+=2;
digitalWrite(pin,HIGH);
}
}
xf=(1024/pi)*sumatoria;
ii=ii<<1;
t+=0.01;
}
ondas[cont]=int(xf);
}
cont+=1;
}
void senoidal()
}
{
anexo solucionario
while(cont<100)
ejercicio 1
{ 0 1
1
𝐴0 = ∗ ∫ −2𝑑𝑡 + ∫ 𝑑𝑡
intrmd=int(128+127*sin(i)); 𝑇 −1 0
ondas[cont]-intrmd; 𝐴 1
0=−
4
i+=0.0628;
cont+=1; 0
1
𝐴𝑛 = ∗ ∫ −2 cos(𝑤𝑛𝑡) 𝑑𝑡
} 2 −1
1
} + ∫ cos(𝑤𝑛𝑡)𝑑𝑡
0
𝑛𝜋 𝑛𝜋
𝑠𝑒𝑛 ( 2 ) 𝑠𝑒𝑛( )
void cuadrada() 𝐴𝑛 = 2 ∗ + 2
𝑛𝜋 𝑛𝜋
{ 1 0
𝐵= ∗ ∫ −2 sin(𝑤𝑛𝑡) 𝑑𝑡
while(cont<=100) 2 −1
1
{ + ∫ sin(𝑤𝑛𝑡)𝑑𝑡
0
sum=1;
sumatoria=0; 𝑛𝜋 𝑛𝜋
3 cos (− 2 ) cos( )
𝐵𝑛 = −4 − 2
armonicos=1000; 𝑛𝜋 𝑛𝜋 𝑛𝜋
while(num<=armonicos)
GPIO.setmode(GPIO.BOARD)
muest=0
sumat=0
1 𝑛𝜋 1−𝜋 1 GPIO.output(pin,True)
𝐵𝑛 = − cos ( ) + cos(𝑛𝜋) +
4𝑛𝜋 2 4𝑛𝜋 4𝑛 ii=ii<<1
1 𝑛𝜋
− 2 𝑠𝑒𝑛( )
𝜋𝑛 2 for muest in range (0,100):
sumat=0
Codigos utilizados for armon in range (1,50):
import RPi.GPIO as GPIO an=(-
import math 0.079577/armon)*math.sin(2.0944*armon)
bn=(0.2387/armon)*(1-
math.cos(2.0944*armon))
sumat=sumat+an*math.cos(2.0944*armon*i
nc)+bn*math.sin(2.0944*armon*inc)
ft=2+(aa+sumat)
xf=ft*1024/3
inc=inc+0.03
graf.insert(muest,int(xf))
while (True):
muest=0
while muest<100 :
mostrar(graf[muest])
muest+=1