Estoy pensando en comprar algunos kits de desarrollo de Arduino para migrar de mi plataforma de desarrollo real (picaxe) a Arduino. Quiero comprar solo lo que necesito para desarrollar mi próximo proyecto, pero teniendo en cuenta que ignoro por completo las capacidades de Arduino, tengo algunos problemas para decidir qué comprar. Así que decidí explicarle lo que quiero hacer y lo que creo que necesito (en términos de hardware) con la esperanza de recibir comentarios.
Ok, la idea es simple, a través del cable serial de mi computadora (o USBtoserial) enviaré algunos comandos a mi placa Arduino Uno: estos comandos están compuestos de varios bits (definidos en mi propio protocolo); de todos modos, después de que mi Arduino haya recibido estos comandos, tomará algunas medidas, en este momento, la única acción que importa es enviar una palabra a otros Arduinos conectados a un bus de comunicación (es necesario decidir si I2C, serie o TTL). Esta palabra se compone de 1000 bits, los primeros 8 bits son solo el encabezado (que contiene la dirección del chip que recibirá los datos) y el resto son solo datos (la longitud real de esta palabra siempre se fija en 1000 bits).
En resumen, esto es lo que haré:
Porejemplo,desdelaPC,envíoelcomandoatravésdelcableserie:110110111010101010011…….01101.EstovaalaplacaArduinoqueloreenvíaalbusdecomunicacióndondetodoslosotrosmicrocontroladoresestánsiempreescuchandoelbus,leeránlosprimeros8bitsyloscompararánconsupropiadirección:sicoincideconladireccióndelmicrocontrolador(almacenadaenunavariable),almacenarálossiguientesbitsenlamemoria(siseapagalaalimentación,nonecesitoguardarlasinformaciones,porloquepodríaserunamemoriavolátil).
Despuésdeeso,elmicroestaráesperandouncomandofuturoquefinalmentelediráqueenvíelosbitsdedatosatravésdeunpindesalida.Todoslosmicrosologuardaránunapalabrade1000menos8bitsalavez,porloquelamemoriaestáfijaparasolo9992bits.
Tengoproblemasparadecidirquépequeñomicrocontroladorusar,quéprotocolodecomunicaciónusaryalgunosproblemasconelsoftware.Teniendoencuentaqueladistanciaentreelprimermicroyelúltimopodríaserdehasta7metros,creoqueI2Cnoeselcaminoaseguir,laserieseráexcelente,peroesosignificaquenecesitaréunconvertidorserialattlencadamicro(tengaencuentaquepodríanserdehasta128micros)paraqueelproyectosalgademipresupuesto,TTLseráexcelente,peronuncaprobéunacomunicaciónatravésdeTLLdemásde7metros,¿quécree?Creoqueunbuencablenodejarácaertantovoltajeen7metros,tambiénlavelocidadquepiensousaresde19200bits/s.Máx.
Acercadelosmicros,mimayorpreocupacióneselegirlaalternativamásbarataporquesolorecibirándatosenunpin(datosseriales)guardadosenunamemoriavolátil,yluegoemitiránesosdatosaunatasafijasobreunpindesalida(paraencenderyapagarunledporejemplo).VieninternetquepodríasprogramarelATtinyconlaplacaarduino,¿estechipescapazdehacerloquenecesito?¿Necesitounamemoriaexternaparaalmacenarlosdatos?¿Opuedoguardarloenunavariable?(¿quémemoriasugieres?)
Y mi pregunta final es sobre el software, cuando estaba usando PicAxe, un kit de desarrollo muy simple para microcontroladores cuando necesito almacenar una palabra sobre una entrada en serie, simplemente hago esto:
serin serpin,N2400,(27),seraddr, b4,b5
Donde serin es el comando para comenzar la adquisición en serie, serpin es el número del pin de entrada que quiero usar y b4 y b5 son variables de cuatro bits, por lo que al usarlas tengo una palabra de 8 bits. La plataforma PicAxe se fija con 10 vars de 4 bits (b0, b1 …… .b9) por lo que será imposible almacenar una palabra de 1000 bits sin pasar la información a una memoria externa. Con el Attiny puedo almacenar esa cantidad de datos en un programa var? ¿Cuál es el máximo que puedo almacenar? En este punto, ¿todavía crees que el camino es el camino a seguir?
¡Muchas gracias por cualquier comentario y sugerencia!