Simulador de arduino

Tema en 'Taller de Arduino' iniciado por dac1774, 23 Dic 2017.

  1. dac1774

    dac1774

    Mensajes:
    64
    Registrado:
    5 Ago 2012
    Ubicación:
    Toro
    Hola. Quiero empezar un nuevo proyecto de una pantalla casera con arduino y quería preguntaros si conocéis algún simulador de arduino que funcione. Para empezar a trastear y practicar códigos.
     
  2. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Lo mejor es que montes una placa de prueba, arduino y protoboard son baratos, hay kits con un monton de accesorios muy baratos, para las simulaciones solo necesitas un led por canal, que lo puede manejar directamente el arduino, una vez hayas conseguido que el programa funcione (RTC, PWMs, etc) ya te metes con la electrónica de potencia, yo tiraría por el manejo de fuentes dimeables de 0-10v, hay algunos modelos avanzados de arduino como el DUE que tienen salidas analógicas 0-5v y solo hay que acoplarles un duplicador de tension. Eso de encender y apagar la fuente no funciona (por experiencia propia) ya que la fuente necesita un tiempo para cargarse y es mayor a la velocidad que necesitamos para que no se note el parpadeo y se daña el driver.
     
  3. naho

    naho

    Mensajes:
    118
    Registrado:
    17 Sep 2016
    Ubicación:
    madrid
    Con Proteus, pero es un poco de pago.
    Lo mejor es que te tires a la piscina como Dice Golum. Aunque el arduino DUE va a 3,3v
     
    Última edición: 24 Dic 2017
  4. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Buenos dias, mencione el DUE por su capacidad para dar salidas analógicas, es una placa complicada ya que es de 32-bits, yo solo la he usado por su capacidad de calculo, ademas de ser muy sensible, trabaja a 3.3v, que para algún tipo de electrónica esta muy bien.
    Si lo que quieres es gobernar una
    tensión analógica de 0 a 10v, yo lo haría con un PWM conectado a un circuito L-C y a la salida de este un divisor de tensión a u una entrada analógica del micro para supervisar la salida entregada a la fuente.
    Te puedes bajar un proteus pirata de la red, desde luego no es viable adquirirlo para este proposito, si buscas un poco encontraras herramientas gratuitas para ejecutar paso a paso tu programa pero a mi me resultan lentas y muy limitadas. El proteus que meneje yo daba muchos problemas con las simulaciones analogicas, y al final siempre acababa con el montaje en protoboard enchufado al PC y corrigiendo el codigo segun iva descubriendo mis errores.
    Un arduino NANO es realmente barato (por ejemplo https://es.aliexpress.com/store/pro...-4c45-40a1-996a-9e236a9d0de1&rmStoreLevelAB=5
     
  5. dac1774

    dac1774

    Mensajes:
    64
    Registrado:
    5 Ago 2012
    Ubicación:
    Toro
    Muchas gracias por contestar chicos. Ya tengo pedido un kit de arduino uno para trastear. De todas formas lo intentare mientras con PROTEUS.
    El tema de las conexiones y parte eléctrica lo tengo casi claro. El problema lo tendré a la hora de crear los códigos. No se si conseguiré crearlos para el efecto amanecer-anochecer y sobretodo para hacer efecto tormenta. Es un capricho que tengo jjjjjjjjjj
     
  6. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Tu pregunta lo que quieras, pero para todo esto es fundamental que tengas un RTC, son baratos, unos 3€, yo compre un DS3231 ayer y las librerías las encuentras sin problema. Yo con el proteus tire la toalla para simular circuitos analógicos, se quedaba colgado o realizaba mal los cálculos (seguramente yo no fui capaz de ajustar todos los parámetros correctamente por su complejidad). Me interesa el tema por que tengo una pantalla LED de las chinas con Wifi y eso de que simula amaneceres y atardeceres una mierda, saltos y muy limitados, se me ocurrió poner su programa de invierno y menuda insolación se llevaron los colegas. Comprendo lo que dices de las tormentas, a mi me pasa con la simulación sincronizada del ciclo lunar con la luna.
    No se que nivel de conocimientos de electrónica tendrás, pero yo ni me plantearía diseñar los drivers, por precio y complejidad. Ya nos contaras y pregunta lo que quieras, si puedo ayudar......
     
  7. dac1774

    dac1774

    Mensajes:
    64
    Registrado:
    5 Ago 2012
    Ubicación:
    Toro
    Como podría dimear estas fuentes de alimentación?
    Por lo que he visto arduino solo llega a 5V en PWM. ¿O se podría hacer por las salidas analógicas?
    Entre la fuente y el potenciómetro hay cuatro cables, dos de ellos los dimea entre 0,5V y 10V.



    20171230_012953.jpg 20171230_013800.jpg 20171230_013902.jpg
     

    Adjuntos:

  8. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
  9. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    O si te quieres complicar un poco mas diseñar algo similar con un amplificador operacional, pero creo que no merece la pena.
     
  10. naho

    naho

    Mensajes:
    118
    Registrado:
    17 Sep 2016
    Ubicación:
    madrid
  11. dac1774

    dac1774

    Mensajes:
    64
    Registrado:
    5 Ago 2012
    Ubicación:
    Toro
    Gracias por contestar chicos.
    Demomento el proyecto de la pantalla creo que la dejare un tiempo aparcada porque he decidido preparar antes una dosificadora con cuatro peristálticas que me hace mas falta. O, almenos intentarlo jeje.
    He conseguido hacerlo funcionar los pines y el tiempo que quiero pero el tema del lcd y de menus se me escapa de mis conocimientos desgraciadamente.
    Se que es mucho pedir pero si alguno de vosotros me pasara algún código para cuatro peristálticas con lcd y menú seria de gran ayuda. Pero mucha...........

    Muchas gracias por la ayuda.
     
  12. KayKay

    KayKay

    Mensajes:
    285
    Registrado:
    27 Nov 2009
    Ubicación:
    España
    Buenas Dac1774.

    Para tema gestión de Menús en Arduino y LCD yo he usado esta librería:

    https://playground.arduino.cc/Code/Menu

    Creo que es muy sencilla de hacer servir, y te evitas el engorro de hacerte tu la lógica de menús en tu aplicación.

    Que LCD andas usando, es la típica 16x2? tiene módulos i2c detrás?

    En Arduino, cuando empiezas, (yo estoy empezando), es bueno aislar los problemas del proyecto hasta tenerlos maduros, luego se trata de encajar piezas.

    Deberías centrarte primero en poner tu LCD en arduino, y ser capaz de escribir algo en ella.

    Cuando lo consigas, centrate en los menús, pero no intentes hacerlo todo de golpe.

    Para escribir en una LCD:

    Si no tienen módulo I2C:

    https://www.prometec.net/displays-lcd/

    Si tiene módulo I2C:

    https://www.geekfactory.mx/tutoriales/tutoriales-arduino/lcd-16x2-por-i2c-con-arduino/

    Nota: dónde ponen LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
    Hay veces que no es la 0x27, yo por ejemplo tengo la 0x3F
    Si no es alguna de estas, mira este código hace un escanner de direcciones del I2C y te da la que tienes
    https://playground.arduino.cc/Main/I2cScanner

    Cualquier duda, si se puede ayudar lo comentamos, pero lo dicho, divide los problemas y los resoldrás.
     
  13. dac1774

    dac1774

    Mensajes:
    64
    Registrado:
    5 Ago 2012
    Ubicación:
    Toro
    He pedido un reloj ds1302 y un lcd de 4 filas con botones y el driver i2c.
    Espero que me valgan.
     
  14. KayKay

    KayKay

    Mensajes:
    285
    Registrado:
    27 Nov 2009
    Ubicación:
    España
    Hola DAC,

    Perfecto, ambas cosas te sirven perfectamente, ahora ya tienes dos problemas acotados y fáciles de resolver el reloj y la pantalla.

    Como yo también uso una LCD de 20x4 I2C te dejo el código que cogí de una web (YourDuino.com) para hacer mis pruebas.

    Cuando este código te funcione, ya tienes un punto de partida, limpia todo lo que no te interese de este ejemplo, y ya tendrás tu sketch para la LCD.

    Nota: el módulo I2C detrás lleva como una pieza azul que con un destornillador le puedes dar vueltas, es el potenciometro del color de la pantalla, que no te pase como a mi, me pensaba que el código no funcionaba pues no veía nada, y era que el color de la pantalla estaba al mínimo.,


    /* YourDuino.com Example Software Sketch
    20 character 4 line I2C Display
    Backpack Interface labelled "LCM1602 IIC A0 A1 A2"
    terry@yourduino.com */
    /*-----( Import needed libraries )-----*/
    #include <Wire.h> // Comes with Arduino IDE
    // Get the LCD I2C Library here:
    // https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
    // Move any other LCD libraries to another folder or delete them
    // See Library "Docs" folder for possible commands etc.
    #include <LiquidCrystal_I2C.h>
    /*-----( Declare Constants )-----*/
    //none
    /*-----( Declare objects )-----*/
    // set the LCD address to 0x20 for a 20 chars 4 line display
    // Set the pins on the I2C chip used for LCD connections:
    // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
    /*-----( Declare Variables )-----*/
    //none
    void setup() /*----( SETUP: RUNS ONCE )----*/
    {
    Serial.begin(9600); // Used to type in characters
    lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines and turn on backlight
    // ------- Quick 3 blinks of backlight -------------
    for(int i = 0; i< 3; i++)
    {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
    }
    lcd.backlight(); // finish with backlight on
    //-------- Write characters on the display ----------------
    // NOTE: Cursor Position: CHAR, LINE) start at 0
    lcd.setCursor(3,0); //Start at character 4 on line 0
    lcd.print("Hello, world!");
    delay(1000);
    lcd.setCursor(2,1);
    lcd.print("From YourDuino");
    delay(1000);
    lcd.setCursor(0,2);
    lcd.print("20 by 4 Line Display");
    lcd.setCursor(0,3);
    delay(2000);
    lcd.print("http://YourDuino.com");
    delay(8000);
    // Wait and then tell user they can start the Serial Monitor and type in characters to
    // Display. (Set Serial Monitor option to "No Line Ending")
    lcd.setCursor(0,0); //Start at character 0 on line 0
    lcd.print("Start Serial Monitor");
    lcd.setCursor(0,1);
    lcd.print("Type chars 2 display");
    }/*--(end setup )---*/
    void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
    {
    {
    // when characters arrive over the serial port...
    if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
    // display each character to the LCD
    lcd.write(Serial.read());
    }
    }
    }
    }/* --(end main loop )-- */
    /* ( THE END ) */
     
  15. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Por curiosidad, ¿que tipo de motores vas a emplear para las bombas?. Si quieres hacerte un buen equipo de peristálticas has de tener un control muy preciso de estos, yo emplearía motores paso a paso, pero son caros, la otra opción es un motor DC con reductora, mucho mas baratos pero poco precisos, pero se puede mejorar la precisión con un encoder que indique la rotación de la bomba. Yo adquirí una Jebao y aunque ahora no me apetece ni necesito mas, la desmonte y pensé en como mejorarla.... por favor ve contándonos como lo llevas.
     
  16. KayKay

    KayKay

    Mensajes:
    285
    Registrado:
    27 Nov 2009
    Ubicación:
    España
    Buenas Golum, creo que DAC compró ya las bombas perialticas sueltas , estilo estas :

    https://www.ebay.es/itm/12V-DIY-Bom...546908?hash=item2ee4b4c19c:g:QIgAAOSwDNdVyb6j

    Yo cuando termine el proyecto en el que estoy, tengo en mente hacer mi brico perisalticas, aunque creo que este brico si lo haces es por placer, ya que la diferencia de precio entre unas jebao 4dp y lo que te termina costando hacerlo tu a mano, no vale tanto la pena, más si no tienes los mínimos para hacer el brico de antemano, soldador, voltimetro, estaño, cables, etc ...
     
  17. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Es cierto, yo me hice con jebao por 45€, me encanta la electrónica y los bricos, tengo herramientas para casi todo, y hay muchas cosas que no salen a cuenta, las bombas que compraste son las que monta las jebao, este controlador es un poco cutre y mide el volumen por tiempo, pero se puede mejorar mucho, pero mucho si se le acopla un imán en el eje y se lee la posición con un encoder rotatorio magnético, hace tiempo juguetee con unos y me dejo impresionado de la precisión.
     
  18. GolumX74

    GolumX74

    Mensajes:
    24
    Registrado:
    13 Oct 2017
    Ubicación:
    Alpedrete
    Por si vuelves a lo de la pantalla mirate esto http://www.reefcentral.com/forums/showthread.php?t=2547287
    por otro lado, habeis valorado usar una pantalla OLED controlada por I2C, merece la pena, la complejidad de uso es la misma pero las posibiladades en cuanto a graficos, textos, etc... son muy superiores e incluso son mas baratas que los LCD que son del siglo pasado.
    Para el RTC va muy bien el DS3231, mejor que el DS1703, se retrasa menos.
     
  19. miyomahc

    miyomahc

    Mensajes:
    46
    Registrado:
    6 Abr 2014
    Ubicación:
    Madrid
    puf menuda movida. no se puede comprar algo ya hecho económico?
     
  20. jborobia

    jborobia

    Mensajes:
    29
    Registrado:
    17 Dic 2011
    Ubicación:
    Torrejon de Ardoz
    Hola,
    La verdad que es algo complicado y se necesita tiempo.
    Si hubiera un step by step estaría perfecto.
    Sobre todo estudiar ahorro energético, se me ocurre.

    De todas maneras muchas gracias por la ayuda de los compañeros.