KursĂŒbersicht - Bau von Robotern und anderen Arduino-GerĂ€ten (Woche 1)


„Macht ist nicht in Eisen, sondern in Wissen“ - das können wir heutzutage sagen.


Jetzt sind Elektronik und Robotik viel zugĂ€nglicher als zuvor - es gab eine Wahl, die Eintrittsschwelle ist gesunken. Aber ohne zu wissen, wie es funktioniert und wie man damit arbeitet, bleibt diese Elektronik nur „Hardware“ (und wie es passiert - die GerĂ€te sind manchmal im Leerlauf). Aufgrund persönlicher Erfahrungen und Praktiken ist es viel schwieriger, Wissen zu erlangen.


Daher werden Kurse fĂŒr AnfĂ€nger sehr geschĂ€tzt. Es gibt kostenpflichtige und kostenlose Kurse - aber um Relevanz, KursunterstĂŒtzung, HardwarekompatibilitĂ€t und Feedback sicherzustellen, ist dies nicht nur eine Frage, sondern vor allem auf Russisch.


Wir möchten Ihnen von einem dieser Online-Kurse erzĂ€hlen: " Wir bauen Roboter und andere GerĂ€te auf Arduino. Von einer Ampel zu einem 3D-Drucker ." Der Kurs wurde gemeinsam von Cyberphysics und MIPT (Moskauer Institut fĂŒr Physik und Technologie) entwickelt. Schulungstext und Videomaterial sind auf Coursera kostenlos erhĂ€ltlich. Der Kurs ist in 6 Teile (jede Woche) unterteilt, und fĂŒr jeden Teil wird das entsprechende Eisen gesendet.


Es ist immer besser, anhand unserer Erfahrungen zu erzĂ€hlen, daher werden wir im Verlauf des Fortschritts "in Echtzeit" ĂŒber den Kurs und die EindrĂŒcke sprechen. Das Teilen von Impressionen wird einer der Teilnehmer in unserem Hackspace sein.



Woche 1


Hallo allerseits! Mein Name ist Anton und ich möchte Ihnen in einer sechswöchigen Reihe von Veröffentlichungen ĂŒber die Erfahrungen bei der Teilnahme an einem Online-Kurs von MIPT berichten.


Eine kleine EinfĂŒhrung. Meine Ausbildung und meine laufende Arbeit beziehen sich auf die IT. Kenntnisse in Elektronik und Schaltung enden mit einem UniversitĂ€tskurs in Elektronik. Gelegentlich benutze ich einen Lötkolben, ich kann einfache Berechnungen fĂŒr jeden Stromkreis durchfĂŒhren.


Es gibt keine Programmiererfahrung fĂŒr Arduino als solches. Ich schreibe Skripte hauptsĂ€chlich in Python und Bash mit einer C-Ă€hnlichen Syntax, die in den Sprachen PHP und JavaScript bekannt ist. C selbst hatte keine Programmiererfahrung.


Nachdem mein Bruder und ich eine ÜberprĂŒfung von drei ElektroniksĂ€tzen fĂŒr Kinder geschrieben hatten , schlug ein Vertreter des Cyberphysics-Projekts vor, den Online-Kurs „Roboter und andere GerĂ€te auf Arduino bauen“ auf der Coursera-Website zu belegen. Da ich zuvor mehrere Kurse (nicht im Zusammenhang mit IT) auf der Plattform belegt hatte, ging ich davon aus, dass das Material trivial und einfach sein wĂŒrde, wie in den meisten EinfĂŒhrungskursen auf der Coursera-Plattform, oder auf der Ebene der Aufgaben aus HandbĂŒchern Ă€hnlicher elektronischer GerĂ€te. Aber wie sich herausstellte, war dies ein Trugschluss. Die Entwickler selbst positionieren den Kurs als EinfĂŒhrung in die Robotik fĂŒr SchĂŒler und SchĂŒler, in der die SchĂŒler lernen, was Roboter und andere „intelligente“ GerĂ€te sind, wie sie mit der Außenwelt interagieren, wie sie mit Menschen interagieren und vor allem, wie sie lernen, solche GerĂ€te selbst zu erstellen.


Es ist interessant festzustellen, dass laut den Autoren des Kurses zwei Drittel des Publikums, dh 13,5 Tausend Menschen, Menschen im Alter von 25 bis 45 Jahren! Und Sie können verstehen, warum: Die Liste der Themen ist ziemlich breit - von den einfachsten Sensoren und „blinkenden Lichtern“ bis zum GerĂ€t eines 3D-Druckers, und all dies wird durch die notwendige Theorie unterstĂŒtzt, zum Beispiel das GerĂ€t und die Parameter von Stromkreisen, Typen und Parameter von Signalen usw. ... Gleichzeitig Das Material wird in einer einfachen und zugĂ€nglichen Sprache prĂ€sentiert. Nach Ablauf der ersten Woche war es mir auch nicht neu, dass die durchschnittliche Kursrate 4,9 von 5 Punkten betrĂ€gt.


Da das Training in erster Linie auf die praktische Lösung von Problemen abzielt, stellten mir die Kursautoren in den ersten Wochen eine Reihe von „Cyberphysics“ -Robotern und -GerĂ€ten zur VerfĂŒgung. Start + .




Im Inneren werden wir mit einer BroschĂŒre begrĂŒĂŸt, die das Kit und das Neutrino-Board beschreibt.





