Zum Inhalt springen

#7 Zeigen Sie Ihr Reaktionsprojekt mit PicoBricks

23 Nov 2023
#7 Show Your Reaction Project With PicoBricks

Jetzt bereiten wir ein Spiel vor, das Aufmerksamkeit und Reflexe entwickelt. Schnelle Bewegung und die Fähigkeit, über einen längeren Zeitraum aufmerksam zu sein, sind wichtige Entwicklungsmerkmale von Kindern. Kinder im Vorschul- und Grundschulalter machen Aktivitäten, die ihre Aufmerksamkeitsspanne und Reflexe steigern, da sie von ihren Eltern und Lehrern gemocht werden. Das elektronische System, das wir vorbereiten werden, wird ein Spiel sein, das die Aufmerksamkeit steigert und Reflexe entwickelt. Nach Abschluss des Projekts können Sie mit Ihren Freunden konkurrieren.  

In diesem Projekt lernen Sie die Zufälligkeit kennen, die in jeder Programmiersprache verwendet wird. Mit Picobricks werden wir ein elektronisches System mit OLED-Display entwickeln, Taste-LED- und Summermodul.

<

Details und Algorithmus

Sobald der Picobricks eingeschaltet wird, beginnt ein Timer zu laufen. Mit diesem Timer können wir eine Tausendstelsekunde messen. Eine Tausendstelsekunde wird Millisekunde genannt. Timer werden in vielen elektronischen Systemen des täglichen Lebens eingesetzt. Zeitgesteuerte Beleuchtung, Öfen, Bügeleisen, Küchenmaschinen …

Wenn unser Projekt mit der Arbeit beginnt, zeigen wir eine Willkommensnachricht auf dem an OLED-Bildschirm. Dann drucken wir auf dem Bildschirm aus, was der Benutzer tun muss, um das Spiel zu starten. Um das Spiel zu starten, bitten wir den Spieler, sich vorzubereiten, indem er nach dem Drücken der Taste auf dem Bildschirm von 3 rückwärts zählt. Nach Ablauf des Countdowns leuchtet die rote LED in einem zufälligen Zeitraum zwischen 2 und 10 Sekunden auf. Wir werden den Timer sofort zurücksetzen, nachdem die rote LED aufleuchtet. Wir werden den Timer messen, sobald die Taste erneut gedrückt wird. Dieser Wert, den wir erhalten, wird in Millisekunden angegeben. Wir werden diesen Wert als Reaktionszeit des Spielers auf dem Bildschirm anzeigen.

Komponenten

1X PicoBricks

Schaltplan

 

Sie können die Module von Picobricks ohne Verkabelung programmieren und betreiben. Wenn Sie die Module getrennt von der Platine verwenden möchten, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

MicroBlocks-Codes der PicoBricks

Sie können auf die Microblocks-Codes des Projekts zugreifen, indem Sie das Bild auf die Registerkarte „Microblocks Run“ ziehen oder auf die Schaltfläche klicken

 

Registerkarte „Mikroblöcke ausführen“.

 

MicroPython-Codes der PicoBricks


