Arduino Polska Forum
Sketch a napięcie - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Sketch a napięcie (/watek-sketch-a-napi%C4%99cie)



Sketch a napięcie - danielpro - 01-08-2018

Witam,
mam następujący problem z arduino. Stworzyłem sketch, który kombinację wejść przerobi mi na konkretne wyjścia.
Problem polega na tym, że napięcie jakie mi wychodzi to ok 1V. A potrzebowałbym 5V. 

Nie wiem, czy to jest błąd w moim sketchu, ale jak biorę przykład Button Input PullUp to napięcie podaje właściwe.



Poniżej przesyłam mój sketch. Byłbym wdzięczy, gdyby ktoś wskazał mi problem. Z góry dziękuję! 

Kod:
void setup() {

 pinMode(46, OUTPUT);                    // 1
 pinMode(2, INPUT_PULLUP);
 digitalWrite(46, LOW);

 pinMode(47, OUTPUT);                    // 2
 pinMode(3, INPUT_PULLUP);
 digitalWrite(47, LOW);

 pinMode(46, OUTPUT);                    // 3
 pinMode(47, OUTPUT);
 pinMode(4, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);

 pinMode(48, OUTPUT);                    // 4
 pinMode(5, INPUT_PULLUP);
 digitalWrite(48, LOW);

 pinMode(46, OUTPUT);                    // 5
 pinMode(48, OUTPUT);
 pinMode(6, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(48, LOW);

 pinMode(47, OUTPUT);                    // 6
 pinMode(48, OUTPUT);
 pinMode(7, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);

 pinMode(46, OUTPUT);                    // 7
 pinMode(47, OUTPUT);
 pinMode(48, OUTPUT);
 pinMode(8, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);

 pinMode(49, OUTPUT);                    // 8
 pinMode(9, INPUT_PULLUP);
 digitalWrite(49, LOW);

 pinMode(46, OUTPUT);                       // 9  
 pinMode(49, OUTPUT);
 pinMode(10, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(49, LOW);

 pinMode(47, OUTPUT);                    // 10
 pinMode(49, OUTPUT);
 pinMode(11, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);

 pinMode(46, OUTPUT);                    // 11
 pinMode(47, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(12, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);

 pinMode(48, OUTPUT);                    // 12
 pinMode(49, OUTPUT);
 pinMode(13, INPUT_PULLUP);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);

 pinMode(46, OUTPUT);                    // 13
 pinMode(48, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(14, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);

 pinMode(47, OUTPUT);                    // 14
 pinMode(48, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(15, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);

 pinMode(46, OUTPUT);                    // 15
 pinMode(47, OUTPUT);
 pinMode(48, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(16, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);

 pinMode(50, OUTPUT);                    // 16
 pinMode(17, INPUT_PULLUP);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 17
 pinMode(50, OUTPUT);
 pinMode(18, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(50, LOW);

 pinMode(47, OUTPUT);                    // 18
 pinMode(50, OUTPUT);
 pinMode(19, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 19
 pinMode(47, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(20, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(50, LOW);

 pinMode(48, OUTPUT);                    // 20
 pinMode(50, OUTPUT);
 pinMode(21, INPUT_PULLUP);
 digitalWrite(48, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 21
 pinMode(48, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(22, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(48, LOW);
 digitalWrite(50, LOW);

 pinMode(47, OUTPUT);                    // 22
 pinMode(48, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(23, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 23
 pinMode(47, OUTPUT);
 pinMode(48, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(24, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(50, LOW);

 pinMode(49, OUTPUT);                    // 24
 pinMode(50, OUTPUT);
 pinMode(25, INPUT_PULLUP);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 25
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(26, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(47, OUTPUT);                    // 26
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(27, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 27
 pinMode(47, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(28, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(48, OUTPUT);                    // 28
 pinMode(50, OUTPUT);
 pinMode(29, INPUT_PULLUP);
 digitalWrite(48, LOW);
 digitalWrite(50, LOW);

 pinMode(48, OUTPUT);                    // 29
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(30, INPUT_PULLUP);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(47, OUTPUT);                    // 30
 pinMode(48, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(31, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(46, OUTPUT);                    // 31
 pinMode(47, OUTPUT);
 pinMode(48, OUTPUT);
 pinMode(49, OUTPUT);
 pinMode(50, OUTPUT);
 pinMode(32, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(49, LOW);
 digitalWrite(50, LOW);

 pinMode(51, OUTPUT);                    // 32
 pinMode(33, INPUT_PULLUP);
 digitalWrite(51, LOW);

 pinMode(46, OUTPUT);                    // 33
 pinMode(51, OUTPUT);
 pinMode(34, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(51, LOW);

 pinMode(47, OUTPUT);                    // 34
 pinMode(51, OUTPUT);
 pinMode(35, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(51, LOW);

 pinMode(46, OUTPUT);                    // 35
 pinMode(47, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(36, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(51, LOW);

 pinMode(48, OUTPUT);                    // 36
 pinMode(51, OUTPUT);
 pinMode(37, INPUT_PULLUP);
 digitalWrite(48, LOW);
 digitalWrite(51, LOW);

 pinMode(46, OUTPUT);                    // 37
 pinMode(48, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(38, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(48, LOW);
 digitalWrite(51, LOW);  

 pinMode(47, OUTPUT);                    // 38
 pinMode(48, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(39, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(51, LOW);

 pinMode(46, OUTPUT);                    // 39
 pinMode(47, OUTPUT);
 pinMode(48, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(40, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(47, LOW);
 digitalWrite(48, LOW);
 digitalWrite(51, LOW);

 pinMode(49, OUTPUT);                    // 40
 pinMode(51, OUTPUT);
 pinMode(41, INPUT_PULLUP);
 digitalWrite(49, LOW);
 digitalWrite(51, LOW);  

 pinMode(46, OUTPUT);                    // 41
 pinMode(49, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(42, INPUT_PULLUP);
 digitalWrite(46, LOW);
 digitalWrite(49, LOW);
 digitalWrite(51, LOW);

 pinMode(47, OUTPUT);                    // 42
 pinMode(49, OUTPUT);
 pinMode(51, OUTPUT);
 pinMode(43, INPUT_PULLUP);
 digitalWrite(47, LOW);
 digitalWrite(49, LOW);
 digitalWrite(51, LOW);

}



void loop()
{


 if (digitalRead(2) == LOW) {                    // 1  
   digitalWrite(46, HIGH);
 } else {
   digitalWrite(46, LOW);


 if (digitalRead(3) == LOW) {                    // 2  
   digitalWrite(47, HIGH);
 } else {
   digitalWrite(47, LOW);


 if (digitalRead(4) == LOW) {                    // 3
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);  
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);


 if (digitalRead(5) == LOW) {                    // 4  
   digitalWrite(48, HIGH);
 } else {
   digitalWrite(48, LOW);


 if (digitalRead(6) == LOW) {                    // 5  
   digitalWrite(46, HIGH);
   digitalWrite(48, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(48, LOW);


 if (digitalRead(7) == LOW) {                    // 6  
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);


 if (digitalRead(8) == LOW) {                    // 7  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);


 if (digitalRead(9) == LOW) {                    // 8  
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(49, LOW);


 if (digitalRead(10) == LOW) {                    // 9  
   digitalWrite(46, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(11) == LOW) {                    // 10  
   digitalWrite(47, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(12) == LOW) {                    // 11
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(13) == LOW) {                    // 12  
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(14) == LOW) {                    // 13  
   digitalWrite(46, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(15) == LOW) {                    // 14  
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(16) == LOW) {                    // 15  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);


 if (digitalRead(17) == LOW) {                    // 16  
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(50, LOW);


 if (digitalRead(18) == LOW) {                    // 17  
   digitalWrite(46, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(19) == LOW) {                    // 18  
   digitalWrite(47, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(20) == LOW) {                    // 19  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(21) == LOW) {                    // 20  
   digitalWrite(48, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(48, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(22) == LOW) {                    // 21
   digitalWrite(46, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(48, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(23) == LOW) {                    // 22  
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(24) == LOW) {                    // 23  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(25) == LOW) {                    // 24  
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(26) == LOW) {                    // 25  
   digitalWrite(46, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(27) == LOW) {                    // 26  
   digitalWrite(47, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(28) == LOW) {                    // 27  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(29) == LOW) {                    // 28  
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(30) == LOW) {                    // 29  
   digitalWrite(46, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(31) == LOW) {                    // 30  
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(32) == LOW) {                    // 31
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(50, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(49, LOW);
   digitalWrite(50, LOW);


 if (digitalRead(33) == LOW) {                    // 32  
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(51, LOW);


 if (digitalRead(34) == LOW) {                    // 33  
   digitalWrite(46, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(35) == LOW) {                    // 34  
   digitalWrite(47, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(36) == LOW) {                    // 35  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(37) == LOW) {                    // 36  
   digitalWrite(48, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(48, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(38) == LOW) {                    // 37  
   digitalWrite(46, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(48, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(39) == LOW) {                    // 38  
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(40) == LOW) {                    // 39  
   digitalWrite(46, HIGH);
   digitalWrite(47, HIGH);
   digitalWrite(48, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(47, LOW);
   digitalWrite(48, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(41) == LOW) {                    // 40  
   digitalWrite(49, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(49, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(42) == LOW) {                    // 41
   digitalWrite(46, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(46, LOW);
   digitalWrite(49, LOW);
   digitalWrite(51, LOW);


 if (digitalRead(43) == LOW) {                    // 42  
   digitalWrite(47, HIGH);
   digitalWrite(49, HIGH);
   digitalWrite(51, HIGH);
 } else {
   digitalWrite(47, LOW);
   digitalWrite(49, LOW);
   digitalWrite(51, LOW);

}



RE: Sketch a napięcie - Robson Kerman - 01-08-2018

Nie trzeba powtarzać kolejno po sobie takich instrukcji jak na przykład:

digitalWrite(47, LOW);

i tak kilkadziesiąt razy to samo.
Wystarczy raz ustawić pin na LOW i on taki pozostanie do momentu, aż zmienisz go na HIGH.

Po drugie nie musisz ręcznie wpisywać po kolei
 pinMode(2, INPUT_PULLUP); 
 pinMode(3, INPUT_PULLUP); itd.
Skoro są po kolei, to możesz to zrobić w pętli.
Według mnie setup powinien wyglądać tak:
Kod:
void setup() {
    for (uint8_t x = 2; x <= 43; x++){
        pinMode(x, INPUT_PULLUP);
    }
    for (uint8_t x = 46; x <= 51; x++){
        pinMode(x, OUTPUT);
        digitalWrite(x, LOW);
    }
}

Reszty kodu nie chciało mi się czytać. Być może dla tego, że jest nie czytelny.
A odpowiedź na Twoje pytanie:
(01-08-2018, 15:30)danielpro napisał(a): Problem polega na tym, że napięcie jakie mi wychodzi to ok 1V. A potrzebowałbym 5V. 
Pewnie mierzyłeś  miernikiem, a stany na wyjściach zmieniają się tak szybko, że miernik nie nadąża.
Użyj oscyloskopu, a przekonasz się, że napięcie wynosi równiutko 5V.


RE: Sketch a napięcie - danielpro - 01-08-2018

Tak, mierzyłem miernikiem. Z przykładowym sketchem "DigitalInputPullup" napięcie wyjściowe mam prawie 5V, więc jest ok. Ze skeczem, który zrobiłem samemu na pojedynczym wyjściu mam 5V, ale na tych, które jedno wejście przerabiają na dwa wyjścia, na każdym mam lekko ponad 1V.


RE: Sketch a napięcie - kaczakat - 01-08-2018

Problemem jest programista:
Kod:
void setup() {

pinMode(46, OUTPUT);                    // 1
pinMode(2, INPUT_PULLUP);
digitalWrite(46, LOW);

pinMode(47, OUTPUT);                    // 2
pinMode(3, INPUT_PULLUP);
digitalWrite(47, LOW);

pinMode(46, OUTPUT);                    // 3
pinMode(47, OUTPUT);
pinMode(4, INPUT_PULLUP);
digitalWrite(46, LOW);
digitalWrite(47, LOW);
Po tym początku już wiem, że nie wiesz co robisz. Przeczytaj książkę, zrób kurs Arduino https://forbot.pl/blog/kurs-arduino-podstawy-programowania-spis-tresci-kursu-id5290 , pooglądaj tutoriale na youtubie. Twój post tu nie ma żadnego sensu z tym poziomem wiedzy. Arduino jest wyjątkowo przyjazne na początek, ale tu też czegoś trzeba się nauczyć by pisać programy.