Unmittelbar nach der BroschĂŒre befindet sich das Neutrino-Board selbst, das ein Analogon zum Arduino Uno ist. Eines fĂ€llt jedoch sofort auf: Auf dem Board befinden sich 20 dreipolige Stifte zum Anschließen verschiedener Sensoren. Dies hat mich aufrichtig gefreut, da fĂŒr andere Platinen, die ich zuvor gesehen habe, eine zusĂ€tzliche Abschirmung zum Anschließen von PeripheriegerĂ€ten installiert werden musste.




Im Inneren ist alles in kleinen Kisten angeordnet. Alle Taschen mit Inhalten sind signiert.





Ein seltsames GerÀt mit einer Röhre wurde ebenfalls in das Kit aufgenommen. Nach einer kurzen Suche im Internet stellte sich heraus, dass es sich um eine Tauchpumpe handelte, die anscheinend in den nÀchsten Unterrichtswochen eingesetzt wird.


Wie mir die Autoren des Kurses vorgeschlagen haben (und was in der BroschĂŒre steht :)), können Sie das Tablett auch unter der Tafel verwenden - sammeln Sie darin Schemata und speichern Sie es „lose“, damit die Details nicht zwischen den Klassen verloren gehen. Ich habe nach dem Ende der ersten Woche davon erfahren, aber ich hoffe, dass ich in Zukunft den Nutzen des Tabletts zu schĂ€tzen weiß.




Lassen Sie uns nun ĂŒber den Kurs selbst sprechen. Es dauert sechs Wochen. Die ersten drei Wochen werden anhand von Tests bewertet. In der vierten und den folgenden Wochen können Sie eine zusĂ€tzliche Aufgabe erledigen und Kommilitonen zur Bewertung senden.


Im Unterricht der ersten Woche erklĂ€rte der Lehrer zunĂ€chst die Grundlagen der Schaltung, baute dann das Ampelmodell schrittweise zusammen und modifizierte es sowohl in der grafischen Umgebung von Fritzing als auch auf einer realen Tafel. ZunĂ€chst wurde eine manuelle Ampel zusammengebaut und mit dem Arduino schrittweise in eine automatische umgewandelt. Unterwegs wurden die Grundlagen der Programmiersprache fĂŒr die Arduino-Umgebung vermittelt.


Es ist erwĂ€hnenswert, dass VideovortrĂ€ge trotz der geringen GrĂ¶ĂŸe sehr informativ sind, was sicherlich gefĂ€llt. Hier ist eine grobe Liste der Themen der ersten Woche, die ich mir selbst notiert habe:


  • Das Funktionsprinzip und das GerĂ€t Steckbrett
  • Das GerĂ€t ist der einfachste Stromkreis. Elektrischer Strom. LEDs
  • Möglichkeiten zur Darstellung elektronischer Schaltungen. Schematische Darstellungen, grafische Schaltungen in der Fritzing-Umgebung
  • Messung von Stromkreisparametern. Strom, Spannung, Widerstand
  • Arduino Boards und Sorten. Arduino IDE
  • Grundlagen der Programmierung in der Arduino IDE. Variablen, Makros, Schleifen

Am Ende der ersten Woche habe ich den Test das erste Mal ehrlich mit 80% der richtigen Antworten bestanden und 4 Fehler gemacht, von denen einer auf Unkenntnis des Materials (LED-AusgĂ€nge und die Regel des Anschlusses an die Schaltung) zurĂŒckzufĂŒhren war, der Rest auf Unaufmerksamkeit. Beim zweiten Versuch konnte der Test mit nur einem Fehler bestanden werden :)




In der Praxis habe ich mich auch entschlossen, eine Ampel zu sammeln. Da es mir etwas langweilig erschien, die Übung eins zu eins zu wiederholen, beschloss ich sofort, zwei Ampeln zu sammeln, die die Kreuzung simulieren.




Ich habe das Programm grob und „auf die Stirn“ geschrieben, aber es funktioniert genau so, wie ich es beabsichtigt hatte. Ich habe ehrlich gesagt versucht, den Code neu zu schreiben und ihn wunderschön zu machen - mit Arrays und Funktionen, aber ich war sofort von meiner Unkenntnis der C-Sprache betroffen -, zum Beispiel konnte ich einige Minuten lang nicht herausfinden, wie man mehrdimensionale Arrays erstellt und sie mit Werten in C fĂŒllt. Diese Themen werden in der dritten Woche besprochen, daher habe ich beschlossen, mich nicht zu ĂŒbertreffen und ruhig weiter am Lehrplan zu studieren.


Programmcode
#define PIN_1_G 1 #define PIN_1_Y 2 #define PIN_1_R 3 #define PIN_2_G 4 #define PIN_2_Y 5 #define PIN_2_R 6 int green_on = 5000; int red_on = 5000; void setup() { pinMode(PIN_1_G, OUTPUT); pinMode(PIN_1_Y, OUTPUT); pinMode(PIN_1_R, OUTPUT); pinMode(PIN_2_G, OUTPUT); pinMode(PIN_2_Y, OUTPUT); pinMode(PIN_2_R, OUTPUT); digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); digitalWrite(PIN_2_G, HIGH); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); } void loop() { delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_2_G, LOW); delay(500); digitalWrite(PIN_2_G, HIGH); delay(500); } digitalWrite(PIN_2_G, LOW); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, HIGH); delay(1500); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, LOW); digitalWrite(PIN_1_G, HIGH); delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_1_G, LOW); delay(500); digitalWrite(PIN_1_G, HIGH); delay(500); } digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); delay(1500); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); digitalWrite(PIN_2_G, HIGH); } 

Kurseinschreibung


Ab dem 27. MÀrz ist der Kurseintrag geöffnet: Roboter und andere GerÀte auf Arduino bauen. Von der Ampel zum 3D-Drucker

Source: https://habr.com/ru/post/de402677/


All Articles