Operácie

Interfacing Arduino w Matlab/Octave

Zo stránky SensorWiki

Zatial len Octave

Nie je nejaka specialna kniznica, takze vlastne bez ohladu na to, ci je to Arduino alebo cokolvek ine, co je pripojene cez seriovy kanal...

A teraz globalnejsi pohlad:

  1. Co je cielom? Ak len zobrazit data namerane Arduino/Freeduino/Pi/cokolvek na PC tak staci pripojit cez seriovu linku a pouzit program len na to, uplne trivialny je napriklad serial plot konzola priamo v Arduino IDE, ci v Terminal.exe alebo napriklad fajnovy program Serial Plot https://hackaday.io/project/5334-serialplot-realtime-plotting-software Aby to fungovalo, musi byt v systeme nahraty specialny firmware, ktory si sam napisem.
  2. Ak chceme zobrazit data v nejakom programe kde vieme trocha viac naprogramovat, tak potom je ok pouzit Matlab (cez seriovu linku) alebo Octave cez to iste (vid vyssie priklady s Instrument control package). Vyhodou je, ze s prijatymi datami vieme nieco aj spravit, ci uz preskalovat, alebo zobrazit podla potreby, alebo aj nejake vypocty a pripadne vratit nieco naspat
  3. Ak chceme data rozlicne manipulovat a zobrazovat, pripadne aj interakciu so zariadenim, tak mozeme samozrejme pouzit aj vlastny program napriklad v C++, pythone alebo Processingu a vtedy mozeme takmer vsetko.
  4. Ak chceme interaktivne komunikovat alebo aspon menit parametre aj na embedded zariadeni, potom je dobre pouzit specificky firmware (Firmata napriklad), ktory vie precitat a nastavit vsetky digitalne porty, pripadne analogove a potom interaktivne nieco ovladat. Najjednoduchsie je to znova priamo cez Firmata alebo potom pomocou nejakej kniznice, ktora je pre Simulink alebo aj Xcos uz existuje. Podstatne je, aby to fungovalo, musi byt v systeme nahraty specialny firmware.
  5. Zrejme najvyssi level je spravit model celeho meracieho retazca v jedinom prostredi (Simulink) a potom nahrat prislusny automaticky vygenerovany firmware priamo do systemu a zvysok sa spusti na PC. Toto prave vie spravit Simulink Embedded Coder, ktory vie rozlisit, ktora cast kodu ma bezat na arduine (typicky to moze byt aj cely model, ktory sa ta mprenesie), alebo Simulink zisti, ze cast je realizovana na PC, tak si otvori napr. graficke okno, v ktorom zobrazuje prislusnu hodnotu premennej z dosky a automaticky si doplni rutiny na jej vycitanie a odkomunikovanie. Typicky uzivatel vlastne ani netusi ktora cast SW je kde realizovana.