{"id":6042,"date":"2022-05-25T23:56:00","date_gmt":"2022-05-25T21:56:00","guid":{"rendered":"https:\/\/josedelgado.net\/?p=6042"},"modified":"2022-06-21T18:10:29","modified_gmt":"2022-06-21T16:10:29","slug":"tinybasic-plus-para-arduino","status":"publish","type":"post","link":"https:\/\/josedelgado.net\/va\/tinybasic-plus-para-arduino\/","title":{"rendered":"TinyBasic Plus para Arduino"},"content":{"rendered":"\n<p class=\"has-text-align-left wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"25\" height=\"16\" class=\"wp-image-6409\" style=\"width: 25px;\" src=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/06\/bandera_espana_725_450.jpg\" alt=\"\" srcset=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/06\/bandera_espana_725_450.jpg 725w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/06\/bandera_espana_725_450-300x186.jpg 300w\" sizes=\"auto, (max-width: 25px) 100vw, 25px\" \/> <em>Castellano<\/em><\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-global-color-8-color has-text-color wp-block-paragraph\"><strong>Material Necesario<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-regular\"><table class=\"has-background\" style=\"background-color:#f3f4f5\"><thead><tr><th><strong>Componente<\/strong><\/th><th><strong>Cantidad<\/strong><\/th><th><strong>Descripci\u00f3n<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Arduino UNO<\/td><td>1 ud<\/td><td>Placa Arduino Uno REV 3<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En este proyecto vamos a instalar, configurar y ejecutar una versi\u00f3n del conocido Tiny Basic, ampliada con nuevos comandos espec\u00edficos para plataformas como Arduino y que es conocida como Tiny Basic Plus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La versi\u00f3n original implementada en lenguaje C de Tiny Basic fue escrita inicialmente por Gordon Brandly en la versi\u00f3n para el procesador 68000.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta versi\u00f3n, posteriormente fue adaptada a la plataforma Arduino con el nombre Arduino Basic por Michael Field.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, Scott Lawrence ampli\u00f3 esta versi\u00f3n con funciones espec\u00edficas para algunas plataformas entre las cuales est\u00e1 Arduino y que es conocida como TinyBasic Plus.  Estas funciones adicionales incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Soporte para Ficheros E\/S <em>(fileIO)<\/em> mediante la Librer\u00eda para tarjeta SD<em> (SD Library)<\/em> <\/li><li>Autoejecuci\u00f3n de un programa desde la tarjeta SD<em> (SD Library)<\/em><\/li><li>Soporte de datos para los pines de E\/S <em>(pin data IO)<\/em><\/li><li>Soporte para el chip incluido en la placa Arduino EEProm, que permite el almacenamiento de nuestro programa en la memoria EEProm <em>(EEProm Storage)<\/em><\/li><\/ul>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\"><strong>Historia Tiny Basic<\/strong><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-style-default is-layout-flow wp-block-quote-is-layout-flow\"><p>El primer lenguaje consisti\u00f3 \u00fanicamente en un documento de est\u00e1ndares, escrito principalmente por&nbsp;Dennis Allison, un miembro de la facultad de Ciencias de la Computaci\u00f3n en la&nbsp;Universidad de Stanford.&nbsp;Bob Albrecht, del&nbsp;Homebrew Computer Club, lo inst\u00f3 a crear el est\u00e1ndar. \u00c9l hab\u00eda visto el lenguaje BASIC en&nbsp;minicomputadores&nbsp;y crey\u00f3 que encajar\u00eda perfectamente con las nuevas m\u00e1quinas como el&nbsp;Altair 8800&nbsp;de&nbsp;MITS, que hab\u00eda sido lanzada en enero de 1975. <\/p><p>Bob y Dennis publicaron el documento de dise\u00f1o en el bolet\u00edn de noticias de&nbsp;People&#8217;s Computer Company. En diciembre de 1975, Dick Whipple y John Arnold crearon un&nbsp;int\u00e9rprete&nbsp;del lenguaje que requiri\u00f3 solamente 3K de&nbsp;RAM. Bob y Dennis decidieron publicar esta versi\u00f3n y las correcciones a los documentos de dise\u00f1o originales en un bolet\u00edn de noticias dedicado al Tiny BASIC, que llamaron &#8220;Dr. Dobb&#8217;s Journal of Tiny BASIC Calisthenics and Orthodontia&#8221;. En las ediciones de 1976 fueron publicadas varias versiones del Tiny BASIC, incluyendo descripciones de dise\u00f1o y el&nbsp;c\u00f3digo fuente&nbsp;completo. <\/p><cite>Wikipedia<\/cite><\/blockquote>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\"><strong>Instalaci\u00f3n, Configuraci\u00f3n y Ejecuci\u00f3n de TinyBasic Plus<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una forma muy sencilla de instalar, configurar y ejecutar TinyBasic Plus en nuestra tarjeta Arduino es la siguiente:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Conectar nuestra placa Arduino UNO al ordenador mediante el puerto USB.<\/li><li><\/li><li>Descargar los ficheros de TinyBasic Plus para Arduino desde  <a rel=\"noreferrer noopener\" aria-label=\" (se abre en una nueva pesta\u00f1a)\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\" target=\"_blank\">https:\/\/github.com\/BleuLlama\/TinyBasicPlus<\/a> <\/li><li>Cargar el fichero TinyBasicPlus.ino en el entorno de programaci\u00f3n del IDE de Arduino<\/li><li>Subir el fichero a la tarjeta Arduino<\/li><li>Descargar, instalar y ejecutar el programa PuTTY  (cliente Telet y SSH) <a rel=\"noreferrer noopener\" aria-label=\" (se abre en una nueva pesta\u00f1a)\" href=\"https:\/\/www.putty.org\/\" target=\"_blank\">https:\/\/www.putty.org\/<\/a><\/li><li>Mirar el puerto en el que est\u00e1 conectada la placa Arduino UNO. Desde el IDE de Arduino, opci\u00f3n <em>&#8220;Herramientas &#8211;&gt; Puerto&#8221;<\/em> (por ejemplo, en nuestro caso ser\u00eda el COM4) <\/li><li>Configurarlo con el tipo de conexi\u00f3n (<em>Connection type<\/em>) Serial, en el puerto serie (<em>Serial line<\/em>) correcto y la velocidad (<em>Speed<\/em>)  de 9600 baudios, tal y como se muestra en la figura siguiente<\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_configuracion_PuTTY_puerto_com4.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"455\" height=\"445\" src=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_configuracion_PuTTY_puerto_com4.jpg\" alt=\"\" class=\"wp-image-6043\" srcset=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_configuracion_PuTTY_puerto_com4.jpg 455w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_configuracion_PuTTY_puerto_com4-300x293.jpg 300w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/a><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\"><li>Y si todo ha sido correcto veremos una pantalla como la siguiente<\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_02.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"540\" src=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_02.jpg\" alt=\"\" class=\"wp-image-6044\" srcset=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_02.jpg 903w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_02-300x179.jpg 300w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_02-768x459.jpg 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\"><li>Ya podemos utilizar el interprete de TinyBasic Plus para escribir programas y ejecutarlos.<\/li><\/ul>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\"><strong>Comandos TinyBasic Plus<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n detallamos los comandos que est\u00e1n implementados en TinyBasic Plus, seg\u00fan podremos ver en el fichero Readme.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Full list of supported statements and functions<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-system\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#system\" aria-hidden=\"true\"><\/a><strong>System<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>BYE &#8211;&nbsp;<em>exits Basic, soft reboot on Arduino<\/em><\/li><li>END &#8211;&nbsp;<em>stops execution from the program, also &#8220;STOP&#8221;<\/em><\/li><li>MEM &#8211;&nbsp;<em>displays memory usage statistics<\/em><\/li><li>NEW &#8211;&nbsp;<em>clears the current program<\/em><\/li><li>RUN &#8211;&nbsp;<em>executes the current program<\/em><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-file-iosd-card\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#file-iosd-card\" aria-hidden=\"true\"><\/a><strong>File IO\/SD Card<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>FILES &#8211;&nbsp;<em>lists the files on the SD card<\/em><\/li><li>LOAD filename.bas &#8211;&nbsp;<em>loads a file from the SD card<\/em><\/li><li>CHAIN filename.bas &#8211;&nbsp;<em>equivalent of: new, load filename.bas, run<\/em><\/li><li>SAVE filename.bas &#8211;&nbsp;<em>saves the current program to the SD card, overwriting<\/em><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-eeprom---nonvolatile-on-chip-storage\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#eeprom---nonvolatile-on-chip-storage\" aria-hidden=\"true\"><\/a><strong>EEProm &#8211; nonvolatile on-chip storage<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>EFORMAT &#8211; clears the EEProm memory<\/li><li>ELOAD &#8211; load the program in from EEProm<\/li><li>ESAVE &#8211; save the current program to the EEProm<\/li><li>ELIST &#8211; print out the contents of EEProm<\/li><li>ECHAIN &#8211; load the program from EEProm and run it<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-io-documentation\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#io-documentation\" aria-hidden=\"true\"><\/a><strong>IO, Documentation<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>INPUT variable &#8211;&nbsp;<em>let the user input an expression (number or variable name<\/em><\/li><li>PEEK( address ) &#8211;&nbsp;<em>get a value in memory<\/em>&nbsp;(unimplemented)<\/li><li>POKE address &#8211;&nbsp;<em>set a value in memory<\/em>&nbsp;(unimplemented)<\/li><li>PRINT expression &#8211;&nbsp;<em>print out the expression, also &#8220;?&#8221;<\/em><\/li><li>REM stuff &#8211;&nbsp;<em>remark\/comment, also &#8220;&#8216;&#8221;<\/em><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-expressions-math\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#expressions-math\" aria-hidden=\"true\"><\/a><strong>Expressions, Math<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>A=V, LET A=V &#8211;&nbsp;<em>assign value to a variable<\/em><\/li><li>+, -, *, \/ &#8211;&nbsp;<em>Math<\/em><\/li><li>&lt;,&lt;=,=,&lt;&gt;,!=,&gt;=,&gt; &#8211;&nbsp;<em>Comparisons<\/em><\/li><li>ABS( expression ) &#8211;&nbsp;<em>returns the absolute value of the expression<\/em><\/li><li>RSEED( v ) &#8211;&nbsp;<em>sets the random seed to v<\/em><\/li><li>RND( m ) &#8211;&nbsp;<em>returns a random number from 0 to m<\/em><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-control\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#control\" aria-hidden=\"true\"><\/a><strong>Control<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>IF expression statement &#8211;&nbsp;<em>perform statement if expression is true<\/em><\/li><li>FOR variable = start TO end &#8211;&nbsp;<em>start for block<\/em><\/li><li>FOR variable = start TO end STEP value &#8211;&nbsp;<em>start for block with step<\/em><\/li><li>NEXT &#8211;&nbsp;<em>end of for block<\/em><\/li><li>GOTO linenumber &#8211;&nbsp;<em>continue execution at this line number<\/em><\/li><li>GOSUB linenumber &#8211;&nbsp;<em>call a subroutine at this line number<\/em><\/li><li>RETURN &#8211;&nbsp;<em>return from a subroutine<\/em><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-pin-io\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#pin-io\" aria-hidden=\"true\"><\/a><strong>Pin IO<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>DELAY timems*- wait (in milliseconds)*<\/li><li>DWRITE pin,value &#8211;&nbsp;<em>set pin with a value (HIGH,HI,LOW,LO)<\/em><\/li><li>AWRITE pin,value &#8211;&nbsp;<em>set pin with analog value (pwm) 0..255<\/em><\/li><li>DREAD( pin ) &#8211;&nbsp;<em>get the value of the pin<\/em><\/li><li>AREAD( analogPin ) &#8211;&nbsp;<em>get the value of the analog pin<\/em><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">NOTE: &#8220;PINMODE&#8221; command removed as of version 0.11<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-sound---piezo-wired-with-red-on-pin-5-and-black--to-ground\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus#sound---piezo-wired-with-red-on-pin-5-and-black--to-ground\" aria-hidden=\"true\"><\/a><strong>Sound &#8211; Piezo wired with red\/+ on pin 5 and black\/- to ground<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>TONE freq,timems &#8211; play &#8220;freq&#8221; for &#8220;timems&#8221; milleseconds (1000 = 1 second)<\/li><li>TONEW freq,timems &#8211; same as above, but also waits for it to finish<\/li><li>NOTONE &#8211; stop playback of all playing tones<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">NOTE: TONE commands are by default disabled<\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\"><strong>Ejemplos de Programas de TinyBasic Plus<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y a continuaci\u00f3n mostraremos unos ejemplos de funcionamiento seg\u00fan fichero Readme.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Example programs<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here are a few example programs to get you started&#8230;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-user-input\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\/blob\/master\/README.md#user-input\" aria-hidden=\"true\"><\/a><strong>User Input<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let a user enter a new value for a variable, enter a number like &#8217;33&#8217; or &#8217;42&#8217;, or a varaible like &#8216;b&#8217;.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n10 A=0\n15 B=999\n20 PRINT &quot;A is &quot;, A\n30 PRINT &quot;Enter a new value &quot;;\n40 INPUT A\n50 PRINT &quot;A is now &quot;, A\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-blink\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\/blob\/master\/README.md#blink\" aria-hidden=\"true\"><\/a><strong>Blink<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">hook up an LED between pin 3 and ground<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n10 FOR A=0 TO 10\n20 DWRITE 3, HIGH\n30 DELAY 250\n40 DWRITE 3, LOW\n50 DELAY 250\n60 NEXT A\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-fade\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\/blob\/master\/README.md#fade\" aria-hidden=\"true\"><\/a><strong>Fade<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">hook up an LED between pin 3 and ground<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n10 FOR A=0 TO 10\n20 FOR B=0 TO 255\n30 AWRITE 3, B\n40 DELAY 10\n50 NEXT B\n60 FOR B=255 TO 0 STEP -1\n70 AWRITE 3, B\n80 DELAY 10\n90 NEXT B\n100 NEXT A\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-led-knob\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\/blob\/master\/README.md#led-knob\" aria-hidden=\"true\"><\/a><strong>LED KNOB<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">hook up a potentiometeter between analog 2 and ground, led from digital 3 and ground. If knob is at 0, it stops<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n10 A = AREAD( 2 )\n20 PRINT A\n30 B = A \/ 4\n40 AWRITE 3, B\n50 IF A == 0 GOTO 100\n60 GOTO 10\n100 PRINT &quot;Done.&quot;\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><a id=\"user-content-echain-example\" class=\"anchor\" href=\"https:\/\/github.com\/BleuLlama\/TinyBasicPlus\/blob\/master\/README.md#echain-example\" aria-hidden=\"true\"><\/a><strong>ECHAIN example<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Write a small program, store it in EEPROM. We&#8217;ll show that variables don&#8217;t get erased when chaining happens<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nEFORMAT\n10 A = A + 2\n20 PRINT A\n30 PRINT &quot;From eeprom!&quot;\n40 IF A = 12 GOTO 100\n50 PRINT &quot;Shouldn&#039;t be here.&quot;\n60 END\n100 PRINT &quot;Hi!&quot;\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Then store it in EEProm<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nESAVE\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Now, create a new program in main memory and run it<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nNEW\n10 A = 10\n20 PRINT A\n30 PRINT &quot;From RAM!&quot;\n40 ECHAIN\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">List both, and run<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ELIST<code>\nLIST\nRUN<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"541\" src=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\" alt=\"\" class=\"wp-image-6071\" srcset=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg 903w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00-300x180.jpg 300w, https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00-768x460.jpg 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"> \u00a1 <strong>Ahora ya puedes practicar con el Interprete de TinyBasic Plus en tu placa Arduino UNO<\/strong> !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Castellano Material Necesario Componente Cantidad Descripci\u00f3n Arduino UNO 1 ud Placa Arduino Uno REV 3 En este proyecto vamos a instalar, configurar y ejecutar una versi\u00f3n del conocido Tiny Basic, ampliada con nuevos comandos espec\u00edficos para plataformas como Arduino y que es conocida como Tiny Basic Plus. La versi\u00f3n original implementada en lenguaje C de Tiny Basic fue escrita inicialmente por Gordon Brandly en la versi\u00f3n para el procesador 68000. Esta versi\u00f3n, posteriormente fue adaptada a la plataforma Arduino con el nombre Arduino Basic por Michael Field. Finalmente, Scott Lawrence ampli\u00f3 esta versi\u00f3n con funciones espec\u00edficas para algunas plataformas entre &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"TinyBasic Plus para Arduino\" class=\"read-more button\" href=\"https:\/\/josedelgado.net\/va\/tinybasic-plus-para-arduino\/#more-6042\" aria-label=\"Read more about TinyBasic Plus para Arduino\">Leer m\u00e1s \/ Llegir m\u00e9s<\/a><\/p>\n","protected":false},"author":1,"featured_media":6071,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_exactmetrics_skip_tracking":false,"footnotes":""},"categories":[552],"tags":[560,561],"class_list":["post-6042","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-robotica","tag-arduino","tag-tinybasic-plus","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"va","enabled_languages":["es","va"],"languages":{"es":{"title":true,"content":true,"excerpt":false},"va":{"title":false,"content":false,"excerpt":false}}},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TinyBasic Plus para Arduino - Jos\u00e9 Delgado<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TinyBasic Plus para Arduino - Jos\u00e9 Delgado\" \/>\n<meta property=\"og:url\" content=\"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"Jos\u00e9 Delgado\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-25T21:56:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-21T16:10:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"903\" \/>\n\t<meta property=\"og:image:height\" content=\"541\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jose Delgado\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@soyjosedelgado\" \/>\n<meta name=\"twitter:site\" content=\"@soyjosedelgado\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Delgado\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/\"},\"author\":{\"name\":\"Jose Delgado\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#\\\/schema\\\/person\\\/d43605ef0d5681c1b27a4ba1fede1cf4\"},\"headline\":\"TinyBasic Plus para Arduino\",\"datePublished\":\"2022-05-25T21:56:00+00:00\",\"dateModified\":\"2022-06-21T16:10:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/\"},\"wordCount\":1179,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#\\\/schema\\\/person\\\/d43605ef0d5681c1b27a4ba1fede1cf4\"},\"image\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/josedelgado.net\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\",\"keywords\":[\"arduino\",\"tinybasic plus\"],\"articleSection\":[\"Rob\u00f3tica\"],\"inLanguage\":\"va-VA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/\",\"url\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/\",\"name\":\"TinyBasic Plus para Arduino - Jos\u00e9 Delgado\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/josedelgado.net\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\",\"datePublished\":\"2022-05-25T21:56:00+00:00\",\"dateModified\":\"2022-06-21T16:10:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#breadcrumb\"},\"inLanguage\":\"va-VA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"va-VA\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#primaryimage\",\"url\":\"https:\\\/\\\/josedelgado.net\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\",\"contentUrl\":\"https:\\\/\\\/josedelgado.net\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg\",\"width\":903,\"height\":541},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/tinybasic-plus-para-arduino\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/josedelgado.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TinyBasic Plus para Arduino\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#website\",\"url\":\"https:\\\/\\\/josedelgado.net\\\/\",\"name\":\"Jos\u00e9 Delgado\",\"description\":\"Web Personal\",\"publisher\":{\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#\\\/schema\\\/person\\\/d43605ef0d5681c1b27a4ba1fede1cf4\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/josedelgado.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"va-VA\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/josedelgado.net\\\/#\\\/schema\\\/person\\\/d43605ef0d5681c1b27a4ba1fede1cf4\",\"name\":\"Jose Delgado\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"va-VA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g\",\"caption\":\"Jose Delgado\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g\"},\"description\":\"Ingeniero Superior en Inform\u00e1tica de Gesti\u00f3n, UPV 1988-1993 M\u00e1ster en Direcci\u00f3n Comercial y Marketing, Fundesem 2005 M\u00e1ster en Peritaje Inform\u00e1tico e Inform\u00e1tica Forense, EuroInnova 2018 M\u00e1ster en Marketing y Estrategia de Comunicaci\u00f3n Digital, Fundesem 2019 M\u00e1ster en Formaci\u00f3n del Profesorado de Educaci\u00f3n de Secundaria Especialidad de Tecnolog\u00eda,\u00a0UAX\u00a02023\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/josedelgado\\\/\",\"https:\\\/\\\/x.com\\\/soyjosedelgado\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TinyBasic Plus para Arduino - Jos\u00e9 Delgado","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/","og_locale":"en_US","og_type":"article","og_title":"TinyBasic Plus para Arduino - Jos\u00e9 Delgado","og_url":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/","og_site_name":"Jos\u00e9 Delgado","article_published_time":"2022-05-25T21:56:00+00:00","article_modified_time":"2022-06-21T16:10:29+00:00","og_image":[{"width":903,"height":541,"url":"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg","type":"image\/jpeg"}],"author":"Jose Delgado","twitter_card":"summary_large_image","twitter_creator":"@soyjosedelgado","twitter_site":"@soyjosedelgado","twitter_misc":{"Written by":"Jose Delgado","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#article","isPartOf":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/"},"author":{"name":"Jose Delgado","@id":"https:\/\/josedelgado.net\/#\/schema\/person\/d43605ef0d5681c1b27a4ba1fede1cf4"},"headline":"TinyBasic Plus para Arduino","datePublished":"2022-05-25T21:56:00+00:00","dateModified":"2022-06-21T16:10:29+00:00","mainEntityOfPage":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/"},"wordCount":1179,"commentCount":0,"publisher":{"@id":"https:\/\/josedelgado.net\/#\/schema\/person\/d43605ef0d5681c1b27a4ba1fede1cf4"},"image":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg","keywords":["arduino","tinybasic plus"],"articleSection":["Rob\u00f3tica"],"inLanguage":"va-VA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/","url":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/","name":"TinyBasic Plus para Arduino - Jos\u00e9 Delgado","isPartOf":{"@id":"https:\/\/josedelgado.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#primaryimage"},"image":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#primaryimage"},"thumbnailUrl":"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg","datePublished":"2022-05-25T21:56:00+00:00","dateModified":"2022-06-21T16:10:29+00:00","breadcrumb":{"@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#breadcrumb"},"inLanguage":"va-VA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/"]}]},{"@type":"ImageObject","inLanguage":"va-VA","@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#primaryimage","url":"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg","contentUrl":"https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg","width":903,"height":541},{"@type":"BreadcrumbList","@id":"https:\/\/josedelgado.net\/tinybasic-plus-para-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/josedelgado.net\/"},{"@type":"ListItem","position":2,"name":"TinyBasic Plus para Arduino"}]},{"@type":"WebSite","@id":"https:\/\/josedelgado.net\/#website","url":"https:\/\/josedelgado.net\/","name":"Jos\u00e9 Delgado","description":"Web Personal","publisher":{"@id":"https:\/\/josedelgado.net\/#\/schema\/person\/d43605ef0d5681c1b27a4ba1fede1cf4"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/josedelgado.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"va-VA"},{"@type":["Person","Organization"],"@id":"https:\/\/josedelgado.net\/#\/schema\/person\/d43605ef0d5681c1b27a4ba1fede1cf4","name":"Jose Delgado","image":{"@type":"ImageObject","inLanguage":"va-VA","@id":"https:\/\/secure.gravatar.com\/avatar\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g","caption":"Jose Delgado"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/24a3e726d4af70848eac3efea42f5b3c496c93b62fb83e7a88636e3cde86b617?s=96&d=mm&r=g"},"description":"Ingeniero Superior en Inform\u00e1tica de Gesti\u00f3n, UPV 1988-1993 M\u00e1ster en Direcci\u00f3n Comercial y Marketing, Fundesem 2005 M\u00e1ster en Peritaje Inform\u00e1tico e Inform\u00e1tica Forense, EuroInnova 2018 M\u00e1ster en Marketing y Estrategia de Comunicaci\u00f3n Digital, Fundesem 2019 M\u00e1ster en Formaci\u00f3n del Profesorado de Educaci\u00f3n de Secundaria Especialidad de Tecnolog\u00eda,\u00a0UAX\u00a02023","sameAs":["https:\/\/www.linkedin.com\/in\/josedelgado\/","https:\/\/x.com\/soyjosedelgado"]}]}},"uagb_featured_image_src":{"full":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg",903,541,false],"thumbnail":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00-150x150.jpg",150,150,true],"medium":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00-300x180.jpg",300,180,true],"medium_large":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00-768x460.jpg",768,460,true],"large":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg",903,541,false],"1536x1536":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg",903,541,false],"2048x2048":["https:\/\/josedelgado.net\/wp-content\/uploads\/2022\/05\/jose_delgado_labrob_par3_tiny_basic_plus_listado_00.jpg",903,541,false]},"uagb_author_info":{"display_name":"Jose Delgado","author_link":"https:\/\/josedelgado.net\/va\/author\/admin\/"},"uagb_comment_info":1,"uagb_excerpt":"Castellano Material Necesario Componente Cantidad Descripci\u00f3n Arduino UNO 1 ud Placa Arduino Uno REV 3 En este proyecto vamos a instalar, configurar y ejecutar una versi\u00f3n del conocido Tiny Basic, ampliada con nuevos comandos espec\u00edficos para plataformas como Arduino y que es conocida como Tiny Basic Plus. La versi\u00f3n original implementada en lenguaje C de&hellip;","_links":{"self":[{"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/posts\/6042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/comments?post=6042"}],"version-history":[{"count":5,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/posts\/6042\/revisions"}],"predecessor-version":[{"id":6439,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/posts\/6042\/revisions\/6439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/media\/6071"}],"wp:attachment":[{"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/media?parent=6042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/categories?post=6042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/josedelgado.net\/va\/wp-json\/wp\/v2\/tags?post=6042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}