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.

Zanim rozpoczniesz…

Przed rozpoczęciem zapoznaj się z wstępną konfiguracją zestawu PicoBricks, którą znajdziesz tutaj: https://fx-team.fulara.com/migajaca-dioda-d…o-pierwsze-kroki/

Zestawy PicoBricks są dostępne m. in. tutaj:

https://botland.com.pl/producent/582-pico-bricks

Pilot IR

Na szczęście nie trzeba nic lutować, wystarczy zapoznać się z zestawem i opisem pinów. No to zaczynamy programować:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <IRremote.h>

const int pinIR = 0;
IRrecv irrecv(pinIR);

// Zdefiniowane przycisk z pilota w raz z ich identyfikatorem
#define CODE1 -1169817856
#define CODE2 -1186529536
#define CODE3 -1203241216
#define CODE4 -1153106176
#define CODE5 -1086259456
#define CODE6 -1136394496
#define CODE7 -133693696
#define CODE8 -367657216
#define CODE9 -167117056
#define CODESTAR -384368896
#define CODE0 -434503936
#define CODEHASH -233963776
#define CODEUP -417792256
#define CODELEFT -150405376
#define CODERIGHT -1520763136
#define CODEDOWN -1387069696
#define CODEOK -484638976

int a = 0;
void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(7, OUTPUT);
}

// Kod interpretuje wciśnięcie przycisku 1 lub 2 i wtedy odtwarza daną logikę
void loop() {
  if (irrecv.decode()) {
    a = (irrecv.decodedIRData.decodedRawData);
    Serial.println(a);

    if(a == CODE1) {
      digitalWrite(7, digitalRead(7) ? LOW : HIGH);
    } else if(a == CODE2) {
      playTone(262, 500);
      delay(100);
      playTone(330, 500);
      delay(100);
    }
    irrecv.resume();
  }
}

void playTone(int f, int d) {
  tone(20, f, d);
  delay(d + 50);
  noTone(20);
}

Brawo! Teraz potrafisz korzystać z pilota IR!