Skocz do zawartości

Pomocna odpowiedź

Zad. 4.6.

Nie do końca jest pewna, czy zrozumiałam zadanie, ale czy to powinno działać mniej więcej tak jak poniżej, gdy świecę latarką pod różnymi kątami?

 

@ceiem super, działa jak należy! Zadanie polega na wyświetlaniu po której stornie jest źródło światła i na nagraniu wygląda, że działa 🙂  Powodzenia w kolejnych zadaniach!

  • Lubię! 1

@ceiem, a o jakie zamiany konkretnie Ci chodzi? Do wejścia analogowego powinnaś wychodzić z węzła między rezystorem, a fotorezystorem (na rysunku pomarańczowy przewód). Zasilanie i masę możesz zamienić. W tej chwili odczytujesz napięcie odłożone na rezystorze 1k (potencjał tego "pomarańczowego" węzła względem masy). Po zamianie + z - odczytywać będziesz napięcie na fotorezystorze.

  • Lubię! 1
(edytowany)

A co się stanie jak pomarańczowy (idący do wejścia analogowego) zamienię z niebieskim lub czerwonym (idącymi do masy i zasilania)?

Edytowano przez ceiem

W takim układzie prąd by płynął tylko przez jeden z tych dwóch elementów. Patrząc na rysunek to po zamianie niebieskiego z pomarańczowym prąd by tylko płynął przez fotorezystor, a przez rezystor nie. Na tej górnej nóżce rezystora 1k byłoby napięcie 0 V (potencjał masy). Zamieniając pomarańczowy z czerwonym- prąd płynie tylko przez rezystor 1k, a na dolnej nóżce fotorezystora jest napięcie zasilania 5V.

  • Lubię! 1

Dziękuje Wam obu za odpowiedź. Zaczynam trochę lepiej rozumieć. Jednak fizyka cały czas jeszcze sprawia mi sporo trudności. 

  • Lubię! 1

zadanie 4.4

ja stworzyłem coś takiego

gdy dioda się zapala od razu wyświetla wartość napięcia

int ow=0; // otrymana wartosc
int prog=0; //prog wlaczenia swiatla
float nap=0; // zmienna napiecia
boolean wysl=false;

void setup() {
  Serial.begin(9600);
pinMode(8, OUTPUT);
}
void loop(){
  ow=analogRead (A5); //odczytanie wartosc z ADC
  prog=analogRead (A4);//odczytanie wartosc z ADC

  if (ow<prog){
    digitalWrite (8, HIGH);
    if (wysl== false){
      nap= ow* (5.0/1024.0);
      Serial.print (nap);
      wysl=true;
    }
  }
  else{
    digitalWrite(8,LOW);
    wysl=false;
  }
  delay(50);
}

przepraszam za chaos z kodem i moje skróty myślowe.

mam takie pytanie, mianowicie ile mniej więcej zajmuje nauka programowania żeby powiedzmy być w tym dobrym? wiem ze to zależy od predyspozycji każdego z nas ale zżera mnie ciekawość.

  • Lubię! 1

@gibon witam na forum 🙂

23 godziny temu, gibon napisał:

mam takie pytanie, mianowicie ile mniej więcej zajmuje nauka programowania żeby powiedzmy być w tym dobrym? wiem ze to zależy od predyspozycji każdego z nas ale zżera mnie ciekawość.

Rozumiem chęć poznania odpowiedzi na to pytanie, ale realnie to nie ma chyba na nie dobrej odpowiedzi. Z nauką programowania jest jak z nauką języków - wszystko zależy od konkretnej osoby. Podczas nauki jakiegoś języka możesz biegle się nim posługiwać, a i tak cały czas będziesz się czegoś uczył. W programowaniu jest jeszcze ten "haczyk", że cały czas pojawiają się jakieś nowe układy, peryferia i biblioteki - można się uczyć cały czas 😉 Dużo zależy też od tego co dokładnie chcesz robić i jakie programy chcesz tworzyć. Dla jednych ten kurs będzie wystarczający, a dla innych będzie dopiero pierwszym etapem na drodze do bycia programistą.

Cześć! Wykonuję  właśnie ćwiczenie ze zgadywaniem liczb. Z niewiadomych mi przyczyn po napisaniu programu pojawia mi się na dole "exit status 1  Błąd kompilacji dla płytki Arduino Uno".  Nie rozumiem tego kompletnie bo w samym programie nie pokazują  mi się  żadne błędy.  Pozdrawiam i bardzo  proszę  o pomoc.

#define zielona 8
#define zolta 9
#define czerwona 10
#define przycisk 11
#define potencjometr A5

int wylosowanaLiczba;
int Liczba;
byte szanse;
String podanaLiczba = "";
boolean START = true;

void setup() {
  Serial.begin(9600);
  pinMode(zielona,OUTPUT); //Przypisanie wyjś
  pinMode(zolta,OUTPUT);
  pinMode(czerwona,OUTPUT);
  pinMode(przycisk,INPUT_PULLUP);
}

