Spisu treści:

Puzzle oparte na kolorach: 6 kroków
Puzzle oparte na kolorach: 6 kroków

Wideo: Puzzle oparte na kolorach: 6 kroków

Wideo: Puzzle oparte na kolorach: 6 kroków
Wideo: Nauka zegara dla dzieci - dopasowywanie cyfr i liczb | CzyWieszJak 2024, Lipiec
Anonim
Puzzle oparte na kolorach
Puzzle oparte na kolorach
Puzzle oparte na kolorach
Puzzle oparte na kolorach

No hej!

Do szkolnego projektu o nazwie „If This Then That” musiałem zbudować interaktywny obiekt za pomocą Arduino. Postanowiłem zbudować łamigłówkę opartą na kolorach z prostym systemem informacji zwrotnych.

Co robi (w skrócie):

  1. Określa kolor obiektu nad czujnikiem koloru.
  2. Sprawdza, czy ten kolor pasuje do właściwego rozwiązania.
  3. Podnosi znak "umarłeś" lub nie, w zależności od tego, czy łamigłówka została rozwiązana, czy nie.

Może myślisz, że ta zagadka jest łatwa do rozwiązania?

Cóż, dla kogoś, kto wie, jak to działa, to trochę, nawet jeśli możesz zmienić rozwiązanie! Ale nie martw się, dla kogoś, kto nie ma pojęcia, jak to działa, wygląda to jak magia. Z mojego doświadczenia wynika, że wiele osób uważało, że zagadka dotyczy wagi, a nie koloru. I nie zapominaj, że jesteś mistrzem układanki, ile wskazówek, które podasz, zależy od Ciebie.

Jak (chciałbym) to wykorzystać:

Chciałbym wykorzystać tę zagadkę jako interaktywną część mojej kampanii D&D.

Krok 1: Materiały

Materiały
Materiały
Materiały
Materiały

Zanim zaczniesz budować, będziesz potrzebować następujących rzeczy:

Ogólnie:

(kreatywny) mózg do układania puzzli

Sprzęt Arduino:

  • Arduino Uno
  • Deska do krojenia chleba
  • Serwomotor
  • (TCS3200) Czujnik koloru
  • 7x męskie - żeńskie przewody połączeniowe (najlepiej wszystkie różne kolory, wysoce zalecane)
  • 11x męskie - męskie przewody połączeniowe
  • powerbank (jeśli chcesz, aby działał bez komputera/laptopa)

Obudowa:

  • Pudełko (buty) z pokrywką (do zbudowania puzzli)
  • kilka kawałków tektury (żeby zrobić ściany, filar w środku i umarłeś znak)
  • Drewniane klocki, przynajmniej jedna strona musi być większa niż czujnik koloru.
  • farba: czarna, czerwona, niebieska i zielona (i dowolne dodatkowe kolory, jeśli chcesz*)
  • Biała kartka A4
  • Nożyce
  • Czarny marker
  • Mocna dwustronna taśma klejąca
  • Ołówek
  • Klej błyskawiczny
  • Nóż do obierania lub nóż Stanley

* mała uwaga na temat kolorów: początkowo również używałem fioletu, ale czujnik nie potrafił odróżnić czerwonego od fioletu, więc go pominąłem. Pamiętaj, że inne kolory również mogą nie działać tak ładnie (ale mogą, nie próbowałem). Mój czujnik był tani, bardziej precyzyjny czujnik pewnie rozróżni więcej kolorów.

Krok 2: Zagadka

Zagadka
Zagadka

Najważniejszą częścią tego projektu jest posiadanie dobrej łamigłówki do łamania mózgu.

Jak widać na pierwszym obrazku (tym z intro), na moich blokach (z każdej strony poza spodem) namalowałem nordyckie runy. Mają do czynienia z zagadką. Następnie wkleiłem proste pytanie w sprawie: „Prawdziwe bogactwo to…?”.

Użyłem powyższego obrazka do przetłumaczenia run. Tłumaczyłam też osobom przymierzającym moją układankę.

Rozwiązanie zagadki:

Prawdziwe bogactwo to szczęście!

Gracz musi więc zastąpić skarb (klocek z symbolem bogactwa) klockiem z symbolem szczęścia.

Zapraszam do skorzystania z mojej układanki, ale zachęcam do wymyślenia własnej.

Krok 3: Okablowanie

Okablowanie
Okablowanie
Okablowanie
Okablowanie

Okablowanie jest dość proste, ponieważ są tylko 2 komponenty (i arduino). W opisie używam minimalnej liczby przewodów, jeśli chcesz użyć więcej, możesz to zrobić. (użyłem więcej przewodów na zdjęciu)

Arduino do płytki stykowej: (użyj 2 przewodów męskich - męskich)

  1. podłącz pin 5 V do strony + płytki stykowej.
  2. podłącz jeden z kołków uziemiających do - boku płytki stykowej.

