6 votos

¿Cómo puede un programador de PHP pasar a la robótica?

Soy programador de PHP con conocimientos básicos de c/c++ y electrónica. Pero tengo mucho interés en la robótica y la IA.

  1. ¿Cuáles son las cosas básicas que necesito aprender antes de cambiar a la robótica?
  2. ¿Qué lenguajes se para escribir el código y cómo se transfiere ¿Cómo se transfiere ese código a los chips?
  3. ¿Cuáles son los componentes básicos que necesito saber?

Me gustaría aprender sobre los componentes de hardware y la parte de programación. (¿Son corrientes diferentes?)

0 votos

¿Puede decirnos algo más sobre lo que quiere hacer? ¿Intentas quedarte en el mundo de la codificación o quieres aprender también sobre el hardware?

0 votos

Acabo de editar la pregunta... ¿son corrientes diferentes, es decir, puedo aprender sobre el hardware y no el software o viceversa... qué sugieres?

4voto

farmerchris Puntos 785

Yo sugeriría empezar con una placa Arduino y una de las muchas " Introducción a Arduino " en el mercado. Se trata de una forma muy sencilla de introducirse en el mundo de los procesadores embebidos, la programación de dispositivos y la piratería de circuitos sencillos. Unas cuantas horas con un Arduino también te ayudarán a decidir en qué se centran realmente tus intereses. (Por ejemplo, si odias tener que cablear un circuito de LEDs sólo para ver que tu programa funciona, probablemente quieras centrarte en una plataforma más preparada para la exploración de la robótica. En cambio, si te atrae la posibilidad de jugar con el hardware, es posible que quieras pasar a un kit muy básico, como el Parallax Stingray .)

4voto

Simon Gillbee Puntos 366

1) ¿Cuáles son las cosas básicas que necesito aprender antes de cambiar a la robótica?

En realidad, todo lo que necesitas saber es cuáles son tus objetivos e intereses. A menudo, esto no se puede averiguar hasta que se prueban algunas cosas. Sin este conocimiento, hay mucho que aprender. El movimiento, el tamaño, el volumen de código y las interfaces son muy diferentes en los distintos sistemas.

2) ¿Qué lenguajes se utilizan para escribir el código y cómo se transfiere ese código transferido a los chips?

La gran mayoría de las veces, el código se escribe en C, posiblemente con un poco de ensamblador para hacer algunas operaciones de hardware que no se pueden hacer en C. A veces, C se utiliza para construir un sistema operativo, y luego se escribe el código para ese sistema operativo (de nuevo, todavía usando C) o se crea una máquina virtual, que ejecuta un lenguaje de nivel superior como Java, Lua o C#.

Normalmente, esto se hace en un PC con un compilador cruzado, que crea un hexágono o que no puede ejecutarse en la máquina en la que se ejecuta el compilador, pero sí en el micro. A continuación, se utiliza un programador para interactuar con el microcontrolador mediante USB, serie o incluso Ethernet. A veces, este "programador" se encuentra en la misma PCB que el microcontrolador, como en la placa Arduino. Se pueden utilizar protocolos de comunicación como JTAG, ISP y otros métodos estándar, aunque algunos chips requieren programadores especializados.

3) ¿Cuáles son los componentes básicos que debo conocer?

De nuevo, esto depende de cuál sea tu objetivo final. Deberías tener un conocimiento básico de la electricidad (la ley de Ohms puede servirte en la mayoría de los casos, así como un conocimiento de los diodos y transistores/MOSFETs). El parpadeo de un LED es un primer paso fácil (desde un alto acantilado). Si te tomas en serio la robótica, deberías aprender sobre controladores de motor, servos y motores paso a paso.

Me gustaría aprender sobre los dos componentes de hardware como la parte de programación. ¿Son estos diferentes corrientes?

Sólo un poco. Es posible utilizar componentes de hardware sin tener que escribir un programa, y es posible comprar módulos de hardware prefabricados y luego sólo hacer la parte de programación, pero al final los dos van de la mano.

0 votos

Gracias esto me explica mucho... Me encanta la robótica y realmente quiero entrar en este campo, pero no entiendo cómo empezar. Muchas gracias. ¿Crees que Python es útil en este campo?

0 votos

C va a ser, de lejos, el más lenguaje útil. Sin embargo, Python (mira Cython y python-on-a-chip ) podría ser utilizable. El enfoque de Python de "pilas incluidas" no encajará en micros pequeños, pero es un buen lenguaje y podría funcionar en micros con mayor espacio de memoria. Empieza con C, y pasa a otros lenguajes a medida que vayas ganando experiencia.

0 votos

Gracias por su respuesta Tengo algunos conocimientos básicos de c, pero nunca he trabajado en el nivel de chip, puede u sugerir algunos libros o artículos para el inicio

2voto

hromanko Puntos 548

Hay que aprender experimentando.

A sus preguntas:

  1. Debes aprender la teoría básica de la electrónica y los fundamentos de los microcontroladores.
  2. El código suele estar escrito en C, pero a veces puede escribirse en otros lenguajes como Basic, y algunos procesadores admiten .NET.
  3. Las resistencias, los condensadores, los diodos y los transistores son probablemente los dispositivos más comunes que encontrarás, en ese orden.

Te recomendaría probar con una placa ya disponible, como un Arduino o PICAXE.

0 votos

Todos los procesadores funcionan con alguna forma de ensamblaje. La disponibilidad de los compiladores es el punto de fricción. C++, Forth, Lua (eLua) y, en realidad, todos los demás lenguajes también son posibles, no sólo .NET y C#. Sin embargo, C y ensamblador son los dos lenguajes más comunes, porque te acercan a la realidad.

0 votos

No es necesariamente cierto, pero es válido para la mayoría de los procesadores. Por ejemplo, algunos procesadores ejecutan de forma nativa lenguajes que están lejos de ser ensambladores, como Java (aunque sí ejecutan bytecodes, que es similar al ensamblador).

0 votos

Si el procesador ejecuta java bytecode, entonces ese es su ensamblaje.

1voto

D.Marj Puntos 31

Llevo varios años en la robótica, pero antes estuve en la web, en el campo de la recuperación de información. Así que puedo entender cómo se siente el OP cuando él / ella se interesó en la robótica, pero el conjunto de habilidades puede parecer muy diferente. De hecho, es diferente, pero sólo quiero compartir un poco de mi experiencia.

Básicamente, las respuestas de los demás son más directas y completas.

Si eres de la web, no necesariamente php programador, la necesidad de desarrollo web está a punto de estallar incluso en la robótica. Se me ocurren algunas áreas que dependen en gran medida de las tecnologías web:

  • Las necesidades de los dispositivos móviles como interfaz humana son cada vez mayores, donde la web o las aplicaciones para teléfonos móviles hacen el trabajo. java script , android , iOS son necesarios. Un ejemplo de proyectos destacados podría ser el denominado rosbridge .

  • El uso de la web como fuente de datos es el mismo en el desarrollo de aplicaciones robóticas. Algunos lo denominan como Cloud Robotics .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X