VILDU
LAGEEN
ROBOT?
A L E K S A N D E R G R A N D E - K N O W I T
Wednesday, October 27, 2010
Wednesday, October 27, 2010
w00t!
Wednesday, October 27, 2010
UTVIKLIN
GSPLATFORMER
1.
Wednesday, October 27, 2010
µC?!
Wednesday, October 27, 2010
“A microcontroller (also microcomputer, MCU or µC) is a small computer on a single integrated circuit consisting internally of a relatively simple CPU, clock, timers, I/O ports, and memory.” (wikipedia)
Wednesday, October 27, 2010
ARDUINO
Billig Enkel
AVR Shields
Wednesday, October 27, 2010
MSP-430
BILLIG! IDE
Strøm-gjerrig
Fin start
Wednesday, October 27, 2010
“RENAVR”BILLIG!
Skredder-sydd
AVR-Freaks
Back to basics
Wednesday, October 27, 2010
NETDUINO
Kjører.net™
IDE
Høøøøy-nivå
Shields
Wednesday, October 27, 2010
ARDUINO FTW!
Wednesday, October 27, 2010
ARD UINO
IDE
Wednesday, October 27, 2010
TALKTOME
BABY
2.
Wednesday, October 27, 2010
Seriell I2C
XBeeEthernet/
WiFi
LØSNINGER
Wednesday, October 27, 2010
Seriell I2C
XBeeEthernet/
WiFi
LØSNINGER
Wednesday, October 27, 2010
ARDUINOvoid setup(){
Serial.begin(115200);
}void loop() { Serial.println("Hello dagen at ifi!");
if (Serial.available() > 0) { char incomingByte = Serial.read(); Serial.print("I received: "); Serial.println(incomingByte); }
delay(1000);}
Wednesday, October 27, 2010
FRA JAVA
import java.io.InputStream;import java.io.OutputStream;import gnu.io.CommPortIdentifier; import gnu.io.SerialPort;import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; import java.util.Enumeration;
public class SerialTest implements SerialPortEventListener { SerialPort serialPort; private static final String portName = "/dev/ttyUSB0";
private InputStream input; private OutputStream output;
private static final int TIME_OUT = 2000; private static final int DATA_RATE = 115200;
public void initialize() { CommPortIdentifier portId = null; Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();
while (portEnum.hasMoreElements()) { CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement(); if (currPortId.getName().equals(portName)) { portId = currPortId; break; } }
try {
serialPort = (SerialPort) portId.open(this.getClass().getName(),TIME_OUT); serialPort.setSerialPortParams(DATA_RATE,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE); } catch (Exception e) { System.err.println(e.toString()); } }
Wednesday, October 27, 2010
FRA JAVApublic void writeMessage(String message){
try{ output.write(message.getBytes()); }Catch(Exception e){
System.out.println("Got error while writing, error was:"+e.getMessage()); } } public String readMessage(){ byte[] readBuffer = new byte[200]; try{ while (input.available() > 0) { int numBytes = inputStream.read(readBuffer); } }catch(Exception e){ System.out.println("Got error while reading, error was:"+e.getMessage()); } return new String(readBuffer);}
Wednesday, October 27, 2010
FRA C#
private static System.IO.Ports.SerialPort serialPort1;static void Main(string[] args){
System.ComponentModel.IContainer components = new System.ComponentModel.Container(); serialPort1 = new System.IO.Ports.SerialPort(components); serialPort1.PortName = "COM4"; serialPort1.BaudRate = 115200;
serialPort1.Open(); if (!serialPort1.IsOpen) { Console.WriteLine("Oops"); return; }
serialPort1.DtrEnable = true;
}
Wednesday, October 27, 2010
FRA C#
private void writeMessage(String message){ using(serialPort1){ serialPort1.Write(message); }}private String readMessage(){ using (serialPort1){ return serialPort1.ReadExisting(); }}
Wednesday, October 27, 2010
FRA PY
import serialser = serial.Serial('/dev/ttyUSB0', 115200)message = "dagen";ser.write(message)message = ser.readline()
Wednesday, October 27, 2010
NUTSAND
BOLTS3.
Wednesday, October 27, 2010
adafruit.com sparkfun.com
eBay.com farnell.com
robotshop.us make.com
electrokit.se lawicel.se
estore.ti.comdeal
extreme.comdfrobot.com jameco.com
evilmad science.com
robonor.no
elfa.se
Wednesday, October 27, 2010
hackaday.com arduino.cc
roboticsblog .org
avrfreaks.net
make.comhacked
gadgets.com
todbot.comhacknmod
.com
chiphacker .com
youritronics.com
esawdust.com/blog/
e2e.ti.com
elektronika.ba
robonor.no
knowitlabs.no
Wednesday, October 27, 2010
knowitlabs.no
Wednesday, October 27, 2010
TRONBOT
4.
Wednesday, October 27, 2010
TRONBOT
ArduinoUltra-sonisk
Nevralt-nettverk
Scala
Wednesday, October 27, 2010
NN
Simulererhjernen
Nevroner
LagdelingInput/output
Input1 Input2 Input3 Input4 Input5
Output1 Output1
Wednesday, October 27, 2010
NNAktivering
Wednesday, October 27, 2010
GENALG
Mange nevroner
Start Random
Test/muter
Rinse and repeat
Wednesday, October 27, 2010
KommandoSensordata
Wednesday, October 27, 2010
Funker det da?
Wednesday, October 27, 2010
VIDEO
Etter 30 min
Wednesday, October 27, 2010
VIDEO
Etter 1t+
Wednesday, October 27, 2010
PROBLEM
Tar lang tid
Bør overvåkes
Simu-lering
Genetisk algoritme
Wednesday, October 27, 2010
Images used in presentation:
http://www.flickr.com/photos/flysi/http://www.flickr.com/photos/carl-johan/http://www.flickr.com/photos/mcblood/http://www.flickr.com/photos/nguyendai/http://www.flickr.com/photos/oskay/http://www.flickr.com/photos/jannem/http://www.flickr.com/photos/rb-rt/http://www.flickr.com/photos/splorp/http://www.flickr.com/photos/genewolf/http://www.flickr.com/photos/cmatsuoka/http://www.flickr.com/photos/meddygarnet/http://www.flickr.com/photos/donsolo/http://www.flickr.com/photos/oskay/http://www.flickr.com/photos/gozalewis/http://www.flickr.com/photos/todbot/http://www.flickr.com/photos/yamagatacamille/NON CC:http://www.tronguy.net/
Wednesday, October 27, 2010