/* Blink: Encén un LED per un segon, i l'apaga per altre segon, repetidament.*/
void setup() {
pinMode(13, OUTPUT); //Configura el pin 13 com sortida
}
void loop() { //bucle infinit
digitalWrite(13, HIGH); // Posa el LED a on
delay(1000); // Espera 1 segon
digitalWrite(13, LOW); // Posa el LED a off
delay(1000); // Espera 1 segon
}
Introducció
a Arduino
Arduino, al ser hardware lliure, té moltes posiblitats d'evolució,tant és així que moltes empreses i individuals han llançat o desenvolupat els seus clons o tarjes compatibles.
- Característiques:
- Interfície gràfica avançada: Zoom, tallar i pegar, finestres acoblables...
- Ràpid: És una aplicació nadiva, compilada amb C++
- Portable: No necessita instal.lació a excepcio dels drivers especifis de la tarja a programar(Arduino,..)
- Terminal incorporat: Hi ha un terminal integrat que permet enviar i rebre dades al PC a través de ports sèrie / USB.
- Modular i ampliable: L'usuari pot crear nous blocs
- Descarregar l'eina des de http://blog.minibloq.org/
- Per fer-lo còrrer en Linux, requereix del programari Wine i les següents ordres a la línia de comandes.
- sudo apt-get install wine
- winecfg
- sudo usermod -aG dialout usuari
- sudo ln -sf /dev/ttyACM0 ~/.wine/dosdevices/com2
- unzip Minibloq.v0.8.Beta.zip
- cd Minibloq.v0.8.Beta
- wine MinibloqRun.exe
Minibloq
Minibloq: Esquema arduino
- Tastet-1: Construir un circuit capaç d'encendre i apagar un led cada segon.
- Tastet-2: Construir un circuit capaç llegir el valor d'un sensor analògic(en el nostre cas una resistència LDR)
- Tastet-3: Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
- Tastet-4: Construir un circuit capaç de fer anar un servo.
- Tastet-5: Construir un circuit capaç de controlar un servo mitjançant una LDR.
Tastet-1 part 3
- Material necessari:
- 3 Cables
- 1 LDR
- 1 Led
- 1 Resistència < 1K
- 1 Resistència d'1.36K
- 1 Protoboard
- 1 Arduino
La resistència d'1.36k és: Marró, Taronja, Lila, Marró, Marró.
- Material necessari:
- Cables
- 1 LDR
- 1 Led
- 2 Resistències
- 1 Protoboard
- 1 Arduino
- Per a que el led puga representar fidedignament els valors que es van rebent des de la LDR, hi haurà que utilitzar una sortida digital que siga capaç de representar més de dos valors. Aquestes són les marcades com PWM.
Tastet-3c: Ara combineu el Tastet-3 i el Tastet-3b, de forma que un led represente els valors que es van llegint des de la LDR quan hi haja prou llum i altre led s'encenga només en ausencia de llum.
- Material necessari:
- Cables
- 1 LDR
- 2 Led
- 3 Resistències
- 1 Protoboard
- 1 Arduino
- Material necessari:
- Cables
- 1 Switch o pulsador
- 1 Led
- 1 Resistència de 9 a 10K
- 1 Resistència d'1.36K
- 1 Protoboard
- 1 Arduino
Tastet-1: Construir un circuit capaç d'encendre i apagar un led cada segon.
Modificacions Tastet-1
Tastet-1: Construir un circuit capaç d'encendre i apagar un led cada segon.
Conexionat:
-
+
- Material necessari:
- 1 led
- 1 Arduino
- Feu que el led romanga encès 2 segons i apagat 3/4 de segon.
- Feu que el led romanga encès 50 milisegons i apagat 50 milisegons. Que passa?
- Feu que el led romanga encès 10 milisegons i apagat 10 milisegons. Que passa?
Tastet-1 part 2
Blocs de Minibloq:Tastet-1
Principals:
Solució Minibloq:Tastet-1
Mentre condició(While)
Inici
Canviar estat de
sortida digital
Retard
Secondaris:
Fals o no activat
Ara el que es proposa, és que el led es controli des d'un altre pin diferent del 13, per exemple el 7.
El que canvia ara, és que es necessitarà una resistència externa per protegir el led, ja que el pin 13 incorpora una resistència interna, però els demés pins no, per tant el conexionat canvia.
En quant al programa, es tornarà a la versió primera del tastet-1(encendre i apagar el led cada segòn).
Cert o activat
Número
constant
Es proposa la connexió de 5 leds a l'Arduino, en
els pins 3 al 7(es necessita resistència externa).
Es controlarà el seu encès i apagat de forma divertida. Cadascú tria la forma com vol encendre i apagar els leds.
Sugerencies:
- Imitar la estela d'un estel fugaç.
- Imitar el comportament dels llums de "Kit".
- Etc.
Tastet-2: Construir un circuit capaç llegir el valor d'un sensor analògic(en el nostre cas una resistència LDR).
Blocs de Minibloq:Tastet-2
Principals:
Mentre condició(While)
Dades
Sèrie
- Una LDR(Light Dependent Resistor) es bàsicament una resistència que depèn de la llum i varie la seva resistència d'acord a la intensitat lumínica de l'ambient.
Crear i assignar
Variable, respec...
Retard
Secondaris:
Llegir entrada
analògica
Fals o no activat
Cert o activat
Número
constant
- Material necessari:
- 3 Cables
- 1 LDR
- 1 Resistencia
- 1 Protoboard
- 1 Arduino
Solució Minibloq:Tastet-2
Les dades llegides pel sensor
s'envien al Pc mitjançant comunicació
sèrie.
Dades
Sèrie
Tastet-3: Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
Tastet-3b: Modifiqueu el Tastet-3, per a que el led represente els valors que es van llegint des de la LDR.
Solució Minibloq:Tastet-3
Solució Minibloq:Tastet-3b
Tastet-3b: Feu que el led represente els valors que es van llegint des de la LDR.
Tastet-3: Construir un circuit capaç d'encendre un led quan es fa fosc i apagar-lo quan hi ha prou llum.
PWM: Pulse Width modulation
Blocs de Minibloq:Tastet-3
Blocs de Minibloq:Tastet-3b
Principals:
La Modulació per Ample de Pols (PWM) és una tècnica per a simular una sortida analògica amb una sortida digital. El control digital s'usa per a crear una ona quadrada, un senyal que commuta constantment entre encès i apagat. Aquest patró d'encès-apagat pot simular voltatges entre 0 (sempre apagat) i 5 volts (sempre encès) simplement variant la proporció de temps entre encès i apagat. A la durada del temps d'encès (ON) se li crida Ample de Pols (pulse width).
Mentre condició(While)
Dades
Sèrie
Retard
Crear i assignar
Variable, respec...
Retard
Crear i assignar
Variable, respec...
Secondaris:
Llegir entrada
analògica
Fals o no activat
Cert o activat
Número
constant
Tastet-3d: Construir un circuit capaç d'encendre i apagar un led mitjançant la pulsació d'un "switch" o pulsador.
Tastet-3 amb bombeta de 220V: Construir un circuit capaç d'encendre una bombeta de 220V quan es fa fosc i apagar-la quan hi ha prou llum.
Solucions Minibloq:Tastet-3d
Material necessari:
- 3 Cables
- 1 LDR
- 1 Bombeta de 220V
- 1 Shield Relé
- 1 Resistència d'1.36K
- 1 Protoboard
- 1 Arduino
- 1 Endoll amb cables
Tastet-3d: Construir un circuit capaç d'encendre i apagar un led mitjançant la pulsació d'un "switch" o pulsador.
Solució Minibloq:Tastet-3
Blocs de Minibloq:Tastet-3
Principals:
Mentre condició(While)
Dades
Sèrie
Retard
Crear i assignar
Variable, respec...
Secondaris:
Llegir entrada
analògica
Fals o no activat
Cert o activat
Número
constant
La resistència d'1.36k és: Marró, Taronja, Lila, Marró, Marró.
Modificació Tastet-4
- Tastet-4: Construir un circuit capaç de fer anar un servo(moviment aleatori).
- 4.1- Modificar el tastet-4 per a que es puguen visualitzar en la terminal del pc els valors que rep el servo.
Tastet-4: Construir un circuit capaç de fer anar un servo.
Repetir n vegades
Conexionat:
- 4.2- Construir un circuit capaç de fer anar un servo, avant i arrere 10 vegades.
- 4.3- Construir un circuit capaç de fer anar un servo, avant i arrere, amb l'afegit de que quan el servo gire a la dreta ha d'encendre un led i quan gire a l'esquerra, el led ha de romandre apagat.
Enviar dades
sèrie al Pc
- Material necessari:
- 3 Cables
- 1 Servo
- 1 Arduino
Si-Sino(If)
El moviment del servo serà al.leatori.
Passos previs
Blocs de Minibloq:Tastet-4
Solució Minibloq:Tastet-4
Modificació Tastet-4
Solució Minibloq:Tastet-4.x
Principals:
Servo
Mentre condició(While)
4.1
4.2
Retard
Secondaris:
Repetir n vegades
Mapejat de valors
Número
aleatori
- 4.2- Construir un circuit capaç de fer anar un servo, avant i arrere 10 vegades.
- 4.3- Construir un circuit capaç de fer anar un servo, avant i arrere, amb l'afegit de que quan el servo gire a la dreta ha d'encendre un led i quan gire a l'esquerra, el led ha de romandre apagat.
Número
constant
Si-Sino(If)
Solució Minibloq:Tastet-4 amb map
Solució Minibloq:Tastet-5
- Tastet-5: Construir un circuit capaç de controlar un servo mitjançant una LDR.
- Material necessari:
- 6 Cables
- 1 LDR
- 1 Resistència d'1.36k
- 1 Servo
- 1 Protoboard
- 1 Arduino
Seguidor solar senzill amb Arduino
i Minibloq
Instruccions:
- Es llegiran valors de llum de la LDR i es passaran al servo, una vegada adequats mitjançant la funció Map.
Un seguidor solar es un dispositiu mecànic, capaç d'orientar els panells solars de forma que aquests es mantinguen aproximadament perpendiculars als raigs solars, seguint al sol durant tot el seu recorregut.
Nosaltres a Benicarló ens trobem en una latitud aproximada de 43º. Tenint en compte aquesta dada, es pot construir un seguidor solar senzill, orientant els panells solars cap al sud i en un angle igual a la latitud. Després tan sols cal seguir el sol durant el seu recorregut d'Est a Oest.
Així que, resumint, s'orientarà la placa solar a 43º i aquest angle no es variarà.
Després amb un servo es simularà el moviment de la placa orientada seguint al sol. Per seguir al sol es disposa de dos LDR(sensors de llum).
- Material necessari:
- Cables
- 2 LDR
- 2 Resistencies 1,36K
- 1 Servo + servo brackets
- 1 placa solar(virtual)
- 1 Protoboard
- 1 Arduino
La resistència d'1,36k és: Marró, Taronja, Lila, Marró, Marró.
Modificació Tastet-5
Solució 5.2
- 5.2- Construïu un circuit capaç de fer anar un servo, avant i arrere, però controlat per la LDR. El servo romandrà sempre en moviment, movent-se cap a la dreta quan la ldr reba més il·luminació i movent-se a l'esquerra en cas contrari.
Cargols amb punta
per sujectar l'acoblament
del servo
Servo
- 5.3-Modificar el tastet 5.2 per que quan el servo arribi al seu angle màxim, es pare i encenga un led i romanga en eixe estat mentre la ldr reba més llum, quan la ldr reba menys llum el servo es posarà novament en marxa(en sentit contrari) i el led s'apagarà.
Exercici: Incorporeu un final de carrera al seguidor solar, de forma que quan el seguidor arribe a una posició determinada(la que marca el final del dia), pitjarà el final de carrera(switch) i tornarà a la seva posició inicial, restant en repòs fins que torni a sortir el sol al matí(nivell de llum definit a les LDR).
Com montar els brackets
Conexionat del seguidor:
Nota: En la nostra simulació,
suposarem que la placa solar és la
placa protoboard amb les dos LDR
incorporades, i serà aquesta la que es
montarà al damunt dels servo brackets
i farà el seguiment solar.
Tastets d'Arduino
Minibloq
- Característiques:
- Beta: Minibloq és en desenvolupament.
- Fàcil: Només uns pocs clics i el seu primer programa s'està executant.
- Generador de codi en temps real: Es crea el codi, mentre que s'està agregant blocs o modificant els valors dels paràmetres.
- Transició: Facilita la transició a la programació basada en text.
- Comprovació d'errors: També és en temps real.
Minibloq: Blocs principals
Sketch
Alguns models...
Funcions dels pins
- Arduino és una plataforma de maquinari lliure, basada en una placa amb un microcontrolador i un entorn de desenvolupament.
Especificacions: Arduino UNO
Shields
- Dissenyada per a facilitar l'ús de l'electrònica en projectes multidisciplinars.
Els shields, són extensions per a arduino de forma que faciliten o expandeixen la seva operació amb l'entorn.
- Microcontrolador →ATmega328
- Tensió d'Operació (nivel lógic)→ 5 V
- Tensió d'Entrada (recomanat)→ 7-12 V
- Tensió d'Entrada (límits)→ 6-20 V
- Pins E/S Digitals→ 14 (dels quals 6 proveixen de sortida PWM)
- Entrades Analógiques→ 6
- Corrent máx per cada PIN de E/S→ 40 mA
- Memoria Flash→ 32 KB dels quals 0.5KB son usats per el bootloader
- SRAM→ 2 KB
- EEPROM→ 1 KB
- Frecuencia de rellotge→ de 16 MHz
- Un sketch, és el nom que usa Arduino per a un programa. És la unitat de codi que se transmet i executa en la placa Arduino.
- El maquinari consisteix en una placa amb un microcontrolador Atmel AVR i ports d'entrada/sortida.
Evolució d'Arduino
- El programari consisteix en un entorn de desenvolupament que implementa el llenguatge de programació Processing/Wiring i el carregador d'arrencada (boot loader) que corre en la placa.
Duino 644
HackVision
Lugino
Ardweeny
Arduino Pro
FreeDuino
Smduino
Bee Board
Meggy JR RGB
Paperduino
Diavolino
Vinciduino
http://arduino.cc/es
La Fiambrera o tapa
És l'element esencial per poder tastar i degustar, és a dir, per poder fer els tastets d'Arduino.
Continguts:
2 LDR
5 leds
8 resistències
1 Arduino Uno
1 Placa protoboard
1 Servo
2 Servo Brackets
1Switch
Continguts:
2 LDR
5 leds
8 resistències
1 Arduino Uno
1 Placa protoboard
1 Servo
2 Servo Brackets
1 Switch
X 8
TASTETS D'
Els tastets...
S'han pensat com unes jornades introductories (i sense massa pretensions) a la plataforma de hardware lliure Arduino.