Pico Bricks to zestaw pozwalający na zabawę mikrokontrolerem Raspberry Pico bez konieczności lutowania, czy nawet łączenia podzespołów – wszystkie są już podłączone na płytce.

Uruchomienie

Instalujemy ArduinoIDE
https://www.arduino.cc/en/software

Po uruchomieniu dodajemy do wersji PICO zestaw narzędzi:
Tools -> Boards Manager -> „Pico” -> Arduino Mbed OS RP2040 Boards …

Podłączamy kablem USB Pico do PC.

W pasku narzędzi wybieramy wyjście COM odpowiadające Pico np. Pi Pico COM4

Kompilujemy przyciskiem Verify (V – w pasku narzędzi)
Wgrywamy strzałką w prawo na mikrokontrolerze.

Gotowe!

Zestawy Pico Bricks są dostępne m. in. tu:
https://botland.com.pl/producent/582-pico-bricks

Mruganie diodą

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//ustawiamy stale dla PIN zgodnie z tym, co nadrukowano
//np. L:GP7 oznacza, że LED to pin 7
//B:GP10 oznacza, że button to PIN 10
//DIODA mruga tylko przy wcisnietym przycisku
#define LED 7
#define BUTTON 10

void setup() {
  // kod uruchamiany raz na starcie:
  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT);
}

void loop() {
  // pętla uruchamiana przez cały czas działania programu
  if (digitalRead(BUTTON)) //jeśli button jest wciśnięty
  { //to dioda mruga
    digitalWrite(LED, HIGH); //zapala się - wysyłamy sygnał HIGH (prąd 1)
    delay(500); //czekamy 0,5s.
    digitalWrite(LED, LOW); //gasimy (LOW - bez napięcia = 0)
    delay(500);
  }
}

Wersja druga

Teraz inna reakcja na przycisk – świeci dioda kiedy trzymamy przycisk.

1
uint8_t turnedOn = 0;

to „oszczędna” wersja typu int. Zajmuje 8 bitów (0-255). „u” oznacza unsigned – czyli bez ujemnych (bez znaku).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define LED 7
#define BUTTON 10

void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT);
  digitalWrite(LED, LOW); //poczatkowo gasimy
}



uint8_t turnedOn = 0; //0 - przycisk puszczony, 1-wlaczony

void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(BUTTON) && !turnedOn)
  {
    digitalWrite(LED, HIGH);
    turnedOn = 1;
  }
  if (!digitalRead(BUTTON) && turnedOn)
  {
    digitalWrite(LED, LOW);
    turnedOn = 0;
  }
 
}