primero:
los relés que tienes no pueden conectarse directamente a un arduino.
la hoja de datos no indica qué corriente toma o ve la corriente, ni siquiera la resistencia de la bobina o la resistencia en serie en la bobina.
de forma saliente, el consumo de energía promedio de la bobina dividido por el max arduino voltaje de salida entrega el más bajo corriente promedio
P = V * I == > I = P / U - > I = .29W / 5V = 58mA
la corriente máxima extraída o desconectada a un IO es generalmente de ± 25 mA
el máximo absoluto en general ± 40 - 50mA
quizás el arduino sobreviva a la corriente de 58mA pero puede morir,
aquí puede encontrar más información acerca de no exceder la corriente máxima.
también coloca un diodo a través de la bobina del relé para evitar que se fríen los microcontroladores de las bobinas de picos de tensión inversa que se generan cuando se descargan
no es mortal si no pones el diodo, porque las salidas de arduino son push-pull; lo que significa que una salida está cortocircuitada 5V (alta) o cortocircuitada a gnd (0V) (baja). Así que la bobina nunca se descarga / flota. (pero para los transistores es necesario).
algocomoesto,eltransistorpuedemanejarmáscorrientequeunrelé.La12Vensucasopuedevariarentre5Vy24V.
eltipodetransistorpuedesercualquiertipodonde
- elVcemáxesmásaltoquelatensióndealimentación(de5a24V)(casicualquiertransistorcomúnpuedemanejareso)
- maxICessuperiora100mA
- AMaxPowernoleimportaporqueeltransistoractuarácomouninterruptor
porejemplo,elBC547Besunexcelentetransistormuycomúnytieneunaganancia(HFE)de200a250.
elvalordelaresistenciasepuedecalcularconlaleydeohmios.
R=V/I
- V=(5V-.07V)5Veselvoltajedesalidamáximodelarduino,0.7VeslacaídadevoltajeenelBEdeltransistor.
- I=Ic/HFe
- IC=lacorrientemáximadibujadaporelrelé,lasmatemáticasanterioresdicen58mA,peronoestoysegurosiesmásomenos.porlotantotomo100mA
- HFeeselHFedeltransistor200
I=100mA/200=.5mA=500μA
R=5V/500μA=10kΩ
importante
elHFeesmuydependientedeltiempo,latemperatura,inclusolacorrientedelcolectorylacorrientebasepuedenafectaralHFe.
asíqueparaestarsegurodequelamayoríadelvalordelresistorsedividepor2omás.
peroporquehemostomadolacorrientecasidosvecesmásaltayelmínimodeHFe(elHFedelBC547bestáentre200y450)ynoesundesastresieltransistornoestácompletamentesaturadoperoquizásel90%(VCEaproximadamente1Venlugarde0,3V)y10kΩ,unaresistenciamuycomún,podemostomar10kΩ,perosiquiereestarrealmenteseguro,puedetomarun5.6kΩomenos.
Segundo:
multiplexación
hayvariasformasdemultiplexar
Muycomúneslamatriz:
simplemente reemplaza cada led por un relé
cómo funciona
primero selecciona una columna que la fila
la imagen es solo para demostrar, no importa los números de pin
conecte cada pin de columna y fila a través de un transistor / chip de transistor
al arduino
Si desea 48 relés, entonces una matriz de 6 por 8 puede hacer el truco
existen circuitos integrados que pueden hacer algo similar
Más IO
-
existen expansores de io sobre I2C o SPI
Con muchas bibliotecas para arduino.
generalmente un expansor de io actúa como un io en el arduino y puede manejar la misma corriente, quizás más o menos
-
bcd a decimal
convierte un número binario en una sola salida alta
El 74HC42 (por ejemplo) puede hacer esto.
No sé si existe una biblioteca para un arduino. pero si es necesario, puedo escribirle un ejemplo de código que funcione (o también es posible una biblioteca)
- registros de desplazamiento
explicado en el sitio de arduino shiftout ()
el 74hc595 puede hacer esto