Serwo: (użyj 3 przewodów męskich-męskich)

serwo posiada trzy przewody: zasilania, masy i sygnału.

  1. Zasilanie to zwykle czerwony przewód, podłącz ten przewód do strony + płytki stykowej.
  2. Uziemienie to zazwyczaj czarny lub brązowy przewód, podłącz ten przewód do boku płytki stykowej.
  3. Sygnał jest zazwyczaj żółtym lub pomarańczowym przewodem, podłącz ten przewód do poziomego rzędu na płytce stykowej.*

Czujnik koloru: (użyj 7 przewodów męskich-żeńskich)

  1. VCC: podłącz ten przewód do strony + płytki stykowej (to jest zasilanie).
  2. GND: podłącz ten przewód do - strony płytki stykowej (jest to uziemienie).
  3. S0: podłącz ten przewód do poziomego rzędu na płytce stykowej.*
  4. S1: podłącz ten przewód do poziomego rzędu na płytce stykowej.*
  5. S2: podłącz ten przewód do poziomego rzędu na płytce stykowej.*
  6. S3: podłącz ten przewód do poziomego rzędu na płytce stykowej.*
  7. WYJŚCIE: podłącz ten przewód do poziomego rzędu na płytce stykowej.*

*Nie mówię ci dokładnie, gdzie go przypiąć na tablicy prototypowej, ponieważ łatwiej jest samemu wymyślić, co jest najlepsze w połączeniu z twoją budową.

Płytka prototypowa do Arduino: **(Użyj 6 przewodów męskich - męskich)

Sprytnie jest sprawdzić, czy wszystko działa przed włożeniem go do etui, pamiętaj, że aby to zrobić, musisz wyjąć te kable i włożyć je z powrotem później. Pamiętaj, aby zapamiętać lub zapisać, który kabel jest do czego podłączony.

  1. podłącz wiersz, który podłączyłeś do pinu sygnałowego serwomechanizmu, do pinu 9 na Arduino.
  2. podłącz wiersz, który podłączyłeś do styku S0 czujnika koloru, do styku 4 w Arduino.
  3. podłącz wiersz, który podłączyłeś do styku S1 czujnika koloru, do styku 5 w Arduino.
  4. podłącz wiersz, który podłączyłeś do styku S2 czujnika koloru, do styku 6 w Arduino.
  5. podłącz wiersz, który podłączyłeś do styku S3 czujnika koloru, do styku 7 w Arduino.
  6. podłącz wiersz, który podłączyłeś do pinu OUT czujnika koloru, do pinu 8 w Arduino.

** wiersze, do których odnoszę się powyżej, to te na Twojej tablicy prototypowej.

Krok 4: Kodeks

W załączniku tutaj znajdziesz kod potrzebny do uruchomienia tego projektu. Komentarze w kodzie powinny jasno określać, co robi. Jeśli chcesz uzyskać więcej szczegółowych informacji na temat działania czujnika koloru (jeśli chcesz w pełni zrozumieć kod), polecam zapoznać się z samouczkami „Jak działa czujnik?” Sekcja.

Chociaż jeszcze tam nie jesteś, jest kilka rzeczy, które musisz dostosować w kodzie:

  • Dostosuj zmienne.
  • Dostosuj instrukcje if, aby pasowały do Twojej zagadki (w razie potrzeby).

Przydatne jest wykonanie filaru i pomalowanie bloków z następnego kroku przed dostosowaniem zmiennych, aby nie trzeba było tego robić ponownie.

Dostosuj zmienne:

Jeśli prawidłowo zbudowałeś okablowanie, kod powinien działać, weź kawałek papieru, długopis i (pomalowane) klocki.*

  1. Tymczasowo skomentuj funkcję void checkRiddle poza kodem. (aby ta część nie działała)
  2. Prześlij kod do swojego Arduino.
  3. Otwórz monitor szeregowy, zacznie działać i pokaże ci R= … G= … B= … (i kilka innych rzeczy, teraz nie mają znaczenia)
  4. Przytrzymaj kolorowy blok tuż przed czujnikiem (tak blisko, jak będzie to w ostatecznym projekcie) przez kilka sekund.
  5. Trzymając go nadal przed czujnikiem, odłącz zasilanie Arduino. (wyciągnij go z portu usb)
  6. Zapisz zewnętrzne (najwyższe i najniższe) wartości zmierzone przez czujnik koloru dla każdego koloru (R, G i B).
  7. Wybierz dwie wartości, które różnią się najmniej (na przykład R i B).**
  8. Odlicz +10 od najwyższej wartości i -10 od najniższej wartości, aby czujnik dopuszczał małe błędy.
  9. Teraz zastąp wartości w kodzie tymi, które masz teraz. (Komentarz mówi, które wartości należy zastąpić)
  10. Jeśli używasz innego koloru niż ja, zmień również serial.print.
  11. Teraz ponownie prześlij kod do swojego Arduino, używając świeżo zmierzonych wartości.
  12. Sprawdź, czy monitor szeregowy ładnie drukuje kolor, który właśnie umieściłeś w kodzie, trzymając przed sobą ten sam kolorowy blok. Upewnij się, że jest spójny, dopóki trzymasz go przed czujnikiem.
  13. Jeśli nie::(sprawdź wartości, zobacz, czy musisz zwiększyć zakres. Jeśli tak::) kod rozpoznaje teraz ten kolor.
  14. Teraz powtórz ten proces (kroki 4 - 13), aż wszystkie kolory, których chcesz użyć, zostaną zintegrowane z kodem.
  15. Nie zapomnij odkomentować funkcji void checkRiddle!

