Programmering av CanSat

Programmering av CanSat

Installer Arduino IDE

Først må du laste ned Arduino IDE 2. Et integrert utviklingsmiljø (IDE) er en type programvare som kjører på en datamaskin og er laget for å gjøre programmering av enheter enklere. Arduino IDE brukes både til å skrive koden som skal lastes opp til Arduino-/Teensy-kortene, og til å laste opp selve koden til kortet. IDE-en har innebygde kompilatorer og alt annet som trengs for å laste opp koden, og utfører dette automatisk i bakgrunnen når du starter opplastingen.

Last ned den nyeste versjonen av Arduino IDE her:
https://www.arduino.cc/en/software

Det finnes flere nedlastingsalternativer for Windows. .exe-installasjonsfilen anbefales, siden den lar deg velge om Arduino IDE skal installeres kun for én bruker eller for alle brukere på systemet. For CanSat-prosjektet bør du unngå å bruke Arduino Cloud Editor.

Legg til støtte for Teensy mikrokontroller i Arduino IDE

Koble Teensy til PC med USB-kabelen. Dette starter en automatisk nedlasting og installering av de nødvendige driverene.

Teensy støttes via Boards Manager i Arduino. Det er ikke lenger nødvendig med et eget installasjonsprogram, men for å aktivere støtten må du legge til en ekstra URL for Boards Manager i innstillingsvinduet. Klikk på File > Preferences og legg til denne lenken:

https://www.pjrc.com/teensy/package_teensy_index.json

Screenshot from Arduino IDE Photo: Andøya Space

Adding support for Teensy in Arduino IDE Photo: Andøya Space

Velg OK. Gå inn på Tools > Board > Boards Manager og søk på Teensy. Velg Install. .

Screenshot from Arduino IDE Photo: Andøya Space

Adding support for Teensy in Arduino IDE Photo: Andøya Space

Når ferdig kan du velge mikrokontroller Teensy 4.1

Screenshot from Arduino IDE Photo: Andøya Space

Adding support for Teensy in Arduino IDE Photo: Andøya Space

Installer nødvendige biblioteker

Etter å ha installert Arduino IDE og støtte for Teensy mikrokontroller, må vi legge til biblioteker for enkelt å ta i bruk sensorkort GY-91 og radiomodul RFM96. Andøya Space har skrevet 2 biblioteker. Last ned filene under og lagre de på PC'en.

GY-91 RFM96

I Arduino IDE gå inn på Sketch > Include library > Add .ZIP Library.
Legg til begge bibliotekene.

How to include a zipped Library in Arduino

How to include a zipped Library in Arduino. Image: Andøya Space

Last ned første program for CanSat sender

Last ned programmet og åpne i Arduino IDE

CanSat Sender

Koble til CanSat sender og last opp programmet

Screenshot from Arduino IDE Photo: Andøya Space

Åpne seriell monitor og sjekk at du ikke får noen feilmeldinger.

Undersøk programkoden og identifiser hva som eventuelt vil gi en feilmelding.

Last ned første program for CanSat mottaker

Last ned programmet og åpne i Arduino IDE

CanSat mottaker

Koble til CanSat mottaker og last opp programmet

Screenshot from Arduino IDE Photo: Andøya Space

Åpne seriell monitor og se hva du får som beskjed.

Undersøk programkoden. Hvorfor får du beskjed om at ingen data er mottatt de siste 5 sekundene?

Kjør kode på sender og mottaker

La mottaker være tilkoblet med USB til PC og ha Arduino IDE med seriell monitor åpen, skru på sender ved å koble til batteriet.

Identifiser hvilke data du mottar, finn kolonnen hvor kjøretid (tid siden oppstart) i millisekunder vises.

Modifiser program for sender til å sende data hvert 200 millisekund

I Arduino kaller du på en funksjon ved å skrive funksjonsnavnet etterfulgt av parenteser ().
På slutten av koden for sender kalles det på en funksjon som heter delay().

Finn denne og endre forsinkelse til 200 millisekunder.

Last opp kode til sender og gjenta forrige steg.

Tar det 200 millisekunder mellom hver mottatte datapakke?

Modifiser program for sender til å inkludere data fra akselerometer

Undersøk koden for sender, du vil finne kodelinjer som er kommentert ut.
Når en kodelinje er kommentert ut, vil det se slik ut:

//kodelinje

Når flere linjer er kommentert ut, ser det slikt ut:

/*
kodelinje 1
kodelinje 2
kodelinje 3
*/

Finn og fjern utkommentering av overskrift, innlesning og utskrivning av sensordata for akselerometer (ax, ay og az) med delimiter i setup og loop.
Last opp koden til sender og sjekk at du mottar sensordata fra akselerometer.