PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Software statt Elektronik



Same
25.10.15, 01:16
Hallo zusammen,

ich hatte mal eine Arduino Platine und habe damit ein paar LEDs angesteuert. Leider habe ich die Platine nicht mehr. Gibt es eine Möglichkeit mit C ein Programm zu schreiben und es in einer Software zu testen? Also statt dem Arduino und LEDs eine Software in der ich virtuelle LEDs leuchten lassen kann. Finde dazu nichts bei Google, weil ich nicht weiß wonach ich suchen soll.

Aqualung
25.10.15, 09:03
https://de.wikipedia.org/wiki/Schaltungssimulation

E S
25.10.15, 10:49
Ja und Nein.

Für alle gängigen Mikrocontroller gibt es Simulatoren um den Programmablauf zu prüfen. Zum Beispiel hat das Atmel Studio so einen Simulator, dem kann man das Binary für den Arduino geben das man dann in einer Simulation laufen lässt.

Aber direkt virtuelle LEDs kann man da nicht anlöten, dafür kann man sich aber jedes Register angucken und den Ablauf stoppen wenn bestimmte Ereignisse passieren. So kann man dann statt blinkender LEDs schaltende '1'en und '0'en im Portregister angucken. So eine Simulation läuft allerdings nie in Echtzeit, das Timing kann man so also nicht überprüfen.

Man kann einem Mikrocontroller aber virtuell auf die Finger gucken. Hier kann man dann während der Laufzeit im Debuggingmodus Register live angucken und Breakpoints setzen so dass man an bestimmten Stellen (beim Arduino bis zu 8) alle Register, Variablen usw. in Ruhe angucken kann. Man kann hier auch Eingaben machen um z.B. Tastendrücke oder Sensordaten eingeben.

Schau Dir mal die "Bitscopes" an: http://www.bitscope.com/
Die haben 8 Eingänge, davon sind 2 "mixed signal". Bedeutet, dass man bis zu 8 Digitalsignale erfassen kann. Das kann man dann an einen Arduino anklemmen und so genau überwachen wann welcher ausgang schaltet. Somit bekommt man eine art X/t Schreiber statt blinkender LEDs. Zwei der Eingänge können auch analog genutzt werden und so als normales Oszilloskop benutzt werden.
Das schöne ist, dass das Bitscope auch Raspberry Kompatibel ist. Zusammen mit einem Raspberry und einem Touchscreen Display kann man sich so ein sehr leistungsfähiges tragbares Scope zusammen basteln. Es gibt auch eine Variante die hat Ethernetanschluß statt USB, da kann man dann von der Ferne was überwachen, per WLAN als auch komplett weltweit über das Internet.
Damit kann man dann nicht nur langsamme blinkereignisse beobachten sondern auch sehr schnelle schaltfolgen, z.B. PWM, Servomotorsignale, Schrittmotorsteuersequenzen, I²C kommunikation usw. messen. Auch kann man so genau messen ob man die Frequenzteiler der Timer richtig gesetzt hat in dem man z.B. den Timerinterrupt dazu nutzt einen Ausgang zu toggeln und kann so die Frequenz genau ausmessen. Auch kann man Binärzahlen an Portpins ausgeben und dann am Bitscope auswerten.

Gruß
Elmar

E S
25.10.15, 11:05
Du brauchst übrigens keinen "teuren" Arduino für einfache Mikrocontrollerprojekte.

Für die Atmel ATinys und ATmegas gibt es Programmieradapter ab €5 (Conrad ab €15), die Programmierumgebung gibt es von Atmel völlig gratis. Für Linux benutzt man am besten Eclipse, dafür gibt es eine AVR Toolchain ebenfalls völlig gratis.

Möchte man nur ein paar LEDs blinken lassen, so kann man z.B. einen billigen ATiny85 oder 84 benutzen. Der 85 hat 8 pins, zwei Stromversorgung, 1x Reset, bleiben also 5 Pins die man zur freien Programmierung übrig hat wenn man den internen RC Taktgeber benutzt (sonst 1 pin extra weg für Quarzoszillator, 2 pins für Quarz). Da kann man dann direkt LEDs und Taster anlöten. Der 84 hat 14 pins, also bis zu 11 frei verwendbare I/O Leitungen.

Mit einem ATmega32 hat man dann ganz viele Portpins und viele "Special functions" wie hardware I²C.

Damit kann man auf einem Breadboard leicht schöne Experimente machen oder auf einem Stück Lochrasterplatine mit wenigen Bauteilen schöne Projekte verwirklichen.