230 likes | 405 Views
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.
E N D
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 william@kth.se
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 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 ). Miljön är skriven i JAVA, och kan därför köras på de flesta operativsystem (med JAVA). William Sandqvist william@kth.se
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 mappendrivers\FTDI USB Drivers http://www.chipkit.cc/wiki/index.php?title=MPIDE_Installation William Sandqvist william@kth.se
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 william@kth.se
Prova MPIDE GND D8 D8 GND 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 william@kth.se
Exempelprogrammet Blink.pde Spara den ändrade filen. 8 8 Kompilera och ladda ner programmet. Lysdioden blinkar! 8 William Sandqvist william@kth.se
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 william@kth.se
Öppna ChipKITWebServer. 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 william@kth.se
ChipKIT Webserver PC My setup ... Windows XP Båda lysdioderna på Network Shield och på PC:n ska lysa när anslutningen fungerar. chipKIT Network Shield kan ”vända” ledningarna, så någon special ”omvänd” patchkabel behövs inte. William Sandqvist william@kth.se
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 william@kth.se
1 Jag har bara använtanalog kanal 0! Analogt mätvärde i webläsaren Skriv http://192.168.0.3i webläsaren, uppdatera: 0 … 3.3 V 0 … 1024 William Sandqvist william@kth.se
Ethernet exempelprogram Detta är enkla exempel med grundläggande funktioner. Många fler, och mer komplexa, exempel kan man finna på webben. William Sandqvist william@kth.se
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 william@kth.se
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 seriekommunikationmed den egna datorn! Kabel USB - till seriekommunikation TTL-nivåer (3,3V) Datorer saknar numera ofta serieportar så man brukar använda USB-serie kabel. Denna kabel använder samma drivrutin som Arduiono. ELFA 73-206-74 Lämpligt kommunikationsprogram i PC:n är Hyperterminalen (för XP) eller Putty (för Vista). William Sandqvist william@kth.se
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 william@kth.se
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 william@kth.se
TTL-232R-3V3 Eko-program Yellow ← TX1Orange → RX1Black ↔ 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 william@kth.se
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 william@kth.se
Sensorkort med manövercentral Nätverkskort Lycka till! William Sandqvist william@kth.se
/* ____________________ | |xo 85 : AREF | Arduino Shield |xo 84 : GND | +ChipKIT Shield |xo 83 : D13/SDK, LED on card! | |xo 82 : D12/MISO RESET o| |xo 81 : D11/MISI~ 3.3V o| |xo 80 : D10/ss~ 5V o| |xo 79 : D9~ GND o| |xo 78 : D8 GND o| | VIN o| |xo 77 : D7 | |xo 76 : D6~ A0 o| |xo 75 : D5~ A1 o| |xo 74 : D4 A2 o| |xo 73 : D3~ A3 o| |xo 72 : D2 A4 o| |xo 71 : D1/TX A5 o|__ ____|xo 70 : D0/RX A6 x| \____________/ | A7 x| | x 14 TX3 | | x 15 RX3 A8 x| | x 16 TX2 A9 x| +ChipKIT Shield | x 17 RX2 A10 x| | x 18 TX1 A11 x| | x 19 RX1 A12 x| | x 20 SDA A13 x| | x 21 SCL A14 x| | A15 x| | |____________________| gxxxxxxxxxxxxxxxx+ gxxxxxxxxxxxxxxxx+ GND +5V 52 22 53 23 */ William Sandqvist william@kth.se