Nya produkter: tryckkänsliga motstånd 
4 st typer av motstånd som ändrar sin resistans beroende på trycket har lagts upp i webbshopen. De är känsliga nog att känna ett tryck på ett tiotals gram upp till 10 kg.



Vi har sensorer i följande dimensioner:
- Cirkulär 5 mm
- Cirkulär 13 mm
- Kvadratisk 38 x 38 mm
- List 601 x 15 mm

Användningsområden är många t.ex.:
- Detektera om hexapodens fot har nått marken, användbart om terrängen är ojämn
- Känna av med vilket tryck en robot griper ett föremål för att förhindra att föremålet trycks sönder
- Som cool knapp för att styra olika funktioner

[ kommentera ] ( 6 views )   |  permalink
CraxyFlie - en miniquadcopter 
Från det svenska konsultföretag Epsilon kommer den lilla men underbara mini-quadcopter:



CrazyFlie är ca 12 x 12 cm och väger runt 20 gram. Ombord har den 2 st gyro, en 3-axlig accelerometer samt ett litet flygplansbatteri. Batteriet räcker för 4.5 minuts flygtid.

Processorn är en STM32 Cortex-M3 som klockas i 64 MHz.



Mer info kan hittas på Daedalus Projects blogg.

[ kommentera ] ( 6 views )   |  permalink
Lantronix X-Port 
Lantronix X-Port är en rolig liten sak! Den kan användas som en Ethernet-UART brygga för mindre processorer där man inte vill eller har möjligheter att implementera en hel TCP/IP stack. Men den är faktiskt så väldigt mycket mer: Bland annat hittar man en komplett webserver i den, stöd för SMTP (möjlighet att skicka mail från den), FTP och mycket annat smått och gott. 384 kB finns att leka med om man vill lägga upp egna hemsidor i den.

Eftersom jag kommit över några ex av X-Port kunde jag förstås inte låta bli att prova den så jag satte snabbt ihop följande kretskort:



Den består av en ATMega som kör på ca 11 MHz, en röd lysdiod som är kopplad till PD6 på ATMegan, en switchregulator för att få 3.3 V (X-Port vill ha detta men dess datapinnar är 5 V kompatibla) samt förstås X-Port själv. X-Ports dataingång är direkt kopplad till AtMega TXD0 (PD0) och dess datautgång är således kopplad till ATMegas RXD0 (PD1).

Jag skrev ihop ett litet program till ATMega som i princip bara väntar på data från UART:en. När ett tecken tas emot kollar ATMega om det är en ”0”. Isåfall släcks lysdioden. Är det istället en ”1” tänds den. Enkelt men bra för att testa med.


#define F_CPU 11059200L

#include <avr/io.h>

#include <util/delay.h>

////////////////////////////////////////////
//
// HARDWARE DEFINITIONS
//
////////////////////////////////////////////

#define BAUDRATE_9600BPS 71

#define LED_PORT PORTD
#define LED_DDR DDRD
#define LED_STATUS PD6

///////////////////////////////////////////////////
//
// UART
//
////////////////////////////////////////////////////

