Difference between revisions of "Udvidet hardware-software"

From Teknologisk videncenter
Jump to: navigation, search
(Tirsdag)
(Mandag)
Line 12: Line 12:
 
Lav også en rutine så du kan tænde og slukke LEDen via seriel interfacet.
 
Lav også en rutine så du kan tænde og slukke LEDen via seriel interfacet.
  
Tag nu et board mere og lav en seriel forbindelse med 2 ledninger mellem de to boards.
+
Atmel processoren har en indbygget UART (Universal Asynchronous Receiver Transmitter) som kan anvendes til seriel kommunikation med andre enheder. Du finder portene til UARTen på Port 0 og 1 på Arduino boardet.
 +
 
 +
Tag nu et board mere og lav en seriel mellem UARTen på de to boards  forbindelse med 2 ledninger mellem de to boards.
 
*RX (Port 0) til TX (Port 1)
 
*RX (Port 0) til TX (Port 1)
 
*TX (Port 1) til RX (Port 0)
 
*TX (Port 1) til RX (Port 0)

Revision as of 16:25, 28 April 2015

2130 Udvidet hardware/software projekt

Materialer/Links

Arduino på mars Arduino

Opgaver

Mandag

Hent og installer Arduino IDE, se vejledning på Arduino

Kig i eksemplet SerialCallResponceASCII og lav din egen udgave med en LDR (Lys føler) og en trykknap som kan tænde og slukke for LEDen på port 13.

Afprøv med PUTTY eller tilsvarende at dit program virker så du kan læse værdien fra lysføleren og status på trykknappen. Vær opmærksom på at det er samme port du anvender til at programmerer og til at kommunikerer med boardet så der kan opstå konflikter.

Lav også en rutine så du kan tænde og slukke LEDen via seriel interfacet.

Atmel processoren har en indbygget UART (Universal Asynchronous Receiver Transmitter) som kan anvendes til seriel kommunikation med andre enheder. Du finder portene til UARTen på Port 0 og 1 på Arduino boardet.

Tag nu et board mere og lav en seriel mellem UARTen på de to boards forbindelse med 2 ledninger mellem de to boards.

  • RX (Port 0) til TX (Port 1)
  • TX (Port 1) til RX (Port 0)

Lav kode til board 2 så du kan tænde LEDen på boardet vha den trykknap du satte på board 1 ved at sende seriel kommandoer mellem de to boards. Bemærk at du ikke kan programmerer de to boards via USB uden først at fjeren ledningerne fra RX og TX.

Lav til sidst en udvidelse du med en eller to ekstra ledninger mellem de to boards kan lave handshake og sende en interrupt til board 2 som starter serial read. Du kan læse mere om handshake her RS-232 and RS-422. Vær dog opmærksom på at der ikke er tale om egentlig RS-232 med de spændings niveauer vi arbejder med her, det kræver en tranceiver.

Der er mere om Arduino og interrupts her Arduino Interrupt eksempel

Tirsdag

SPI er en meget anvendt kommunikationsform mellem forskellige komponenter i et uProcessor system. Det kan f.eks. være at processoren skal programmer en GPS enhed, læse fra et flash card eller blot programmere nogle udgange. SPI betyder Serial Peripheral Interface Bus og adskiller sig fra opgaven i går ved at der er indført en seriel clock. SPI kan du læse mere om her SPI på Wikipedia

uControlleren i Arduino har også en SPI bus som befinder sig på port 10-13

Port 13 - SCLK (Serial clock) Port 12 - MISO (Master In Slave Out) Port 11 - MOSI (Master Out Slave IN) Port 10 - SS (Slave Select)

I modsætning til UART

Onsdag

Torsdag

Fredag