LED

LED står for ”Light Emitting Diode”. De små dioder der bruges til robotter osv. kan have forskellige funktioner i forhold til hvornår de lyser og hvordan i lyser. Det lange ben på en diode er den positive indgang (anode), hvor den korte er den negative (cathode).
Når en LED skal forbindes med Arduino, forbinder man det positive ben med en port (eksempelvis port 13) samt en modstand (220W). Det negative ben forbindes til Ground.

Figur 1 viser, hvordan dette kunne se ud i praksis. Figur 2 er et diagram over kredsløbet.

Figur 1 Eks. på kredsløb i praksis
Figur 1: Eks. på kredsløb i praksis
Figur 2: Diagram over kredsløb
Figur 2: Diagram over kredsløb

Kode eksempel – Sådan får du dioden til at blinke:

// Pin 13 er forbundet til LED – vi giver den et navn
int led = 13;

// Vi initializer vores PIN som et output
void setup() {
pinMode(led, OUTPUT);
}

void loop() {
	digitalWrite(led, HIGH);	// Sætter LED’en on (HIGH er niveauet)
	delay(1000);				// 1 sekund delay
	digitalWrite(led, LOW);		// Slukker LED’en ved at sætte lav
	delay(1000);				// 1 sekund delay
}

Kode eksempel – Sådan bruges fade:

int led = 13;				// Pin LED’en sidder på
int brightness = 0;			// Hvor meget den lyser
int fadeAmount = 5;			// Hvor mange points den skal fade

// Vi initializer vores PIN som et output
void setup() {
	pinMode(led, OUTPUT);
}

void loop() {
	// Vi sætter brigtness til vore LED
	analogWrite(led, brightness);
	// Ændringen af brightness
	brightness = brightness + fadeAmount;
	// Reverse når den når enten 0 eller 255
	if (brightness == 0 || brightness == 255) {
		fadeAmount = -fadeAmount;
	}
// 30 milisekunders delay
delay(30);		
}

Laser

En laser er en indretning som skaber lys eller anden elektro magnetik stråling. Forskelligt fra lyset i foreksempel en LED bevæger alle bølgerne i en laser sig i samme retning og tager derfor form af en enkelt klar stråle.

arduinoLED3

Billedet ovenover giver en god ide om hvordan den relevante laser tilsluttes Arduino modulet, men vi gennemgår det blot for en sikkerhedsskyld.

Den hvide ledning er forbundet til en TTL udgang, i dette tilfælde port 13, den røde ledning blev forbundet til en 5V DC indgang og den sorte ledning blev forbundet til Gnd.

For at få laseren til at virke blev programmet Blink loadet op, et af standard Arduino programmerne. Vi kender det, men her er det alligevel:

Kode Eksempel:

// Pin 13 has an LED connected on most Arduino boards.

// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Eksempel af Laser som Aktuator: MicroSlice[1]

En funktion af lasere er at skære igennem materiale med præcision og relativ hastighed. Kombineret med software og nyttig motorik kan dette blive en funktionsdygtigt og brugbar maskine, ligesom dette eksempel.

microslice

MircoSlice er en Arduino baseret minilaserskærer og graveringsmaskine. Den gør brug af et 100mw rødt laser diode der bruges i et DVD-RW drev. Dens skaber, Gregory L. Holloway, konstruerede denne robot som del af en microcontroller-konkurrence på hjemmesiden www.instructables.com, hvor den vandt en førsteplads. Herefter er maskinen blevet et populært hit på hjemmesiden www.kickstarter.com, hvor den på nuværende tidspunkt har nået 75.000 pund til reproduktionsformål.

En af dens funktioner, udover at skære i plastic, læder, træ og chokolader, er at gravere printpladesystemer på kobberbræt. Et eksempel på dette kan ses nedenfor, hvor et system bestående af et batteri, diode og systemsluttende knap blev forbundet ved brug af MicroSlice-maskinens skæringsmetode.

microslice2

For at se maskinen i funktion, kan du gå til dette YouTube link: http://www.youtube.com/watch?v=5dpLOXeR7bk&feature=player_embedded

Laser Tripwire

En laser på grund af dens præcise stråle kan bruges til konstruktion af systemer som opfanger når laser strålen bliver brudt eller er forbundet og giver en form for feedback ud fra det.

Et sådan Laser Snuble Tråds system vil jeg beskrive herunder.

Først det der skal bruges er:

-Arduino
-10k Resistor
-Photo resistor (Næsten enhver kan bruges, men programmet skal modificeres til at reflektere hvilken resistor)
-Laser Pointer
-Jumper Cables
-Alligator clips

Systemet er baseret på at photo resistoren opfanger laser strålen og hvis strålen bliver brudt så tændes for en lille LED pære på Arduino brætet for at indikere det. Kredsløbet brugt er som vist herunder:

tripwire

Den første gule ledning (fra venstre) forbindes til 5v på Arduino brættet, den næste ledning (den nederste af de højre) går til ANALOG 0 og den sidste (øverst til højre) går til GND.

Med dette setup og den følgende kode vil photo resistoren være i stand til at opfange laserens lys og omsætte det til et måleligt tal i Arduino programmet.

Det skal dog bemærkes at koden skal modificeres baseret på laseren brugt og rummets belysning på baggrund af photoresistoren brugt.
Pin 4 er laser pointeren, pin 13 er LED, og  Analog Pin 0 er photoresistoren.

void setup() {
	pinMode(4, OUTPUT);
	pinMode(13, OUTPUT);
}
void loop(){
	digitalWrite(4, HIGH);
	if(analogRead(0) < 750){
		digitalWrite(13, HIGH);
	} 
	else{
		digitalWrite(13, LOW);
	}
}

For at modificere programmet så det virker med belysningen i rummet man er i skal man kunne læse hvilket tal man får ud af sin photoresistor. Dette kan gøres med programmet herunder og ud fra det kan man så modificere tallene så de passer, det vil sige at (analogRead(0) <750) modificeres så tallet når laseren falder på photoresistoren er højere end angivet og mindre når strålen brydes. Man skal altså måle photoresitoren når laseren falder på den og når den ikke gør.

void setup() {
	pinMode(4, OUTPUT);
	Serial.begin(9600);
	}
void loop(){
	digitalWrite(4, HIGH);
	Serial.println(analogRead(0));
	}

Så når tallet fra photoresistoren falder under det angivne punkt skulle en lille lampe på Arduino boardet tænde.

LCD Displayet

LCD står for Liquid Crystal Display. Arduino har sit eget bibliotek kaldet LiquidCrystal, som kan bruges til at styre disse LCD displays. LCD har et 16-pin interface, og kan bruges til at skrive forskellige beskeder på.

Register Select (RS) – Kontrollerer hvilken hukommelse, der skrives data til

Read / Write (R/W) – Om der skal læses eller skrives til displayet

D0 – D7 –  De 8 pins der kan skrives data til (High / Low)

I dette eksempel bruges der også et 10k potentiometer. Kort sagt så er et potentiometer en modstand, som kan justeres, så det kan bruges som en spændingsdeler.

Se illustrationen forneden, som viser, hvordan tingene skal forbindes:

LCD

Kode Eksempel – ”Hello World”:

// Husk biblioteket !
#include <LiquidCrystal.h>

// initialize biblioteket med de pins, der er forbundet
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's antal kolonner og rækker
  lcd.begin(16, 2);
  // Skriv din besked !
  lcd.print("hello, world!");
}

Leave a Reply