Skip to content

AitorMelero/arduino-project

Repository files navigation

Arduino Project


Astro Node.js React Arduino


Índice

Objetivo

El objetivo de este proyecto es el desarrollo de una web donde se publicarán cada cierto tiempo artículos en los que se explicarán diferentes proyectos realizados con Arduino.

Con respecto a la web, la motivación principal es ganar experiencia con diferentes tecnologías como Astro, React o Tailwind. En cuanto a los proyectos de Arduino, el objetivo es aprender y ganar experiencia con la realización de trabajos enfocados en hardware.

La web ha sido desarrollada por @AitorMelero y los proyectos y artículos de Arduino están hechos por @mg-Ben.

Tecnologías

Astro Node.js Arduino HTML CSS JavaScript React Tailwind MDX

Instalación y ejecución

Instalar dependencias:

npm install

Ejecutar la web en modo desarrollador:

npm run dev

Ejecutar la web en modo desarrollador en una red local:

npm run dev -- --host

Creación de ejecutable

npm run build

Escribir artículos

El desarrollo de la web está preparado para que se puedan añadir artículos de Arduino de una forma sencilla y rápida. Se deben seguir los siguiente pasos:

1. Crear y movernos a una nueva rama:

  • Sin la extensión de git-flow
git checkout develop
git checkout -b feature_branch
  • Con la extensión de git-flow
git flow feature start feature_branch

2. Crear artículo

Para incluir un artículo en la web, debemos crear un fichero .mdx dentro del directorio ./src/pages/posts/nombre-articulo.mdx.

src
  ├───pages
  │   ├───about
  │   └───posts
  │   │   ├───articulo-1.mdx
  │   │   ├───articulo-2.mdx
  │   │   ├───articulo-3.mdx

3. Rellenar artículo

  • Cabecera
---
mdxOptions: { format: "md" }
layout: "../../layouts/MarkdownProjectLayout.astro"
title: "Título del artículo"
pubDate: aaaa-mm-dd
description: "Descripción del artículo."
author: "Nombre del autor"
sections:
    [
        { url: "nombre-fichero#id-apartado-1", title: "Titulo apartado 1" },
        { url: "nombre-fichero#id-apartado-2", title: "Titulo apartado 2" },
        { url: "nombre-fichero#id-apartado-3", title: "Titulo apartado 3" },
        { url: "nombre-fichero#id-apartado-4", title: "Titulo apartado 4" },
        ...
    ]
---
  • Resumen e índice
<div id="id-apartado-1">

# {frontmatter.title}

Aquí aparecerá un resumen del proyecto con el índice correspondiente.

-   [Componentes requeridos](#componentes-requeridos)
-   [Introducción de componentes](#introduccion-de-componentes)
    -   [Componente 1](#componente-1)
    -   [Componente 2](#componente-2)
    -   [Componente 3](#componente-3)
-   [Conexión](#conexion)
    -   [Esquema](#esquema)
    -   [Diagrama de cableados](#diagrama-de-cableado)
-   [Código](#codigo)
-   [Imagen de ejemplo](#imagen-de-ejemplo)

---

</div>
  • Lista de componentes requeridos
<div id="componentes-requeridos">

## Componentes requeridos

-   (1) Componente 1
-   (3) Componente 2
-   (1) Componente 3

---

</div>
  • Introducción de componentes
<div id="introduccion-de-componentes">

## Introducción de componentes

</div>

<div id="componente-1">

### Componente 1

</div>

<div id="componente-2">

### Componente 2

</div>

<div id="componente-3">

### Componente 3

---

</div>
  • Incluir imágenes
<!-- Las imagenes deben estar guardadas en ./public/posts/ -->
![Descripcion de la foto](/posts/nombre_imagen.png)
  • Incluir código
// Incluir el siguiente componente despues de la cabecera del fichero
import CodeContainer from "../../components/CodeContainer.astro";
export const components = { code: CodeContainer };
<div id="codigo">

## Código

```
void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);  // write 1 (5V) in 13 pin
  delay(1000);             // wait 1 second
  digitalWrite(13, LOW);   // write 0 (0V) in 13 pin
  delay(1000);             // wait 1 second
}
```

---

</div>

4. Mergear artículo:

  • Sin la extensión de git-flow
git checkout develop
git merge feature_branch
  • Con la extensión de git-flow
git flow feature finish feature_branch

Contacto

Aitor

Aitor-GitHub Aitor-LinkedIn

Ben

Ben-GitHub Ben-LinkedIn