void loop() {
  if (START = true) {
    digitalWrite(zielona,LOW);
    digitalWrite(zolta,LOW);
    digitalWrite(czerwona,LOW);
    
    Serial.println("Nacisnij przycisk i przekręć potencjometr");
    delay(50);
    while(digitalRead(przycisk) = HIGH);
  }

  wylosowanaLiczba = analogRead(potencjometr);
  Serial.println("Podaj liczbę od 0 do 1000");
  
  //while(Serial.available() = 0); //Czekamy na podanie liczby
  if (Serial.available() > 0) {
    podanaLiczba = Serial.readStringUntil('\n');
    Liczba = podanaLiczba.toInt();

    if ((wylosowanaLiczba - Liczba <= 50) && (wylosowanaLiczba - Liczba >= -50)){
    digitalWrite(zielona,HIGH); // zapal zieloną diodę
    
    Serial.println("Brawo odgadłeś liczbę");
    Serial.println("Jeżeli chcesz  zagrać jeszcze raz naciśnij przycisk");
    delay(50);

    while(digitalRead(przycisk) = HIGH);
    START = true;
    } else if (szanse > 0){
      digitalWrite(zolta,HIGH);

      Serial.println("Źle, podaj inną liczbę!");
      szanse--; //Odejmij szansę
      Serial.println("Posiadasz jeszcze tyle szans");
      Serial.println(szanse);
      START = false;
    } else if(szanse = 0){
      digitalWrite(czerwona,HIGH); //Zapal czerwoną diodę
      digitalWrite(zolta,LOW);
      Serial.println("Przegrałeś!");
      Serial.println("Jeżeli chcesz zagrać ponownie to naciśnij przycisk");
      delay(50);
      while(digitalRead(przycisk) = HIGH);
      START = true;
    }
    
  }

}

 

@ZwiewnyTrzmiel witam na forum 🙂 

Ciężko coś powiedzieć, co na pewno rzuciło mi się w oczy to nieprawidłowy warunek:

if (START = true)

Tu trzeba zamienić na operator porównania ==, ale nie jest to powód do nieskompilowania kodu.

A możesz przekopiować cały wynik? Przycisk znajdziesz na pomarańczowym tle tak ja na screenshocie:

image.thumb.png.790e400f1ce51d0a3f8f4226387b7a98.png

  • Lubię! 1
(edytowany)
2 godziny temu, Gieneq napisał:

@ZwiewnyTrzmiel witam na forum 🙂 

Ciężko coś powiedzieć, co na pewno rzuciło mi się w oczy to nieprawidłowy warunek:


if (START = true)

Tu trzeba zamienić na operator porównania ==, ale nie jest to powód do nieskompilowania kodu.

A możesz przekopiować cały wynik? Przycisk znajdziesz na pomarańczowym tle tak ja na screenshocie:

image.thumb.png.790e400f1ce51d0a3f8f4226387b7a98.png

Albo po prostu

if (START)
{
}

Dla wyjaśnienia - if "wchodzi" w kod, jeśli to co w nawiasie nie wyjdzie 0, czyli jeśli bedzie START jako false to będzie 0 i "pomija", a jeśli jako true, to będzie 1 i wykonuje. Tak możesz na przyszłość uniknąć takich błędów 😜

Edytowano przez BananWszyscy
  • Pomogłeś! 1
Dnia 13.05.2020 o 07:17, Gieneq napisał:

@ZwiewnyTrzmiel witam na forum 🙂 

Ciężko coś powiedzieć, co na pewno rzuciło mi się w oczy to nieprawidłowy warunek:


if (START = true)

Tu trzeba zamienić na operator porównania ==, ale nie jest to powód do nieskompilowania kodu.

A możesz przekopiować cały wynik? Przycisk znajdziesz na pomarańczowym tle tak ja na screenshocie:

image.thumb.png.790e400f1ce51d0a3f8f4226387b7a98.png

Zmieniłem operator na porównanie i nadal nic 😟 Błąd który mi wyrzuciło wygląda tak.

Cytat

 

Arduino:1.8.12 (Windows 8.1), Płytka:"Arduino Uno"

D:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -built-in-libraries D:\Arduino\libraries -libraries C:\Users\Paweł\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2341_0X0043 -ide-version=10812 -build-path C:\Users\PAWE~1\AppData\Local\Temp\arduino_build_107931 -warnings=none -build-cache C:\Users\PAWE~1\AppData\Local\Temp\arduino_cache_382737 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=D:\Arduino\hardware\tools\avr -verbose C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino
D:\Arduino\arduino-builder -compile -logger=machine -hardware D:\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -built-in-libraries D:\Arduino\libraries -libraries C:\Users\Paweł\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2341_0X0043 -ide-version=10812 -build-path C:\Users\PAWE~1\AppData\Local\Temp\arduino_build_107931 -warnings=none -build-cache C:\Users\PAWE~1\AppData\Local\Temp\arduino_cache_382737 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=D:\Arduino\hardware\tools\avr -verbose C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino
Using board 'uno' from platform in folder: D:\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: D:\Arduino\hardware\arduino\avr
Detecting libraries used...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\sketch\\sketch_may12a.ino.cpp" -o nul
Generating function prototypes...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\sketch\\sketch_may12a.ino.cpp" -o "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"D:\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Kompilowanie szkicu...
"D:\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-ID:\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-ID:\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\sketch\\sketch_may12a.ino.cpp" -o "C:\\Users\\PAWE~1\\AppData\\Local\\Temp\\arduino_build_107931\\sketch\\sketch_may12a.ino.cpp.o"
In file included from C:\Users\PAWE~1\AppData\Local\Temp\arduino_build_107931\sketch\sketch_may12a.ino.cpp:1:0:

C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino: In function 'void loop()':

D:\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:40:14: error: lvalue required as left operand of assignment

 #define HIGH 0x1

              ^

C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino:29:36: note: in expansion of macro 'HIGH'

D:\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:40:14: error: lvalue required as left operand of assignment

 #define HIGH 0x1

              ^

C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino:47:38: note: in expansion of macro 'HIGH'

D:\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:40:14: error: lvalue required as left operand of assignment

 #define HIGH 0x1

              ^

C:\Users\Paweł\Documents\Arduino\sketch_may12a\sketch_may12a.ino:63:38: note: in expansion of macro 'HIGH'

exit status 1
Błąd kompilacji dla płytki Arduino Uno.

 

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...