/* Initialize UART */
void uart_init( unsigned char baudrate )
{
/* Set baud rate */
UBRR0H = (unsigned char)(baudrate>>8);
UBRR0L = (unsigned char)baudrate;
/* Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}

/* Read and write functions */
unsigned char uart_receive( void )
{
/* Wait for data to be received */
while ( !(UCSR0A & (1<<RXC0)) )
;
/* Get and return received data from buffer */
return UDR0;
}

////////////////////////////////////////////////////
//
// L E D S
//
////////////////////////////////////////////////////

void led_init()
{
LED_DDR |= ( 1 << LED_STATUS );
}

void led_active()
{
LED_PORT &= ~( 1 << LED_STATUS );
}

void led_deactive()
{
LED_PORT |= ( 1 << LED_STATUS );
}

int main()
{
led_init();

uart_init( BAUDRATE_9600BPS );

while(1)
{
uint8_t r = uart_receive();

if( r == '0' )
led_deactive();
if( r == '1' )
led_active();
}

return 0;
}


Sedan kopplades X-Porten in på nätverket via en router. Eftersom X-Port utnyttjar DHCP (man kan naturligtvis sätta en fast adress som man vill) i mitt nätverk kommer den automatiskt att få en IP adress. Denna IP adress kan man ta reda på antingen genom att kolla i routern eller använda Lantronix speciella program som letar upp alla X-Portar på nätverket.

Programmet för att styra lysdioden valde jag att skriva i C#. Ett formulär skapas där man kan fylla i IP adressen samt portnummer för X-Porten. Två knappar finns också, en för att tända lysdioden och en för att släcka den. När användaren trycker på en knapp skapas en TCPSocket som går mot IP-numret. Därefter skrivs ett värde, 0 eller 1 beroende på vilken knapp som trycktes, till socketen och sedan stängs den.



Och koden:


public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void ConnectAndSend(string message)
{
TcpClient socketForServer;
try
{
socketForServer = new TcpClient(textBoxIP.Text, int.Parse(textBoxPort.Text));
}
catch
{
string err = String.Format("Failed to connect to server at {0}:{1}", textBoxIP.Text, textBoxPort.Text);
MessageBox.Show(err);
return;
}

NetworkStream networkStream = socketForServer.GetStream();
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(networkStream);
try
{
streamWriter.WriteLine(message);
streamWriter.Flush();

}
catch (Exception ex)
{
MessageBox.Show("Exception reading from Server " + ex.Message);
}

// tidy up
networkStream.Close();
}

private void button1_Click(object sender, EventArgs e)
{
ConnectAndSend("1" ) ;
}

private void button2_Click(object sender, EventArgs e)
{
ConnectAndSend("0" ) ;
}
}


Eftersom det hela går över TCP/IP och Internet skulle alltså ATMega kunna sitta på andra sidan jorden och låta sig styras från Sverige. Ganska fantastiskt egentligen!

Några andra roligt finesser är att man kan få den att skicka ut förkonfigurerade mail genom att låta den lyssna på det som skickas från mikroprocessorn. Man kan i inställningarna för X-Port välja vilken tecken som den ska reagera på och när X-Port känner av dessa skickas ett mail iväg.

Nackdelar då? Jo, den är väldigt dyr, ca 500 kr plus moms men å andra sidan får du faktiskt ett helt komplett system så ur den aspekten kan den inte anses vara dyr. Men det är klart, utnyttjar man inte hela potentialen så springer kostnaderna iväg.

Själv har jag en hel del tankar om projekt där man kan utnyttja en X-Port men det som ligger närmast är en temperaturloggningssystem med OneWire, ett SD kort (för att lagra all data) samt en X-Port förstås för at kunna kommunicera med omgivningen. Ytterligare en tanke jag har är att ta fram en ROV styrkort där man pratar med TCP/IP istället för RS485 för att kunna utnyttja t.ex. IP kameror på ett bekvämt sätt.


[ kommentera ] ( 9 views )   |  permalink
Rullande larvrobot 
Forskare vid Tufts universitet har låtit sig inspireras av en speciell larv som har en förmåga att rulla bort från faror.

Den första videon visar hur larven rullar filmad med en höghastighetskamera och i slutet en robot som imiterar beteendet;


I den andra videon filmas roboten igen:


För den som vill fördjupa sig finns det en publicerad rapport att ladda ner.

[ kommentera ] ( 7 views )   |  permalink
Djupgående ubåt av glas 
En intressant artikel från DiscoveryNews om företaget Triton Submarines som planerar bygga en ubåt vilket i sig kanske inte är så spännande. Men det intressanta är att den ska kunna dyka till ca 11000 meter djup vilket alltså är det största djupet på jorden och själva kroppen ska bestå av en glassfär. Glas har en speciell förmåga att bli starkare under tryck men tekniken att tillverka en sfär med plats för 3 personer är helt ny.

På YouTube hittade jag ett reportage om deras tidigare ubåtar:


[ kommentera ] ( 8 views )   |  permalink

<<Första <Backa | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Nästa> Sista>>