- Husk at GTP-4 kan b?de forklare, utdype, og hjelpe til med feils?king i forbindelse med serieport
Hva er serieport
N?r vi snakker om serieport, mener vi vanligvis en enkel protokoll for kommunikasjon over USB kabelen mellom PC og Arduino. Vi kan bruke serieport til:
- ? programmere Arduino (fra Arduino IDE p? PCen)
- Hvis du har programmert Arduinoen til ? sende data fram, og eller tilbake til PCen via serieport kommunikasjon, kan du for eksempel:
- overf?re data til og fra Arduino via medf?lgende Arduino IDE serial monitor eller plotter,
- overf?re data til og fra Arduino fra egen Pyton kode p? PC (eller andre programmeringsspr?k, for eksempel Java i Processing IDE)
- Data er i denne sammenheng variable av type bytes (8bit)
Drivere
For at serieport-protokollen skal kunne brukes m? man vanligvis installere drivere for dette. Disse kan man laste med fra Arduino
? finne navnet p? aktuell serieport p? PCen
N?r rett driver er installert, vil PCen registrere at man kobler til Arduino via USB. Man kan koble til flere Arduinoer p? hver sin USB ledning hvis man vil, og hvert Arduino kort vil da bli tildelt et unikt serieport navn/nummer som man kan finne p? forskjellige m?ter p? PCen.
Navn/nummer p? serieport n?r Arduino er tilkoblet PC med USB:
- Navnet er ofte tilgjengelig i Arduino IDE menyen under Tools. Hvis ikke, kan man sjekke:
WIN
- ?pne opp Device Manager - kategori: Ports
- Her vil navn v?re typisk COM3, COM4 osv
MAC/Linux
- I terminal, skriv: ls /dev
- Her vil navn v?re typisk "tty" (Linux) evt. "cu" (Mac) - etterfulgt av et navn eller kode
Merk at navn p? serieport blir tilegnet i det ?yeblikk man kobler til Arduino med USB og kan variere fra gang til gang
Typiske problem
- Man glemmer ? velge serieporten i drop-down menyen i Arduino IDE (husk ogs? ? velge rett Arduio type i samme meny)
- Man velger gal serieport i drop-down menyen i Arduino IDE
- Man spesifierer galt navn p? serieporten i den Python/Java koden p? PC som skal kommunisere med Arduino
- Serieporten vil ikke ?pne - mulige ?rsaker
- Den er ?pen i en annen prosess, fordi den ble ikke lukket av den siste prosessen som brukte den. Eksempel:
- Man hadde den ?pen i Python/Java og glemte ? lukke den f?r den p? nytt blir ?pnet av Arduino IDE i forbindelse med reprogrammering av Arduinoen
- Den er ?pen av Arduino IDE eller Arduino serial monitor, og man vil kommunisere PC/Arduino via egen Python/Java kode
- Den er ?pen i en annen prosess, fordi den ble ikke lukket av den siste prosessen som brukte den. Eksempel:
- Man har ikke rettigheter til ? ?pne serieporten
- Typisk problem p? de stasjon?re PCene p? Assembler. Skyldes at andre brukere er logget inn og har allokert serieporten. L?sning: reboot PCen
- Man har brukt forskjellig baudrate (bruk 9600) i Arduino og i det programmet man kommuniserer fra p? PC.
- Det er ogs? mulig i noen program p? PCen ? sette opp spesielle kommunikasjons parametere, disse m? stemme med det Arduino bruker (default kan v?re feil). Noen av disse er
- Antall databits, vanlig er 8
- Parity, vanlig er "none"
- Stop bit, vanlig er 1