14
 Arduino "Arduino Uno" Revisión 3 Tipo  Placa computadora (microcontrolador de  placa simple ) Página web www.arduino.cc (http://www.arduino.cc) [editar datos en Wikidata] Placa Arduino RS232 1 Arduino De Wikipedia, la enciclopedia li  bre Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desar rollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. 2  3 El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. 4  Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque que es ejecutado en la  placa. 4 Desde octubre de 2012, Ar duino se usa también con microcontroladoras CortexM3 de ARM de 32 bits, 5  que coexistirán con l as más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las micr ocontr oladoras CortexM3 usan 3,3V, a diferencia de la mayoría de las placas con AVR que generalmente usan 5V. Sin embargo ya anteriormente se lanzaron pl acas Arduino con Atmel AVR a 3,3V como la Arduino Fio y existen compatibles de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data. Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Arduino puede tomar información del entorno a través de  sus entradas analógicas y digitales,  puede controlar luces, motores y otros actuadores. El microcon trolador en la placa Arduino se  programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un computador. El proyecto Arduino recibió una mención honorífica en la categ oría de Comunidades  Digital en el Prix Ars Electrónica de 2006. 6  7  8 Índice 1 Historia 2 Productos 3 Aplicaciones 4 Esquema de conexiones 4.1 Entradas y salidas 5 Especificaciones 6 Lenguaje de programación Arduino 6.1 Funciones básicas y operadores 6.1.1 Sintaxis básica 6.1.2 Estructuras de control 6.1.3 Variables 6.1.3.1 Constantes 6.1.3.2 Tipos de datos 6.1.3.3 Conversión entre tipos 6.1.3.4 Cualificadores y ámbito de las variables 6.1.3.5 Utilidades 6.1.4 Funciones básicas 6.1.4.1 E/S digital 6.1.4.2 E/S analógica 6.1.4.3 E/S avanzada 6.1.4.4 Tiempo 6.1.4.5 Matemáticas 6.1.4.6 Trigonometría 6.1.4.7 Números aleatorios 6.1.4.8 Bits y Bytes 6.1.4.9 Interrupciones externas 6.1.4.10 Interrupciones 6.1.4.11 Comunicación por puerto serie 6.1.5 Manipulación de puertos 6.2 AVR Libc 6.2.1 Interrupciones 6.2.2 Temporizadores 6.2.3 Manipulación de puertos 6.2.4 Establecer Bits en variables

fjfj jhhhhhhhhhhfjyf yifiif iyi

Embed Size (px)

DESCRIPTION

ugkgkug k gk kgjk glgli

Citation preview

  • Arduino

    "ArduinoUno"Revisin3

    Tipo Placacomputadora(microcontroladordeplacasimple)

    Pginaweb

    www.arduino.cc(http://www.arduino.cc)

    [editardatosenWikidata]

    PlacaArduinoRS2321

    ArduinoDeWikipedia,laenciclopedialibre

    Arduinoesunaplataformadehardwarelibre,basadaenunaplacaconunmicrocontroladoryunentorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectosmultidisciplinares.23

    El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos deentrada/salida.4 Los microcontroladores ms usados son el Atmega168, Atmega328,Atmega1280,ATmega8 por su sencillez y bajo coste que permiten el desarrollo demltiplesdiseos. Por otro lado el software consiste en un entorno de desarrollo que implementa ellenguajedeprogramacinProcessing/Wiringyelcargadordearranquequeesejecutadoen laplaca.4

    Desdeoctubrede2012,ArduinoseusatambinconmicrocontroladorasCortexM3deARMde32bits,5quecoexistirnconlasmslimitadas,perotambineconmicasAVRde8bits.ARMyAVRnosonplataformascompatiblesanivelbinario,perosepuedenprogramarconelmismoIDEdeArduinoyhacerseprogramasquecompilensincambiosenlasdosplataformas.Esos,lasmicrocontroladorasCortexM3usan3,3V,adiferenciadelamayoradelasplacasconAVRquegeneralmenteusan5V.SinembargoyaanteriormenteselanzaronplacasArduinoconAtmelAVRa3,3VcomolaArduinoFioyexistencompatiblesdeArduinoNanoyProcomoMeduinoenquesepuedeconmutarelvoltaje.

    Arduinosepuedeutilizarparadesarrollarobjetosinteractivosautnomosopuedeserconectadoa software tal como Adobe Flash, Processing, Max/MSP, Pure Data. Las placas se puedenmontar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargargratuitamente.

    Arduino puede tomar informacin del entorno a travs de sus entradas analgicas y digitales,puede controlar luces,motores y otros actuadores. Elmicrocontrolador en la placaArduino seprograma mediante el lenguaje de programacin Arduino (basado enWiring) y el entorno dedesarrolloArduino(basadoenProcessing).LosproyectoshechosconArduinopuedenejecutarsesinnecesidaddeconectarauncomputador.

    ElproyectoArduinorecibiunamencinhonorficaenlacategoradeComunidadesDigitalenelPrixArsElectrnicade2006.678

    ndice

    1Historia2Productos3Aplicaciones4Esquemadeconexiones

    4.1Entradasysalidas5Especificaciones6LenguajedeprogramacinArduino

    6.1Funcionesbsicasyoperadores6.1.1Sintaxisbsica6.1.2Estructurasdecontrol6.1.3Variables

    6.1.3.1Constantes6.1.3.2Tiposdedatos6.1.3.3Conversinentretipos6.1.3.4Cualificadoresymbitodelasvariables6.1.3.5Utilidades

    6.1.4Funcionesbsicas6.1.4.1E/Sdigital6.1.4.2E/Sanalgica6.1.4.3E/Savanzada6.1.4.4Tiempo6.1.4.5Matemticas6.1.4.6Trigonometra6.1.4.7Nmerosaleatorios6.1.4.8BitsyBytes6.1.4.9Interrupcionesexternas6.1.4.10Interrupciones6.1.4.11Comunicacinporpuertoserie

    6.1.5Manipulacindepuertos6.2AVRLibc

    6.2.1Interrupciones6.2.2Temporizadores6.2.3Manipulacindepuertos6.2.4EstablecerBitsenvariables

    http://commons.wikimedia.org/wiki/File:Arduino316.jpghttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/w/index.php?title=ATmega8&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Prix_Ars_Electr%C3%B3nica&action=edit&redlink=1http://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/P%C3%A1gina_webhttp://es.wikipedia.org/wiki/Cargador_de_arranquehttp://es.wikipedia.org/wiki/Circuito_impresohttp://es.wikipedia.org/wiki/Placahttp://es.wikipedia.org/w/index.php?title=Atmega168&action=edit&redlink=1http://es.wikipedia.org/wiki/Processinghttp://es.wikipedia.org/wiki/Pure_Datahttp://es.wikipedia.org/wiki/Entorno_de_desarrollo_integradohttp://www.arduino.cc/http://es.wikipedia.org/wiki/Entrada/salidahttp://es.wikipedia.org/wiki/RS232http://es.wikipedia.org/wiki/Placa_computadorahttp://www.wikidata.org/wiki/Q175957http://es.wikipedia.org/wiki/Entorno_de_desarrollohttp://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/Atmega328http://es.wikipedia.org/wiki/Adobe_Flash_Professionalhttp://es.wikipedia.org/wiki/Processinghttp://es.wikipedia.org/wiki/Atmega1280http://es.wikipedia.org/wiki/Max/MSPhttp://es.wikipedia.org/wiki/AVRhttp://es.wikipedia.org/wiki/Hardwarehttp://commons.wikimedia.org/wiki/File:Arduino_Uno_-_R3.jpghttp://es.wikipedia.org/wiki/Hardware_libre

  • 6.3DiferenciasconProcessing6.3.1Arreglos6.3.2Impresindecadenas

    6.4EjemplosencillodeprogramacinenArduino7BibliotecasenArduino

    7.1Serial7.2EEPROM7.3Ethernet7.4Firmata7.5LiquidCrystal7.6Servo7.7SoftwareSerial7.8Stepper7.9Wire7.10Creacindebibliotecas

    7.10.1Ejemplodebiblioteca8EjemplosdeCdigo9Instalacinendiferentesentornos

    9.1Windows9.2GNU/Linux

    10Equipodedesarrollo11Pduino12Minibloq13PhysicalEtoys14Vasetambin15Referencias16Bibliografa17Enlacesdeexternos

    Historia

    Arduinoseinicienelao2005comounproyectoparaestudiantesenelInstitutoIVREA,enIvrea(Italia).Enesetiempo,losestudiantesusabanelmicrocontroladorBASICStamp, cuyo coste era de100dlares estadounidenses, lo que se considerabademasiado costosopara ellos.Por aquellapoca,unodelosfundadoresdeArduino,MassimoBanzi,dabaclasesenIvrea.9

    ElnombredelproyectovienedelnombredelBardiReArduino(BardelReyArduino)dondeMassimoBanzipasabaalgunashoras.Ensucreacin,contribuyelestudiantecolombianoHernandoBarragn,quiendesarrolllatarjetaelectrnicaWiring,ellenguajedeprogramacinylaplataformadedesarrollo.10 Una vez concluida dicha plataforma, los investigadores trabajaron para hacerloms ligero,ms econmico y disponible para lacomunidaddecdigoabierto(hardwareycdigoabierto).Elinstitutofinalmentecerrsuspuertas,asquelosinvestigadores,entreelloselespaolDavidCuartielles,promovieronla idea.9Banziafirmaraaosms tarde,queelproyectonuncasurgicomouna ideadenegocio, sinocomounanecesidaddesubsistiranteelinminentecierredelInstitutodediseoInteractivoIVREA.Esdecir,quealcrearunproductodehardwareabierto,stenopodraserembargado.

    Posteriormente, Google colabor en el desarrollo del Kit Android ADK (AccesoryDevelopment Kit), una placa Arduino capaz de comunicarsedirectamentecontelfonosmvilesinteligentesbajoelsistemaoperativoAndroidparaqueeltelfonocontroleluces,motoresysensoresconectadosdeArduino.1112

    Paralaproduccinenseriedelaprimeraversinsetomencuentaqueelcostenofueramayorde30euros,quefueraensambladoenunaplacadecolorazul,debaserPlugandPlayyquetrabajaracontodaslasplataformasinformticastalescomoMacOSX,WindowsyGNU/Linux.Lasprimeras300unidadesselasdieronalosalumnosdelInstitutoIVRAE,conelfindequelasprobaranyempezaranadisearsusprimerosprototipos.

    Enelao2005,seincorporalequipoelprofesorTomIgoe,10quehabatrabajadoencomputacinfsica,despusdequeseenteraradelmismoatravs de Internet. l ofreci su apoyo para desarrollar el proyecto a gran escala y hacer los contactos para distribuir las tarjetas en territorioestadounidense.EnlaferiaMakerFairde2011sepresentlaprimeraplacaArduino32bitparatrabajartareasmspesadas.13

    Productos

    LosmodelosenventadeArduinosecategorizanen4diferentesproductos:tablas,escudos,kitsyaccesoriossiendoencadauno:Tablas:

    ArduinoUnoArduinoLeonardoArduinoDueArduinoYnArduinoTre(EnDesarrollo)ArduinoZero(EnDesarrollo)ArduinoMicroArduinoEsploraArduinoMegaADKArduinoEthernetArduinoMega2560ArduinoRobotArduinoMiniArduinoNanoLilyPadArduinoSimpleLilyPadArduinoSimpleSnap

    http://es.wikipedia.org/wiki/Arduino_de_Ivreahttp://es.wikipedia.org/wiki/Windowshttp://es.wikipedia.org/wiki/Plug_and_Playhttp://es.wikipedia.org/wiki/MacOSXhttp://es.wikipedia.org/wiki/Androidhttp://es.wikipedia.org/wiki/BASIC_Stamphttp://es.wikipedia.org/wiki/GNU/Linuxhttp://es.wikipedia.org/wiki/Ivrea_(Italia)http://es.wikipedia.org/wiki/D%C3%B3larhttp://en.wikipedia.org/wiki/en:Interaction_Design_Institute_Ivrea

  • LilyPadArduinoLilyPadArduinoUSBArduinoProMiniArduinoFioArduinoPro

    Escudos:

    ArduinoGSMShieldArduinoEthernetShieldArduinoWiFiShieldArduinoWirelessSDShieldArduinoUSBHostShieldArduinoMotorShieldArduinoWirelessProtoShieldArduinoProtoShield

    Kits:

    TheArduinoStarterKitArduinoMateria101

    Accesorios:

    TFTLCDScreenUSB/SerialLightAdapterArduinoISPMiniUSB/SerialAdapter

    Aplicaciones

    ElmduloArduinohasidousadocomobaseendiversasaplicacioneselectrnicas:

    Xoscillo:Osciloscopiodecdigoabierto.14

    Equipocientficoparainvestigaciones.15

    Arduinome:UndispositivocontroladorMIDI.16OBDuino:uneconmetroqueusaunainterfazdediagnsticoabordoquesehallaenlosautomvilesmodernos.HumaneReader:dispositivoelectrnicodebajocosteconsalidadesealdeTVquepuedemanejarunabibliotecade5000ttulosenunatarjetamicroSD.17TheHumanePC:equipoqueusaunmduloArduinoparaemularuncomputadorpersonal, conunmonitorde televisinyun tecladoparacomputadora.18Ardupilot:softwareyhardwaredeaeronavesnotripuladas.ArduinoPhone:untelfonomvilconstruidosobreunmduloArduino.1920Impresoras3D.

    Esquemadeconexiones

    Entradasysalidas

    PoniendodeejemploalmduloDiecimila,steconstade14entradasdigitalesconfigurablescomoentradasy/osalidasqueoperana5voltios.Cadacontactopuedeproporcionarorecibircomomximo40mA.Loscontactos3,5,6,9,10y11puedenproporcionarunasalidaPWM(PulseWidthModulation). Si se conecta cualquier cosa a los contactos 0 y 1, eso interferir con la comunicacin USB. Diecimila tambin tiene 6 entradasanalgicas que proporcionan una resolucin de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios, aunque es posible cambiar el nivel ms alto,utilizandoelcontactoArefyalgncdigodebajonivel.

    Especificaciones

    LasespecificacionesdelosdistintosmodelosdeplacasArduinoseresumenenlasiguientetabla:

    Modelo MicrocontroladorVoltaje

    deentrada

    Voltajedel

    sistema

    FrecuenciadeReloj

    DigitalI/O

    EntradasAnalgicas PWM UART

    MemoriaFlash Cargador

    InterfazdeProgramacin

    ArduinoDue AT91SAM3X8E 512V 3,3V 84MHz 54* 12 12 4 512Kb Due NativaUSB

    ArduinoLeonardo ATmega32U4 712V 5V 16MHz 20* 12 7 1 32Kb Leonardo NativaUSB

    ArduinoUnoR3 ATmega328 712V 5V 16MHz 14 6 6 1 32Kb Optiboot

    USB viaATMega16U2

    http://es.wikipedia.org/wiki/Econ%C3%B3metrohttp://es.wikipedia.org/wiki/OBDhttp://es.wikipedia.org/wiki/Droneshttp://es.wikipedia.org/wiki/Osciloscopiohttp://es.wikipedia.org/wiki/MIDIhttp://es.wikipedia.org/wiki/MicroSD

  • RedBoardATmega328 715V 5V 16MHz 14 6 6 1 32Kb Optiboot USBviaFTDI

    ArduinoUnoSMD

    (descontinuado)ATmega328 712V 5V 16MHz 14 6 6 1 32Kb Optiboot USB viaATMega8U2

    ArduinoUno(descontinuado) ATmega328 712V 5V 16MHz 14 6 6 1 32Kb Optiboot

    USB viaATMega8U2

    ArduinoDuemilanove

    (descontinuado)ATmega328 712V 5V 16MHz 14 6 6 1 32Kb AtmegaBOOT USBviaFTDI

    ArduinoBluetooth

    (descontinuado) ATmega3281,25,5V

    5V 16MHz 14 6 6 1 32Kb AtmegaBOOT SerialBluetooth

    ArduinoPro3.3V/8MHz ATmega328

    3,3512V 3,3V 8MHz 14 6 6 1 32Kb AtmegaBOOT

    CabeceracompatibleconFTDI

    ArduinoPro5V/16MHz ATmega328 512V 5V 16MHz 14 6 6 1 32Kb AtmegaBOOT

    CabeceracompatibleconFTDI

    EthernetPro(descontinuado) ATmega328 712V 5V 16MHz 14 6 6 1 32Kb AtmegaBOOT

    CabeceracompatibleconFTDI

    ArduinoMega2560R3 ATmega2560 712V 5V 16MHz 54 16 14 4 256Kb STK500v2

    USB viaATMega16U2

    ArduinoMega2560

    (descontinuado)ATmega2560 712V 5V 16MHz 54 16 14 4 256Kb STK500v2 USB viaATMega8U2

    ArduinoMega(descontinuado) ATmega1280 712V 5V 16MHz 54 16 14 4 128Kb STK500v2 USBviaFTDI

    MegaPro3.3V ATmega2560 3,312V 3,3V 8MHz 54 16 14 4 256Kb STK500v2CabeceracompatibleconFTDI

    MegaPro5V ATmega2560 512V 5V 16MHz 54 16 14 4 256Kb STK500v2CabeceracompatibleconFTDI

    ArduinoMini04

    (descontinuado)ATmega328 79V 5V 16MHz 14 6 8 1 32Kb AtmegaBOOT CabeceraSerial

    ArduinoMini05 ATmega328 79V 5V 16MHz 14 6 8 1 32Kb AtmegaBOOT

    CabeceraSerial

    ArduinoProMini

    3.3V/8MHzATmega328 3,3512V 3,3V 8MHz 14 6 6 1 32Kb AtmegaBOOT

    CabeceracompatibleconFTDI

    ArduinoProMini

    5V/16MHzATmega328 512V 5V 16MHz 14 6 6 1 32Kb AtmegaBOOT

    CabeceracompatibleconFTDI

    http://es.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/en:FTDI

  • ArduinoFio ATmega328P 3,3512V 3,3V 8MHz 14 8 6 1 32Kb AtmegaBOOT

    Cabeceracompatiblecon FTDI oInalmbricaviaXBee1

    MegaProMini3.3V ATmega2560 3,312V 3,3V 8MHz 54 16 14 4 256Kb STK500v2

    CabeceracompatibleconFTDI

    ProMicro5V/16MHz ATmega32U4 512V 5V 16MHz 12 4 5 1 32Kb DiskLoader NativaUSB

    ProMicro3.3V/8MHz ATmega32U4

    3,3512V 3,3V 8MHz 12 4 5 1 32Kb DiskLoader NativaUSB

    LilyPadArduino328MainBoard

    ATmega328 2,75,5V 3,3V 8MHz 14 6 6 1 32Kb AtmegaBOOTCabeceracompatibleconFTDI

    LilyPadArduinoSimple

    BoardATmega328 2,75,5V 3,3V 8MHz 9 4 5 0

    2 32Kb AtmegaBOOTCabeceracompatibleconFTDI

    Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega estn basados en los microcontroladores ATmega168, ATmega328 yATmega1280

    ATmega168 ATmega328 ATmega1280Voltajeoperativo 5V 5V 5VVoltaje de entradarecomendado 712V 712V 712V

    Voltajedeentradalmite 620V 620V 620VContactos de entrada y salidadigital 14(6proporcionanPWM) 14(6proporcionanPWM) 54(14proporcionanPWM)

    Contactosdeentradaanalgica 6 6 16Intensidaddecorriente 40mA 40mA 40mA

    MemoriaFlash 16KB (2KB reservados para elbootloader)32KB (2KB reservados para elbootloader)

    128KB (4KB reservados para elbootloader)

    SRAM 1KB 2KB 8KBEEPROM 512bytes 1KB 4KBFrecuenciadereloj 16MHz 16MHz 16MHz

    LenguajedeprogramacinArduino

    La plataformaArduino se programamediante el uso de un lenguaje propio basado en el lenguaje de programacin de alto nivel Processing.Sinembargo,esposibleutilizarotroslenguajesdeprogramacinyaplicacionespopularesenArduino,21debidoaqueArduinousalatransmisinserialde datos soportada por lamayora de los lenguajesmencionados. Para los que no soportan el formato serie de forma nativa, es posible utilizarsoftwareintermediarioquetraduzcalosmensajesenviadosporambaspartesparapermitirunacomunicacinfluida.Algunosejemplosson:

    3DVIAVirtools:aplicacionesinteractivasydetiemporeal.AdobeDirectorBlitzMax(conaccesorestringido)CC++(mediantelibSerialoenWindows)C#Cocoa/ObjectiveC(paraMacOSX)Flash(medianteActionScript)GambasIsadora(Interactividadaudiovisualentiemporeal)InstantReality(X3D)JavaLiberlab(softwaredemedicinyexperimentacin)MathematicaMatlabMaxMSP:Entornogrficodeprogramacinparaaplicacionesmusicales,deaudioymultimedia

    http://es.wikipedia.org/wiki/PWMhttp://es.wikipedia.org/w/index.php?title=Instant_Reality&action=edit&redlink=1http://es.wikipedia.org/wiki/SRAMhttp://es.wikipedia.org/wiki/EEPROMhttp://es.wikipedia.org/wiki/Mathematicahttp://es.wikipedia.org/wiki/Matlabhttp://es.wikipedia.org/wiki/Adobe_Directorhttp://es.wikipedia.org/wiki/C_Sharphttp://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)http://es.wikipedia.org/wiki/BlitzMaxhttp://es.wikipedia.org/wiki/Cocoahttp://es.wikipedia.org/wiki/Lenguaje_Chttp://es.wikipedia.org/wiki/Adobe_Flash_Playerhttp://es.wikipedia.org/wiki/Gambashttp://es.wikipedia.org/wiki/MaxMSPhttp://es.wikipedia.org/wiki/Processinghttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Mac_OS_Xhttp://es.wikipedia.org/wiki/PWMhttp://es.wikipedia.org/wiki/Isadorahttp://es.wikipedia.org/wiki/PWMhttp://es.wikipedia.org/w/index.php?title=Liberlab&action=edit&redlink=1http://es.wikipedia.org/wiki/Memoria_Flashhttp://es.wikipedia.org/wiki/Objective-C

  • Minibloq:Entornogrficodeprogramacin,corretambinenlascomputadorasOLPCPerlPhpPhysicalEtoys:EntornogrficodeprogramacinusadoparaproyectosderobticaeducativaProcessingPureDataPythonRubyScratchforArduino(S4A):Entornogrficodeprogramacin,modificacindelentornoparaniosScratch,delMITSqueak:ImplementacinlibredeSmalltalkSuperCollider:SntesisdeaudioentiemporealVBScriptVisualBasic.NETVVVV:Sntesisdevdeoentiemporeal

    Funcionesbsicasyoperadores

    ArduinoestbasadoenCysoportatodaslasfuncionesdelestndarCyalgunasdeC++.22AcontinuacinsemuestraunresumenconlaestructuraysintaxisdellenguajeArduino:

    Sintaxisbsica

    Delimitadores:,{}Comentarios://,/**/Cabeceras:#define,#includeOperadoresaritmticos:+,,*,/,%Asignacin:=Operadoresdecomparacin:==,!=,,=OperadoresBooleanos:&&,||,!Operadoresdeaccesoapunteros:*,&Operadoresdebits:&,|,^,~,Operadorescompuestos:

    Incrementoydecrementodevariables:++,Asignacinyoperacin:+=,=,*=,/=,&=,|=

    Estructurasdecontrol

    Condicionales:if,if...else,switchcaseBucles:for,while,do...whileBifurcacionesysaltos:break,continue,return,goto

    Variables

    EncuantoaltratamientodelasvariablestambincomparteungranparecidoconellenguajeC.

    Constantes

    HIGH/LOW:representanlosnivelesaltoybajodelassealesdeentradaysalida.Losnivelesaltossonaquellosde3voltiosoms.INPUT/OUTPUT:entradaosalida.false(falso):Sealquerepresentaalcerolgico.AdiferenciadelassealesHIGH/LOW,sunombreseescribeenletraminscula.true (verdadero): Seal cuya definicin esms amplia que la de false.Cualquier nmero entero diferente de cero es "verdadero", segn ellgebradeBoole,comoenelcasode200,1o1.Siescero,es"falso".

    Tiposdedatos

    void,boolean,char,unsignedchar,byte,int,unsignedint,word,long,unsignedlong,float,double,string,array.

    Conversinentretipos

    Estasfuncionesrecibencomoargumentounavariabledecualquiertipoydevuelvenunavariableconvertidaeneltipodeseado.

    char(),byte(),int(),word(),long(),float()

    Cualificadoresymbitodelasvariables

    static,volatile,const

    Utilidades

    sizeof()

    Funcionesbsicas

    E/Sdigital

    http://es.wikipedia.org/wiki/SuperColliderhttp://es.wikipedia.org/wiki/Visual_Basic_.NEThttp://es.wikipedia.org/wiki/Phphttp://es.wikipedia.org/wiki/MIThttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/OLPChttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Processinghttp://es.wikipedia.org/wiki/%C3%81lgebra_de_Boolehttp://es.wikipedia.org/wiki/Scratch_(lenguaje_de_programaci%C3%B3n)http://es.wikipedia.org/w/index.php?title=VVVV&action=edit&redlink=1http://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/w/index.php?title=Minibloq&action=edit&redlink=1http://es.wikipedia.org/wiki/Pure_Datahttp://es.wikipedia.org/wiki/Squeakhttp://es.wikipedia.org/wiki/VBScripthttp://es.wikipedia.org/wiki/Physical_Etoys

  • pinMode(pin,modo)digitalWrite(pin,valor)intdigitalRead(pin)

    E/Sanalgica

    analogReference(tipo)intanalogRead(pin)analogWrite(pin,valor)

    E/Savanzada

    shiftOut(dataPin,clockPin,bitOrder,valor)unsignedlongpulseIn(pin,valor)

    Tiempo

    unsignedlongmillis()unsignedlongmicros()delay(ms)delayMicroseconds(microsegundos)

    Matemticas

    min(x,y),max(x,y),abs(x),constrain(x,a,b),map(valor,fromLow,fromHigh,toLow,toHigh),pow(base,exponente),sqrt(x)

    Trigonometra

    sin(rad),cos(rad),tan(rad)

    Nmerosaleatorios

    randomSeed(semilla),longrandom(mx),longrandom(mn,mx)

    BitsyBytes

    lowByte(),highByte(),bitRead(),bitWrite(),bitSet(),bitClear(),bit()

    Interrupcionesexternas

    attachInterrupt(interrupcin,funcin,modo)detachInterrupt(interrupcin)

    Interrupciones

    interrupts(),noInterrupts()

    Comunicacinporpuertoserie

    Las funciones demanejo del puerto serie deben ir precedidas de la palabra "Serial" aunque no necesitan ninguna declaracin en la cabecera delprograma.Porestoseconsideranfuncionesbasedellenguaje.23Estassonlasfuncionesparatransmisinserial:

    begin(),available(),read(),flush(),print(),println(),write()

    Manipulacindepuertos

    Losregistrosdepuertospermitenlamanipulacinamsbajonivelydeformamsrpidadeloscontactosdeentrada/salidadelmicrocontroladordelasplacasArduino.24LoscontactoselctricosdelasplacasArduinoestnrepartidosentrelosregistrosB(07),C(analgicos)yD(813).Medianteestasvariablesserobservadoymodificadosuestado:

    DDR[B/C/D]:DataDirectionRegister(odireccindelregistrodedatos)delpuertoB,CD.EsunavariabledeLectura/Escrituraquesirveparaespecificarcualescontactossernusadoscomoentradaysalida.PORT[B/C/D]:DataRegister(oregistrodedatos)delpuertoB,CD.EsunavariabledeLectura/Escritura.PIN[B/C/D]:InputPinsRegister(oregistrodepinesdeentrada)delpuertoB,CD.Variabledeslolectura.

    Porejemplo,paraespecificarloscontactos9a13comosalidasyel8comoentrada(puestoqueelpuertoDusalospinesdelaplacaArduino8al13digitales)bastarautilizarlasiguienteasignacin:

    DDRD=B11111110;

  • Comosehapodidocomprobar,elconocimientodel lenguajeC,permitelaprogramacinenArduinodebidoalasimilitudentresteyel lenguajenativodelproyecto,loqueimplicaelaprendizajedealgunasfuncionesespecficasdequedisponeellenguajedelproyectoparamanejarlosdiferentesparmetros.Sepuedenconstruiraplicacionesdeciertacomplejidadsinnecesidaddemuchosconceptosprevios.

    AVRLibc

    LosprogramascompiladosconArduino(salvoenlasplacasconCorteXM3)seenlazancontraAVRLibc22porloquetienenaccesoaalgunasdesusfunciones. AVR Libc es un proyecto de software libre con el objetivo de proporcionar una biblioteca C de alta calidad para utilizarse con elcompiladorGCCsobremicrocontroladoresAtmelAVR.Secomponede3partes:

    avrbinutilsavrgccavrlibc

    LamayoradellenguajedeprogramacinArduinoestescritaconconstantesyfuncionesdeAVRyciertasfuncionalidadesslosepuedenobtenerhaciendousodeAVR.25

    Interrupciones

    Lassealesdeinterrupcinsonlassiguientes:

    cli():desactivalasinterrupcionesglobalessei():activalasinterrupciones

    Estoafectaraltemporizadoryalacomunicacinserial.LafuncindelayMicroseconds()desactivalasinterrupcionescuandoseejecuta.

    Temporizadores

    LafuncindelayMicroseconds()creaelmenorretardoposibledellenguajeArduinoquerondalos2s.Pararetardosmspequeossedebeutilizarlallamadadeensamblador'nop'(nooperacin).Cadasentencia'nop'seejecutarenunciclodemquina(16MHz)deaproximadamente62,5ns.

    Manipulacindepuertos

    LamanipulacindepuertosconcdigoAVResmsrpidaqueutilizarlafuncindigitalWrite()deArduino.

    EstablecerBitsenvariables

    cbiysbisonmecanismosestndar(AVR)paraestablecerolimpiarbitsenPORTyotrasvariables.

    DiferenciasconProcessing

    La sintaxisdel lenguajedeprogramacinArduinoesunaversin simplificadadeC/C++y tiene algunasdiferencias respectodeProcessing.26 27DebidoaqueArduinoestbasadoenC/C++mientrasqueProcessingsebasaenJava,existenvariasdiferenciasencuantoa lasintaxisdeamboslenguajesyelmodoenqueseprograma:

    Arreglos

    Arduino Processingintbar[8]bar[0]=1

    int[]bar=newint[8]bar[0]=1

    intfoo[]={0,1,2}intfoo[]={0,1,2}obienint[]foo={0,1,2}

    Impresindecadenas

    Arduino ProcessingSerial.println("helloworld") println("helloworld")inti=5Serial.println(i)

    inti=5println(i)

    inti=5Serial.print("i=")Serial.print(i)Serial.println()

    inti="5"println("i="+i)

    EjemplosencillodeprogramacinenArduino

    ElprimerpasoantesdecomprobarquelainstalacinescorrectayempezaratrabajarconArduino,esusarejemplosprcticosquevienendisponiblesconeldispositivo.Serecomiendaabrirelejemploled_blinkelcualcreaunaintermitenciaporsegundoenunledconectadoenelpin13.

    Elcdigonecesarioeselsiguiente:

    http://es.wikipedia.org/wiki/Biblioteca_(inform%C3%A1tica)

  • #defineLED_PIN13voidsetup(){//Activadodelcontacto13parasalidadigitalpinMode(LED_PIN,OUTPUT);}//Bucleinfinitovoidloop(){//EncendidodeldiodoLEDenviandounasealaltadigitalWrite(LED_PIN,HIGH);//Tiempodeesperade1segundo(1000ms)delay(1000);//ApagadodeldiodoLEDenviandounasealbaja.digitalWrite(LED_PIN,LOW);//Tiempodeesperade1segundodelay(1000);}

    BibliotecasenArduino

    LasbibliotecasestndarqueofreceArduinosonlassiguientes:28

    Serial

    Lecturayescrituraporelpuertoserie.

    EEPROM

    Lecturayescrituraenelalmacenamientopermanente.29

    read(),write()

    Ethernet

    ConexinaInternetmedianteArduinoEthernetShield.Puedefuncionarcomoservidorqueaceptapeticionesremotasocomocliente.Sepermitenhastacuatroconexionessimultneas.30Loscomandosusadossonlossiguientes:

    Servidor:Server(),begin(),available(),write(),print(),println()Cliente:Client(),connected(),connect(),write(),print(),println(),available(),read(),flush(),stop()

    Firmata

    Esunabibliotecadecomunicacinconaplicacionesinformticasutilizandoelprotocoloestndardelpuertoserie.31

    LiquidCrystal

    ControldeLCDsconchipsetHitachiHD44780ocompatibles.32Labibliotecasoportalosmodosde4y8bits.

    Servo

    Bibliotecaparaelcontroldeservomotores.33Apartirde laversin0017deArduino labibliotecasoportahasta12motoresen lamayorade lasplacasArduinoy48enlaArduinoMega.Estossonloscomandosusados:

    attach(),write(),writeMicroseconds(),read(),attached(),detach()

    SoftwareSerial

    Comunicacinserieencontactosdigitales.34PordefectoArduino incluyecomunicacinsloen loscontactos0y1perograciasaestabibliotecapuederealizarseestacomunicacinconlosrestantes.

    Stepper

    Controldemotorespasoapasounipolaresobipolares.35

    Stepper(steps,pin1,pin2),Stepper(steps,pin1,pin2,pin3,pin4),setSpeed(rpm),step(steps)

    Wire

    EnvoyrecepcindedatossobreunareddedispositivososensoresmedianteTwoWireInterface(TWI/I2C).36

    LasbibliotecasMatrixySpritedeWiringson totalmentecompatiblesconArduinoysirvenparamanejodematricesdediodosLED.Tambinseofreceinformacinsobrediversasbibliotecasdesarrolladaspordiversoscolaboradoresquepermitenrealizarmuchastareas.

    Creacindebibliotecas

    http://es.wikipedia.org/w/index.php?title=Servo_motores&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Two_Wire_Interface&action=edit&redlink=1http://es.wikipedia.org/wiki/Chipsethttp://es.wikipedia.org/wiki/LCDhttp://es.wikipedia.org/wiki/Motor_paso_a_pasohttp://es.wikipedia.org/w/index.php?title=Hitachi_HD44780&action=edit&redlink=1

  • LosusuariosdeArduinotienenlaposibilidaddeescribirsuspropiasbibliotecas.37Ellopermitedisponerdecdigoquepuedereutilizarseenotrosproyectos,mantenerelcdigofuenteprincipalseparadodelasbibliotecasylaorganizacindelosprogramasconstruidosesmsclara.

    Ejemplodebiblioteca

    ElsiguienteejemplopermiteelenvodecaracteresmedianteelcdigoMorse:

    SecreaelarchivoMorse.hque incluye ladefinicinde laclaseMorseque tiene3funciones:unconstructor(Morse()),unafuncinparaenviar1punto(dot())yunafuncinparaenviarunaraya(dash()).Lavariable_pinpermiteindicarelcontactoausar.

    /*Morse.hBibliotecaparaelenvodeCdigoMorse.CreadoporDavidA.Mellis,el2denoviembrede2007.Liberadoaldominiopblico.*/#ifndefMorse_h#defineMorse_h#include"WProgram.h"classMorse{public:Morse(intpin);voiddot();voiddash();private:int_pin;};#endif

    DebesercreadoelarchivoMorse.cppconelcdigo,esdecirconlaimplementacindelosmtodosdeclarados:

    /*Morse.cppBibliotecaparaelenvodeCdigoMorse.CreadoporDavidA.Mellis,el2denoviembrede2007.Liberadoaldominiopblico.*/#include"WProgram.h"#include"Morse.h"Morse::Morse(intpin){pinMode(pin,OUTPUT);_pin=pin;}voidMorse::dot(){digitalWrite(_pin,HIGH);delay(250);digitalWrite(_pin,LOW);delay(250);}voidMorse::dash(){digitalWrite(_pin,HIGH);delay(1000);digitalWrite(_pin,LOW);delay(250);}

    Labibliotecacreadaaspuedeserusadamedianteelcomando#include.SisedeseaenviarunapeticindeauxilioSOSporelcontacto13bastaraconllamaraMorse(13)yejecutarlasiguientesecuencia:

    morse.dot();morse.dot();morse.dot();morse.dash();morse.dash();morse.dash();morse.dot();morse.dot();morse.dot();

    EjemplosdeCdigo

    LapginadeArduinocuentaconunaseriedeejemplosparacomenzaraentendersufuncionamiento,concomponentesbasetalescomoPantallas,LEDs,Potenciometros,etc.

    EjemplodeparpadeodeLED

    /*BlinkTurnsonanLEDonforonesecond,thenoffforonesecond,repeatedly.Thisexamplecodeisinthepublicdomain.*///Pin13hasanLEDconnectedonmostArduinoboards.

    http://es.wikipedia.org/wiki/C%C3%B3digo_Morsehttp://es.wikipedia.org/wiki/SOS

  • InterfazdelentornodedesarrolloArduinoenelSistemaOperativoWindows.

    //giveitaname:intled=13;//thesetuproutinerunsoncewhenyoupressreset:voidsetup(){//initializethedigitalpinasanoutput.pinMode(led,OUTPUT);}//thelooproutinerunsoverandoveragainforever:voidloop(){digitalWrite(led,HIGH);//turntheLEDon(HIGHisthevoltagelevel)delay(1000);//waitforaseconddigitalWrite(led,LOW);//turntheLEDoffbymakingthevoltageLOWdelay(1000);//waitforasecond}

    EjemplodelecturadePotenciometro

    /*ReadAnalogVoltageReadsananaloginputonpin0,convertsittovoltage,andprintstheresulttotheserialmonitor.AttachthecenterpinofapotentiometertopinA0,andtheoutsidepinsto+5Vandground.Thisexamplecodeisinthepublicdomain.*///thesetuproutinerunsoncewhenyoupressreset:voidsetup(){//initializeserialcommunicationat9600bitspersecond:Serial.begin(9600);}//thelooproutinerunsoverandoveragainforever:voidloop(){//readtheinputonanalogpin0:intsensorValue=analogRead(A0);//Converttheanalogreading(whichgoesfrom01023)toavoltage(05V):floatvoltage=sensorValue*(5.0/1023.0);//printoutthevalueyouread:Serial.println(voltage);}

    Instalacinendiferentesentornos

    Windows

    Lospasosaseguirsonlossiguientes:

    DescargarlasversionesmsrecientedeJavaRuntimeEnviroment(J2RE)ydelIDEArduino.InstalarloscontroladoresFTDIUSB,conlaplacaArduinoconectada.EjecutarelIDEArduinoparaabrirlainterfazyconfigurarelpuertoUSBdondeestconectadalaplaca.

    GNU/Linux

    Para instalar Arduino en un sistema GNU/Linux necesitamos los siguientes programaspararesolverlasdependencias:

    Sunjavaruntime,jre.avrgcc,compiladorparalafamiliademicrocontroladoresavrdeatmel.avrlibc,libcdelcompiladoravrgcc.

    En algunas distribuciones conviene desinstalar, si no es necesario, el programa "brltty"que permite el acceso al terminal a personas invidentes. Para concluir, se descarga elframeworkdeArduino,sedescomprimeyejecuta.

    Equipodedesarrollo

    Elncleodel equipodedesarrollodeArduinoest formadoporMassimoBanzi,DavidCuartielles,TomIgoe,GianlucaMartino,DavidMellisyNicholasZambetti.

    Pduino

    PduinonacedelafusindelosproyectosPureDatayArduino.Ambosproyectosdefuenteabiertapermitentrabajarconinterfazgrfica.CargandoelfirmwaredePureData(PD)alaplacaArduinosepuedeaccederaellamedianteellenguajedeprogramacingrfico.

    Minibloq

    http://es.wikipedia.org/wiki/GNU/Linuxhttp://es.wikipedia.org/wiki/Pure_Datahttp://es.wikipedia.org/w/index.php?title=Nicholas_Zambetti&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Pduino&action=edit&redlink=1http://commons.wikimedia.org/wiki/File:Arduino_windows.JPGhttp://es.wikipedia.org/wiki/Frameworkhttp://es.wikipedia.org/w/index.php?title=Tom_Igoe&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=David_Cuartielles&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Massimo_Banzi&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Gianluca_Martino&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=David_Mellis&action=edit&redlink=1

  • InterfazdelentornodedesarrolloArduinoS.O.GNU/Linux.

    PatchPduino.

    PantalladeMinibloq.

    MinibloqesunentornogrficodeprogramacinquepuedegenerarcdigonativodeArduinoyescribirlodirectamenteen lamemoria flashde laplaca.Tieneunmodoquepermitevisualizarelcdigogenerado,elcualtambinpuedesercopiadoypegadoenelArduinoIDE,paralosusuariosqueintentan hacer el pasaje de una herramienta grfica a la programacin en sintaxis C/C++.Minibloq es de uso libre y sus fuentes tambin estndisponiblesgratuitamente.Unacaractersticaimportante,esquepuedecorrertambinenlacomputadoraporttilOLPC,medianteelsoftwareWine.

    PhysicalEtoys

    PhysicalEtoys es una extensin libre y gratuita que permite que diversos dispositivoselectrnicoscomoLegoNXT,lasplacasArduino,Sphero,Kinect,JoystickWiimote,entreotros,puedanserprogramadosfcilmenteyqueinteractenentresgraciasasusistemadebloques.

    EnelcasodeArduino,PhysicalEtoysofrecedosmodosdeprogramacin:

    1. El modo "directo", en el cual los programas se ejecutan en la computadora delusuarioylasrdenessetransmiteninmediatamenteatravsdelpuertoserie.

    2. Elmodo"compilado",enelcual losprogramasse traducenaC++ysebajana laplaca,paraluegoejecutarsedemaneraindependientedelacomputadora.

    El modo "directo" permite modificar los programas y ver los cambios producidos demanerainmediataenelcomportamientodelrobot,locualfacilitalaprogramacin,sobretodo al usuario inexperto. Asimismo, permite ver constantemente los valores de lossensoresyutilizarelrobot,porejemplo,comoparaadquirirdatos.

    Elmodo"compilado",porsuparte,eliminaelretardoqueintroducelacomunicacinconlacomputadora, locual lohacepreferibleparaeldesarrollode tareasautnomas,en lascualeslavelocidadderespuestadelrobotdebeserptima.

    Vasetambin

    BASICStampImpresin3DGumstixMinibloqMiniPCOOPICPICAXERaspberryPiPhysicalEtoysRobotX10

    Referencias1. PlacaArduinoSerial(http://arduino.cc/en/Main/ArduinoBoardSerial)2. Interview with Casey Reas and Ben Fry

    (http://rhizome.org/editorial/2009/sep/23/interviewwithcaseyreasandbenfry/).3. [1](http://wiring.org.co/)4. abProjecthomepage(http://arduino.cc).5. Arduino Due is finally here (http://arduino.cc/blog/2012/10/22/arduinodueisfinally

    here/).6. http://www.aec.at/en/prix/honorary2006.asp7. Ars Electrnica Archiv (http://90.146.8.18/de/archives/prix_archive/prix_year_cat.asp?

    iProjectID=13638&iCategoryID=12420)(enalemn).Consultadoel18defebrerode2009.8. Ars Electronica Archiv / ANERKENNUNG

    (http://90.146.8.18/de/archives/prix_archive/prix_projekt.asp?iProjectID=13789#)(enalemn).Consultadoel18defebrerode2009.

    9. abDavidKushner (26Oct 2011).TheMaking of Arduino (http://spectrum.ieee.org/geeklife/handson/themakingofarduino).TextopublicacinIEEESpectrumignorado(ayuda)

    10. a b Algo de Historia para comenzar(http://platea.pntic.mec.es/~lmarti2/arduino/introardu/index.htm). Consultado el 22 dediciembrede2013.

    11. Google presenta ADK, interfaz basada en Arduino para Android(http://blog.bricogeek.com/noticias/arduino/googlepresentaadkinterfazbasadaenarduinoparaandroid/).BricoGeek.com.12demayode2011.Consultadoel22dediciembrede2013.

    12. Accessory Development Kit 2012 Guide(http://developer.android.com/tools/adk/adk2.html)(eningls).Consultadoel22dediciembrede2013.

    13. Terrence O'Brien (19 de septiembre de 2011). Arduino brings the (new) goods to Maker Faire New York, welcomes ARM into the fold(http://www.engadget.com/2011/09/19/arduinobringsthenewgoodstomakerfairenewyorkwelcomes/)(eningls).Consultadoel22dediciembrede2013.

    14. Xoscillo:A softwareoscilloscope that acquiresdatausing anArduinoor aparallax.(http://code.google.com/p/xoscillo/) (en ingls). Consultado el 22 dediciembrede2013.

    15. Joshua M. Pearce (14 de septiembre de 2012). Building Research Equipment with Free, OpenSource Hardware(http://211.144.68.84:9998/91keshi/Public/File/41/3376100/pdf/1303.full.pdf)(eningls).Washington,EE.UU.:AmericanAssociationfortheAdvancementofScienc.p.3.doi:10.1126/science.1228183(http://dx.doi.org/10.1126%2Fscience.1228183).Consultadoel22dediciembrede2013.

    16. Peter Kirn (20 de agosto de 2008). Aug 20 2008 Arduinome: An ArduinoBased Monome Clone, Behind the Scenes

    http://es.wikipedia.org/wiki/Physical_Etoyshttp://createdigitalmusic.com/2008/08/arduinome-an-arduino-based-monome-clone-behind-the-scenes/http://es.wikipedia.org/wiki/OOPIChttp://es.wikipedia.org/wiki/OLPChttp://es.wikipedia.org/wiki/Raspberry_Pihttp://developer.android.com/tools/adk/adk2.htmlhttp://www.engadget.com/2011/09/19/arduino-brings-the-new-goods-to-maker-faire-new-york-welcomes/http://es.wikipedia.org/wiki/BASIC_Stamphttp://es.wikipedia.org/w/index.php?title=Minibloq&action=edit&redlink=1http://90.146.8.18/de/archives/prix_archive/prix_year_cat.asp?iProjectID=13638&iCategoryID=12420http://arduino.cc/en/Main/ArduinoBoardSerialhttp://code.google.com/p/xoscillo/http://commons.wikimedia.org/wiki/File:Arduino_dani2.pnghttp://commons.wikimedia.org/wiki/File:Blink.jpghttp://es.wikipedia.org/wiki/Digital_object_identifierhttp://commons.wikimedia.org/wiki/File:Pduino.pnghttp://es.wikipedia.org/wiki/Robothttp://blog.bricogeek.com/noticias/arduino/google-presenta-adk-interfaz-basada-en-arduino-para-android/http://wiring.org.co/http://arduino.cc/blog/2012/10/22/arduino-due-is-finally-here/http://es.wikipedia.org/wiki/X10http://dx.doi.org/10.1126%2Fscience.1228183http://211.144.68.84:9998/91keshi/Public/File/41/337-6100/pdf/1303.full.pdfhttp://platea.pntic.mec.es/~lmarti2/arduino/introardu/index.htmhttp://90.146.8.18/de/archives/prix_archive/prix_projekt.asp?iProjectID=13789#http://rhizome.org/editorial/2009/sep/23/interview-with-casey-reas-and-ben-fry/http://es.wikipedia.org/wiki/MiniPChttp://es.wikipedia.org/wiki/Gumstixhttp://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduinohttp://es.wikipedia.org/wiki/PICAXEhttp://arduino.cc/http://es.wikipedia.org/wiki/Physical_Etoyshttp://es.wikipedia.org/wiki/Winehttp://www.aec.at/en/prix/honorary2006.asphttp://es.wikipedia.org/wiki/Impresi%C3%B3n_3Dhttp://es.wikipedia.org/wiki/Ayuda:Errores_en_las_referencias#text_ignored

  • CombinacindeunacomputadoradebajocostoOLPC,elsoftwareMinibloqyunaplacaArduino.

    ProyectodeunsemfororealizadoconArduinoyPhysicalEtoys.

    (http://createdigitalmusic.com/2008/08/arduinomeanarduinobasedmonomeclonebehindthescenes/)(eningls).Consultadoel22dediciembrede2013.17. HumaneReader(http://humaneinfo.com/reader.html)(eningls).Consultadoel22dediciembrede2013.18. TheHumanePC(http://humaneinfo.com/pc.html)(eningls).Consultadoel22dediciembrede2013.19. ArduinoPhone(http://www.instructables.com/id/ArduinoPhone/ArduinoPhone)(eningls).Consultadoel22dediciembrede2013.20. EstebanZamorano(28denoviembrede2013).ConstruyetupropiocelularporUSD$200graciasaArduino(http://www.fayerwayer.com/2013/11/construye

    tupropiocelularporusd200graciasaarduino/).Consultadoel22dediciembrede2013.21. Interfacing with Other Software (http://www.arduino.cc/playground/Main/InterfacingWithSoftware). http://arduino.cc (en ingls). Consultado el 22 de

    diciembrede2013.22. abLanguageReference(http://arduino.cc/en/Reference/Extended).http://arduino.cc(eningls).Consultadoel22dediciembrede2013.23. Serial (http://arduino.cc/en/Reference/Serial). http://www.arduino.cc (en ingls).

    Consultadoel22dediciembrede2013.24. Port Registers (http://arduino.cc/en/Reference/PortManipulation). http://www.arduino.cc

    (eningls).Consultadoel22dediciembrede2013.25. AVR Code (http://www.arduino.cc/playground/Main/AVR). http://www.arduino.cc (en

    ingls).Consultadoel22dediciembrede2013.26. Arduino/Processing Language Comparison (http://arduino.cc/en/Reference/Comparison?

    from=Main.ComparisonProcessing).http://www.arduino.cc (en ingls). Consultado el 22 dediciembrede2013.

    27. Language Reference(API)/Processing 2+ (http://processing.org/reference/).http://processing.org/(eningls).Consultadoel22dediciembrede2013."

    28. Arduino Libraries (http://arduino.cc/en/Reference/Libraries). http://arduino.cc/ (eningls).Consultadoel22dediciembrede2013.

    29. EEPROMLibrary(http://arduino.cc/en/Reference/EEPROM).http://www.arduino.cc (eningls).Consultadoel22dediciembrede2013.

    30. Ethernet Library (http://arduino.cc/en/Reference/EEPROM). http://www.arduino.cc (eningls).Consultadoel22dediciembrede2013.

    31. Firmata Library (http://arduino.cc/en/Reference/Firmata). http://www.arduino.cc (eningls).Consultadoel22dediciembrede2013.

    32. LiquidCrystal Library (http://arduino.cc/en/Reference/LiquidCrystal).http://www.arduino.cc(eningls).Consultadoel22dediciembrede2013.

    33. Servo Library (http://arduino.cc/en/Reference/Servo). http://www.arduino.cc (en ingls). Consultado el 22 dediciembrede2013.

    34. SoftwareSerial Library (http://arduino.cc/en/Reference/SoftwareSerial). http://www.arduino.cc (en ingls).Consultadoel22dediciembrede2013.

    35. StepperLibrary(http://arduino.cc/en/Reference/Stepper).http://www.arduino.cc(eningls).Consultadoel22dediciembrede2013.

    36. Wire Library (http://arduino.cc/en/Reference/Wire). http://www.arduino.cc (en ingls). Consultado el 22 dediciembrede2013.

    37. Writing a Library for Arduino (http://arduino.cc/en/Hacking/LibraryTutorial). http://www.arduino.cc (eningls).Consultadoel22dediciembrede2013.

    Bibliografa

    Oxer, Jonathan Blemings, Hugh (28 de diciembre de 2009). Practical Arduino: Cool Projects for Open Source Hardware(http://www.apress.com/book/view/9781430224778)(1edicin).Apress.p.500.ISBN1430224770.Noble, Joshua (15 de julio de 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework(http://oreilly.com/catalog/9780596800581/)(1edicin).O'ReillyMedia.p.768.ISBN0596154143.Banzi, Massimo (24 de marzo de 2009). Getting Started with Arduino (http://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513)(1edicin).MakeBooks.p.128.ISBN0596155514.

    Enlacesdeexternos

    SitiowebProyectoArduino(http://www.arduino.cc/)(eningls)SitiowebProyectoArduino(http://www.arduino.cc/es)(enespaolconmenoscontenidos)[2](http://blog.arduino.cc/)(blogeningls)ArduinoStackExchange(http://arduino.stackexchange.com/)sitiodepreguntasyrespuestasComparativadelosdistintosmodelosdisponibles(https://www.sparkfun.com/arduino_guide)Algunosproyectosconarduinopasoapaso(http://www.bricogeek.com)(ejemplosconvideotutoriales)DuinOS (http://web.archive.org/web/http://robotgroup.com.ar/duinos/wiki): Sistema operativo multitarea para Arduino desarrollado porRobotGroup(http://robotgroup.com.ar)Biicode(https://www.biicode.com/):AplicacinparagestionarlibrerasyproyectosdeArduinoEntornogrficodeprogramacinparaArduino(http://minibloq.org)Winkhel:cmounproyectoArduinopuedeconvertirseenunproductoreal(http://www.winkhel.com)(enespaol)ScadaparaArduino(http://www.acimut.com/monitoriza/monitorizaforarduino.html)SRemote Control: Aplicacin Android para controlar Arduino por UDP o TCP (https://play.google.com/store/apps/details?id=com.appopulus.remotecontrol&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5hcHBvcHVsdXMucmVtb3RlY29udHJvbCJd)Ejemplo de uso de Arduino y Gambas: Grfica de datos de sensores (https://jsbsan.blogspot.com.es/2012/05/arduinoygambas3lecturaygraficosde.html)

    Obtenidodehttp://es.wikipedia.org/w/index.php?title=Arduino&oldid=79263162

    Categoras: Hardwarelibre Microcontroladores

    Estapginafuemodificadaporltimavezel7ene2015alas14:30.EltextoestdisponiblebajolaLicenciaCreativeCommonsAtribucinCompartirIgual3.0podranseraplicablesclusulasadicionales.Lanselostrminosdeusoparamsinformacin.WikipediaesunamarcaregistradadelaFundacinWikimedia,Inc.,unaorganizacinsinnimodelucro.

    http://www.arduino.cc/http://es.wikipedia.org/wiki/ISBNhttp://arduino.cc/http://createdigitalmusic.com/2008/08/arduinome-an-arduino-based-monome-clone-behind-the-scenes/http://es.wikipedia.org/wiki/Especial:FuentesDeLibros/0596154143http://es.wikipedia.org/w/index.php?title=Apress&action=edit&redlink=1http://www.arduino.cc/http://arduino.cc/en/Reference/Librarieshttp://es.wikipedia.org/wiki/Wikipedia:Texto_de_la_Licencia_Creative_Commons_Atribuci%C3%B3n-CompartirIgual_3.0_Unportedhttp://www.arduino.cc/http://www.arduino.cc/http://www.arduino.cc/playground/Main/InterfacingWithSoftwarehttp://humaneinfo.com/pc.htmlhttp://es.wikipedia.org/w/index.php?title=Make_Books&action=edit&redlink=1http://processing.org/reference/http://es.wikipedia.org/wiki/Especial:FuentesDeLibros/1430224770http://wikimediafoundation.org/wiki/T%C3%A9rminos_de_Usohttp://es.wikipedia.org/w/index.php?title=Arduino&oldid=79263162http://es.wikipedia.org/wiki/ISBNhttp://arduino.cc/http://es.wikipedia.org/wiki/Especial:FuentesDeLibros/0596155514https://www.biicode.com/http://commons.wikimedia.org/wiki/File:P1040870.JPGhttp://arduino.cc/en/Reference/Wirehttp://commons.wikimedia.org/wiki/File:Semaforo_PE.pnghttp://minibloq.org/http://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513http://es.wikipedia.org/wiki/Categor%C3%ADa:Microcontroladoreshttp://www.arduino.cc/eshttp://arduino.cc/en/Reference/Stepperhttp://blog.arduino.cc/http://oreilly.com/catalog/9780596800581/http://www.winkhel.com/http://arduino.cc/en/Hacking/LibraryTutorialhttp://arduino.cc/en/Reference/Serialhttp://www.arduino.cc/http://es.wikipedia.org/wiki/Especial:Categor%C3%ADashttp://es.wikipedia.org/wiki/ISBNhttp://www.acimut.com/monitoriza/monitorizaforarduino.htmlhttp://es.wikipedia.org/wiki/O%27Reilly_Mediahttp://arduino.cc/en/Reference/EEPROMhttp://arduino.cc/en/Reference/PortManipulationhttp://www.arduino.cc/http://www.arduino.cc/http://www.arduino.cc/http://www.wikimediafoundation.org/http://arduino.cc/en/Reference/EEPROMhttp://www.arduino.cc/playground/Main/AVRhttps://jsbsan.blogspot.com.es/2012/05/arduino-y-gambas3-lectura-y-graficos-de.htmlhttp://www.arduino.cc/http://arduino.cc/en/Reference/Comparison?from=Main.ComparisonProcessinghttp://arduino.cc/en/Reference/Firmatahttp://www.arduino.cc/http://es.wikipedia.org/wiki/Categor%C3%ADa:Hardware_librehttps://play.google.com/store/apps/details?id=com.appopulus.remotecontrol&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5hcHBvcHVsdXMucmVtb3RlY29udHJvbCJdhttp://www.arduino.cc/http://www.instructables.com/id/ArduinoPhone/ArduinoPhonehttp://arduino.cc/en/Reference/LiquidCrystalhttp://robotgroup.com.ar/http://arduino.cc/http://arduino.stackexchange.com/http://arduino.cc/en/Reference/Servohttp://www.apress.com/book/view/9781430224778http://www.bricogeek.com/https://www.sparkfun.com/arduino_guidehttp://www.arduino.cc/http://www.fayerwayer.com/2013/11/construye-tu-propio-celular-por-usd200-gracias-a-arduino/http://arduino.cc/en/Reference/SoftwareSerialhttp://www.arduino.cc/http://processing.org/http://humaneinfo.com/reader.htmlhttp://www.arduino.cc/http://web.archive.org/web/http://robotgroup.com.ar/duinos/wikihttp://arduino.cc/en/Reference/Extended

  • GrficadedatosdesensoresconectadosaArduino,programadoenGambas

    http://commons.wikimedia.org/wiki/File:Gambas_arduino_sensores_gr%C3%A1fica.png