LEGO MINDSTORMS Education EV3 + MicroPython: yetişkinlere yönelik bir çocuk inşaat setinin programlanması

Merhaba Habr! Biz çoktan söyledi LEGO MINDSTORMS Education EV3 platformu hakkında. Bu platformun temel hedefleri pratik örneklerle öğrenmek, STEAM becerilerini geliştirmek ve mühendislik zihniyetini geliştirmektir. Mekanik ve dinamiği incelemek için laboratuvar çalışmalarında kullanılabilir. LEGO tuğlalarından yapılmış laboratuvar tezgahları ve verilerin kaydedilmesi ve işlenmesine yönelik araçlar, deneyleri daha da ilginç ve görsel hale getirir ve çocukların fiziği daha iyi anlamalarına yardımcı olur. Örneğin, öğrenciler erime noktası verilerini toplayabilir ve uygulamayı kullanarak bunları düzenleyebilir ve bir grafikte sunabilir. Ancak bu sadece başlangıç: bugün size bu seti MicroPython programlama ortamıyla nasıl tamamlayacağınızı ve onu robot bilimi öğretmek için nasıl kullanacağınızı anlatacağız.

LEGO MINDSTORMS Education EV3 + MicroPython: yetişkinlere yönelik bir çocuk inşaat setinin programlanması

EV3'ü kullanarak programlamayı öğrenin

Modern okul çocukları renkli sonuçlar görmek istiyor. Evet, program konsola sayılar bastığında sıkılıyorlar ve renkli grafiklere, diyagramlara bakıp hareket eden ve komutları takip eden gerçek robotlar yaratmak istiyorlar. Normal kod da çocuklar için çok karmaşık görünüyor, bu nedenle öğrenmeye daha kolay bir şeyle başlamak daha iyidir.

Temel EV3 programlama ortamı LabVIEW grafik dilini temel alır ve robot için algoritmaları görsel olarak belirlemenize olanak tanır: komutlar, sürüklenebilen ve bağlanabilen bloklar biçiminde sunulur.

LEGO MINDSTORMS Education EV3 + MicroPython: yetişkinlere yönelik bir çocuk inşaat setinin programlanması

Bu yöntem, algoritmaların nasıl oluşturulduğunu göstermeniz gerektiğinde işe yarar ancak çok sayıda bloğu olan programlar için uygun değildir. Senaryolar karmaşıklaştıkça kodla programlamaya geçmek gerekir ancak bu adımı çocukların atması zordur. 

Burada birkaç püf noktası var, bunlardan biri kodun bloklarla aynı şeyi yaptığını göstermek. EV3 ortamında bu, MicroPython entegrasyonu aracılığıyla mümkündür, böylece çocuklar aynı programı hem temel blok programlama ortamında hem de Microsoft'un Visual Studio Code'unda Python'da oluşturabilirler. Her iki yöntemin de aynı şekilde çalıştığını ancak karmaşık sorunları kod kullanarak çözmenin daha kullanışlı olduğunu görüyorlar.

MicroPython'a geçiş

EV3 ortamı bir ARM9 işlemci üzerine kuruludur ve geliştiriciler mimariyi bilinçli olarak açık bırakmıştır. Bu çözüm, biri MicroPython ile çalışmaya yönelik bir görüntü olan alternatif ürün yazılımının piyasaya sürülmesini mümkün kıldı. EV3'ünüzü programlamak için Python'u kullanmanıza olanak tanır ve kiti gerçek hayattaki görevlere daha da yakınlaştırır. 

Başlamak için indirmeniz gerekiyor EV3 MicroPython görüntüsü herhangi bir microSD kartı EV3 mikro bilgisayarına takın ve açın. Daha sonra yüklemeniz gerekir ücretsiz uzatma Visual Studio için. Ve çalışmaya başlayabilirsiniz. 

MycroPython'da ilk robotun programlanması

LEGO MINDSTORMS Education EV3 + MicroPython: yetişkinlere yönelik bir çocuk inşaat setinin programlanması

Bizim web sitesi Robotiğin temel kavramlarına hakim olmak için çeşitli dersler vardır. EV3 modelleri çocuklara sürücüsüz arabalarda, fabrika montaj robotlarında ve CNC makinelerinde kullanılan temel bilgileri tanıtıyor. 

Desenleri ve geometrik şekilleri çizmeyi öğretebilen bir çizim makinesi örneğini ele alacağız. Bu örnek, yetişkin kaynak veya freze robotlarının basitleştirilmiş bir versiyonudur ve EV3'ün okul çocuklarına eğitim vermek için MicroPython ile birlikte nasıl kullanılabileceğini göstermektedir. Ve bir çizim makinesi, baba için baskılı devre kartındaki delikleri işaretleyebilir, ancak bu, matematik gerektiren başka bir seviyedir.

İş için ihtiyacımız var:

  • LEGO MINDSTORMS Education EV3 Temel Seti; 
  • büyük kareli kağıt;
  • renkli işaretleyiciler. 

Robotun montajı şu aşamada talimatlarve bir programlama örneğine bakacağız.

İlk önce EV3 modül kütüphanesini başlatıyoruz:

#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait

B portuna kolu motor gibi döndüren bir platform kuruyoruz. Diş sayısı 20-12-28 olan iki kademeli bir dişli takımının dişli oranını sırasıyla ayarlıyoruz.

turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

Sapın kaldırma mekanizmasını C portunda bir motor olarak yapılandırıyoruz:

seesaw_motor = Motor(Port.C)

Sapın eğim açısını ölçen jiroskopu bağlantı noktası 2'de yapılandırıyoruz:

gyro_sensor = GyroSensor(Port.S2)

Renk sensörünü port 3'te yapılandırıyoruz. Sensör, çizim makinesinin altındaki beyaz kağıdı algılamak için kullanılır:

color_sensor = ColorSensor(Port.S3)

Dokunma sensörünü port 4'te yapılandırıyoruz. Robot, sensöre basıldığında çizim yapmaya başlar:

touch_sensor = TouchSensor(Port.S4)

Kolu yükselten ve indiren fonksiyonları tanımlıyoruz:

def pen_holder_raise():
  seesaw_motor.run_target(50, 25, Stop.HOLD)
  wait(1000)

def pen_holder_lower():
  seesaw_motor.run_target(50, 0, Stop.HOLD)
  wait(1000)

Tutamağı belirli bir açıya veya belirli bir açıya döndürmek için bir fonksiyon tanımlarız:

def pen_holder_turn_to(target_angle):
  if target_angle > gyro_sensor.angle():

Hedef açı mevcut jiroskop sensörü açısından büyükse pozitif hızla saat yönünde devam edin:

    turntable_motor.run(70)
	
while gyro_sensor.angle() < target_angle:
  	
pass
  elif target_angle < gyro_sensor.angle():

Hedef açı mevcut jiroskop sensöründen küçükse saat yönünün tersine hareket edin:

    turntable_motor.run(-70)
	
while gyro_sensor.angle() > target_angle:
  	
pass

Hedef açıya ulaşıldığında dönen platformu durdurun:

  turntable_motor.stop(Stop.BRAKE)

Tutamağın başlangıç ​​konumunu üst konuma ayarlayın:

pen_holder_raise()

Şimdi programın ana kısmı geliyor - sonsuz bir döngü. EV3 önce renk sensörünün beyaz bir kağıt veya mavi başlangıç ​​karesini algılamasını ve dokunmatik sensöre basılmasını bekler. Daha sonra bir desen çizer, başlangıç ​​pozisyonuna döner ve her şeyi tekrar eder.

Cihaz hazır olmadığında kontrol ünitesindeki LED'ler kırmızıya döner ve LCD ekranda bir "beğenilmedi" görüntüsü görüntülenir:

while True:
  brick.light(Color.RED)
  brick.display.image(ImageFile.THUMBS_DOWN)

Renk sensörünün mavi veya beyaz saymasını bekliyoruz, LED rengini yeşile ayarlıyoruz, LCD ekranda “beğenildi” görüntüsünü görüntülüyor ve cihazın kullanıma hazır olduğunu bildiriyoruz:

  while color_sensor.color() not in (Color.BLUE, Color.WHITE):
	
wait(10)
  brick.light(Color.GREEN)
  brick.display.image(ImageFile.THUMBS_UP)

Dokunma sensörüne basılmasını bekliyoruz, jiroskopik sensöre 0 açı değerini atayıp çizime başlıyoruz:

  while not touch_sensor.pressed():
	
wait(10)
  gyro_sensor.reset_angle(0)
  pen_holder_turn_to(15)
  pen_holder_lower()
  pen_holder_turn_to(30)
  pen_holder_raise()
  pen_holder_turn_to(45)
  pen_holder_lower()
  pen_holder_turn_to(60)

Kalem tutucuyu kaldırın ve orijinal konumuna getirin:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

Bu, oluşturduğumuz basit programdır. Şimdi onu başlatıyoruz ve çizim robotunu çalışırken görüyoruz. 

Bu tür örnekler ne sağlar?

LEGO MINDSTORMS Education EV3 + MicroPython: yetişkinlere yönelik bir çocuk inşaat setinin programlanması

EV3, STEM kariyerleri için bir kariyer rehberliği aracıdır ve mühendislik kariyerlerine giriş noktasıdır. Pratik sorunları çözmek için kullanılabildiği için çocuklar teknik geliştirme ve endüstriyel robotların oluşturulması konusunda deneyim kazanır, gerçek durumları simüle etmeyi öğrenir, programları anlayıp algoritmaları analiz eder ve temel programlama yapılarında uzmanlaşır.

MicroPython desteği EV3 platformunu lise öğretmenliği için uygun hale getirir. Öğrenciler kendilerini en popüler modern dillerden birinde programcı olarak deneyebilir ve programlama ve mühendislik tasarımıyla ilgili mesleklerle tanışabilirler. EV3 kitleri kodlamanın korkutucu olmadığını gösterir, sizi ciddi mühendislik zorluklarına hazırlar ve teknik becerilerde uzmanlaşmaya doğru ilk adımı atmanıza yardımcı olur. Okullarda çalışanlar ve eğitimle ilgili olanlar için de hazırladık ders programları ve eğitim materyalleri. Belirli görevleri yerine getirirken hangi becerilerin geliştirildiğini ve edinilen becerilerin eğitim standartlarıyla nasıl ilişkili olduğunu ayrıntılı olarak açıklarlar.

Kaynak: habr.com

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster