Spel voor doofblinden mensen
Voor dit project moet ik een spel ontwerpen voor doofblinden mensen. Zo dat deze mensen zich kunnen vermaken, met een spel wat ze samen kunnen doen of een spel wat ze alleen kunnen doen. Ik ga voor een spel wat ze samen kunnen doen omdat ik persoonlijk veel waarde hecht aan gezelschap van anderen mensen en het kunnen lachen met een gezelschapsspel. Ik wil dan ook bereiken met het spel dat deze mensen de gezelschap, lol en met namen de drang naar het winnen ervaren.
PVA
Procesboom
Ik heb de procesboom gemaakt om er een goed pakket van eisen van te kunnen maken waar ik nu aan bezig ben.
PVE
pvepvw.docx | |
File Size: | 15 kb |
File Type: | docx |
pvepvw1.2.docx | |
File Size: | 16 kb |
File Type: | docx |
Spel keuze
Ik heb gekozen voor het spel monopoly.
Functieboom
Ik heb een functie boom gemaakt in de vorm van een mindmap. Hier heb ik voor gekozen A omdat het een snellen manier is om te zien welke functie's het spel allemaal heeft, B omdat aan de hand van een functie boom het opzetten van een morfologisch overzicht veel makkelijker is.
Morfrologisch overzicht
Aan de hand van de funtie boom heb ik een Morfrologisch overzicht gemaakt. Het doel wat ik hier mee wou bereiken meer technische oplossingen verzalemelen van de deel problemen. Deze heb ik gecombineerd tot 3 concepten zie de lijnen.
Gesprek Jan-Willem
Ik ben met mijn concepten naar Jan-Willem gegaan om met hem deze concepten door te spreken. Samen zijn we tot de conclusie gekomen dat het slim was om de onderdelen van conept 1 (gele lijn) en concept 2 (groene lijn) met elkaar te combineren (zie mofrologisch overzicht). Maar het grootste probleem bij mijn spel zit het in kopen van een straat en hier een melding van geven. Dus heb ik de Tip gekregen om van cencept een en concept 2 het kopen en de melding van het betreden van een straat uit ga werken. Zodat ik deze kan testen bij de test dag (zie planning)
Gesprek Otto
In het gesprek met Otto ben ik gaan kijken hoe ik het beste op technisch gebied voor de testdag in model kon maken. Zo ben ik aan de hand van het gesprek tot de conclusie gekomen samen met Otto dat het meschien slimmer was om geen gebruik te maken van een Arduino. Dit omdat hier veel programerings werk bij komt kijken en je de problemen (verschillende singalen geven over het verloop van het spel) die ik wou oplossen met een behulp stroomkring niet persee een Arduino bij nodig hebt. Dus hebben we de basis gelegd voor de onderstaande stroom kring. het enige nadeel hier van zou zijn dat de pionnen met kabels aan het bord vast zitten. dit kan ook als voordeel gezien worden maar dit ga ik ook testen op de test dag.
Test stroomkring
Na aanleiding van mijn gesprek met Jan-Willem ben ik mij gaan richte op het kopen van een straat en hier een melding van te krijgen. Hiervoor wou ik met stroomkringen en schakelaars gaan werken en met een buzzer (zie morfrologisch overzicht, gesprek Jan-Willem en Otto). De bedoeling is dat je een straat koopt door middel van een schakelaar om te zetten. Deze schakelaar schakeld tussen 3 fases de plus , min en de neutraal. De totale schakeling bestaat uit twee stroom kringen. speler 1 heeft de plus stroomkring en speler 2 heeft de min stroom kring. Als de speler die de straat niet heeft gekocht op de gekochte straat komt sluit hij met de pion de stroomkring waardoor hij een buzzer laat afgaan bij de persoon die de straat heeft gekocht.
Dus kort om als speler 1 de kalverstraat koopt zet hij de schakelaar om. Als speler 2 dan op deze straat komt krijgt speler 1 de melding dat speler 2 op de straat van hem is gekomen. Hier beneden staat een afbeelding van de schakeling die ik heb getest deze word nog gedemonstreed in een teokomstig filmpje. |
Wat ik wil testen
Ik wou een x aantal dingen testen. zo wou ik natuurlijk mijn stroomkring testen met werkende buzzers. Een bijkomend iets wat ik wou gaan tesetn was wat doofblinden beter konden onderscheiden van elkaar kwa "tekst'. Dit wou ik testen op de onderstaande manier aan de linker kant. Ik wou ook nog verschillenden pionnen gaan testen welke ze het fijnste vonden om vast te houden. Deze test opstellening staat op de onderstaande foto aan de rechterkant.
Feedback van Jan-Willem en Otto
Na mijn uitleg wat ik wou gaan testen aan Jan-Willem en Otto kwamen zij er mee aan om toch een Arduino te gebruiken. De reden hier voor was dat je op technisch gebied veel meer mogelijk heden had. En zij kwamen met de tip om mij geheel te storten op het maken van een vakje bij monopoly voor de test dag. DIe overige tesetjes die ik had verzonnen kon je namelijk ook vragen en als ik tijd overhad na het maken van een vakje kon ik die testjes altijd nog verder uitwerken en toch mee nemen. Maar ze waren zeer enthausiast over mijn idee en voortgang van het project.
Uitgewerkte stroomkring (test model)
Voor de verdere uitwerking van de programering ben ik naar een megatronica docent gegaan die het laatste beetje heeft aangepast zodat de besturing werkte.
Uitslag test dag
Na de test dag blijkt dat mijn systheem goed werkt. het punt dat wel verbeterd moet worden is de triltijd van het motertje. En het is handiger als de pionnen niet met een kabel aan het spelbord vast zitten zoals eerder beschreven is in het gesprek met Otto. maar de basis was zeer duidelijk en kan ik hier goed verder mee werken met dit concept. De doofblinden mensen waren ook zeer enthausiast. maar na aanleiding van gesprekken die ik met de doofblinden mensen heb gevoerd zijn de volgenden punten naar boven gekomen waar ik rekening mee moet houden.
- zo moet er op de hoeken van de kaartjes aanstaan gegeven wat boven en onderkant is (denk hierbij aan de manier hoe 6 en 9 door ons word onderscheiden.
- Braille is voor de doofblinden mensen het duidelijks het duidelijks te onderscheiden deze punten moeten wel naar boven wijzen niet naar beneden. maar er zijn verschillenden doofblinden mensen die braille niet kunnen lezen dus het aan geven door middel van bijvoorbeeld streepjes is een goed alternatief.
- Ik had zelf in mijn Morfrologisch overzicht na gedacht over hoe ze de beurt makkelijk kunnen door geven. Dit blijkt alleen niet nodig te zijn de Doofblinden mensen tikken elkaar namelijk aan als de volgenden is. Dit systheem van de beurt door geven werkt goed voor hen. hier ben ik achter gekomen doordat ik wat door heb gevraag als het doortikken wel werkt.
- Voor het probleem van het geld waar ik mee zat heb ik als tip gekregen om te kijken naar de manier hoe ze echt geld onderscheiden van elkaar zo kunnen ze namelijk munt geld door de ribbels aan de zeikant van elkaar onderscheiden. op brief geld staan verschillende streepjes en een pinpas zou heel erg leuk zijn.
- Het is niet fijn als de pionnen van onderzijn afgerond als ze ergens in moeten worden gezet.
- Gek genoeg is het slim om gebruik te maken van kleuren aangezien er wel verschillenden doofblinden contrasten kunnen onderscheiden. structuur en kleur is het beste in combinatie met elkaar.
- Verder leek het hun wel erg om een echte gevangenis van ijzer op het bord te maken waar je iemand in op kon sluiten dit ter vervanging van de echte gevangenis.
- zo moet er op de hoeken van de kaartjes aanstaan gegeven wat boven en onderkant is (denk hierbij aan de manier hoe 6 en 9 door ons word onderscheiden.
- Braille is voor de doofblinden mensen het duidelijks het duidelijks te onderscheiden deze punten moeten wel naar boven wijzen niet naar beneden. maar er zijn verschillenden doofblinden mensen die braille niet kunnen lezen dus het aan geven door middel van bijvoorbeeld streepjes is een goed alternatief.
- Ik had zelf in mijn Morfrologisch overzicht na gedacht over hoe ze de beurt makkelijk kunnen door geven. Dit blijkt alleen niet nodig te zijn de Doofblinden mensen tikken elkaar namelijk aan als de volgenden is. Dit systheem van de beurt door geven werkt goed voor hen. hier ben ik achter gekomen doordat ik wat door heb gevraag als het doortikken wel werkt.
- Voor het probleem van het geld waar ik mee zat heb ik als tip gekregen om te kijken naar de manier hoe ze echt geld onderscheiden van elkaar zo kunnen ze namelijk munt geld door de ribbels aan de zeikant van elkaar onderscheiden. op brief geld staan verschillende streepjes en een pinpas zou heel erg leuk zijn.
- Het is niet fijn als de pionnen van onderzijn afgerond als ze ergens in moeten worden gezet.
- Gek genoeg is het slim om gebruik te maken van kleuren aangezien er wel verschillenden doofblinden contrasten kunnen onderscheiden. structuur en kleur is het beste in combinatie met elkaar.
- Verder leek het hun wel erg om een echte gevangenis van ijzer op het bord te maken waar je iemand in op kon sluiten dit ter vervanging van de echte gevangenis.
Arduino
Mijn kerst vakantie heb ik besteed aan het werkend krijgen van de Arduino hier onder staat de programmering hoe ik het nu heb aan gepakt.
#define RED_LED_PIN 13
#define GREEN_LED_PIN 12
#define BUTTON_1 3
#define BUTTON_2 4
int vorigKnopStatus = LOW;
int vorigKnopStatus2 = LOW;
void setup()
{
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
}
void loop()
{
int knopStatusNu = digitalRead(BUTTON_1);
if (knopStatusNu != vorigKnopStatus)
{
if (knopStatusNu == HIGH)
{
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
digitalWrite(RED_LED_PIN, LOW);
}
vorigKnopStatus = knopStatusNu;
}
int knopStatusNu2 = digitalRead(BUTTON_2);
if (knopStatusNu2 != vorigKnopStatus2)
{
if (knopStatusNu2 == HIGH)
{
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
delay(500);
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
}
vorigKnopStatus2 = knopStatusNu2;
}
}
#define RED_LED_PIN 13
#define GREEN_LED_PIN 12
#define BUTTON_1 3
#define BUTTON_2 4
int vorigKnopStatus = LOW;
int vorigKnopStatus2 = LOW;
void setup()
{
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
}
void loop()
{
int knopStatusNu = digitalRead(BUTTON_1);
if (knopStatusNu != vorigKnopStatus)
{
if (knopStatusNu == HIGH)
{
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
digitalWrite(RED_LED_PIN, LOW);
}
vorigKnopStatus = knopStatusNu;
}
int knopStatusNu2 = digitalRead(BUTTON_2);
if (knopStatusNu2 != vorigKnopStatus2)
{
if (knopStatusNu2 == HIGH)
{
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
delay(500);
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
}
vorigKnopStatus2 = knopStatusNu2;
}
}
op de onderstaande afbeelding is te zien hoe ik alles heb aangesloten. het loshangende kabeltje dient als schakelaar (BUTTON1/2)
Indeling bord
Ik heb voor een 5 hoekig bord gekozen omdat ik hem eerst rond wou maken maar dit kwa productie manieren niet wenselijk was. een 5 hoekig bord is namelijk veel makkelijker te produceren. Dit heb ik gedaan aan de hand van verschillende vorm schetsen. Deze heb ik met Jan-Willem besproken. Op de afbeelding hier onder is te zien hoe mijn bord indeling word.
Stroom schema
Ik heb dit schema op gezet om voor mij zelf een duidelijk beeld te crieëren bij de productie zodat ik alles gelijk goed aan sluit. De schakelaars enzo zijn gebaseerd op het bovenstaande bord.het schema is op de onderstaande afbeelding te zien.
Aangespaste Arduino programmering
In deze programmering de start en boete knop bij toegevoegd
#define RED_LED_PIN 13
#define GREEN_LED_PIN 12
#define BLAUW_LED_PIN 11
#define GEEL_LED_PIN 10
#define BUTTON_1 3
#define BUTTON_2 4
#define BUTTON_3 5
#define BUTTON_4 6
int vorigKnopStatus = LOW;
int vorigKnopStatus2 = LOW;
int vorigKnopStatus3 = LOW;
int vorigKnopStatus4 = LOW;
void setup()
{
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BLAUW_LED_PIN, OUTPUT);
pinMode(GEEL_LED_PIN, OUTPUT);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
pinMode(BUTTON_3, INPUT);
pinMode(BUTTON_4, INPUT);
}
void loop()
{
int knopStatusNu = digitalRead(BUTTON_1);
if (knopStatusNu != vorigKnopStatus)
{
if (knopStatusNu == HIGH)
{
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
digitalWrite(RED_LED_PIN, LOW);
}
vorigKnopStatus = knopStatusNu;
}
int knopStatusNu2 = digitalRead(BUTTON_2);
if (knopStatusNu2 != vorigKnopStatus2)
{
if (knopStatusNu2 == HIGH)
{
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
delay(500);
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
}
vorigKnopStatus2 = knopStatusNu2;
}
int knopStatusNu3 = digitalRead(BUTTON_3);
if (knopStatusNu3 != vorigKnopStatus3)
{
if (knopStatusNu3 == HIGH)
{
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
delay(500);
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
delay(500);
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
}
vorigKnopStatus3 = knopStatusNu3;
}
int knopStatusNu4 = digitalRead(BUTTON_4);
if (knopStatusNu4 != vorigKnopStatus4)
{
if (knopStatusNu4 == HIGH)
{
digitalWrite(GEEL_LED_PIN, HIGH);
delay(4000);
digitalWrite(GEEL_LED_PIN, LOW);
}
vorigKnopStatus4 = knopStatusNu4;
}
}
#define RED_LED_PIN 13
#define GREEN_LED_PIN 12
#define BLAUW_LED_PIN 11
#define GEEL_LED_PIN 10
#define BUTTON_1 3
#define BUTTON_2 4
#define BUTTON_3 5
#define BUTTON_4 6
int vorigKnopStatus = LOW;
int vorigKnopStatus2 = LOW;
int vorigKnopStatus3 = LOW;
int vorigKnopStatus4 = LOW;
void setup()
{
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BLAUW_LED_PIN, OUTPUT);
pinMode(GEEL_LED_PIN, OUTPUT);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
pinMode(BUTTON_3, INPUT);
pinMode(BUTTON_4, INPUT);
}
void loop()
{
int knopStatusNu = digitalRead(BUTTON_1);
if (knopStatusNu != vorigKnopStatus)
{
if (knopStatusNu == HIGH)
{
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
digitalWrite(RED_LED_PIN, LOW);
}
vorigKnopStatus = knopStatusNu;
}
int knopStatusNu2 = digitalRead(BUTTON_2);
if (knopStatusNu2 != vorigKnopStatus2)
{
if (knopStatusNu2 == HIGH)
{
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
delay(500);
digitalWrite(GREEN_LED_PIN, HIGH);
delay(500);
digitalWrite(GREEN_LED_PIN, LOW);
}
vorigKnopStatus2 = knopStatusNu2;
}
int knopStatusNu3 = digitalRead(BUTTON_3);
if (knopStatusNu3 != vorigKnopStatus3)
{
if (knopStatusNu3 == HIGH)
{
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
delay(500);
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
delay(500);
digitalWrite(BLAUW_LED_PIN, HIGH);
delay(500);
digitalWrite(BLAUW_LED_PIN, LOW);
}
vorigKnopStatus3 = knopStatusNu3;
}
int knopStatusNu4 = digitalRead(BUTTON_4);
if (knopStatusNu4 != vorigKnopStatus4)
{
if (knopStatusNu4 == HIGH)
{
digitalWrite(GEEL_LED_PIN, HIGH);
delay(4000);
digitalWrite(GEEL_LED_PIN, LOW);
}
vorigKnopStatus4 = knopStatusNu4;
}
}
Keuze pionen
Ik had verschillende mogelijkheden voor een pion deze mogelijk heden zie je onder het kopje wat wil ik testen. Maar het grote nadeel van al deze pionnen was dat ik dan een schakelaar moest bedenken die in alle richtingen contact kon maken. Dus ben ik verder gaan kijken naar een mogelijkheid om een schakelaar te hebben die op twee vaste plaatsen contact maakt. Dus zat ik al snel te denken aan vierkante vormen dit kwam al meer in de buurt van wat ik wou hebben. uit eindelijk ben ik op het idee gekomen om twee verschillende huisjes te pakken een met spits dak en de ander met en trap vormmig dak. dit is in de trant van monopoly en heeft het voordeel dat je een vaste schakelaar hebt met 2 vaste punten.
CAD-model
spel.x_t | |
File Size: | 571 kb |
File Type: | spel.x_t |
Aangepast stroom schema
ik was in mijn vorige stroom schema vergeten de 3 fase schakelaars er in te plaatsen. En de 5V pin aan te sluiten. dus heb ik hem aan gepast en is hij te vinden op de onderstaande afbeelding.
Werkvoorbereidings document
werkvoorbereidings_document.xlsx | |
File Size: | 8 kb |
File Type: | xlsx |
betand_nr4.0.edrw | |
File Size: | 14 kb |
File Type: | edrw |
betand_nr5.0.edrw | |
File Size: | 16 kb |
File Type: | edrw |
betand_nr7.0.edrw | |
File Size: | 8 kb |
File Type: | edrw |