# Empezando

Entramos en Proyectos y podemos ver nuestros proyectos creados como también empezar uno.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-hgcjxksy.jpeg)

Y nos aparece tres opciones :


![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-xxf0bf0a.jpeg)

En esta ventana podremos elegir que tipo de proyecto vamos a realizar:

- **Proyecto Personal**: Iniciar un nuevo proyecto que sólo será accesible para el usuario. Posteriormente se puede compartir al resto de la comunidad si se desea.
- **Proyecto Profesor**: Iniciar un proyecto como profesor. De esta forma no se inicia un proyecto como tal, sino que se especifican los datos del proyecto y se genera un código para que los alumnos se puedan suscribir al proyecto. El profesor podrá supervisar y valorar los proyectos de sus alumnos.
- **Alumno**: De esta forma nos unimos a un proyecto planteado por el profesor. Nosotros realizaremos el proyecto como si de un proyecto personal se tratara, pero el profesor podrá supervisar y valorar nuestro trabajo.

<p class="callout info">*Adaptado de [este enlace.](https://drive.google.com/file/d/1fRIZWhedmk2-lMZ7EeTXg5NjnBKDyCnN/view) José Andrés Echevarría @cantabRobots CC-BY-NC-SA*</p>

Lo primero que tenemos que elegir es para qué tipo de placa se hace el proyecto.

- En el caso de que estés con el kit de CATEDU **Rover marciano con Arduinoblocks** el tipo de proyecto es para <span style="color: #e03e2d;">**ESP8266 / NodeMCU**</span>
- En el caso de que estés con el kit de CATEDU **Arduino con Arduinoblocks** el tipo de proyecto es para <span style="color: #e03e2d;">**Arduino UNO**</span>
- En el caso de que estés con el kit de CATEDU **STEAMAKERSBLOCKS en el aula** <span style="text-decoration: underline;">tienes dos opciones </span>totalmente válidas: 
    - <span style="color: #e03e2d;">**ArduinoUno**</span>
    - <span style="color: #e03e2d;">**ArduinoUno + Imagina TdR STEAM**</span>
- <span style="color: #000000;">En el caso de que estés con el kit de CATEDU  **ESP32 en el aula** <span style="text-decoration: underline;">tienes dos opciones</span> totalmente válidas:</span>
    - <span style="color: #ba372a;">**ESP32 STEAMakers**</span>
    - <span style="color: #ba372a;">**ESP32 STEMakers + Imagina TdR STEAM**</span>
- <span style="color: #000000;">En el caso de que estés con el kit de CATEDU  **SMARTHOME ESP32** <span style="text-decoration: underline;">tienes que elegir</span>:</span>
    - <span style="color: #ba372a;">**ESP32 STEAMakers**</span>
- 

[![placa-a-elegir-arduinoblocks.png](https://libros.catedu.es/uploads/images/gallery/2022-12/scaled-1680-/placa-a-elegir-arduinoblocks.png)](https://libros.catedu.es/uploads/images/gallery/2022-12/placa-a-elegir-arduinoblocks.png)

<p class="callout danger">**ATENCIÓN** luego **NO** se puede cambiar. Es decir, un proyecto realizado para un tipo de placa, no se puede cambiar a otro tipo de placa (la razón es simpe: las instrucciones cambian)</p>

Luego el nombre y el resto de campos es optativo pero **importante y buena costumbre** rellenarlos, sobre todo si el proyecto lo **compartimos**:

- Descripción
- Componentes
- Comentarios

#### **<span style="color: #e03e2d;">Área de programación del proyecto</span>**

Este es el área sobre el que se trabaja en Arduinoblocks. En esta área arrastraremos y colocaremos los bloques que vamos a utilizar para crear nuestro programa.

En el área de trabajo hay un Zoom (2) para ampliar o reducir la imagen, un icono para centrar  
(1) y un icono donde podremos borrar los bloques que no utilicemos (3).

[![2022-04-13 19_02_05-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-19-02-05-proyecto-00-conocemos-arduino-pdf-google-drive.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-19-02-05-proyecto-00-conocemos-arduino-pdf-google-drive.png)

<p class="callout info">*Adaptado de [este enlace.](https://drive.google.com/file/d/1fRIZWhedmk2-lMZ7EeTXg5NjnBKDyCnN/view) José Andrés Echevarría @cantabRobots CC-BY-NC-SA*</p>

Las principales secciones del área de programación son las siguientes :

[![2022-04-13 19_03_07-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-19-03-07-proyecto-00-conocemos-arduino-pdf-google-drive.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-19-03-07-proyecto-00-conocemos-arduino-pdf-google-drive.png)

<p class="callout info">*Adaptado de [este enlace.](https://drive.google.com/file/d/1fRIZWhedmk2-lMZ7EeTXg5NjnBKDyCnN/view) José Andrés Echevarría @cantabRobots CC-BY-NC-SA*</p>

#### **<span style="color: #e03e2d;">*Ver el código*</span>**

**ArduinoBlocks** genera el código de Arduino a partir de los bloques. El programa se puede compilar y subir directamente a la placa Arduino gracias a la aplicación **ArduinoBlocks-Connector**, sin embargo si deseamos ver o descargar el código podemos realizarlo desde el área de bloques.

[![2022-04-13 19_05_37-PROYECTO 00 CONOCEMOS ARDUINO..pdf - Google Drive.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-13-19-05-37-proyecto-00-conocemos-arduino-pdf-google-drive.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-13-19-05-37-proyecto-00-conocemos-arduino-pdf-google-drive.png)

<p class="callout info">*Adaptado de [este enlace.](https://drive.google.com/file/d/1fRIZWhedmk2-lMZ7EeTXg5NjnBKDyCnN/view) José Andrés Echevarría @cantabRobots CC-BY-NC-SA*</p>

<p class="callout success">Siempre, desde un **lenguaje de programación en bloques** podemos obtener su equivalente a **Código de Arduino IDE (**de hecho es lo que hacen los programas), y luego con las funciones de **Código de Arduino IDE** el software lo pasa a **lenguaje máquina** que es la que se graba el Arduino, **pero no al revés** es decir, no existen programas que dado un código máquina o código Arduino IDE lo pasen a bloques gráficos, (igual que no hay programas que lean el código máquina que hay grabado en un Arduino y lo pasen a código Arduino IDE). Esto no es del todo 100% verdadero pues la Ingeniería inversa en informática trata pues de eso: obtener la fuente aunque sea parcial, pues si obtienes el código legible, puedes alterar lo que quieras.  
Cuando compras un programa comercial, te dan el lenguaje máquina ilegible. Mientras que los programas de software libre se publica el código fuente legible para que todo el mundo pueda mejorarlo.</p>

Por ejemplo en la siguiente figura, el programa gráfico **mBlock** que se utiliza en Arduino, mBot, etc... pasa sus instrucciones de lenguaje de programación de bloques parecido a Scratch a lenguaje de **Código de Arduino IDE** y Arduino IDE graba instrucciones binarias de **lenguaje máquina** al Arduino.

[![embedded-image-j3gKXHlj.png](https://libros.catedu.es/uploads/images/gallery/2022-02/scaled-1680-/embedded-image-j3gkxhlj.png)](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-j3gkxhlj.png)

**¡¡A disfrutar!!**   
Consejo: Te recomendamos visitar el canal de Youtube de Arduinoblocks [https://www.youtube.com/c/ArduinoBlocks](https://www.youtube.com/c/ArduinoBlocks)