Las traducciones han sido el trabajo de muchas personas, especialmente Shigeru Kanemoto (que internacionalizó el software y lo tradujo al japonés) y David Cuartielles del equipo Arduino (quien coordinó el proceso de traducción).
Los idiomas disponibles en Arduino 1.0.1 son: Árabe, Aragonés, Catalán, Chino simplificado, Chino tradicional, Danés, Holandés, Inglés, Estonio, Filipino, Francés, Gallego, Alemán, Griego, Hindú, Húngaro, Indonesio, Italiano, Japonés, Coreano, Letón, Lituano, Marathi, Noruego, Persa, Polaco, Portugués – Brasil, Portugués – Portugal, Rumano, Ruso, Español y Tamil. (Para más información o para ayudar con las traducciones, vea esta página en el playground.)
Aurreko batean komentatu dugun bezela larunbat honetan goizean Proiekton ospatuko dugu eta horrekin batera DB bots lerro jarraitzaile lasterketa egingo dugu. Hori dela eta robot lasterkarientzako pista egiten aritu gara eta hau nola egin daitekeen azalduko dugu. Erabili dugun materiala:
2×4 metroko Sintasola
2,8 x 4,8 metroko oihala
Zinta isolatzaile beltza
Zinta isolatzaile gorria
3 metro neurtzeko neurgailua
Arkatza
10mm-ko diametroko PVC hodi bat
Pegatina txuriak
Eraiki behar genuen pista CAD programa batean marraztea komeni da, horretarako LibreCAD software irekia erabili dugu, neurriak adieraziz.
.
.
Pistaren neurriak eta itxura finkatu ondoren materiala bildu behar da. Sintasolaren alde txurian (ez da guztiz txuria baina gertu dago) zinta isolatzailea ipiniko dugu. Sintasol desberdinak ikusten aritu ondoren onena Cepinsan topatu dut. Horretarako sintasolak zenbait ezaugarri edukitzea komenigarria da:
Alde txuria leuna izatea, ahalik eta zimurdura gutxienekin
Alde txuria lodia izan behar da, bestela jaso ondoren ezingo da berriro guztiz zabaldu
Dedetan ez jaramon egin sintasol ereduei, zuzenean originala begiratu, fabrikatzaileak alde txuria alda dezake eta ereduetan zaharra mantendu.
Materiala bildu ondoren montatzea baino ez da geratzen. Horretarko komeni da oihala lurrera botatzea eta honen gainean sintasola uztea. Era honetan sintasola ez da zikinduko eta biribilduz jasoko dugunez ez da alde txuria zikinduko. Pausu hau oso garrantzitsua da behin baino gehiagotan pista erabiltzeko asmoa badago.
Ondoren sintasolaren gainean egongo diren zirkunferentzien erdiguneak topatu behar dira. Erdigunea adierazteko pegatina txuri bat jarri da eta bertan erdigunea arkatzez marraztu. Pauso hau mantso egitea komeni da bestela pistaren neurriak ez dira ondo aterako.
.
.
Erdiguneak ditugula zirkunferentzien gainazala arkatzez eta erreglaz marraztu ditugu. Konpas handi bat edukiko bagenu azkarrago egingo genuke baina gure kasuan dena eskuz egin dugu. Zalantzarik gabe hau izan da lanik gogorrena.
Gero azken pausua bakarrik geratzen da zinta isolatzailea jartzearena. Hau ondo gera dadin, zinta isolatzailea tentsiorik gabe jarri behar da, tiraka jarri ez gero denbora bat pasa ondoren desitsazten hasiko da. Puntu hau kritikoa da eta arazo handia eduki dugu nola jarri ulertu arte.
.
.
Dena montatuta dagoela PVC hodia ardatz modura erabilita biribildu daiteke gordetzeko. Teknika hau izan da onena pistak egin eta leku txiki batean gorde ahal izateko. Argibide honekin ea lasterkarien txapelketetan parte hartzen edo antolatzen norbait animatzen den.
Ondorengo muntaian arduinorekin egindako 10 LEDez sortutako argi joko bat ikusiko dugu. Jokoa egiteko bi programazio metodo erabili ditut, batetik arduinok dakarren softwareaz egindako joku bat eta bestetik, minibloq softearea erabiliz.
Bestetik, arduinoren softwareaz egindako sketcha ere ikus daiteke. Sketchean ikusten den bezala, funtzio bat definitzen da argi joko bakoitzarentzat. Joku bakoitza egin ondoren, 10LEDak itzaltzen dira efektua hobeto ikusteko.
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
/*********************************************************************
10 LED dirdir egiten ikusten dira
(3 aldiz)
*********************************************************************/
void argijoko1(){
int i=2,j=0;
for(j=0;j<3;j++) {
for (i=2;i<12;i++)
digitalWrite(i, HIGH);
delay(500);
for (i=2;i<12;i++)
digitalWrite(i, LOW);
delay(500);
}
}
/*********************************************************************
LEDak banan bana piztu eta itzali
(3 aldiz)
*********************************************************************/
void argijoko2(){
int i=2,j=0;
for(j=0;j<3;j++) {
for (i=2;i<12;i++) {
digitalWrite(i, HIGH);
delay(100);
}
for (i=12;i>1;i--) {
digitalWrite(i, LOW);
delay(100);
}
}
}
/*********************************************************************
Lehengo 5 LED pizten ditu eta gero beste bostak
alternantzia egiten
(3 aldiz bostkote bakoitza)
*********************************************************************/
void argijoko3(){
int i=2,j=0,k=0;
for (j=0;j<3;j++){
for(i=7;i<12;i++)
digitalWrite(i, HIGH);
for(k=2;k<7;k++)
digitalWrite(k, LOW);
delay(500);
for(i=7;i<12;i++)
digitalWrite(i, LOW);
for(k=2;k<7;k++)
digitalWrite(k, HIGH);
delay(500);
}
}
void argijoko4(){
int i=0,j=0,k;
for (j=0;j<3;j++){
for(i=0;i<12;i=i+2)
digitalWrite(i, HIGH);
for (k=1;k<12;k=k+2)
digitalWrite(k, LOW);
delay(500);
for(i=0;i<12;i=i+2)
digitalWrite(i, LOW);
for (k=1;k<12;k=k+2)
digitalWrite(k, HIGH);
delay(500);
}
}
/*********************************************************************
LED guztiak itzali
*********************************************************************/
void borratu(){
int i=2;
for(i=2;i<12;i++)
digitalWrite(i, LOW);
delay(250);
}
void loop() {
argijoko1();
borratu();
argijoko3();
borratu();
argijoko2();
borratu();
argijoko4();
borratu();
}
Azkenik, proiektua ikusteko, minibloq eta arduino softwareaz egindako lanaren bideo txiki bat ikusgai jarriko dut, non argi jokoak ikusi ahal diren.
Proiektu honek egiten duena da motore baten bidez CD batek zenbat buelta emango dituen minuturo kalkulatzen ditu. Horretarako, potentziometro batekin motorearen abiadura kontrolatuko dugu. Motorearen goikaldean CD bat jarri dugu txuri kolorekoa eta franja beltz batekin eta CNY sentsoreak detektatuko du kolore bakoitza.
Beltz koloretik pasatzen den bakoitzean programak bira bat eman duela bezala egingo du eta hori jakinda kalkulatuko du zenbat erreboluzio egingo dituen minuturo CDak. Proteus programarekin simulatu dugu, horretarako Proteus 7.7 erabili dugu Arduino UNOrekin konpatiblea izateko. Hona hemen argazkia Proteusen simulatuta:
.Klasean egin diseinatu eta montatu dugu. Ea zer deritzozue!
.
Horretarako Arduino UNO erabili dugu bere Sketch programarekin. Hona hemen Sketch-a:
5K-ko potentziometro bat erabili sarrera analogikora konektatuta. Potentziometroa punta batean dagoenean 0 ohm-eko potentziometroak balioko du eta 5v (1023) arduinok jasoko du eta beste puntan dagoenean biratuta 5k ohm potentziometroak balioko du eta 0v(0) arduinok jasoko du. Bi puntetako batean ez dagoenean tarteko balio bat izango du (0 ohm eta 5k ohm en artean) eta arduino (0 eta 5v artean) 0 eta 1023 tarteko balio bat jasoko du.
Ariketa honetan potentziometrotik jasotzen dugun balioa ordenagailuko pantailan azaldu behar da arduino serie komunikazioari esker. Baina hori oso erreza da egiten eta 0-tik 1023 balio bitarteko bat pantailan ikusteak ez du gauza handirik esaten. Ala ere lehendabizi hori egin eta ondoren, pantailan ohm-etan balioa azaldu beharko da. Hori errexteko Arduinok erreferencia estekan Map funtzioaren bidez lortuko dugu. Pantaila itxura honetako informazioa azaldu beharko da:
.
Potentziometroaren balioa 1800 ohm-ekoa da
Potentziometroaren balioa 500 ohm-ekoa da
Potentziometroaren balioa 4000 ohm-ekoa da
Hemen dago hau erakusten duen bideo txiki bat:
.
.
Proteus erabili dugu zirkuitu hau simulatzeko.
.
.
Eta hau da arduino bitartez programatzeko egin dudan sktch-a: