fjfj jhhhhhhhhhhfjyf yifiif iyi
Embed Size (px)
DESCRIPTION
ugkgkug k gk kgjk glgliTRANSCRIPT
-
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