Vom Maschinenimport Pin, I2C, Timer
Von Picobricks importieren Sie SSD1306_I2C
Zeit importieren
Urandom importieren
#definiere die Bibliothek
BREITE=128
HÖHE=64
#Definieren Sie die Breiten- und Höhenwerte
sda=machine.Pin(4)
scl=machine.Pin(5)
i2c=machine.I2C(0,sda=sda, scl=scl, freq=2000000)
oled= SSD1306_I2C(BREITE, HÖHE, i2c)
button = Pin(10,Pin.IN,Pin.PULL_DOWN)
LED=Pin(7,Pin.OUT)
#Definieren Sie unsere Eingangs- und Ausgangspins
während True:
    led.value(0)
    oled.fill(0)
    oled.text("Drücken Sie die Taste",0,10)
    oled.text("ZU ANFANGEN!",25,25)
    oled.show()
    #print „Drücken Sie die Taste“ und „ZUM STARTEN!“ auf dem OLED-Bildschirm
    while button.value()==0:
        passieren
    oled.fill(0)
    oled.text("Warten auf LED",15,30)
    oled.show()
    #Schreiben Sie „Warten auf LED“ auf den Bildschirm, wenn die Taste gedrückt wird
    utime.sleep(urandom.uniform(1,5))
    led.value(1)
    timer_start=utime.ticks_ms()
    #Warten Sie eine Rondom-Sekunde und schalten Sie die LED ein
    while button.value()==0:
        passieren
    timer_reaction=utime.ticks_diff(utime.ticks_ms(), timer_start)
    gedrückt=Wahr
    oled.fill(0)
    oled.text("Deine Zeit",25,25)
    oled.text(str(timer_reaction),50,50)
    oled.show()
    led.value(0)
    utime.sleep(1.5)
    #Drucken Sie die Partitur und „Ihre Zeit“ auf dem Bildschirm aus, wenn die Taste gedrückt wird.

Arduino C-Codes der PicoBricks



#enthalten
#include „ACROBOTIC_SSD1306.h“//Definieren Sie die Bibliothek

int Summer=20;
int button=10;
int led=7;
int La=440;

int old_time=0;
int now_time=0;
int Score=0;
String string_score;//definieren Sie unsere Ganzzahl und unseren String veriablesvoidsetup(){// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:
  Wire.begin();
  oled.init();
  oled.clearDisplay();pinMode(led,OUTPUT);pinMode(buzzer,OUTPUT);pinMode(button,INPUT);
  Serial.begin(9600);//Definieren Sie die Eingabe- und Ausgabepins}voidloop(){// Fügen Sie hier Ihren Hauptcode ein, um ihn wiederholt auszuführen:
  oled.setTextXY(3,0);
  oled.putString("Drücken Sie die Taste");
  oled.setTextXY(5,4);
  oled.putString("TO START");if(digitalRead(button)==1){for(int i=3; i>0; i--){

      String string_i=String(i);
      oled.clearDisplay();
      oled.setTextXY(4,8);
      oled.putString(string_i);delay(1000);}//von drei rückwärts zählen

    oled.clearDisplay();
    oled.setTextXY(4,6);
    oled.putString("GO!!!");//print "GO!!" auf der OLED bei x=4 y=6

    int random_wait=random(1000,5000);delay(random_wait);//warte auf eine zufällige Sekunde zwischen 1 und 5digitalWrite(led,HIGH);
    old_time=millis();//LED einschaltenwhile(!(digitalRead(button)==1)){

      now_time=millis();
      Score=now_time-old_time;
      string_score=String(score);//Score als String bei Tastendruck speichern}digitalWrite(led,HIGH);tone(buzzer, La);delay(200);noTone(buzzer);//LED und Summer einschalten

    oled.clearDisplay();
    oled.setTextXY(1,4);
    oled.putString("Press the");//print "Press the" auf dem OLED bei x=1 Y=4

    oled.setTextXY(2,3);
    oled.putString("RESET BUTTON");//drucken Sie "RESET BUTTON" auf der OLED bei X=1 Y=4

    oled.setTextXY(3,3);
    oled.putString("Zu wiederholen!");//print "Zu wiederholen!" auf der OLED bei X=3 Y=3

    oled.setTextXY(6,3);
    oled.putString("Score: ");
    oled.setTextXY(6,9);
    oled.putString(string_score);
    oled.setTextXY(6,13);
    oled.putString(" ms");
    Serial.println(score);//Score-Wert auf screendelay(10000) drucken;
    oled.clearDisplay();//warte zehn Sekunden und lösche den Bildschirm}}

GitHub-Seite
Vorheriger Beitrag
Nächster Beitrag

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look
Wählen Sie Optionen

Bearbeitungsoption

Benachrichtigung wieder auf Lager

Vergleichen

Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment