# Cómo se programan las Echidnas

<p class="callout info">Da igual si tienes una Echida Shield que una Echidna Black las dos se programan igual</p>

Tenemos dos opciones:

- Programación **mediante lenguajes gráficos, por bloques**: símbolos, gráficos… tipo [Scratch](https://scratch.mit.edu)
    - **Ventajas**: Mucho más sencillo e intuitivo, ideal para principiantes en programación como es nuestro caso entre primaria y secundaria.
    - **Inconvenientes**: No se llega a aprovechar todas las posibilidades del Arduino.
    - **Programas**: [EchidnaScratch](https://echidna.es/), [Snap4Arduino](http://snap4arduino.rocks), [mBlock](http://www.mblock.cc), [ArduinoBlocks,](http://www.arduinoblocks.com) [Bitbloq](http://bitbloq.bq.com), [S4A](http://s4a.cat)...
    - Dentro de los lenguajes gráficos hay tres tipos: 
        - Los que permiten **cargar** el programa y el método en **vivo** : [mBlock](http://www.mblock.cc),
        - Los que sólo permiten método en **vivo** : [EchidnaScratch](https://echidna.es/), [Snap4Arduino](http://snap4arduino.rocks)
        - Los que sólo permiten **cargar** el programa [ArduinoBlocks,](http://www.arduinoblocks.com) [Bitbloq](http://bitbloq.bq.com), [S4A](http://s4a.cat)...
- Programación mediante **código**: 
    - **Ventaja**: Se aprovecha todo el potencial de programación, puesto que se controla todas las variables
    - **Inconvenientes**: Como toda programación en código, tiene su dificultad y abstracción.
    - **Programas**: [ArduinoIDE](https://www.arduino.cc/en/Main/Software).

<p class="callout info">Si no sabes lo que significa en **vivo** o **cargar** es que no has leído [Software del Arduino](https://libros.catedu.es/books/echidna/page/software-del-arduino)</p>

Vamos a enseñarte **CUATRO formas** de hacer un mismo programa: **Un semáforo**

<p class="callout danger">**OJO** : Acuérdate en toda esta sección de poner la Echidna en modo Sensor   
**NO en modo MkyMky**</p>

![](https://libros.catedu.es/uploads/images/gallery/2022-03/embedded-image-fnia6ln8.png)