Arduino UNO - Pràctiques de programació utilitzant arduino UNO

Worksheet  - Intro IDE Arduino

En aquesta pràctica, vam començar programant la placa Arduino mitjançant l'entorn Arduino IDE i vam completar la següent tasca.

  1. Desenvolupament de la pràctica

  1. L'entorn de desenvolupament integrat (IDE) d'Arduino és el programari de la plataforma Arduino. Instal·la el programari Arduino IDE al teu ordinador seguint les instruccions del document "InstalacionIDE.pdf". Un cop instal·lat, obre l'aplicació IDE d'Arduino i obre l'esquetx "blink" (ho trobaràs a File>Examples>0.1Basics>Blink).


Es mostra cadascuna de les instruccions de l'sketch Blink amb un comentari al costat per poder entendre'n el significat

void setup() { //s'inicia la funció setup per configurar el programa pinMode(LED_BUILTIN, OUTPUT); // es configurar el LED integrat a la placa Arduino LED_BUILTIN com a pin de sortida } //es finalitza la funció setup void loop() { //s'inicia la funció loop digitalWrite( LED_BUILTIN , HIGH); //es posa LED integrat a la placa Arduino a ON, és a dir, que s'encengui deixant passar l'electricitat. delay(1000); //espera 1000 mil·lisegons. digitalWrite( LED_BUILTIN , LOW); //s'executa la funció digitalWrite amb diferents paràmetres alhora anteriors per obtenir diferents resultats. En aquest cas, fa que el LED integrat a la placa d'Arduino s'apagui. }//es finalitza la funció loop


Quines són les parts d'un esquetx a l'IDE d'un Arduino i quina funció? Per respondre aquesta pregunta us serà útil consultar "ApuntsSketchArduino.pdf" (i "ArduinoLanguageReference.pdf").

Primer, definició de llibreries i definició de variables. A continuació s'afegeix void setup(). A continuació s'afegeix void loop(). Es pot afegir les funcions que siguin necessàries dins de loop (Es reiterarà continuadament) oa continuació (s'executarà només una vegada)


  1. Desconnecta tots els cables de la placa Arduino si n'hi hagués. Connecta el cable USB de l'ordinador a l'Arduino (llavors s'il·lumina el led integrat a la placa indicat amb 'ON'), i obre l'aplicació Arduino. A continuació, configura la placa (selecciona Tools>Board>Arduino U) i configura el port (selecciona Tools>Port>COM major o dev/cu.usbmodem 14201 (Arduino Un). L'IDE d'Arduino mostrarà la configuració actual de la placa Arduí a la part inferior de la finestra.


La placa d'Arduino Uno té un LED integrat a la placa indicat amb 'L'. És el led integrat a la placa d'Arduino, anomenat LED_BUILTIN. Pots trobar-te que 'L' parpelleja quan es connecta a un endoll de l'USB. Això és perquè les plaques s'envien generalment amb l'esquetx de 'Blink' preinstal·lat. A continuació, reprogramaràs la placa Arduino/Genuino Un amb el teu propi fitxer Blink amb el nom modificat i després introduiràs canvis en la velocitat de parpelleig.


Obre l'esquetx Blink (File>Examples>0.1 Basics>Blink). Al món d'Arduino, els programes es coneixen com a “sketch”. Els esquetxos d'exemple inclosos amb l'IDE d'Arduino són només de lectura. És a dir, es poden carregar a la placa Arduino Uno, però si canvien, no es poden guardar amb el mateix nom. Com que es canviarà aquest sketch, el primer que s'ha de fer és guardar una còpia a l'ordinador: Al menú 'file' a l'IDE d'Arduino, selecciona 'Save As' i guarda l'esquetx amb el nom 'Blink_SE1 '.

 

Envia l'esquetx Blink_SE1 a la placa Arduino. Per això has de fer clic al botó 'Verify': es comprovarà que no hi ha errors a l'esquetx i es compilarà l'esquetx (és a dir, es convertirà en un format adequat per carregar a la placa Arduino). Si hi hagués errors, en aquest moment s'indicarien. ((NOTA: assegureu-vos de tenir primer connectat l'ordinador a la vostra placa d'Arduino amb el cable USB i cal comprovar que la 'Board' i el 'Port' estan ajustats correctament.))



A continuació, fes clic al botó 'Upload': es carregarà l'esquetx a la placa Arduino. Mentre es carrega l'esquetx a la placa Arduino, els LEDs de la placa 'TX' i 'RX' parpellejaran. Si tot va bé, apareix el missatge "Done uploading". Si hi hagués problemes, apareixerien missatges en vermell.



Què fa el LED incorporat a la placa marcat amb una L (anomenat LED_BUILTIN) després d'haver carregat l'esquetx 'Blink_SE1'?

El LED incorporat a la placa es manté encès encara que si l'observéssim amb una càmera super ràpida s'observaria un petit apagat però amb un període de temps tan curt com la velocitat d'execució d'una instrucció del processador.


Realitza un programa que faci que el LED 'L' estigui sempre encès. Com modificaries el sketch 'Blink_SE1'? Escriu el programa a continuació

El programa ya casi hace la función dado que el ojo humano no detecta el apagado instantaneo que genera el programa anterior. Para que el LED ‘L’ permanezca encendido al 100% yo borraria estas 4 lineas que aquí copio:

delay(1000); //espera 1000 milisegundos

digitalWrite( LED_BUILTIN , LOW); //se ejecuta la función digitalWrite con distintos parámetros a la vez anterior para obtener distintos resultados. En este caso, hace que el LED integrado en la placa de Arduino se apague. 



Prova de fer que el LED 'L' estigui encès 1 s i apagat 0,5 s. Com modificaries l'esquetx anterior? Escriu el programa a continuació

Ho modificarà així:

void setup() { //s'inicia la funció setup per configurar el programa

pinMode(LED_BUILTIN, OUTPUT); // es configurar el LED integrat a la placa Arduino LED_BUILTIN com a pin de sortida

} //es finalitza la funció setup


void loop() { //s'inicia la funció loop

digitalWrite( LED_BUILTIN , HIGH); //es posa LED integrat a la placa Arduino a ON, és a dir, que s'encengui deixant passar l'electricitat.

delay(1000); //espera 1000 mil·lisegons.

digitalWrite( LED_BUILTIN , LOW); //s'executa la funció digitalWrite amb diferents paràmetres alhora anteriors per obtenir diferents resultats. En aquest cas, fa que el LED integrat a la placa d'Arduino s'apagui.

delay(500); //espera 500 mil·lisegons.

AFEGINT UN DELAY a continuacio de la instruccion digitalWrite( LED_BUILTIN , LOW) de 500 mil·lisegons obtindríem 0,5 segons d'apagat

}//es finalitza la funció loop

  1. Ara realitzaràs un circuit elèctric simple usant la teva placa d'Arduino. Desconnecta el cable USB que uneix l'ordinador a l'Arduino i munta el següent circuit elèctric, usant cables, una resistència de 220 Ω i un LED vermell:


Connecteu la placa d'Arduino a l'ordinador amb el cable USB. Què passarà al LED vermell si connectes el cable USB a l'ordinador, sense compilar un programa Arduino IDE?

Encara que no compilem cap programa Arduino IDE el pin 5V i el PIN GND es mantindran operatius un cop connectat el cable USB. Un cop muntat el circuit obtindrem un circuit resistiu pel qual circularà un corrent segons la llei d'ohm V=R·I →I=V/R→I=5v/2200=0.00227 A = 2.27mA que il·luminarà el LED.


Què passarà al LED vermell si connectes el cable USB a l'ordinador i compiles el programa Arduino IDE Blink_SE1?

El programa no afectarà gens al led vermell


Què passarà al LED vermell si connectes el cable USB a l'ordinador i compiles l'esquetx Arduino IDE Blink_SE1 modificat de la següent manera? void setup(){ pinMode(12, OUTPUT); // Configuro el Pin 12 com a Sortida. } void loop(){ digitalWrite(12, HIGH); // Posa la sortida 12 a ON (és a dir, enviament electricitat) delay(1000); // Espera 1000 mil·lisegons (és a dir, 1 segon) digitalWrite(12, LOW); // Posa la sortida 12 a OFF (és a dir, no envio electricitat) delay(1000); }


 

El programa, és molt interessant però seguirem igual, el programa no afectarà gens el led vermell



1.5 Quin circuit construiries amb LED vermell i resistència de 220 Ω per fer que el LED vermell "parpellegi" amb l'esquetx anterior? Fes una fotografia al circuit resultant i adjunta el link corresponent. Quin circuit construiries amb LED vermell i resistència de 220 Ω per fer que el LED vermell "parpadeee" amb l'esquetx anterior? Fes una fotografia al circuit resultant i adjunta el link corresponent. (Pista, prova de connectar un cable des del PIN 12 en lloc des del 5V) És important tenir en compte que els PINs de l'Arduino poden ser font (proporcionar corrent positiu) o embornal (proporcionar corrent negatiu) fins a 40 mA de corrent a altres dispositius/circuits. Seran font quan estiguin configurats com a OUTPUT a la instrucció pinMode (). Els 40 mA són suficient corrent per il·luminar brillantment un LED (important no oblidar la resistència en sèrie), o executar molts sensors, però no és suficient corrent per fer funcionar la majoria dels relés o motors.


Modificaria el circuit de la següent manera, desconnectant el pin 5V i substituint-lo per la sortida 12 quedant un circuit com el que es mostra a la imatge adjunta





Comentaris

Entrades populars d'aquest blog

Les dones a l'antic Egipte

Consells per organitzar la tornada a la rutina si ets estudiant