Ja, herzlich willkommen zu einem neuen Video in dem Modul Funktionsdiagnostik und Therapiesysteme. Wir wollen uns auch in diesem Modul ja mit dem Arduino beschäftigen. Ich habe ja jetzt ein paar Videos zum Arduino online gestellt und das Ganze auch behandelt und hatte Ihnen ja auch gesagt, dass Sie die auch am besten sich mal anschauen sollten. Auch dieses Video ist jetzt wieder hier so...
Auch für den Arduino-Bereich, auch für die Leute, die sich vielleicht nur für den Arduino interessieren, vielleicht auch nicht ganz so uninteressant. Und deshalb überlege ich auch, dass ich das möglicherweise auch in die Playlist Arduino und in die Playlist Funktionsdiagnostik und Therapiesysteme stellen werde. Ja, wo sind wir stehen geblieben? Wir haben uns ja mit dem Arduino jetzt beschäftigt.
Und wie gesagt, wir haben uns hauptsächlich mit dem Arduino Uno. beschäftigt. Ich habe jetzt die Deckenkamera eingeschaltet, dann sehen Sie, was ich hier so vor meinen Händen liegen habe und das hatten wir uns auch angeschaut, dass wir das Ganze jetzt mit einem Smartphone machen können.
Ich finde das mittlerweile ganz praktisch. Wir haben hier die bekannten Komponenten, unser Smartphone, die kleine Tastatur jetzt, weil im letzten Video hatte ich ja noch eine große Tastatur dabei gehabt. Das Smartphone ist über USB-OTG jetzt mit einem Hub hier verbunden.
Ich gehe mal vielleicht ein bisschen aus dem Bild. So, mit einem Hub verbunden. In dem stecken jetzt halt verschiedene USB-Devices. Das ist halt mein Arduino.
Ich muss mal ganz kurz hier, glaube ich, abschalten, dass sich der Bildschirm immer wieder... Oder einschalten, dass sich der Bildschirm nicht abschaltet. Wo sind wir hier? So, jetzt schaltet der Bildschirm sich hoffentlich nicht immer wieder dauernd ab.
An meinem Smartphone ist halt der USB-OTG-Adapter dran, daran der Hub, daran dann die Tastatur und mein Arduino und ich kann hier das Ganze dann entsprechend programmieren. Das hatte ich ja in einem Arduino-Video schon gezeigt gehabt. Was vielleicht ein bisschen noch suboptimal war, dass man das Display vielleicht doch nur bedingt gut erkennen kann über die Deckenkamera.
Und dann habe ich noch ein bisschen gebastelt und habe jetzt noch eine Möglichkeit, die Sie vielleicht auch kennen. Ich halte es auch hier mal so hoch. Ich habe hier noch, sieht man das, einen sogenannten Chromecast Adapter. Was ist Chromecast?
Chromecast. ist eine Möglichkeit, wie Sie digitale Inhalte auf typischerweise Fernseher streamen können, nämlich auch von Ihrem Telefon aus. Und das kann Ihr Smartphone auch, ein Android-Smartphone kann auch auf Chromecast streamen. Und das will ich jetzt nutzen, dann kann ich nämlich, und das sehen wir jetzt hier hoffentlich, dann sehen sie mich den video monitor oder mein smartphone monitor deutlich besser auf dem videoschirm und das finde ich eigentlich jetzt schon ganz ganz cool weil jetzt können sie wirklich sehr gut sehen wenn ich hier sachen tippe und das ist jetzt nicht mehr so irgendwie verschwommen ja vielleicht nur noch mal ganz kurz vielleicht ist es auch eine option für sie zu hause auch damit zu arbeiten ich Ich will das mal ganz kurz zeichnen.
Also wir haben hier zentral unser Smartphone, ein bisschen rudimentär gezeichnet. Dann habe ich hier jetzt meinen USB. OTG-Adapter dran. Hier habe ich meinen Hub.
An dem Hub steckt jetzt eine Tastatur. An dem Hub steckt mein Arduino. Und jetzt...
Und das passiert jetzt nicht über USB. Jetzt kann mein Smartphone, also das schreibe ich hier vielleicht nochmal hin, dass das das Phone sein soll, kann man nicht unbedingt so sofort erkennen. überträgt das Phonhasel per Wlan den Bildschirminhalt und der kann jetzt zum Beispiel von einem Fernseher entsprechend empfangen werden, sodass wir die Inhalte da haben. Was ich jetzt mache ich packe das Ganze nicht auf den Fernseher, sondern ich habe hier noch einen kleinen USB-Grabber dran das heißt der grabt jetzt das Videosignal speist das in das Aufnahmesystem rein, sodass wir also jetzt auch diesen Schirm entsprechend gut sehen können.
Und das muss ich sagen, finde ich jetzt eigentlich ganz cool, dass ich also jetzt hier auch auf dem Smartphone arbeiten kann. Also wenn ich programmiere, ich mache das mal gerade hier so ein bisschen runter, dann werden wir in dem Modus sein. Wenn ich mich hier hinstelle, sieht man es vielleicht noch ein bisschen besser.
Und wenn ich Ihnen dann zeigen möchte, wie der Arduino blinkt, dann muss ich hier mal kurz... auf meine Deckenkamera gehen und dann sieht man das auch entsprechend hier, das Blinken. Ja, also mein kleines Studio hier wächst auch so nach und nach mit.
Und wir möchten jetzt, oder ich möchte jetzt mit Ihnen noch ein bisschen stärker in den Arduino einsteigen. Denn ein Punkt ist, dass ich bisher alles mit dem Arduino Uno gezeigt habe, sehe aber im Funktionsdiagnostik-Praktikum kein Arduino Uno. verwendet werden, sondern einen Arduino Nano verwenden werden.
Ich lege mal daneben und warum der Name Nano kommt, das sieht man schon, der ist deutlich kleiner. Aber, das werden wir gleich sehen, er ist eigentlich das gleiche wie ein Arduino Uno, nur dass er halt kompakter ist. Wie das geht, warum man das auch kompakter hinbekommt, möchte ich gleich noch zeigen und vielleicht auch schon eine Sache.
Vorab mit dem normalen Arduino, da kann man, ich weiß gar nicht, ob ich es schon gezeigt habe, da kann man halt auch so kleine, ich halte es auch mal hier hoch, da kann man halt seine Kabel anschließen, um nachher dann auch externe Devices anzuschließen. Das geht mit dem Nano ein bisschen schwieriger, jetzt muss ich mal gerade gucken. Der hat nämlich hier nur Beinchen, aber dafür gibt es dann, das werden Sie auch in Ihrer Sendung dann...
haben so ein Steckbrett und auf das Steckbrett können wir jetzt den Arduino Nano draufstecken. Das mache ich mal gerade, da braucht man so ein bisschen Kraft für, aber typischerweise kann man da nichts kaputt machen. Dann steckt er hier drauf und jetzt ist es so, das zeige ich dann auch nochmal bei Gelegenheit, jetzt kann ich hier in Parallele... entsprechend kleine Stecklöcher, auch die Kabel stecken und habe die entsprechende Verbindung dann auch zu den Beinchen meines Arduino Nanos. Da kommen wir dann aber auch gleich nochmal zu.
Ich möchte vielleicht, weil bisher haben wir ja eigentlich nur Videos gemacht, wo es so ein bisschen um das Inbetriebnehmen ging. Ich möchte jetzt, und deshalb muss ich mal gerade auf meine Tastatur, auf meine... Präsentation, auf meine andere Präsentation umschalten.
Ich möchte Ihnen jetzt ein bisschen mehr konkret zum Arduino auch erzählen, vielleicht ein bisschen mehr auch, wie funktioniert das jetzt wirklich alles so zusammen. Da müssen wir uns jetzt so reinfinden, denn wir wollen ja wirklich verstehen, was das System macht. Und wir haben uns bisher halt nur hier mit dem Arduino Uno beschäftigt und ich möchte auch vielleicht ein bisschen was zum Arduino Uno erzählen, denn ich denke die die Historie ist manchmal auch ganz interessant, wenn man einfach weiß, wie Sachen entstanden sind und wie sowas zusammenhängt. Gehen wir noch mal hier weiter.
Jetzt muss ich mal ganz kurz gucken, dass ich auch auf dem richtigen Schirm bin. Langsam wird es für mich auch etwas unübersichtlich hier. Nochmal ganz kurz und jetzt stehe ich auf der ganzen Sache etwas im Bild. Nochmal die Erinnerung, was sind eigentlich Mikrocontroller? Wofür brauche ich Mikrocontroller?
Und wie gesagt, ich beam mich mal gerade hier raus. Ja, Mikrocontroller sind halt kleine, programmierbare und vielleicht komme ich doch nochmal ganz kurz zurück, denn da will ich Ihnen das Beispiel nochmal zeigen, das habe ich gerade auch schon hier in der Hand. Beispiel war ja ein Fieberthermometer.
Also die Messprozedur ist wie folgt, ich drücke auf den Knopf, ich kriege ein... Signal, ich sehe auf dem Display eine entsprechende Anweisung, dass die Messung beginnt. Ich messe mir die Temperatur, zum Beispiel unter dem Arm und wenn die Messung dann beendet ist, dann piept es wieder. In der Zeit muss natürlich auch der Temperatursensor ausgelesen werden. Das Ganze muss dann in eine entsprechende Grad Celsius Größe umgewandelt werden und wieder auf dem Display angezeigt werden.
Und das alles... macht halt eine kleine Logik, die programmierbar ist. Und das sind Mikrocontroller. Und wie gesagt, mal gucken oder nochmal schauen, was sind so die Eigenschaften. Also Mikrocontroller sind programmierbar, das ist schon mal das allererste.
Das ist klar. Sie sind klein, sie sollen ja auch in Geräte reinpassen. Sie müssen sehr klein und kompakt gebaut werden. Das sehen wir noch gleich, daher auch dann der Sprung zum Nano. Sie sollen energieeffizient sein, denn oftmals sind sie batteriebetrieben.
Sie müssen autark sein, also sie sollen ja auch ohne PC und ohne großen Hintergrund funktionieren. Sie sollen preiswert sein, das sind Massenprodukte. Wir werden es gleich sehen, die werden Millionen, gar Milliardenfach verbaut. Das darf da nicht teuer sein.
Und das Wichtigste ist eigentlich, oder eine der Schlüsselkomponenten ist, diese Mikrocontroller haben elektrische Schnittstellen. Also damit sie mit dem... entsprechenden Temperatursensor dann auch verbunden sind vorne und damit sie auch das Display ansteuern können, damit sie auf Tastendruck reagieren können und so weiter, das ist ein wesentlicher Punkt und weil auch vielleicht die dieses Firmatheorometer jetzt irgendwie sehr speziell oder sehr speziell ist, habe ich mich noch mal ganz kurz umgeguckt in der Küche was haben wir noch, wo ich mir sicher bin, dass ein Mikrocontroller drin ist und dann ist es halt auch zum Beispiel so In der Kaffeemaschine steckt ein Mikrocontroller, da drücken Sie oben auf den Knopf, der leuchtet, dann wird das Wasser gekocht, dann läuft eine gewisse Menge Wasser durch und so weiter.
Das ist alles Mikrocontroller gesteuert. Der berühmte Thermomix hat sogar sicherlich noch deutlich mehr Intelligenz. Und was wir auch sehen werden, im Endeffekt im Automobilbereich, überall gibt es massig Mikrocontroller.
Und das ist irgendwie eine ziemlich spannende Geschichte. Kann man auch mit so einem Arduino, mit so einem Mikrocontroller zum Basteln halt auch sehr, sehr viele Sachen machen. Und wie gesagt, wir wollen immerhin einen EKG bauen.
Gut, also kommen wir nochmal dazu. Wir haben ja eigentlich bisher mit dem Uno alles gemacht. Jetzt wollen wir es mit dem Nano machen und wir sehen halt, der Nano, der ist deutlich kleiner.
Aber, das ist der Punkt, der Nano hat den gleichen Mikrocontroller drauf. Ja, nämlich hier, wenn ich da mal drauf gucke, das ist der sogenannte AT-Mega-328. Müssen wir uns jetzt nicht unbedingt merken, aber der Begriff kommt immer wieder und irgendwann, glaube ich, haben wir den auch drauf. Allerdings in zwei verschiedenen Bauformen.
Heimal hier im, ich muss mal ganz kurz gucken, kommen wir gleich zu, doch in zwei verschiedenen Bauformen. Und vielleicht erzähle ich doch die nächste Geschichte, die nächste Folie erstmal zunächst. Wie ist denn da die Historie?
Also da, wie gesagt, ich möchte Ihnen mal so ein bisschen auch erzählen, wie vielleicht so Sachen sich entwickelt haben, dann kriegt man ein etwas besseres Gefühl dafür. Und dann habe ich mir mal angeguckt, ja wo stammt denn diese ATmega328 her? Und da schaut man und die Historie geht da auch auf zwei Studenten zurück.
Moment, jetzt muss ich wieder so, gehe ich mich wieder raus. Das ist nämlich Alf E. G. Bogen, der ist rechts im Bild zu sehen und Vegard Wollan, der ist links im Bild zu sehen. Das ist aber jetzt ein aktuelleres Bild, irgendwie wie die beiden so vor ein paar Jahren aussahen.
Die sehen wahrscheinlich jetzt immer noch genauso aus. Das Ganze geht aber zurück auf 1992. Ja, also wir reden jetzt hier von einer Spanne von vor knapp 30 Jahren, 28 Jahren. Da haben die beiden eine Masterarbeit geschrieben zum Thema Mikrocontroller mit Flash-Memory. Was Flash-Memory ist, da kommen wir auch noch zu, aber das kennen Sie ja vielleicht.
Sie haben alle Ihre Flash-Karten für den Fotoapparat, fürs Handy. USB-Sticks funktionieren mit Flash-Memory. Das ist heute ganz normal und üblich, das war aber vor 30 Jahren doch eher neu.
Und die haben sich darum Gedanken gemacht, kann ich so ein... Mikrocontroller auch mit einem solchen Flash-Speicher kombinieren. Das Ganze haben sie gemacht in Trondheim in Norwegen.
Das sind also zwei Norweger, die beiden. Und die haben sich dieses Konzept ausgedacht. Und das war ziemlich neu und ziemlich erfolgreich.
Und sie sind dann mit dieser Idee 1995 nach Amerika gegangen und haben sich dort mit der Firma Atmel zusammengetan. Atmel im Silicon Valley. Ist eine Firma gewesen, oder ist, ja, ist gewesen, kommen wir gleich zu, aber ist eine Firma, die sich insbesondere mit Flash-Speichern auch auskannte.
Und die fanden die Idee dann auch ganz cool. Hier unten habe ich auch eine URL, die werde ich auch in die Videobeschreibung stecken, wo man nochmal ein bisschen die Geschichte von dem Atmel oder von dem Mikrocontroller haben kann. Der heißt... Auch, das ist der Oberbegriff, nicht nur ATmega, sondern auch AVR.
Und die machen irgendwie ein gewisses Geheimnis darum, wofür AVR steht. Die meisten Leute vermuten, es steht für ALF, A, WGAT, V und dann RISC, Mikrocontroller. Was RISC ist, müssen wir jetzt nicht so drauf eingehen. Werden wir vielleicht bei Gelegenheit mal thematisieren. RISC ist eine spezielle Art der Befehlsverarbeitung und auch ihr Handy.
hat einen RISC-Prozessor. 1997 haben sie dann den ersten Mikrocontroller dieser Art auch mit Atmef zusammengebaut. Die beiden Bogen und Volant haben wieder in Norwegen weiter geforscht und da sieht man mal ungefähr, wie erfolgreich das Ganze auch war. Sechs Jahre später, nachdem also die ersten gerade auf den Markt kamen, hat man schon 500 Millionen von diesen Mikrocontrollern verkauft gehabt.
Die gingen halt in die Automobilbranche, überall. wo Elektronik dann auch wirklich Mikroelektronik und Mikrokontroller wichtig waren. Und die Erfolgsgeschichte ging irgendwie noch in einer gewissen Weise weiter. 2016, also vor ein paar Jahren, wurde dann die Firma Atmel auch von der Firma Microchip für 3,5 Milliarden Dollar gekauft.
Also das sind so wirkliche Superinnovationen, wo wirklich viel geschieht. So, ich komme mal wieder ins Bild, hoffentlich, wenn es klappt. Vergessen Sie vielleicht, dass ich da bin.
So, also das ist ein bisschen so zum Hintergrund zu den beiden. Und wenn wir schon mal gerade beim Arduino sind, dann vielleicht auch da nochmal ganz kurz einen Überblick zur Historie. Auch da gehe ich mal wieder raus. Das Ganze hat auch wieder mit einer Masterarbeit begonnen.
Ein paar Jahre später, 2004, von Hernando Barragan. Ich weiß nicht genau, wie er heißt. Er ist Kolumbianer. Der hat die Masterarbeit in Italien geschrieben, in Ivrea beim Interaction Design Institute. Und er hat sich gedacht, Mikrocontroller sind natürlich auch eine coole Sache, wenn ich irgendwie so bastle oder auch für Künstler, die irgendwelche kreativen Sachen machen wollen.
Und er hat sich überlegt, das ist aber alles sehr kompliziert, die Programmierung und die Boards und so weiter. Und er hat sich einfach eine einfache Sache... überlegt, den nannte er Wiring. Wiring heißt ja zusammen verdrahten und nennt das Ganze dann auch Prototyping Physical Interaction Design.
Also Physical Computing ist auch ein Begriff, der sich dann durchgesetzt hat und er hat da verschiedene Konzepte ausgedacht und hat dann nachher sich für den AVR ATmega 128 entschieden, den zu nehmen. Er wurde betreut bei der Arbeit hier insbesondere von Massimo Banzi, das war sein Professor, der ihn da betreut hat. Und Massimo Banzi hat dann dieses Konzept weiterentwickelt zum Arduino. Das ist eine relativ lange und auch ein bisschen komplexe Geschichte, wo es auch den ein oder anderen Streit gab.
Kann man sich gerne mal durchlesen. Auch da unten habe ich so eine History hingemacht. Man muss sagen, er hat dann ein Team in Italien aufgebaut, Massimo Banzi, und hat diese Arduino-Plattform aufgebaut. Hat das Ganze versucht, preiswerter zu machen, ist dann auf den ATmega8 gegangen.
2005 kamen die auf den Markt, da wurden erstmal nur ein paar verkauft, ein paar hundert verkauft vielleicht. Aber dann wurde das immer breiter, das Ganze hat dann auf jeden Fall eine weltweite Dynamik angenommen. Ich spring mal hier nach unten.
Das hat auch diese ganze Maker-Szene. kennen Sie den Begriff, also diese Bastler-Szene extrem beeinflusst, dass Leute einfach jetzt Mikrocontroller programmieren konnten mit einfachen Möglichkeiten, die ich Ihnen hier ja zeige und das Wichtige ist, das ist alles Open Source. Also, Sie können im Endeffekt sich die Platine selber bauen, Sie können die Schaltpläne runterladen, selber bauen, Sie können die Software verwenden, die dahinter steckt, das ist im Endeffekt der ganz, also was wirklich das so erfolgreich gemacht hat.
2008 kam der erste Arduino Nano auch auf den Markt. Dann gab es hier unterschiedliche Vorgänger vom Uno. Der Uno, wie wir ihn jetzt kennen, aber im Endeffekt sah der früher schon genauso aus. Dann kam er 2010 auf den Markt und dann sprang man auch auf den Controller ATmega 328, was da genau hinter steckt.
Da kommen wir dann noch dazu. Aber ich... Ich weiß es nicht wirklich, wie viele mittlerweile verkauft werden. Ich glaube, das kann keiner schätzen, denn die werden halt ja, weil es Open Source ist, kann sie jeder bauen. Die werden halt auch von vielen Herstellern nachgebaut, verkauft.
Wir haben auch keine Original-Arduinos hier. Wir haben die auch halt von einem anderen Fertiger genommen. Ich gehe mal davon aus, wir reden hier wirklich von mehreren.
100 Millionen Arduinos, die es möglicherweise sehr wahrscheinlich seit 2005 weltweit gibt, die da entwickelt worden sind. Also das ist schon eine ziemlich weit verbreitete Sache. Und ja, dann gehen wir nochmal hier dazu und wir sehen im Endeffekt, der Arduino Nano und der Uno haben beide den ATmega328 drauf, nur in unterschiedlichen Bauformen. Einmal als PDIP 28 Pin Gehäuse, ja also etwas Größeres und als TQFP, das steht dann für Thin Profile Plastic Quad Flat Package, ja gut, dass wir das mal gehört haben.
Ich gehe mal aus dem Bild, dann können Sie es auch sehen. Da ist das Ganze einfach viel kleiner, aber es ist der gleiche Controller, das ist wirklich wichtig. Und das Ganze ist dann auch ein so genanntes, da gehe ich mal aus dem Bild, Surface Mounted Device.
Also wenn ich jetzt mal hier auf die Deckenkamera gehe oder beziehungsweise wenn ich mal die Folie zurückgehe, dann sehen Sie hier auch, der kleine Controller ist auf die Platine drauf gelötet. Und das ist in der Massenproduktion deutlich einfacher am Fließband zu machen als diese großen Controller hier. Der Vorteil des großen Controllers, ich ziehe den auch gerade mal hier raus und jetzt will ich doch mal Ihnen auch mein Live-Arduino wieder zeigen.
So, mein Fieberthermometer mal weglegen, das haben wir jetzt bearbeitet. Ich kann tatsächlich jetzt hier mit einem Schraubenzieher vorsichtig diesen Arduino auch aus seiner Fassung hebeln. Kriege ich das jetzt?
Der Vorführeffekt, das hätte ich vielleicht mal ein bisschen präparieren können. So muss man ein bisschen Gefühl aufbringen, aber dann habe ich ihn auch hier entsprechend in der Hand und kann ihn dann auch austauschen, wenn ich möchte. Ich habe jetzt aber tatsächlich ein bisschen die Beinchen verbogen, aber die kann man immer wieder gerade biegen, das ist dann kein Problem.
Aber das ist halt etwas anderes, als wenn ich da mit einer ganz kleinen Platine unterwegs bin. Also alles, was wir bisher über den Arduino Uno gesagt haben, stimmt eigentlich auch für den Arduino Nano. Und ich will das auch vielleicht mal ganz kurz zeigen, wie ich den dann in Betrieb nehme. Ich muss also hier mir jetzt das entsprechende Kabel nehme.
Er hat eine andere USB-Buchse als der UNO. Irgendwie sieht es ein bisschen unordentlich auf meinem Tisch aus. Gefällt mir nicht so gut.
Jetzt stecke ich den hier ein und stecke ihn dann in meinen Hub ein. Und jetzt kann ich das Blink-Programm auch hier nochmal schnell... draufpacken.
Ich habe hier wieder mein gewisses Problem, wie alles hier so schön liegen bleibt. Ich gehe jetzt mal in meine Ansicht, dass ich hier den entsprechenden Bildschirm habe. Gehe mal ein bisschen aus dem Bild, mache das Ganze wieder auf, sage Sketch, sage Example Basics Blink.
Ja, das alte Sketch möchte ich schließen. Hier ist jetzt mein Blink-Demo, was wir uns dann auch nochmal im Detail angucken. Aber was wir hier machen, ist halt, wir schalten der LED ein.
Wir schalten ein Beinchen auf plus 5 Volt und dadurch geht die LED an und schalten das Beinchen wieder ab. Da kommen wir aber gleich noch zu. So, jetzt muss ich aber hier eine kleine Änderung vornehmen. Ich muss nämlich jetzt bei...
Settings sagen, Board Type. Ich habe es ja nicht mehr mit dem UNO zu tun, sondern ich habe es jetzt hier mit dem, das habe ich schon voreingestellt, ich habe es eben ausprobiert. Also normalerweise haben wir hier immer den UNO ausgewählt, aber jetzt wählen wir nicht den UNO aus, sondern wir wählen den Arduino Nano aus. Da gibt es jetzt eine ganze Liste an Nanos.
den wir verwenden, den wir Ihnen zusenden werden, das ist der Arduino. Nano ATmega328 CH340G Old Bootloader. Also der hier. Und den wähle ich jetzt aus. So, wenn ich das jetzt hier kompiliere, indem ich auf den Blitz drücke, dann sehe ich hier wieder, die Kompilation läuft durch da unten.
Compilation finished. Und jetzt sage ich Upload. Hier werde ich wieder gefragt, ob ich wirklich auf die Schnittstelle zugreifen kann.
Upload started und das Upload ist finished. Und wenn ich jetzt halt hier wieder auf meine Deckenkamera gehe, dann sehe ich jetzt, dass der Arduino hier jetzt rot blinkt. Die LED beim Nano ist halt rot.
Das ist aber auch immer davon abhängig, welchen ich gerade kaufe und welchen ich hier verwende. Also im Endeffekt genau das gleiche, gleiche Programmierung. Gleiche Fähigkeiten, nur alles viel kleiner. Dadurch auch alles ein bisschen, einen Ticken noch preiswerter.
Und wir werden halt dann, das habe ich Ihnen ja auch schon gezeigt, auf dieses Steckbrett, dann oder ich mache es auch mal hier, dann noch die Platine mit dem EKG-Verstärker setzen. Sodass das alles hier sehr schön kompakt drauf passt. Gut, ich hatte Ihnen aber gesagt, wir wollten uns ja heute noch ein bisschen mehr mit doch auch jetzt der konkreten Hardware auseinandersetzen.
Noch so ein paar Ideen oder so ein paar Konzepte, aber da müssen wir uns jetzt auch so nach und nach rantasten. Ja, die beiden Gehäusetypen habe ich Ihnen ja gezeigt. T-Cube FP, sehr klein, P-Dip etwas größer.
Dann habe ich auch halt durchkontaktierte Bauteile im Vergleich zu Surface Mounted Device. Und die meisten Mikrocontroller natürlich, die jetzt so in halt dem... Thermometer hier und so eingebaut sind, das sind alles so kleine SMD-Bausteine natürlich.
Die gibt es dann noch kleiner, aber dann haben wir gar keine Chance mehr, die irgendwie von Hand zu verarbeiten. Das geht dann wirklich nur noch maschinell, aber das wird dann halt auch entsprechend immer kleiner. Gut, was ist jetzt das Besondere? Ja, das Besondere ist halt, dass ich ja jetzt an die Beinchen meines Mikrocontrollers, ja, wenn ich jetzt hier meinen AT Mega...
jetzt würde ich nicht mehr in die Kamera halten, mein ATmega328 in diesem etwas größeren Format habe, dann kann ich jetzt die einzelnen Beinchen programmieren und mit denen etwas machen. Am einen Beinchen sitzt ein Schalter, am anderen Beinchen sitzt eine LED, an dem dritten Beinchen passiert irgendwas anderes und kann damit halt Sachen orchestrieren. Und wir sehen jetzt hier, das will ich aber nur mal so schematisch zeigen, wir sehen jetzt hier, und ich beam mich mal gerade wieder so ein bisschen raus, Suche meine Maus auf dem Gewirr. Und sehen jetzt hier so Übersichten, die ich Ihnen dann auch nochmal zeigen werde, was so an diesen Beinchen alles angeschlossen werden kann. Und wir sehen auch, im Endeffekt hat der Mega-100-328, hier gibt es auch die anderen Modelle mit anderen Zahlen, haben im Endeffekt die gleichen Gehäuse, wie hier auch.
Und die sind halt nur anders dann angeordnet. Größere Gehäuse sind sie halt Dual-Inline, also zwei parallele Bahnen von Beinchen. Und bei dem TQFP ist es halt ein quadratisches Format, wobei an den Ecken oder an den Kanten des Quadrats dann jeweils die Beinchen sitzen.
Wenn man genau nachzählt, dann ist das kleine, der kleine Bauversion hat sogar 32 Beinchen. Die große hat 28 Beinchen, da gibt es also nochmal 4 Pin Unterschied. Das ist dann tatsächlich so, dass bei dem kleinen noch...
etwas mehr Funktionalität sogar rausgeführt wird, die der Große auch könnte, aber er hat dann einfach nicht mehr genügend Beinchen. Gut, jetzt kommen wir zum weiteren Bereich und der ist auch halt wichtig und spannend und jetzt geht es ein bisschen mehr in das Verständnis rein. Und das muss man auch verstehen.
Der Arduino oder beziehungsweise der... Also man muss immer jetzt unterscheiden zwischen Arduino. Das ist dann auch nochmal der Arduino Uno oder der Arduino Nano. Das ist das Gesamtsystem mit Platine und mit Programmierumgebung und so weiter.
Der ATmega328 ist jetzt nur das kleine schwarze Bausteinchen, was da drauf ist. Was halt beim Arduino auf so einer Platine ist, dass man da auch Sachen dran anschließen kann. Wenn ich das Ganze in eine Zahnbürste, in einen Fieberthermometer... oder eine Kaffeemaschine einbaue, dann ist es halt nur dieses kleine Bausteinchen und das wird dann halt mit allen Sachen entsprechend verbunden.
Der Mikrocontroller, der auf dem Arduino sitzt, also der ATmega328, der hat unterschiedliche Speicherbereiche. Und das ist jetzt wichtig, das ist so die erste wichtige Sache, die man verstehen muss. Der hat erstmal seinen AVR-Kern. Also da wird gerechnet, da wird das Ganze durchgearbeitet.
Aber er hat jetzt hier, und das hatte ich ja eben auch schon im Begriff gehabt, er hat 32 KB. Flash-Speicher. Und diese 32 KB Flash-Speicher, das ist der Bereich, in den wird mein Programm geladen.
Und jetzt muss man sich mal überlegen, 32 KB, das sind nicht Megabyte, das sind nicht Gigabyte, das sind wirklich Kilobyte. 32.000 Byte, also extrem wenig, aber für einfache Aufgaben auch vollkommen hinreichend. Ich möchte noch ein Wort auf der Kern hier.
Der arbeitet mit einer Taktfrequenz von 16 MHz. Auch nicht Gigahertz, sondern Megahertz, 16 MHz. Also er taktet relativ langsam. Das ist auch dann sozusagen ein Grund, warum er so energiesparend ist.
Auf der anderen Seite, für die Aufgaben, die wir machen wollen, brauchen wir nicht viel schnellere Sachen. Typischerweise kann der Kern hier eine Rechenoperation pro Taktzyklus durchführen. Das heißt, wenn er 16 MHz hat...
dann macht er 16 Millionen Rechenoperationen pro Sekunde. Also das ist doch auch schon, denke ich mal, für viele Anwendungen hinreichend schnell. Auch wenn unsere modernen Prozessoren in Desktop-PCs oder in Mobiltelefonen halt Gigahertz, 3, 4 Gigahertz Taktfrequenz haben, sind natürlich in ganz anderen Sphären unterwegs. Aber ich denke mal, um Fieber zu messen, um EKG zu machen, um Kaffee zu kochen.
Da reicht das allemal. Und das Programm, das also dann auf dem Mobiltelefon oder auf dem PC entwickelt wurde und dort auch kompiliert ist, das heißt, da wird der Quellcode in eine ausführbare Datei umgeformt, das wird dann über das USB, über das serielle Kabel in den Flash-Speicher geschrieben. Und aus diesem Flash-Speicher... Da kann mein Arduino-Kern, oder mein AVR-Kern, mein ATmega328 nur lesen. Er kann das Programm nur lesen, er kann nicht das Programm verändern.
Das sollte natürlich nicht passieren, dass während des Laufens das Programm irgendwie verändert wird. Das kann nur passieren, wenn ich es neu vom PC über das serielle Kabel rüberschicke. Jetzt ist hier noch sowas rot gemalt, das ist der Bootloader.
Was ist der Bootloader? Das ist halt der Punkt, wenn der Arduino neu startet oder auch der ATmega38 neu startet, dann checkt er, liegt möglicherweise über das serielle, über das USB-Kabel neues Programm an. Wenn das der Fall ist, dann saugt er sich das über das Kabel rüber. Ja, also das war ja, ist ja hier mein Programmierkabel. Wir haben auch gesehen, wenn wir das Kabel abstecken, dann Läuft ja auch autark, wenn ich nur ihn direkt mit Strom versorge.
Das habe ich ja in meinem allerersten Video gezeigt. Also immer wenn ich auf Upload drücke, dann kommt hier über das angeschlossene Kabel, über den Bootloader das Programm in den Flash-Speicher. Und da befindet sich immer nur ein Programm. Also jetzt im Moment dieses Blink-Programm, das immer nur ein Beinchen ein-und ausschaltet und dann mit der LED ein-und ausschaltet.
Dann hat der Arduino oder der AVR noch ein echtes RAM, so wie Sie es auch aus der Informatik kennen, also ein Speicher, in den variablen Inhalte abgelegt werden können. Das sind hier bei dem AVR gerade mal 2 KB. Ja, wieder nicht 2 MB, nicht 2 GB, 2 KB, 2048 Byte, also nicht viel, aber für so einfache Aufgaben muss man sich auch meistens nicht so viele Variablen merken. Der Speicher ist aber Speicher, der verloren geht, wenn der Arduino... von der Spannung genommen wird, wenn er ausgeschaltet wird.
Dann wird der RAM-Speicher entsprechend gelöscht. Das Flash-Memory nicht. Das kennen Sie ja von Ihrem USB-Stick. Wenn der keinen Strom mehr hat, dann ist das Programm weiter drauf. Das Programm bleibt im Flash-Memory drin, solange es nicht neu programmiert wird.
Also das Blink-Programm bleibt drin. Wenn ich es einschalte, bleibt es da drin. Es kann aber auch sein, dass ich während meines Programms mal mehr Werte merken möchte, die erhalten bleiben sollen, auch wenn der Arduino zwischenzeitlich vom Strom genommen wird. Also wenn ich meinen Fieberthermometer einschalte, dann sehe ich zum Beispiel immer noch die letzte Messung.
vom letzten Mal, auch wenn es zwischendurch ausgeschaltet war. Also wenn ich zum Beispiel jetzt nicht mehr weiß, was hatte ich denn gestern für eine Temperatur, dann drücke ich da drauf und dann sehe ich, aha, ja, das waren jetzt 37,1 hier in dem konkreten Falle. Daf ür brauche ich also einen Speicher, wo ich Inhalte ablegen kann, die aber nicht verloren gehen. Und dafür gibt es den sogenannten EEPROM-Speicher, das ist 1 KB.
Also 1024 Byte kann der AVR... halt auch in einen Speicher schreiben, der nicht flüchtig ist, der also erhalten bleibt, auch wenn er vom Strom genommen wird. Das heißt, das müssen wir uns merken, wir haben hier drei verschiedene Speichersysteme, sage ich mal. Den Flash-Speicher, in dem das Programm steht, das ist der größte, weil das Programm ist meistens der größte Anteil.
Wir haben das SRAM oder das normale RAM, wo ich Variablinhalte ablegen kann. Und wir haben den EPROM-Speicher in den Variablen. Daten abgelegt werden können, die aber ein Ausschalten sozusagen überstehen. Und dann ist der AVR halt noch mit den Beinchen, mit den Pins verbunden und kann jetzt an diesen Pins halt Sachen durchschalten. Das wollen wir uns mal angucken.
Das sind, das nennt man dann halt typischerweise I.O., also Input, Output, Eingänge, Ausgänge. Das sind analog-digital-Converter, die uns die Signalverarbeitung kennen und noch viele andere Sachen, die wir dann im Laufe der Vorlesung auch noch kennenlernen wollen. Ich gehe mal ein. Bild weiter, dass wir uns nämlich nochmal angucken, was kann ich denn da mit dem Arduino machen.
Und es ist auch gar nicht schlimm, dass ich jetzt hier so ein bisschen im Bild stehe, denn das was hier steht, nämlich I²C und, wenn ich mich mal umdrehe, SPI, das wollen wir noch gar nicht uns besprechen. Das sind Schnittstellen, serielle Bussysteme, die kümmern uns nicht. Uns kümmert hauptsächlich jetzt das, was ich hier...
Moment, das ist das, was hier steht. Und das möchte ich Ihnen noch kurz erklären, dann sind wir auch eigentlich für heute wieder durch. Wir haben bei dem Arduino halt Ein-und Ausgänge, die sind auch relativ frei konfigurierbar. Also die 28 Stück, da können wir auch während des Programms teilweise sagen, okay, an dem Beinchen soll jetzt das passieren, an dem Beinchen soll das passieren, an dem Beinchen soll das passieren. Die einfachsten Sachen, die wir haben, sind die digitalen Ausgänge.
Ich kann programmiert einem Beinchen sagen, ob es 0 Volt oder 5 Volt annehmen soll, beziehungsweise beim Arduino Nano sind es dann 3 Volt. Und das nennt man dann halt auch Low, also niedriges Spannungs-oder Nullspannungspegel und High, das hohe Spannungspegel. Also wie gesagt beim Uno 5 Volt, beim Nano 3,3 Volt. Und das ist genau der Punkt, wenn die LED blinkt. Ich habe also an so ein Beinchen, ist dann die LED angeschlossen und dann geht das Beinchen halt auf High, dann liegt eine Spannung an, dann fließt ein Strom, dann leuchtet die LED.
Ich muss auch den Vorwiderstand, darf ich nicht vergessen, wenn wir uns an die Elektrotechnik erinnern, aber dann ist die LED an. Dann schalte ich das Beinchen wieder auf Low, es liegen 0 Volt an, dadurch fließt kein Strom, die LED geht aus. Das sind also die einfachsten Sachen, das sind die digitalen Ausgänge.
Ich kann aber auch die Richtung... Umdrehen bei der Programmierung. Ich kann Beinchen abfragen.
Sag mal Beinchen, bist du 0 Volt oder bist du 5 Volt? Oder bist du 0 Volt oder bist du 3,3 Volt? Wie gesagt, bist du Low oder bist du High? Das sind dann Lesevorgänge, die ich programmiertechnisch durchführen kann.
Und das benutze ich zum Beispiel, wenn ich hier so einen Taster habe. Den Taster, der verbindet dann zum Beispiel so ein Beinchen mit 5 Volt. Und wenn der Taster gedrückt ist, dann liegen da 5 Volt an. Dann weiß das Programm, okay, der Taster ist gedrückt. Wenn ich den Taster loslasse, liegen dann 0 Volt an, dann weiß das Programm, der Taster ist nicht gedrückt.
Also ich habe hier digitale Ein-und Ausgänge, digital deshalb, weil ich kann nur zwei Werte annehmen, Low und High, digital binär. Jetzt gibt es noch weitere Eingänge, nämlich den Analogueingang. Jetzt kann ein Beinchen nicht nur zwischen...
Low und High unterscheiden, sondern jetzt kann wirklich eine Spannung zwischen 0 Volt und 5 Volt beim Arduino Uno und zwischen 0 Volt und 3,3 Volt beim Arduino Nano gemessen werden. Unterschiedliche Spannungsunterschiede können gemessen werden, denn da ist jetzt ein Analog-Digital-Konverter dran. Der Analog-Digital-Konverter übersetzt die Spannung in einen entsprechenden Zahlenwert und das ist hier ein sogenannter 10-Bit-ADC. 10-Bit bedeutet 2 hoch 10. Das ist 2 hoch 10, das ist 1024, also dieser Analog-Digital-Konverter kann jetzt 1024 Schritte unterscheiden zwischen 0 Volt und 5 Volt, beziehungsweise zwischen Low und High.
ordnet dann der Spannung einen entsprechenden Wert zwischen 0 und 1023 zu. 1024 Stufen sind es, wenn die 0 dabei ist, ist der höchste Wert nach 1024 Schritten die 1023. Also bei dem Arduino Uno, wenn ich zum Beispiel eine Spannung von 2,5 Volt habe, dann ist es genau der halbe Wert, dann sind es halt 512. Und wenn ich 5 Volt habe, sind es 1023. Wenn es... ein Viertel ist, also jetzt muss ich ganz kurz überlegen, 1,25 Volt, dann ist es 256 oder 255 und so weiter.
Also je nachdem, wie die Spannung ist, wird das jetzt in einen entsprechenden Wert übertragen. Das sind die analogen Eingänge. Es gibt auch noch analoge Ausgänge, da kommen wir aber später zu, die sind nicht ganz ohne externe Beschaltung zu realisieren.
Ja, wichtig ist natürlich, ich habe immer auch einen Ground Pin. Also diese Low und High beziehen sich natürlich immer auf eine Spannungsdifferenz und die Spannungsdifferenz ist immer halt bezogen auf einen entsprechenden Ground Pin. Und was auch noch geht, ist, wenn ich natürlich jetzt an einem Beinchen ganz schnell zwischen Low und High wechsel, dann kann ich auch binäre Daten übertragen, binäre Zahlen und so weiter übertragen.
Und das ist dann die sogenannte serielle Kommunikation. Da habe ich dann einen Transmit TX Data. und ein Receive-Data. Also ich kann sozusagen Daten senden und Daten empfangen über zwei Leitungen, beziehungsweise ich brauche die dritte noch als Ground-Leitung.
Und so kann ich dann auch zwischen Arduinos, zwischen dem Arduino und dem Computer, zwischen den verschiedenen Bausteinen halt auch Daten übertragen und damit Kommunikation betreiben. Die serielle Schnittstelle ist, oder das ist eigentlich die RS-232 oder UART-Schnittstelle, ist die einfachste, wie gesagt, dann gibt es auch noch komplexere Sachen. Da wollen wir aber später zu kommen und für unser EKG brauchen wir nur diese serielle TX-RX-Schnittstelle, weil über die senden wir dann nachher die gemessenen Daten zum PC, um dann halt das EKG darzustellen. Das EKG, vielleicht können wir da schon mal drauf kommen, das wird halt hier, der verstärkte EKG-Spannungswert wird dann vom analogen Eingang gelesen, verarbeitet und über die serielle Schnittstelle dann rausgegeben.
Aber da kommen wir später zu. Ja, das sollte erstmal ein gewisser Überblick sein über das ganze Konzept Mikrocontroller, hier im konkreten Fall ATmega bzw. AVR, die Namen sind da synonym, und Arduino als dann Gesamtplatine und Softwarekonzept. Und dass wir uns da jetzt so ein bisschen der ganzen Sache nähern, nicht nur Programme einfach nur laden, sondern wir wollen es auch verstehen. wie das Ganze funktioniert.
Wir merken uns nochmal als Zusammenfassung, der Arduino hat im Endeffekt drei Speichermöglichkeiten. Flash fürs Programm, RAM für Daten, die wir mal kurz ablegen im Programmkontext und EEPROM, wenn wir Daten ablegen, die erhalten bleiben sollen. Und haben dann halt jetzt die Möglichkeiten, die Beinchen zu beschalten, entweder als digitaler Ausgang, digitaler Eingang, analoger Eingang oder auch für die entsprechend serielle Kommunikation.
Ja, das soll es für heute gewesen sein. Ich hoffe, das war jetzt nicht zu viel auf einmal. Ich überlege auch, ob ich vielleicht im O-NAT-Kurs mal eine kurze Abfrage auch mache, wie das für Sie jetzt zu verdauen ist. Ich muss mal gucken, ob ich das jetzt auch hinbekomme.
Aber ich will jetzt mit Ihnen so nach und nach aufbauen. Die Arduinos gehen jetzt auch bald raus. Hat leider auch alles etwas länger gedauert. Aber jetzt ist alles beisammen. Wir müssen packen.
Und wir werden Sie dann informieren, dass die Sachen kommen. Ja, das als Ankündigung. Das nächste Video kommt.
Wir wollen uns jetzt vielleicht erstmal mit der Sache auch intensiver beschäftigen. Die medizinischen Geräte, ich habe ja schon ein bisschen was in den O-Lad-Kurs geschrieben, die werde ich dann immer so zwischendrin einbauen, beziehungsweise wenn wir das mit dem Praktikum so auf der Schiene sitzen haben, dann können wir uns auch da ein bisschen mehr mit Beschäftigung da ein bisschen reingucken. Okay, also so viel für heute. Alles Gute und bis bald.