chipKIT Network Shield
Download
Report
Transcript chipKIT Network Shield
Experiment with chipKIT Network Shield
Arduino is an open-source
electronics prototyping platform
based on flexible, easy-to-use
hardware and software. It's intended
for artists, designers, hobbyists,
and anyone interested in creating
interactive objects or environments.
Now for 32-bit MIPS (PIC32) processor !
William Sandqvist [email protected]
MPIDE multiplatform, AVR or PIC32
- Kortet
kan programmeras med en variant
av Arduino-plattformen, MPIDE som
kan laddas ned från DIGILENT.
Man väljer kortet Max32 i Tools,
Board –menyn.
Miljön är skriven i JAVA, och kan
därför köras på de flesta
operativsystem (med JAVA).
Miljön har sedan fem knappar som sköter
”kompilering”, ”upload” (till kortet) och
”filhantering”.
( Egentligen innehåller miljön en vanlig
GCC C++ kompilator fast det inte syns ).
William Sandqvist [email protected]
Ladda hem MPIDE, packa upp
mpide-0023-windows-20111221.zip
Packa upp under C: ( skolans labdatorer H: )
Skapa en genväg till
mpide.exe och placera
den tex. på skrivbordet.
När chipKIT Max32 ansluts till
datorns USB-kontakt så behövs
det en drivrutin som finns i
mappen
drivers\FTDI USB Drivers
http://www.chipkit.cc/wiki/index.php?title=MPIDE_Installation
William Sandqvist [email protected]
Port för USB-kommunikation
Bocka för rätt port för USB-kommunikationen.
Enhetshanteraren visar vilken port det är.
Kopplar Du bort chipKIT MAX32 kortet så
”försvinner” porten från enhetshanterarens lista.
På så sätt kan man identifiera vilken port det är.
William Sandqvist [email protected]
Prova MPIDE
GND
D8
D8
Lysdioder med inbyggda strömbegränsningsmotstånd
Lysdiod med seriemotstånd 5V grön ELFA 75-014-99
Lysdiod med seriemotstånd 5V röd ELFA 75-012-59
Lysdiod med seriemotstånd 5V gul ELFA 75-015-11
Modifiera exempelprogrammet: Blink.pde
William Sandqvist [email protected]
GND
Exempelprogrammet Blink.pde
Spara den ändrade
filen.
8
8
Kompilera och ladda
ner programmet.
8
Lysdioden blinkar!
William Sandqvist [email protected]
Webserver
chipKIT Network and USB Libs_v1-4-1.zip
DSD-0000318 ( Download from Digilent )
Libraries and documentation for using the Network Shield with the chipKIT
MPIDE. The libraries provide Ethernet (TCP/IP and UDP), USB Host, USB
Device, and CAN support.
Läs readme.txt - filen:
1. Start MPIDE
2. Look under File->Preferences and take note of your Sketchbook Location
3. Shutdown MPIDE
4. under your Sketchbook directory create a subdirectory called "libraries"; this directory
may already exist.
5. Unzip the ChipKITNetworkShield in the libraries directory.
6. You should have 8 subdirectories added (chipKITEthernet, chipKITUSBDevice,
chipKITUSBHost, chipKITUSBHIDHost, chipKITUSBMSDHost, chipKITMDDFS, and
chipKITCAN, DNETck). These are the chipKIT Network and USB libraries.
7. Restart MPIDE
8. You should see the new libraries under Sketch->Import LIbrary, under Contributed.
9. Also you should see under File->Examples the chipKIT library examples directories.
William Sandqvist [email protected]
ChipKITWebServer
Öppna ChipKITWebServer.
Redigera texten. Ändra MAC adressen
till den som står på undersidan av din
chipKIT Network Shield.
Ändra IP adressen till en ”fri” lokal
adress tex. 192.168.0.3 spara.
// Enter a MAC address and IP address for your controller
below. byte mac[] = {
0x00, 0x18, 0x3E, 0x01, 0x08, 0x25 };
//
!!MODIFY THIS!!
// The IP address will be dependent on your local network:
byte ip[] = {
192,168,0,3 };
Kompilera och ladda ner programmet.
Webservern startar!
William Sandqvist [email protected]
ChipKIT Webserver PC
My setup ...
Windows XP
chipKIT Network Shield kan ”vända”
ledningarna, så någon special
”omvänd” patchkabel behövs inte.
William Sandqvist [email protected]
Båda lysdioderna på
Network Shield och på
PC:n ska lysa när
anslutningen fungerar.
PC:ns IP-adress
Välj en fast ip-adress för PC:n
192.168.0.2
(en annan än den Du valde för
chipKIT Network Shield)
William Sandqvist [email protected]
Analogt mätvärde i webläsaren
Skriv http://192.168.0.3
i webläsaren, uppdatera:
1
Jag har bara använt
analog kanal 0!
0 … 3.3 V 0 … 1024
William Sandqvist [email protected]
Ethernet exempelprogram
Detta är enkla exempel med grundläggande funktioner. Många fler, och
mer komplexa, exempel kan man finna på webben.
William Sandqvist [email protected]
Moving from JAVA to C++
För att kunna utnyttja den exempelkod som finns till Arduinomiljön kan man
behöva förstå hur man hanterar objekt i C++. Läs på – tex. här:
http://horstmann.com/ccj2/ccjapp3.html
” This appendix explains how to transfer your Java programming skills to a
substantial subset of C++. This is necessary for students who take their first
programming course in Java and the second course in C++. Naturally, it would be
easiest if the second course were also offered in Java, but learning to move from
one language to another is a fact of life for today's software professionals.
Fortunately, C++ has many features in common with Java, and it is easy for a
Java programmer to gain a working knowledge of C++.
William Sandqvist [email protected]
”
Seriekommunikation
För att kommunicera med sensorkortet (med ARM-processorn) kan
seriekommunikation vara lämpligt. När två processorer kommunicerar
med varandra på nära håll, sker det ofta direkt med logiknivåer
(0V / 3V) i stället för med seriekommunikations standarden ±12V.
Pröva först seriekommunikation
med den egna datorn!
Kabel USB - till seriekommunikation TTL-nivåer (3,3V)
ELFA 73-206-74
Datorer saknar numera ofta serieportar
så man brukar använda USB-serie
kabel. Denna kabel använder samma
drivrutin som Arduiono.
Lämpligt kommunikationsprogram i PC:n är Hyperterminalen (för XP)
eller Putty (för Vista).
William Sandqvist [email protected]
Terminalprogram till XP
Hyperterminalen
(ingår i Windows XP)
PC:ns serieport
(sällsynt numera)
USB-port
USB till serieport
adapter behövs.
OBS! förmodligen
samma drivrutin
som till arduino.
William Sandqvist [email protected]
Terminalprogram till Vista
Om Du använder USB-virtuell serieport – tag reda på COM-portens
nummer först (med Enhetshanteraren/Device Manager) …
PuTTY
PuTTY
William Sandqvist [email protected]
TTL-232R-3V3
Eko-program
Yellow ← TX1
Orange → RX1
Black ↔ GND
GND
Eko-program. Tecken inkommer till Max32-kortets RX1 och ekas tillbaka
från Max32-kortets TX1. Syns de tecken man skriver på PC:n så fungerar
kommunikationen överMax32:s serieport 1.
chipKIT Max32 har totalt 4
serieportar.
echotest
Skriv ett echo-program enligt
denna förlaga.
Om man dessutom ändrar till
Serial1.write(serIn+1);
Så blir ’A’ → ’B’ osv. och då vet
man med säkerhet att det är
kortet som ekar och att det inte
bara är ”överhörning” i kabeln!
Först när man är säker på
seriekommunikation med den
egna PC:n fungerar provar
man att kommunicera med
ARM-kortet!
William Sandqvist [email protected]
Oscilloscope-test
4800 Hz
GND
Antag x bit/sek. Om man
sänder kontinuerligt 8 bitar
med startbit och stoppbit
bokstaven ’U’ (1010101010)
får man en fyrkantvåg med f =
x/2 Hz. Detta test är bra att
känna till!
William Sandqvist [email protected]
Sensorkort med manövercentral
Nätverkskort
Lycka till!
William Sandqvist [email protected]
/*
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
____________________
|
|xo
| Arduino Shield
|xo
| +ChipKIT Shield
|xo
|
|xo
o|
|xo
o|
|xo
o|
|xo
o|
|xo
o|
|
o|
|xo
|
|xo
o|
|xo
o|
|xo
o|
|xo
o|
|xo
o|
|xo
o|__
____|xo
x| \____________/
|
x|
| x
|
| x
x|
| x
x| +ChipKIT Shield
| x
x|
| x
x|
| x
x|
| x
x|
| x
x|
|
x|
|
|____________________|
gxxxxxxxxxxxxxxxx+
gxxxxxxxxxxxxxxxx+
GND
+5V
52
22
53
23
85
84
83
82
81
80
79
78
:
:
:
:
:
:
:
:
AREF
GND
D13/SDK, LED on card!
D12/MISO
D11/MISI~
D10/ss~
D9~
D8
77
76
75
74
73
72
71
70
:
:
:
:
:
:
:
:
D7
D6~
D5~
D4
D3~
D2
D1/TX
D0/RX
14
15
16
17
18
19
20
21
TX3
RX3
TX2
RX2
TX1
RX1
SDA
SCL
*/
William Sandqvist [email protected]