* przejdź najpierw do kroku „sprawa”, jeśli jeszcze ich nie pomalowałeś.

** możesz być bardziej precyzyjny, jeśli chcesz, używając wszystkich 3 (R, G i B), ale dla tego projektu nie jest to potrzebne.

Dostosuj instrukcje if do swojej zagadki: (tylko jeśli chcesz zmienić rozwiązanie)

Krok 5: Sprawa i malowanie bloków

Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków
Sprawa i malowanie klocków

Sprawa jest nieco trudna, ale nie jest trudna do wykonania, chodzi głównie o prawidłowe pomiary. Nie podaję moich wymiarów, ponieważ (najprawdopodobniej) nie używamy materiałów tego samego rozmiaru.

Malowanie bloków:

Pomaluj klocki na kolory, których chcesz użyć. Polecam czerwony, zielony i niebieski bo najłatwiej rozróżnić te z czujnikiem.

Jeśli nie tworzysz własnej puzzli, pomaluj również runy.

Filar:

Słupek ma (częściowo) ukryć czujnik koloru i dołączone do niego kable. Aby określić wymiary słupka, musisz zmierzyć boki czujnika koloru i określić, jak wysoko ma być słupek (ten, który chcesz patrz na zdjęciu ma 3 cm wysokości). Następnie narysuj to na kartonie i wytnij, możesz je pomalować, jeśli chcesz.

Podłącz przewody do czujnika ZANIM wbudujesz go w słupek, nie będziesz już w stanie dosięgnąć szpilek.

Do zamocowania czujnika wewnątrz słupka użyłem dwustronnej taśmy klejącej. Możesz to zobaczyć na trzecim zdjęciu.

Upewnij się, że diody na czujniku znajdują się wewnątrz słupka (nie nad krawędzią), klocki muszą później stanąć na nim.

Znak „umarłeś”:

Wytnij kawałek kartonu i napisz na nim „umarłeś”. Jak widać na pierwszym zdjęciu przykleiłem zdjęcie wściekłego mężczyzny z mieczem po drugiej stronie. Upewnij się, że znak ma wypustkę na dole. Użyj ucha, aby przykleić znak do serwomechanizmu.

Tworzenie pokoju:

  1. Pomaluj pudełko, które wybrałeś do etui. (Dowolny kolor, ja użyłem czarnego)
  2. Na dole pudełka narysuj kształt pomieszczenia, aby określić długość ścian. (Zmierz linie linijką).
  3. Określ, jaką wysokość mają mieć ściany. Ściany w moim przykładzie mają 5 centymetrów wysokości.
  4. Teraz masz wymiary swoich ścian, narysuj je na kartonie i wytnij.
  5. Pomalować ściany. (pomalowałem je na czarno)
  6. Przyklej ściany do pudełka, na liniach, które narysowałeś wcześniej.

Masz teraz skonfigurowany pokój.

Otwory na kable i tabliczkę:

Musisz zrobić dwa otwory w pudełku, jeden na kable i jeden na napis "umarłeś". i bądź ostrożny! dziur nie można usunąć, gdy już tam są.

zrób otwór pod miejscem, w którym chcesz umieścić czujnik koloru. Zrób otwór tak mały, jak to możliwe, ale unikaj naprężeń na kablach, aby nie poluzowały się.

Otwór na znak „umarłeś” musi być nieco grubszy niż karton, którego używasz, aby można go było wysunąć bez uderzania w obudowę. Długość dziury zależy od tego, jak duży jest znak. Użyj noża Stanleya lub noża do obierania, aby zrobić dziurę.

Teraz użyj taśmy dwustronnej, aby przymocować serwomotor z boku pudełka.

Krok 6: Masz pytania?

Teraz powinieneś być w stanie zbudować niesamowitą łamigłówkę opartą na kolorach z Arduino. Jeśli masz jakieś pytania, koniecznie zapytaj!

Miłego budowania!

Zalecana: