https://readme-typing-svg.herokuapp.com?font=Architects+Daughter&color=%2338C2FF&size=50&center=true&vCenter=true&height=70&width=950&lines=¡La+revolución+robótica+comienza+aquí!

¡Bienvenidos al semillero de robótica! (💻💖☕)

https://readme-typing-svg.herokuapp.com?font=comfortaa&color=016EEA&size=24&width=600&lines=Diseñar+Desarrollar+Construir+Programar;Investigar+Optimizar+Simular+Modelar

Aquí podrán aprender, experimentar y dar rienda suelta a su creatividad en el emocionante mundo de la robótica.

  • 🧐🌱🚀🤓 Investigar y desarrollar nuevas tecnologías de robótica en diversas áreas, como la medicina, la industria y la exploración espacial.

  • 🎮👩‍🔧🗜 Crear prototipos de robots avanzados que sean capaces de realizar tareas complejas y útiles en la vida real.

  • 👾🎯🕹 Diseñar y desarrollar sistemas robóticos autónomos y sistemas multi-robot que puedan colaborar entre sí para lograr objetivos específicos.

  • 👩‍💻💻🧮 Desarrollar software y algoritmos de control robótico avanzados para mejorar la eficiencia y precisión de los robots.

  • 🦾🤖 Investigar nuevos materiales y tecnologías de fabricación para mejorar la resistencia y capacidad de los robots.

  • 🚦🚧🚨 Realizar simulaciones y pruebas experimentales para evaluar el rendimiento y la eficacia de los robots.

  • 🧿📺🎛 Participar en proyectos interdisciplinarios que aborden desafíos complejos en diversas áreas, como la salud, el transporte y la energía.

  • 📌📊📋 Presentar los resultados de investigación en conferencias, publicaciones y eventos de divulgación para compartir conocimientos y fomentar el intercambio de ideas.

  • 🏡🏢💁‍♀️🤵 Colaborar con empresas y organizaciones externas para desarrollar soluciones de robótica para problemas del mundo real.

  • 👨‍🏫 👩‍🎓👨‍🎓 Formar y guiar a estudiantes de pregrado y posgrado en la investigación y el desarrollo de proyectos de robótica avanzada.

Introducción a Git

Git es un sistema de control de versiones distribuido que permite a los usuarios llevar un registro de los cambios en un archivo o conjunto de archivos. Los usuarios pueden rastrear el historial de cambios, revertir a versiones anteriores, colaborar con otros usuarios y mantener un registro completo de todos los cambios realizados en el código.

Configuración inicial

Antes de comenzar a usar Git, es necesario realizar una configuración inicial. Primero, debes descargar e instalar Git en tu ordenador. Luego, deberás configurar tus credenciales de Git usando el siguiente comando:

git config --global user.name "Tu nombre"
git config --global user.email "Tu correo electrónico"

Esto te permitirá identificarte correctamente al momento de hacer cambios en un repositorio.

Creación de un repositorio

Para comenzar a utilizar Git, primero necesitas crear un repositorio. Para hacerlo, debes navegar a la carpeta donde deseas crear el repositorio y ejecutar el siguiente comando:

git init

Esto creará un nuevo repositorio vacío en la carpeta seleccionada.

Añadiendo archivos al repositorio

Una vez que tienes un repositorio, puedes comenzar a agregar archivos. Para hacerlo, coloca los archivos en la carpeta del repositorio y ejecuta el siguiente comando:

git add archivo

Este comando agregará los archivos al área de preparación de Git, lo que significa que Git comenzará a realizar un seguimiento de los cambios realizados en los archivos.

Confirmar los cambios

Una vez que has agregado archivos al área de preparación, es necesario confirmar los cambios usando el siguiente comando:

git commit -m "Mensaje de confirmación"

Este comando confirmará los cambios realizados en los archivos y agregará una descripción en el mensaje de confirmación.

Visualizando el estado del repositorio

Para visualizar el estado actual del repositorio y los cambios que se han realizado, usa el siguiente comando:

git status

Este comando te mostrará los archivos que han sido modificados, los archivos que están en el área de preparación y los archivos que han sido confirmados.

Trabajando con ramas

Las ramas son una parte importante de Git, ya que permiten a los usuarios trabajar en diferentes versiones de un mismo proyecto al mismo tiempo. Para crear una nueva rama, usa el siguiente comando:

git branch nueva-rama

Este comando creará una nueva rama con el nombre “nueva-rama”. Para cambiar a esta nueva rama, usa el siguiente comando:

git checkout nueva-rama

Para ver una lista de todas las ramas existentes en el repositorio, usa el siguiente comando:

git branch

Para fusionar dos ramas, primero debes cambiar a la rama en la que deseas fusionar las otras ramas. Luego, usa el siguiente comando:

git merge otra-rama

Este comando fusionará la rama “otra-rama” con la rama actual.

Para eliminar una rama, usa el siguiente comando:

git branch -d rama-a-eliminar

Publicando cambios

Para publicar los cambios realizados en un repositorio, es necesario subirlos a un servidor remoto. Para hacerlo, primero debes agregar el servidor remoto usando el siguiente comando:

git remote add origin <URL del servidor>

Luego, sube los cambios usando el siguiente comando:

git push origin <nombre de la rama>

Este comando subirá los cambios realizados en la rama especificada al servidor remoto.

Trabajando con repositorios remotos

Para descargar un repositorio remoto a tu ordenador, usa el siguiente comando:

git clone <URL del repositorio>

Este comando descargará el repositorio remoto en tu ordenador y creará una copia local del mismo.

Para obtener cambios realizados en el repositorio remoto, usa el siguiente comando:

git pull

Este comando descargará los cambios realizados en el repositorio remoto y los fusionará con tu rama actual.

Conclusión

Git es una herramienta poderosa y esencial para cualquier desarrollador. Con su capacidad de rastrear y controlar el historial de cambios, Git permite a los desarrolladores trabajar de manera más eficiente y colaborativa en proyectos. Aunque los comandos básicos de Git son sencillos, hay muchos otros comandos y técnicas avanzadas que pueden ser útiles para un flujo de trabajo más avanzado. Esperamos que esta introducción a Git te haya proporcionado una base sólida para comenzar a trabajar con Git y que te animes a explorar más allá de los comandos básicos.

Python Básico

Este documento es una introducción básica a Python. Cubriremos varios temas fundamentales, incluyendo variables, comentarios, operadores lógicos, loops (for, while), tuplas, listas y más.

Variables

En Python, las variables se definen con un nombre y un valor. Los nombres de variables deben comenzar con una letra y pueden contener letras, números y guiones bajos. El valor de una variable se puede cambiar en cualquier momento.

Ejemplo de variables:

x = 5
y = "Hola, mundo!"

Comentarios

Los comentarios son una forma de agregar notas explicativas al código de Python. Los comentarios comienzan con el símbolo “#” y se ignoran por completo por el intérprete de Python.

Ejemplo de comentarios:

# Esto es un comentario en Python
print("Hola, mundo!") # Esto también es un comentario
"""Esto es
un comentario
de multiples
líneas"""

Operadores lógicos

Los operadores lógicos se utilizan para realizar operaciones booleanas en Python. Los operadores más comunes son “and”, “or” y “not”.

Ejemplo de operadores lógicos:

x = 5
y = 10
if x == 5 and y == 10:
    print("Ambas condiciones son verdaderas")
if x == 5 or y == 20:
    print("Al menos una condición es verdadera")
if not(x == 5 and y == 10):
    print("La condición es falsa")

Loops (for, while)

Los loops for se utilizan para iterar sobre una secuencia de elementos en Python. Los loops while se utilizan para repetir una sección de código mientras se cumple una condición determinada.

Ejemplo de loops:

# Loop for
for i in range(5):
    print(i)

# Loop while
x = 0
while x < 5:
    print(x)
    x += 1

Case

En Python, se utiliza el condicional “if-elif-else” para implementar el equivalente a un “switch-case” en otros lenguajes de programación.

Ejemplo de case:

x = 5
if x == 1:
    print("El valor es 1")
elif x == 2:
    print("El valor es 2")
elif x == 3:
    print("El valor es 3")
else:
    print("El valor no es ni 1, ni 2, ni 3")

Listas

Las listas son una estructura de datos en Python que contienen una secuencia ordenada de elementos. A diferencia de las tuplas, las listas son mutables, lo que significa que se pueden agregar, eliminar o modificar elementos después

Ejemplo de listas:

Crear una lista

lista = ["manzana", "banana", "cereza"]
print(lista)

Acceder a un elemento de la lista

print(lista[1])

Cambiar un elemento de la lista

lista[1] = "kiwi"
print(lista)

Recorrer una lista con un ciclo for

for fruta in lista:
    print(fruta)

Verificar si un elemento está en la lista

if "banana" in lista:
    print("Sí, banana está en la lista")

Obtener la longitud de la lista

print(len(lista))

Agregar un elemento a la lista

lista.append("naranja")
print(lista)

Eliminar un elemento de la lista

lista.remove("cereza")
print(lista)

Ordenar la lista .. code:: python

lista.sort() print(lista)

Invertir el orden de la lista

lista.reverse()
print(lista)

Tuplas

Las tuplas son similares a las listas, pero no se pueden modificar una vez creadas. Las tuplas se crean utilizando paréntesis en lugar de corchetes.

Ejemplo de tuplas:

Crear una tupla

tupla = ("manzana", "banana", "cereza")

Imprimir el valor de una tupla

