Hallo zusammen, habe mir einen kleinen Mikrocontroller zugelegt und bin mit der Sprache C bewaffnet. Will jetzt ein kleines Projekt starten, um vor allem C besser kennen zu lernen bzw. es in der Praxis anzuwenden. Was würdet ihr einem Einsteiger empfehlen? Welche (nützlichen) Projektideen habt ihr? Bin über Input von euch Experten hier dankbar :)
Hans schrieb: > Was würdet ihr einem Einsteiger empfehlen? Blink. It's like Hello World. Ansonsten: wer keine Anwendung hat, braucht das nicht lernen. PID Regler werden gerne gebaut, Temperatur oder Motordrehzahl, inkl. autotuning steckt da schon Software drin.
„Nützlich“ ist ein weiter Begriff. In welche Richtung soll es denn gehen?
Hans schrieb: > habe mir einen kleinen Mikrocontroller zugelegt und bin mit der Sprache > C bewaffnet. Aber überhaupt keine Idee? Blinklicht, Lauflicht, Lichtblitzer, Lichtorgel, Tongenerator, Melodiegong, Temperaturanzeige, Tonaufzeichnung/Wiedergabe, Zeitschaltungen für Licht - um nur einige Anwendungen für den Hausgebrauch zu nennen...
:
Bearbeitet durch User
Hallo, niemand weiß, was bei Deinem kleinen aber feinen Mikrocontroller noch dabei ist. Kannst Du nur LEDs anschließen oder sind auch Ausgaben aufs Terminal per UART möglich oder kannst Du ein LCD anschließen? Zum Üben läßt man meistens ein paar LEDs blinken, auf dem Display kann man eine Variable bis 255 hoch zählen lassen, später dann bis 65535. Wer sich dann immer noch langweilt, kann eine Uhr programmieren, einen RC5-Empfänger, oder die oben erwähnten Tongeneratoren. DDS-Generatoren bieten vielfältige Möglichkeiten, sowie die Ausgabe eines Sinus mittels DA-Wandler auch in vielerlei Varianten und Qualitätsabstufungen möglich ist, so z.B. mit TDA1543 oder anderen DA-Wandlern oder sogar mit PWM. Oder man steuert bürstenlose Motoren an, steuert Quadcopter, baut Netzwerkserver, GPS-gestützte Frequenznormale... mfG
:
Bearbeitet durch User
es muss ja für den Anfang nicht gleich ein sinnvolles Projekt sein. Erstmal die Schnittstellen wie IO, UART, SPI, I2C kennenlernen. Dann irgendwelche Sensoren auslesen und z.B. ein Display ansteuern. Für den Anfang vielleicht mal ohne fertige Libs...
Hans schrieb: > habe mir einen kleinen Mikrocontroller zugelegt Welcher? Das muss natürlich geheim bleiben.
Johannes S. schrieb: > es muss ja für den Anfang nicht gleich ein sinnvolles Projekt > sein. Warum sollte man sich damit befassen, wenn kein Ziel gegeben ist? > Erstmal die Schnittstellen wie IO, UART, SPI, I2C kennenlernen. Dann > irgendwelche Sensoren auslesen und z.B. ein Display ansteuern. > Für den Anfang vielleicht mal ohne fertige Libs... Klassische Hardware mit 74xx / 40xx und Analogkram habe ich jahrelang gemacht und wurde dafür gut bezahlt. Ich habe eigene Leiterplatten mit 6502 und 6805-Controller gemacht, auch das in der Firma gut bezahlt - bis ich dann in andere Aufgaben gerutscht bin und mich hauptberuflich immer mehr von der Hardware entfernen musste. Hobbymäßig kam mir eine Aufgabe in den Sinn, die ohne µC nicht machbar ist und ich habe mir vom Chinesen zwei UNOs bestellt, ein Wiederbeleben der alten Umgebung für 68HC05 wäre sehr aufwendig geworden. Also erstmal drei LEDs an den UNO, ein Lauflicht gestrickt - Hurrahh, die Umgebung funktioniert schon mal. Dann habe ich das Ding samt drei LEDs, einem Display, drei Tastern und einem Drehpoti auf eine Lochrasterplatte gebracht und weiter gespielt. Wie ich es mmer wieder propagiere: Erstmal ein paar grundsätzliche Dinge ohne direkten Nährwert geschrieben und gespeichert - das war dann die Basis, das echte Projekt erfolgreich anzugehen. Es ist schwierig, ohne konkretes Ziel hätte ich keine Motovation, mich damit zu befassen.
Hans schrieb: > Will jetzt ein kleines Projekt starten, um vor allem C besser kennen zu > lernen bzw. es in der Praxis anzuwenden. Warum? Soll heißen: Was hast Du mit C vor? > Was würdet ihr einem Einsteiger empfehlen? Welche (nützlichen) > Projektideen habt ihr? Irgend etwas, das annähernd mit dem zu tun hat, was Du final mit Deiner zu erwerbenden Kompetenz vorhast. Wenn Du das Ganze als Selbstzweck betreibst, dann kommt alles oder nichts in Frage, je nach Deiner Motivation. Es stellt sich die Frage, warum Du Dich überhaupt dieser Mühe unterziehen willst, wenn Du einerseits etwas 'Nützliches" häkeln möchtest, Dir andererseits aber ums Verrecken nichts "Nützliches' einfällt ...
Manfred schrieb: > Warum sollte man sich damit befassen, wenn kein Ziel gegeben ist? Der Hans hat nix von seinem Wissensstand geschrieben, da muss man eben nicht mit einem Mars Rover anfangen. Ein 'Hello World' auf das Display zu schreiben ist ja auch schon ein Ziel.
Johannes S. schrieb: > Manfred schrieb: Ein 'Hello World' auf das Display > zu schreiben ist ja auch schon ein Ziel. Man kann aufs Display aber auch schreiben, am besten in Laufschrift: "Sehr verehrte Mutantinnen und Mutanten, das hier ist mein erstes Programm auf dem Arduino!"
Nimm irgendein DCF-Modul - und bekomme erstmal das DCF-Signal µC-gerecht (Pegel) aufbereitet: - Ohne etwas (hierzu erforderlichem) Spaß an Schaltungstechnik brauchst du mit µCs garnicht erst anzufangen. - Tschüs! Dann dekodiere das Signal ordentlich, so dass auch Schaltsekunden, Sommer-Winter-Zeitumstellungen und Empfangsprobleme abgefangen werden: - Dazu musst du den DCF-Code mit den genannten Randbedingungen beherrschen. (Das wirst du auch bei anderen Problemen brauchen) Ansonsten wird dafür Programmier-Können in der bevorzugten Sprache gebraucht. - Bei Problemen wird dir hir geholfen. Natürlich willst du die DCF-Zeit auch anzeigen - dann sieh mal zu, wie du ein 2 x 16 LCD-Modul ansteuerst. Dann könntest du noch die - für Kaufleute die Kalenderwoche - für Sternfreunde das Julianische Datum - für Esoteriker die (mittlere) Mondphase aus Datum und Zeit berechnen. - Dazu musst du dir die Rechenregeln besorgen und mit deiner Progrmmiersprache in das Projekt einarbeiten.... Also - Los geht's!!!
Persönlich würde ich was hardwarenahes programmieren wo man die Funktion analog nachmessen kann. So habe ich auf einem uC ein Batteriemanagement implementiert: Abschalten des Verbrauchers bei Unterspannung - Verwendung des internen AD-Wandler. "Totmannschaltung", d.h. wenn länger als 15Min kein AudioSignal anliegt, wird alles heruntergefahren (Verwendung des analog-Komparator-Einganges). Erzeugung von zeitverzögerten Steuersignalen um das System rauf-/runter zu fahren (Power-sequenzer). Das Ganze möglichst stromsparend: Der Prozessor wird die meiste Zeit in deep sleep versetzt und nur gelegentlich aktiviert: Watchdog timer mit Interrupt. All das paßt in einen 8-füßigen Attiny25 hinein und wurde in C ohne irgendeinen debugger programmiert. Auf der Basis lassen sich naürlich beliebig andere Anwendungen denken, z.B. eine Akku-Entladestation mit Messung der Kapazität etc ppp.
bau nen quadcopter. da lernst du dann was über die ansteuerung von motoren, regelung, modellierung und übertragungstechnik. ^^
Hans schrieb: > > Was würdet ihr einem Einsteiger empfehlen? Welche (nützlichen) > Projektideen habt ihr? > Ich würde an deiner Stelle noch nicht auf ein Projekt fixieren, denn die Zukunft ist völlig unvorhersehbar. An deiner Stelle habe ich weitergelernt wie man Schrittmotoren, Servos und DC-Motoren ansteuert. Die werden überall benötigt für: CNC, Lasercutter, 3D-Drucker, Roboterarme, automatisierte Schablonen, bewegliche Kameras. Und das Auslesen von Sensoren, sich erkundigen was es so für Sensoren auf dem Markt gibt. Wahrsager schrieb: > bau nen quadcopter. da lernst du dann was über die ansteuerung von > motoren, regelung, modellierung und übertragungstechnik. ^^ Die Idee ist prinzipiell gut. Fliegende Drohnen bauen die in Fabriken (Industrie 4.0) bestimmte Bauteile hin und her liefern. Das erspart Einhängeschienen und Fließbänder.
Schau mal im Arduino Project Hub, da findest du viele Anregungen von ganz einfach bis komplex. Man muss es ja nicht unbedingt mit Arduino umsetzen.
Hans schrieb: > Was würdet ihr einem Einsteiger empfehlen? Welche (nützlichen) > Projektideen habt ihr? Wir wissen ja nicht welchen Micro - Controller Du hast. Ein sehr interessanter Einstieg wäre der ESP32 oder der ESP8266. Ich habe eine Seite ausfindig gemacht die gute Tutorials bietet, die auch nachbausicher sind. Zumindest habe ich alles was mich interessierte zum Laufen gebracht. https://randomnerdtutorials.com/ mfg klaus
So fängt mal jeder an, so auch ich .... Prokjekt: LED blinken lassen ! Nein: Tutorials lesen, und Schritt für Schritt Fortschritte machen ...
Manfred schrieb: > Warum sollte man sich damit befassen, wenn kein Ziel gegeben ist? Das kommt mit der Zeit automatisch das die Projekte die Überhand nehmen Lasst den Jung doch mal etwas machen. Vorschläge hat er ja schon genug.
:
Bearbeitet durch User
Wie wärs mit einer Wetterstation? Anfangen mit Temperaturmessung. Es gibt viele verschiedene Sensoren, viele Möglichkeiten für eine Anzeige. Kann man ausbauen, Luftfeuchte oder mit funk einen draußensensor, Luftdruck, Sonne, Wind, Wetterverlauf, größeres Display,.....
Ansteuerung eines Textdisplays ist eine schöne Herausforderung. Vielleicht erst mit Library und dann mal selber nach Datenblatt programmieren. Wenn man das hat kann man darauf aufbauen: Die Wetterstation finde ich eine gute Idee. Ich selber habe als Anfänger ein einfaches Messgerät für Kondensatoren gebaut, weil mein damaliges Multimeter das nicht konnte. D.h. Kondensator aufladen/entladen und dabei Zeit messen... Später kann man seine Messstation ja beliebig weiter ausbauen. Falls du selber Musik machst, ist der Bau von MIDI-Controllern auch immer ne coole und nützliche Sache. Sicher nicht billiger als kaufen, aber dafür kann man alles so bauen/programmieren wie man es selber gerne hätte. Und an Reglern drehen macht ja eh Spaß ;-)
irgendeintollername schrieb: > Ansteuerung eines Textdisplays ist eine schöne Herausforderung. Macht mit dem WiFi Kit 8 Board besonders Spaß: http://stefanfrings.de/esp8266/index.html#wifikit8 Allerdings würde ich dennoch dazu raten, erst mal einen LED Blinker zu versuchen und die Programmiersprache zu lernen. Zumindest das bisschen davon, dass Arduino voraus setzt.
Als Fortgeschrittenenprojekte ein Akkuladegerät mit U/I logging? Entweder die Kurven zwischenspeichern und auf dem PC ausgeben oder mit Grafikdisplay ausgeben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.