print(tupla)

Acceder a un elemento de la tupla

print(tupla[1]) # Imprime "banana"

Las tuplas no se pueden modificar Esto dará un error: tupla[1] = “kiwi”

Diccionarios

Los diccionarios son una colección no ordenada de elementos que se almacenan en pares de clave-valor. Cada clave en un diccionario debe ser única.

Ejemplo de diccionarios:

Crear un diccionario
diccionario = {
    "marca": "Ford",
    "modelo": "Mustang",
    "año": 1964
}

Imprimir el valor de un diccionario

print(diccionario)

Acceder a un valor en el diccionario

print(diccionario["modelo"]) # Imprime "Mustang"

Cambiar el valor de un elemento en el diccionario

diccionario["año"] = 2022
print(diccionario) # Imprime {"marca": "Ford", "modelo": "Mustang", "año": 2022}

Funciones

Las funciones son bloques de código que se pueden llamar varias veces desde diferentes partes de un programa. Las funciones pueden tomar argumentos y devolver valores.

Ejemplo de funciones:

Definir una función

def saludo(nombre):
    print("Hola, " + nombre)

Llamar a la función

saludo("Juan") # Imprime "Hola, Juan"

La función puede devolver un valor

def suma(num1, num2):
    return num1 + num2

resultado = suma(3, 5)
print(resultado) # Imprime 8

Módulos

Los módulos son archivos que contienen funciones y variables relacionadas que se pueden importar y usar en otros programas.

Ejemplo de módulos:

Importar un módulo

from math import sqrt

Usar una función del módulo

raiz_cuadrada = math.sqrt(25)
print(raiz_cuadrada)

También es posible importar todas las funciones de un módulo con el uso del carácter “*”. Sin embargo, es recomendable no hacerlo, ya que esto puede dificultar la lectura del código y llevar a conflictos de nombres.

Importar todas las funciones de un módulo

from math import *

Uso de la función importada

seno = sin(45)
print(seno)

Usar la función importada

num_aleatorio = randint(1, 10)

Excepciones

Las excepciones son errores que se producen durante la ejecución de un programa. Pueden ser manejados mediante el uso de bloques try-except.

Manejo de excepcione

try:
    resultado = 10 / 0
except ZeroDivisionError:
    print("No se puede dividir entre cero")

Manejo de excepciones con else

try:
    resultado = 10 / 2
except ZeroDivisionError:
    print("No se puede dividir entre cero")
else:
    print("La división fue exitosa")

Manejo de excepciones con finally

try:
    resultado = 10 / 0
except ZeroDivisionError:
    print("No se puede dividir entre cero")
finally:
    print("La ejecución se ha completado")

Conclusiones Python es un lenguaje de programación popular debido a su facilidad de uso y su amplia gama de aplicaciones. En este documento se han cubierto algunos de los conceptos básicos de Python, como variables, comentarios, operadores lógicos, bucles, listas, tuplas, diccionarios, funciones, módulos y excepciones. Con práctica y experiencia, podrás utilizar Python para crear programas útiles y eficientes.

MicroPython

En este tutorial se describen los pasos básicos para programar la placa Raspberry Pi Pico utilizando el lenguaje MicroPython y el entorno de desarrollo integrado Thonny.

Requisitos

Antes de comenzar, asegúrate de tener los siguientes elementos:

  • Una placa Raspberry Pi Pico

  • Un cable micro-USB

  • Una computadora con Thonny instalado

  • El firmware de MicroPython para Raspberry Pi Pico (disponible en el sitio web oficial de Raspberry Pi)

Conectar la placa

Conecta la placa Raspberry Pi Pico a tu computadora utilizando el cable micro-USB.

Configurar Thonny

  1. Abre Thonny en tu computadora.

  2. Haz clic en Tools en la barra de menú y luego en Options.

  3. Selecciona Interpreter en la barra lateral izquierda.

  4. Haz clic en MicroPython (Raspberry Pi Pico) en la lista de intérpretes disponibles.

  5. Haz clic en OK para guardar la configuración.

Escribir y cargar un programa

  1. En Thonny, haz clic en File en la barra de menú y luego en New.

  2. Escribe el código de tu programa en el editor de Thonny.

  3. Haz clic en Run en la barra de herramientas o presiona F5 para ejecutar el programa.

  4. Si todo funciona correctamente, podrás ver la salida del programa en la ventana Shell de Thonny.

¡Enhorabuena! Ahora ya sabes cómo programar Raspberry Pi Pico con MicroPython y Thonny. Si quieres seguir aprendiendo, te recomendamos que eches un vistazo a la documentación oficial de MicroPython para Raspberry Pi Pico.

!A programar!

continúa aprendiendo aquí

Raspberry Pico

Ejemplos de Raspberry Pi Pico en MicroPython

En este documento se presentan algunos ejemplos de cómo utilizar la placa Raspberry Pi Pico con MicroPython.

Salida y entradas de señales analógicas y digitales
ejemplo 1: encender un led

Este ejemplo describe cómo encender un LED que parpadea cada segundo utilizando una placa de desarrollo con MicroPython y el siguiente circuito conectado al pin 20:

RPi_pico

Para este ejemplo, es necesario conectar el cátodo del LED al pin 20 de la placa y el ánodo del LED a tierra. Una vez que se ha establecido la conexión, se puede utilizar el siguiente código para hacer parpadear el LED:

from machine import Pin
import utime

led = Pin(20, Pin.OUT)

while True:
    led.toggle()
    utime.sleep(1)

encuentra la simulación aquí.

ejemplo 2: lectura de boton

Este ejemplo describe cómo leer el estado de un botón utilizando una placa de desarrollo con MicroPython y el siguiente circuito conectado al pin 18:

RPi_pico

Para este ejemplo, es necesario conectar un extremo del botón al pin 18 de la placa y el otro extremo del botón a tierra. Una vez que se ha establecido la conexión, se puede utilizar el siguiente código para leer el estado del botón:

import machine
import utime

button = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_UP)

while True:
   print(button.value())
   utime.sleep(1)

   if button.value() == 0:
      print("El botón está presionado")

   else:
      print("El botón está suelto")

encuentra la simulación aquí.

ejemplo 3: lectura de una señal anloga ADC

Para leer el valor de un sensor analógico conectado a la placa Pico en el pin 26 como se ve en el circuito:

RPi_pico

Para este ejemplo, donde tenemos conectado un potenciómetro, es necesario conectar los extremos al ánodo y cátodo respectivamente, y el centro del potenciómetro a una entrada ADC de la placa, que en este caso es el 26. Finalmente, se debe utilizar el siguiente código.

import machine
import utime

sensor = machine.ADC(26)

while True:
   valor = sensor.read_u16()
   print("valor: ", valor)
   utime.sleep_ms(200)

encuentra la simulación aquí.

Señales PWM

Para el control de una señal PWM vamos necesitamos conectar un led con una resistencia al pin 18 de la placa como en el siguiente circuito:

RPi_pico

despues podemos varia la salida de coltaje de la placa utilizando el siguiente código:

import machine
import time

led_pin = machine.Pin(18)
led_pwm = machine.PWM(led_pin)

while True:
   time.sleep(2)
   for duty_cycle in range(0, 65535, 100):
      led_pwm.duty_u16(duty_cycle)
      print("valor:", duty_cycle)
      time.sleep(0.007)
   time.sleep(2)
   for duty_cycle in range(65535, 0, -100):
      led_pwm.duty_u16(duty_cycle)
      print("valor:", duty_cycle)
      time.sleep(0.007)

encuentra la simulación aquí.

Controlar un servo motor

Para controlar un servo motor conectado a la placa Pico en el pin 22 para controlar su posición mediante MicroPython.

RPi_pico

El circuito consiste en conectar la señal del servomotor al pin 22 de la placa, el pin positivo al pin de 5V y el pin negativo al pin de tierra. El código necesario para establecer la posición del servomotor en un ángulo específico es el siguiente:

import machine
import utime

servo_pin = machine.Pin(22, machine.Pin.OUT)
servo_pwm = machine.PWM(servo_pin, freq=50)

def set_servo_angle(angle):
   duty = int((angle / 180) * 65000) + 2500
   servo_pwm.duty_u16(duty)

while True:
   for angle in range(0, 181, 10):
      set_servo_angle(angle)
      utime.sleep_ms(100)

encuentra la simulación aquí.


Estos son solo algunos ejemplos de cómo utilizar la placa Raspberry Pi Pico con MicroPython. Esperamos que esta documentación te haya sido útil y que puedas utilizarla como base para crear tus propios proyectos. Si tienes alguna duda o consulta, no dudes en consultarlo en la comunidad o foro correspondiente. ¡Que tengas éxito en tus proyectos!

arduino

Aquí va el tutorial

ESP32

Aquí va el tutorial

¡Gracias por tu visita!

🎵 programmer music

https://media.giphy.com/media/M9gbBd9nbDrOTu1Mqx/giphy.gif

https://musicforprogramming.net/one

🍀 Sponsors and Supporters

https://img.shields.io/badge/Buymeacoffee-%23FFDD00.svg?&style=for-the-badge&logo=buy-me-a-coffee&logoColor=black

¡Hey tú! Si te ha gustado lo que hacemos invitanos un café , Sería una forma genial de apoyarnos y seguir adelante con nuestros proyectos.

😍 Muchas gracias por visitar el semillero, que tengas lindo día! 😉

Copyright 2023 Semillero Robótica Utadeo