/ / / / / / / / / / /_/ / / / / _ / / _/ / / / / / _ / / / /_/ / _ / / / _ / / /_/ /_/ /_/ _ /_/ _/ \ / /_/ /_/ /_/ _ /_/ _/ MARK ESSEN, 2011 */
|
|
- Amberly Stevenson
- 5 years ago
- Views:
Transcription
1 /* / / / / / / / / / / /_/ / / / / _ / / _/ / / / / / _ / / / /_/ / _ / / / _ / / /_/ /_/ /_/ _ /_/ _/ \ / /_/ /_/ /_/ _ /_/ _/ MARK ESSEN, 2011 */ DESCRIPTION Play a game of hangman. Flip the ANALOG boolean to switch from analog to digital (uses the same shield, just swap the plugs appropriately) Analog: Dial to pick a letter, left button to input it as a guess. Game will respond with new game state (guessed word and limbs left) Press the right button to check the game state (during the pick a letter phase) Digital: Hit the choose button at varying lengths to pick letters through morse code. Lights and sounds indicate whether it was correct, incorrect, or an error read. Press the query button to check on the status of the word and your remaining limbs. ARDUINO CODE #include <Servo.h> //include servo library
2 // PIN STUFF const int choosebuttonpin = 0; //store the choose button pin # (analog) const int querybuttonpin = 3; //store the choose button pin # (analog) //NEEDS CONNECTION const int pointerservopin = 9; //store the pointer servo pin # (digital) const int knobpin = 2; //store the pressure pin # (analog) const int debugled = 13; //store the built in LED pin # (digital) Servo pointerservo; // create servo object to control a servo const int servomessagewaittotal = 100; //delay so you don't send too many signals to the servo int servomessagedelay = 0; //delay counter //leds const int yellowled = 10; const int redled = 11; const int greenled = 12; //sounds const int tonepin = 8; const int blanksound = 150; const int symbolsound = 30; const int limbsound = 300; const int correct = 0; const int incorrect = 1; const int error = 2; const int wingame = 3; const int start = 4; const int showprogress = 5; const int losegame = 6; const int showlives = 7; //morse const int dotlength = 25; const int inputdotlength = 25 * 6; const int waittimebetweencharacters = 100; const int userinputtimeup = 1000; String chosenletterinmorse; boolean senddataflag = false; boolean acceptinput = false; // GAME STUFF int limbs; //how many limbs you have left String secretword; //the word you're guessing String guessedword; //what you've guessed so far boolean ANALOG = false; int choosebuttonpressedlength; int choosebuttonnotpressedlength; boolean somedatainput = false; String chosenletter = ""; // WORD STUFF const int wordbanksize=12; String wordbank[wordbanksize] = "fiber","fatal","tutor","euros","tapes", "front","skirt","stats","scare","model", "nudes","nerds"; String alphabet = "9abcdefghijklmnopqrstuvwxyz_012345"; int base_three_alphabet[34]; void setup()
3 Serial.begin(9600); //start serial communication pinmode(debugled, OUTPUT); //connect the built in arduino LED for debug stuff if(analog) pointerservo.attach(pointerservopin); // attaches the servo pin to the servo object pinmode(yellowled,output); pinmode(redled,output); pinmode(greenled,output); pinmode(tonepin,output); pinmode(choosebuttonpin, INPUT); //connect the chooser pushbutton pinmode(querybuttonpin, INPUT); //connect the query pushbutton int i; for(i=0; i<34; i+=1) Serial.println(String(i)); String morse_string = get_morse_string_from_char(alphabet.charat(i)); Serial.println(morse_string); base_three_alphabet[i] = morse_string_to_base_three(morse_string); randomseed(analogread(1)); reset_game(); //reset game variables //reset game variables void reset_game() limbs = 5; //5 limbs to lose Serial.println("Hangman by Mark Essen, 2011"); Serial.println("it's time to play some hangman!"); secretword = get_random_word(); //arduino picks a word for user to guess guessedword = " "; //reset the correctly guessed letters //show_progress();//show how many limbs left and the letters guessed correctly choosebuttonpressedlength = 0; choosebuttonnotpressedlength = 0; chosenletterinmorse = ""; digitalwrite(redled,low); digitalwrite(yellowled,low); digitalwrite(greenled,low); acceptinput = false; clear_input_data(); play_melody(start); //game loop void loop() acceptinput = true; if(query_button_pressed()) show_progress(); if(analog) chosenletter = get_letter_from_knob(); point_dial_to_letter(chosenletter);
4 senddataflag = false; if(acceptinput) update_input_data(); if( (ANALOG && choose_button_pressed() ) senddataflag) Serial.println("you guessed " + chosenletter); if(is_letter_in_secret_word(chosenletter)) reveal_letter_in_guessed_word(chosenletter); if(!analog) flash_correct(); if(!analog) flash_incorrect(); Serial.println(chosenLetter+" was not in the word!"); lose_a_limb(); delay(100); if(check_lose_state()) play_melody(losegame); delay(900); reset_game(); clear_input_data(); if(check_win_state()) play_melody(wingame); delay(100); flash_message(greenled,guessedword,900); delay(200); flash_message(greenled,guessedword,900); delay(200); flash_message(greenled,guessedword,900); delay(900); reset_game(); void clear_input_data() somedatainput = false; senddataflag = false; choosebuttonnotpressedlength = 0; choosebuttonpressedlength = 0; chosenletterinmorse=""; chosenletter = ""; void play_melody(int track) switch(track) case start: int i; for(i=0; i<10; i+=1)
5 delay(20); int LED = redled; if(random(30)<20) if(random(10)<5) LED = greenled; LED = yellowled; play_long(random(1000),100,led); case correct: play_long(350,200,greenled); delay(75); play_long(500,100,greenled); delay(50); play_long(575,150,greenled); case showprogress: digitalwrite(yellowled,high); digitalwrite(redled,high); play_long(900,300,greenled); digitalwrite(yellowled,low); digitalwrite(redled,low); delay(75); digitalwrite(yellowled,high); digitalwrite(redled,high); play_long(900,700,greenled); digitalwrite(yellowled,low); digitalwrite(redled,low); case showlives: digitalwrite(yellowled,high); digitalwrite(redled,high); play_long(1000,150,greenled); digitalwrite(yellowled,low); digitalwrite(redled,low); delay(75); digitalwrite(yellowled,high); digitalwrite(redled,high); play_long(1000,200,greenled); digitalwrite(yellowled,low); digitalwrite(redled,low); case wingame: play_sweep(500,1000,500,greenled); delay(75); play_sweep(600,1100,500,greenled); delay(75); play_sweep(700,1200,500,greenled); delay(200); play_sweep(2000,1000,300,greenled); delay(200); play_sweep(2000,1000,300,greenled); delay(200); play_sweep(2000,1000,300,greenled); case losegame:
6 play_long(100,200,redled); delay(75); play_long(50,1200,redled); delay(75); play_long(25,2000,redled); case incorrect: play_long(200,200,redled); delay(75); play_long(25,1200,redled); case error: play_long(20,1200,yellowled); void play_long(int hz, int length, int LED) turn_on_led_and_note(led,hz); delay(length); turn_off_led_and_note(led); void play_sweep(int sweepstart, int sweepend, int sweeplength, int LED) int i = sweepstart; boolean up = true; if(sweepstart>sweepend) up = false; i = sweepend; boolean done = false; while(!done) turn_on_led_and_note(led,i); int freqdiff = abs(sweepstart - sweepend); delay( sweeplength / freqdiff); if(up) i+=1; if(i>=sweepend) done = true; i-=1; if(i<=sweepstart) done =true; turn_off_led_and_note(led); ///////////////////////////////////////////////////////////////////////////////////////////////// /////////////// void update_input_data() if(choose_button_pressed()) choosebuttonpressedlength+=1;
7 choosebuttonnotpressedlength = 0; somedatainput = true; turn_on_led_and_note(yellowled,symbolsound); choosebuttonnotpressedlength+=1; if(choosebuttonnotpressedlength==1) turn_off_led_and_note(yellowled); if(choosebuttonpressedlength > 0) String c = ""; if(choosebuttonpressedlength < inputdotlength) c = "."; c = "-"; chosenletterinmorse += c; Serial.println("added " + c + " to " + chosenletterinmorse); if(choosebuttonnotpressedlength > waittimebetweencharacters * 10 && somedatainput ) senddataflag = true; choosebuttonpressedlength = 0; if(senddataflag) chosenletter = get_letter_from_morse_string(chosenletterinmorse); ///////////////////////////////////////////////////////////////////////////////////////////////// ///////////// String get_letter_from_morse_string(string morse) int base_three_string = morse_string_to_base_three(morse); String letter = "error"; int i; for(i=1; i<27; i+=1) if(base_three_alphabet[i] == base_three_string) letter = alphabet.charat(i); if(letter.equals("error")) Serial.println("error finding letter in lookup table"); play_melody(error); clear_input_data(); return ""; return letter; void flash_correct() Serial.println("correct!");
8 play_melody(correct); //flash_message(greenled,"s",0); void flash_incorrect() Serial.println("incorrect!"); play_melody(incorrect); //flash_message(redled,"o",0); String get_random_word() String randomword = wordbank[round(random(wordbanksize))]; //grab a random word from //the wordbank //randomword = "zzaae"; Serial.println(">>the secret word is " + randomword); return randomword; boolean is_letter_in_secret_word(string chosenletter) String secretchecker = secretword.replace(chosenletter,"@"); //turns all instances of the //chosen letter into garbage if(secretchecker.equals(secretword)) //checks for garbage return false; return true; void reveal_letter_in_guessed_word(string revealedletter) boolean charstoreplace[5];//word length array of flags for replacing letters int i; for(i=0; i<5; i+=1)//loop through charstoreplace flag array charstoreplace[i]=false; //set all flags to false for(i=0; i<5; i+=1)//loop through secret word String nthchar = secretword.charat(i);//look at nth char if(nthchar.equals(revealedletter)) //see if it's the one chosen charstoreplace[i]=1; //flag the position for replacement in the guessed word for(i=0; i<5; i+=1)//loop through guessed word if(charstoreplace[i])//see if the position is flagged guessedword.setcharat(i,revealedletter.charat(0)); //replace it with the revealed letter // Serial.println(revealedLetter + " was in the word!"); void lose_a_limb() limbs-=1; //hack off a limb Serial.println("lost a limb!"); void point_dial_to_letter(string indicatedletter)
9 int val = alphabet.indexof(indicatedletter); //find the position of the //letter in the alphabet //Serial.println("found character at alphabet array index " + String(val)); val = map(val,0, 31, 179, 25);// scale it to use it with the servo // (value between 0 and 180) servomessagedelay+=1; if(servomessagedelay > servomessagewaittotal)//if we've waited long enough for the //servo to deal with the last message pointerservo.write(val); //tell the servo where to point servomessagedelay = 0; //reset the servo message delay String get_letter_from_knob() int val = analogread(knobpin); // read the value from the sensor val = round(map(val,0,1023,1,26)); String letter = String(alphabet.charAt(val)); // map it to the // alphabet string //if(!letter.equals(previouspressureletter))serial.println("picking... "+letter); //previouspressureletter=letter; return letter; boolean choose_button_pressed() if(analogread(choosebuttonpin) > 1023 / 2) return true; return false; boolean query_button_pressed() if(analogread(querybuttonpin) > 1023 / 2) return true; return false; void show_progress() acceptinput = false; if(analog) show_progress_analog(); show_progress_digital(); void show_progress_digital() play_melody(showprogress); Serial.println("so far you have guessed " + guessedword); flash_message(redled,guessedword,0); delay(200); play_melody(showlives); flash_message(yellowled,string(limbs),limbsound); delay(200); //digitalwrite(greenled,high);
10 void flash_message(int LED, String message, int note) Serial.println("flashing " + message); String morsestring; int i, w, n; n = symbolsound; if(note!=0) n = note; for(i=0; i< message.length(); i+=1) morsestring = get_morse_string_from_char( message.charat(i) ); if(morsestring.equals("")) flash_pin_symbol_tone(yellowled,'-',blanksound); for(w=0; w< morsestring.length(); w+=1) flash_pin_symbol_tone(greenled,morsestring.charat(w),n); delay(waittimebetweencharacters); Serial.println("done flashing"); void flash_pin_symbol_tone(int LED, char c, int note) int length; length = 0; if(c=='-') length = dotlength*3; if(c=='.') length = dotlength; if(length>0) turn_on_led_and_note(led,note); delay(length); turn_off_led_and_note(led); delay(waittimebetweencharacters); void turn_on_led_and_note(int LED, int note) digitalwrite(led,high); tone(tonepin,note); void turn_off_led_and_note(int LED) digitalwrite(led,low); notone(tonepin); String get_morse_string_from_char(char letter) String morse; switch(letter)
11 case 'a': morse = ".- "; case 'b': morse = "-... "; case 'c': morse = "-.-. "; case 'd': morse = "-.. "; case 'e': morse = ". "; case 'f': morse = "..-. "; case 'g': morse = "--. "; case 'h': morse = "... "; case 'i': morse = ".. "; case 'j': morse = ".--- "; case 'k': morse = "-.- "; case 'l': morse = ".-.. "; case 'm': morse = "-- "; case 'n': morse = "-. "; case 'o': morse = "--- "; case 'p': morse = ".--. "; case 'q': morse = "--.- "; case 'r': morse = ".-. "; case 's': morse = "... "; case 't': morse = "- "; case 'u': morse = "..- ";
12 case 'v': morse = "...- "; case 'w': morse = ".-- "; case 'x': morse = "-..- "; case 'y': morse = "-.-- "; case 'z': morse = "--.. "; case '0': morse = "-----"; case '1': morse = ".----"; case '2': morse = "..---"; case '3': morse = "...--"; case '4': morse = "...-"; case '5': morse = "..."; case '_': morse = ""; case '9': morse = "...--"; default: morse = "..."; Serial.println("error, no morse found for char "+String(letter)); return morse; int morse_string_to_base_three(string morse) int i; int base_three = 0; for(i=0; i<5; i+=1) if(morse.charat(i)=='.') base_three += 1 * pow(3,i); if(morse.charat(i)=='-') base_three += 2 * pow(3,i);
13 if(morse.charat(i)== ' ') base_three += 0 * pow(3,i); Serial.println("generated base three int of "+String(base_three)); return base_three; void wait() delay(100); void show_progress_analog() Serial.println("so far you have guessed " + guessedword); int i; int timestamp; long wait = 10000; for(i=0; i<5; i+=1) String let; let = String(guessedWord.charAt(i)); Serial.println(String(i) + "st char is " + let); timestamp = 0; while(timestamp<wait) point_dial_to_letter("9"); //clear timestamp+=1; timestamp =0; while(timestamp<wait) point_dial_to_letter(let); timestamp+=1; Serial.println("you have " + String(limbs) + " limb(s) remaining..."); timestamp = 0; while(timestamp<wait) point_dial_to_letter("9"); //clear timestamp+=1; timestamp = 0; while(timestamp<wait) point_dial_to_letter(string(limbs)); //set timestamp+=1; boolean check_win_state() if(guessedword.equals(secretword)) Serial.println("you win! \n\n"); return true; return false;
14 boolean check_lose_state() if(limbs<1) Serial.println("game over!"); return true; return false; SOLDERING
15 SCHEMATIC MATERIALS laser cut job $7 arduino shield - $5
16 usb male>female $2 422 servo + housing $25 total: $39ish everything I had: wire, arcade buttons, 10k pot, resistors, usb cable + ac plug, wood, plexi, screw, glue...
VOLCANO HANGMAN by Katie Ammons
VOLCANO HANGMAN by Katie Ammons Object: To guess the five letter volcano word before the house catches on fire! Game Components: BLACK DIAL: Move this dial to chose a letter. BLUE BUTTON: Push this button
More informationKNOCK LOCK MAKE YOUR OWN SECRET LOCKING MECHANISM TO KEEP UNWANTED GUESTS OUT OF YOUR SPACE! Discover: input with a piezo, writing your own functions
125 KNOCK LOCK MAKE YOUR OWN SECRET LOCKING MECHANISM TO KEEP UNWANTED GUESTS OUT OF YOUR SPACE! Discover: input with a piezo, writing your own functions Time: 1 HOUR Level: Builds on projects: 1, 2, 3,
More informationMake your own secret locking mechanism to keep unwanted guests out of your space!
KNOCK LOCK Make your own secret locking mechanism to keep unwanted guests out of your space! Discover : input with a piezo, writing your own functions Time : 1 hour Level : Builds on projects : 1,,3,4,5
More informationMAKE & COLLABORATE: SECRET KNOCK LOCK
MAKE & COLLABORATE: SECRET KNOCK LOCK A project from Arduino Project Handbook: 25 Practical Projects to Get You Started Project 9: Secret KnocK LocK For centuries clandestine groups have used Secret KnocKS
More informationEnergia MSP-430!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1
Energia MSP-430 1 3 Energia 4 4 4 6 8 9 Energia 11 18 2 IIB Energia MSP-430 IIB C C++ 3 Energia Energia MSP-430 Windows Mac OS Linux MSP-430, http://www.energia.nu, Max OS X, windows Linux Mac OS X, energia-
More informationCuriosity Killed the Cat?
Curiosity Killed the Cat? Curiosity Killed the Cat? is based loosely on the thought experiment devised by Erwin Schrödinger in 1935. Schrödinger s cat explores the idea of applying the quantum idea of
More informationSimple design exercise similar to what you will do for your CS102 project (and what happens in industry!) Stages:
Hangman Game Simple design exercise similar to what you will do for your CS102 project (and what happens in industry!) Stages: Requirements, UI, Detailed Design, implementation, Testing, Maintenance,...
More informationCreate moving images in forward and reverse with your Arduino when you connect a motor to an H-bridge and some still images BATTERY POTENTIOMETER
ZOETROPE Create moving images in forward and reverse with your Arduino when you connect a motor to an H-bridge and some still images Discover : H-bridges Time : 30 minutes Level : Builds on projects :
More informationCode. void setup() { Serial.begin(9600); dot.attach(a1); gallow.attach(a0);
Death Guess Death Guess is an analog version of the word game: Hang-man. Simplified from the classic time-waster played on paper, this electronic version is merely a series of guesses that can result in
More informationLab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process
Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's
More informationJunying Huang Fangjie Zhou. Smartphone Locker
Junying Huang Fangjie Zhou Smartphone Locker Motivation and Concept Smartphones are making our lives more and more convenient. In addition to some basic functions like making calls and sending messages,
More informationmyservoa.attach(3); // attaches the servo on pin 3 to the servo object //copy from servo code
#include #include //copy from servo code // a maximum of eight servo objects can be created Servo myservoa; // works on motor A Servo myservob; // works on motor B Servo myservoc;
More informationThe Big Idea: Background: About Serial
Lesson 6 Lesson 6: Serial Serial Input Input The Big Idea: Information coming into an Arduino sketch is called input. This lesson focuses on text in the form of characters that come from the user via the
More informationIntroduction to Arduino Diagrams & Code Brown County Library
Introduction to Arduino Diagrams & Code Project 01: Blinking LED Components needed: Arduino Uno board LED Put long lead into pin 13 // Project 01: Blinking LED int LED = 13; // LED connected to digital
More informationIntroduction to Arduino Diagrams & Code Brown County Library
Introduction to Arduino Diagrams & Code Project 01: Blinking LED Components needed: Arduino Uno board LED Put long lead into pin 13 // Project 01: Blinking LED int LED = 13; // LED connected to digital
More informationThe Simon State Machine Part 1
The Simon State Machine Part 1 Lab Summary This lab is the first part to a two-part lab where you will be combining all the components you created throughout the semester into one functioning state machine.
More informationMemo on development of the car-rangefinder device/data logger for crosswalk study
Memo on development of the car-rangefinder device/data logger for crosswalk study -Alex Bigazzi; abigazzi@pdx.edu; alexbigazzi.com; Sept. 16 th -19 th, 2013 The device is supposed to measure distances
More informationcs281: Introduction to Computer Systems Lab03 K-Map Simplification for an LED-based Circuit Decimal Input LED Result LED3 LED2 LED1 LED3 LED2 1, 2
cs28: Introduction to Computer Systems Lab3 K-Map Simplification for an LED-based Circuit Overview In this lab, we will build a more complex combinational circuit than the mux or sum bit of a full adder
More informationTANGIBLE MEDIA & PHYSICAL COMPUTING MORE ARDUINO
TANGIBLE MEDIA & PHYSICAL COMPUTING MORE ARDUINO AGENDA RECAP ALGORITHMIC APPROACHES TIMERS RECAP: LAST WEEK WE DID: ARDUINO IDE INTRO MAKE SURE BOARD AND USB PORT SELECTED UPLOAD PROCESS COVERED DATATYPES
More informationDigital I/O Operations
Digital I/O Operations CSE0420 Embedded Systems By Z. Cihan TAYŞİ Outline Digital I/O Ports, Pins Direction Pull-up & pull-down Arduino programming Digital I/O examples on Arduino 1 Digital I/O Unlike
More informationEL Sequencer/Escudo Dos Hookup Guide
Page 1 of 15 EL Sequencer/Escudo Dos Hookup Guide Introduction The SparkFun EL Sequencer is an Arduino-comptabile microcontroller, with circuitry for controlling up to eight strands of electroluminescent
More informationGrove - Magnetic Switch
Grove - Magnetic Switch This is a Grove interface compatible Magnetic switch module. It is based on encapsulated dry reed switch CT10. CT10 is single-pole, single throw (SPST) type, having normally open
More informationArduino IDE The Developer Kit library The JeeLib library for RFM12 transceivers
SKU: 810011 The aim of this project is to build a hydrogen powered remote temperature sensor. It is based on the Arduino, Developer Kit fuel cell shield, Maxim DS18B20 1 Wire temperature sensor, and the
More informationArduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S
Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S Overview Motivation Circuit Design and Arduino Architecture Projects Blink the LED Switch Night Lamp
More informationWire Loop Game Nerves of Steel and Arduino in control
Post Project No. Wire Loop Game Nerves of Steel and Arduino in control Here s a multi-player (max. ) version of that nerve-racking game called Wire Loop where contestants have to pass a metal loop around
More informationCS 103 Lab 6 - Party Like A Char Star
1 Introduction In this lab you will implement a "hangman" game where the user is shown blanks representing letter of a word and then tries to guess and fill in the letters with a limited number of guesses.
More informationThis is the Arduino Uno: This is the Arduino motor shield: Digital pins (0-13) Ground Rail
Reacting to Sensors In this tutorial we will be going over how to program the Arduino to react to sensors. By the end of this workshop you will have an understanding of how to use sensors with the Arduino
More informationCS 103 Lab - Party Like A Char Star
1 Introduction In this lab you will implement a "hangman" game where the user is shown blanks representing letter of a word and then tries to guess and fill in the letters with a limited number of guesses.
More informationConnecting Arduino to Processing a
Connecting Arduino to Processing a learn.sparkfun.com tutorial Available online at: http://sfe.io/t69 Contents Introduction From Arduino......to Processing From Processing......to Arduino Shaking Hands
More informationArduino: Piezo Diagrams & Code Brown County Library. Projects 01 & 02: Scale and Playing a Tune Components needed: Arduino Uno board piezo
Arduino: Piezo Diagrams & Code Projects 01 & 02: Scale and Playing a Tune Components needed: Arduino Uno board piezo /* Piezo 01 : Play a scale Code adapted from Adafruit Arduino Lesson 10 (learn.adafruit.com/adafruit-arduino-lesson-
More information<Table of content> <Parts and description> <Circuit board Guide> <Pins> <Basics of Coding> <Intro to Arduino> <Intro> <Downloading Arduino IDO>
http://www.arduino.cc/
More informationSensors and Motor Control Lab
Sensors and Motor Control Lab Individual lab report #1 October 16, 2015 Menghan Zhang TeamA Amit Agarwal Harry Golash Yihao Qian Zihao Zhang Individual progress Challenges Teamwork a) Used potentiometer
More informationGoal: Strengthen our understanding of C and program our Mudduino boards
Goal: Strengthen our understanding of C and program our Mudduino boards #include #define myarraysize 10 int myarray[myarraysize] = 34, 18, -12, 7, 5; int i; printf("values are: ["); for(i=0;
More informationAdafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC
Adafruit Metro Mini Created by lady ada Last updated on 2018-01-24 08:12:28 PM UTC Guide Contents Guide Contents Overview Pinouts USB & Serial converter Microcontroller & Crystal LEDs Power Pins & Regulators
More informationIME-100 ECE. Lab 3. Electrical and Computer Engineering Department Kettering University. G. Tewolde, IME100-ECE,
IME-100 ECE Lab 3 Electrical and Computer Engineering Department Kettering University 3-1 1. Laboratory Computers Getting Started i. Log-in with User Name: Kettering Student (no password required) ii.
More informationEE 355 Lab 4 - Party Like A Char Star
1 Introduction In this lab you will implement a "hangman" game where the user is shown blanks representing letter of a word and then tries to guess and fill in the letters with a limited number of guesses
More informationStenBOT Robot Kit. Stensat Group LLC, Copyright 2018
StenBOT Robot Kit 1 Stensat Group LLC, Copyright 2018 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the
More informationArduino - DigitalReadSerial
arduino.cc Arduino - DigitalReadSerial 5-6 minutes Digital Read Serial This example shows you how to monitor the state of a switch by establishing serial communication between your Arduino or Genuino and
More informationArduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface.
Introductory Medical Device Prototyping Arduino Part 1, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB Interface
More informationTalk-O-Matic. Tangibly Displaying Conversation. Iris Howley
Talk-O-Matic Tangibly Displaying Conversation Iris Howley 1 Table of Contents Motivation 3 Challenges 4 Materials 5 Physical Construction 6 Electronic Details 8 Programming Code 10 Future Work 20 2 Motivation
More informationHardware Overview. Onboard Sensors. Pressure, Humidity, and Temperature. Air Quality and Temperature
Hardware Overview The ESP32 Environment Sensor Shield incorporates three sensors capable of measuring five different environmental variables. It also provides connections for several other sensors that
More informationkeyestudio Keyestudio MEGA 2560 R3 Board
Keyestudio MEGA 2560 R3 Board Introduction: Keyestudio Mega 2560 R3 is a microcontroller board based on the ATMEGA2560-16AU, fully compatible with ARDUINO MEGA 2560 REV3. It has 54 digital input/output
More informationAdapted from a lab originally written by Simon Hastings and Bill Ashmanskas
Physics 364 Arduino Lab 1 Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Vithayathil/Kroll Introduction Last revised: 2014-11-12 This lab introduces you to an electronic development
More informationExperiment 7: Robotics++ V3 Robot BlueToothbot
Experiment 7: Robotics++ V3 Robot BlueToothbot 1 Two different ways to control your robot via Bluetooth 1. Android phone wire your robot, download apps from the Google Play Store or install an APK (app
More informationCreate your own wireless motion sensor with
Create your own wireless motion sensor with Arduino If you have a friend that has an alarm system in his or her home, I am sure you ve all seen these white motion sensors that are usually fixed above doors
More informationLab 8. Arduino and WiFi - IoT applications
Lab 8. Arduino and WiFi - IoT applications IoT - Internet of Things is a recent trend that refers to connecting smart appliances and electronics such as microcontrollers and sensors to the internet. In
More informationRotary Encoder Basics
Rotary Encoder Basics A rotary encoder has a fixed number of positions per revolution. These positions are easily felt as small clicks you turn the encoder. The Keyes module that I have has thirty of these
More informationCSCI 1301: Introduction to Computing and Programming Spring 2018 Project 3: Hangman 2.0 (A Word Guessing Game)
Introduction In this project, you are going to implement the word guessing game, Hangman 2.0. Your program is going to get a random word from an enumerated list (instructions below) and then let the user
More informationAT42QT1010 Capacitive Touch Breakout Hookup Guide
Page 1 of 7 AT42QT1010 Capacitive Touch Breakout Hookup Guide Introduction If you need to add user input without using a button, then a capacitive touch interface might be the answer. The AT42QT1010 Capacitive
More informationIME-100 Interdisciplinary Design and Manufacturing
IME-100 Interdisciplinary Design and Manufacturing Introduction Arduino and Programming Topics: 1. Introduction to Microprocessors/Microcontrollers 2. Introduction to Arduino 3. Arduino Programming Basics
More informationArduino Starter Kit. Arduino IDE Programming Tutorials
2019 Arduino Starter Kit Arduino IDE Programming Tutorials 0 C programming 1. Hello world 2 2. LED Twinkle 7 3. Analog value 10 4. Advertising lights 14 5. Traffic lights 18 6. Key control 22 7. Answering
More informationArduino Cookbook O'REILLY* Michael Margolis. Tokyo. Cambridge. Beijing. Farnham Koln Sebastopol
Arduino Cookbook Michael Margolis O'REILLY* Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii 1. Getting Started 1 1.1 Installing the Integrated Development Environment (IDE)
More informationLab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System
Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System Ahmed Okasha okasha1st@gmail.com
More informationCTEC 1802 Embedded Programming Labs
CTEC 1802 Embedded Programming Labs This document is intended to get you started using the Arduino and our I/O board in the laboratory - and at home! Many of the lab sessions this year will involve 'embedded
More informationTA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT
TA0139 USER MANUAL ARDUINO 2 WHEEL DRIVE WIRELESS BLUETOOTH ROBOT KIT I Contents Overview TA0139... 1 Getting started: Arduino 2 Wheel Drive Wireless Bluetooth Robot Kit using Arduino UNO... 1 2.1. What
More informationThe Arduino Briefing. The Arduino Briefing
Mr. Yee Choon Seng Email : csyee@simtech.a-star.edu.sg Design Project resources http://guppy.mpe.nus.edu.sg/me3design.html One-Stop robotics shop A-Main Objectives Pte Ltd, Block 1 Rochor Road, #02-608,
More informationDual rocket altimeter using the ATmega 328 microcontroller. The AltiDuo
Dual rocket altimeter using the ATmega 328 microcontroller The AltiDuo Version date Author Comments 1.0 29/12/2012 Boris du Reau Initial Version Boris.dureau@neuf.fr 1.1 17/02/2013 Boris du Reau Updated
More informationMultimedia-Programmierung Übung 3
Multimedia-Programmierung Übung 3 Ludwig-Maximilians-Universität München Sommersemester 2016 Ludwig-Maximilians-Universität München Multimedia-Programmierung 1-1 Today Ludwig-Maximilians-Universität München
More informationSeeeduino LoRaWAN. Description
Seeeduino LoRaWAN SKU 102010128 LoRaWAN Class A/C Ultra long range communication Ultra low power consumption Arduino programming (based on Arduino Zero bootloader) Embeded with lithim battery management
More informationArduino Programming. Arduino UNO & Innoesys Educational Shield
Arduino Programming Arduino UNO & Innoesys Educational Shield www.devobox.com Electronic Components & Prototyping Tools 79 Leandrou, 10443, Athens +30 210 51 55 513, info@devobox.com ARDUINO UNO... 3 INNOESYS
More informationLab 4 - Asynchronous Serial Communications
Lab 4 - Asynchronous Serial Communications Part 1 - Software Loopback In serial communications one of the important tools we have that allows us to verify the communications channel is working properly
More informationSECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing
SECOND EDITION Arduino Cookbook Michael Margolis Beijing Cambridge Farnham Koln Sebastopol O'REILLY- Tokyo Table of Contents Preface xi 1. Getting Started 1 1.1 Installing the Integrated Development Environment
More informationAdafruit Optical Fingerprint Sensor
Adafruit Optical Fingerprint Sensor Created by lady ada Last updated on 2017-11-27 12:27:09 AM UTC Guide Contents Guide Contents Overview Enrolling vs. Searching Enrolling New Users with Windows Searching
More information3 Wire LED Module (SKU:DFR0090)
3 Wire LED Module (SKU:DFR0090) Contents 1 Introduction 2 Connection 3 Pinout Diagram 4 Sample Code 4.1 Test Procedure 4.2 Operating procedure Introduction This is 8 digital bits serial LED display. It
More informationLesson 5: LDR Control
Lesson 5: LDR Control Introduction: Now you re familiar with the DIY Gamer and editing in an Arduino sketch. its time to write one from scratch. In this session you will write that talks to the Light Dependent
More informationArduino 07 ARDUINO WORKSHOP 2007
ARDUINO WORKSHOP 2007 PRESENTATION WHO ARE WE? Markus Appelbäck Interaction Design program at Malmö University Mobile networks and services Mecatronics lab at K3, Malmö University Developer, Arduino community
More informationArduino Prof. Dr. Magdy M. Abdelhameed
Course Code: MDP 454, Course Name:, Second Semester 2014 Arduino What is Arduino? Microcontroller Platform Okay but what s a Microcontroller? Tiny, self-contained computers in an IC Often contain peripherals
More informationAdafruit DotStar FeatherWing
Adafruit DotStar FeatherWing Created by lady ada Last updated on 2018-08-22 04:03:05 PM UTC Guide Contents Guide Contents Overview Pinouts Power Pins Data Pins Usage DotMatrix Usage Downloads Files Schematic
More informationArduino. AS220 Workshop. Part III Multimedia Applications Lutz Hamel
AS220 Workshop Part III Multimedia Applications Lutz Hamel hamel@cs.uri.edu www.cs.uri.edu/~hamel/as220 Basic Building Blocks The basic building blocks for Arduino interactive object(s) are: Digital Input
More informationConnecting Arduino to Processing
Connecting Arduino to Processing Introduction to Processing So, you ve blinked some LEDs with Arduino, and maybe you ve even drawn some pretty pictures with Processing - what s next? At this point you
More informationLab 3 XBees and LCDs and Accelerometers, Oh My! Part 1: Wireless Communication Using XBee Modules and the Arduino
University of Pennsylvania Department of Electrical and Systems Engineering ESE 205 Electrical Circuits and Systems Laboratory I Lab 3 XBees and LCDs and Accelerometers, Oh My! Introduction: In the first
More informationParts List. XBEE/Wifi Adapter board 4 standoffs ¼ inch screws Cable XBEE module or Wifi module
Rover Wifi Module 1 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the Sten-Bot kit against component
More informationInternal Report: Heterogeneous IoT Network: TRACK-IoT Plateform. System Architecture. Controller. Proposed by: Hakima Chaouchi
Internal Report: Heterogeneous IoT Network: TRACK-IoT Plateform Proposed by: Hakima Chaouchi Team: Hakima Chaouchi; Kevin Raymond, Oscar Botero, Abderahim Ait Wakrim, Thomas Bourgeau. The TrackIot platform
More informationRobotics/Electronics Review for the Final Exam
Robotics/Electronics Review for the Final Exam Unit 1 Review. 1. The battery is 12V, R1 is 400 ohms, and the current through R1 is 20 ma. How many ohms is R2? ohms What is the voltage drop across R1? V
More informationCS12020 for CGVG. Practical 1. Jim Finnis
CS12020 for CGVG Practical 1 Jim Finnis (jcf1@aber.ac.uk) About me 20 years in the games industry (more or less) Windows, PS2, Xbox, Gamecube, Wii development experience DirectX (more than I like to think
More informationIntroduction to Microcontrollers Using Arduino. PhilRobotics
Introduction to Microcontrollers Using Arduino PhilRobotics Objectives Know what is a microcontroller Learn the capabilities of a microcontroller Understand how microcontroller execute instructions Objectives
More informationArduino Programming and Interfacing
Arduino Programming and Interfacing Stensat Group LLC, Copyright 2017 1 Robotic Arm Experimenters Kit 2 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and
More informationFSXThrottle All Quadrants (all models) Notes*
FSXThrottle All Quadrants (all models) Notes* * Please note that not all features and options described or listed in these notes may apply to your model. Table of Contents Introduction:...3 Our Commitment:...3
More informationUniversity of Hull Department of Computer Science C4DI Interfacing with Arduinos
Introduction Welcome to our Arduino hardware sessions. University of Hull Department of Computer Science C4DI Interfacing with Arduinos Vsn. 1.0 Rob Miles 2014 Please follow the instructions carefully.
More informationProgramming Language. Control Structures: Repetition (while) Eng. Anis Nazer Second Semester
Programming Language Control Structures: Repetition (while) Eng. Anis Nazer Second Semester 2017-2018 Repetition statements Control statements change the order which statements are executed Selection :
More informationObjectives: Learn how to input and output analogue values Be able to see what the Arduino is thinking by sending numbers to the screen
Objectives: Learn how to input and output analogue values Be able to see what the Arduino is thinking by sending numbers to the screen By the end of this session: You will know how to write a program to
More informationParts List. XBEE/Wifi Adapter board 4 standoffs ¼ inch screws Cable XBEE module or Wifi module
Rover Wifi Module 1 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the Sten-Bot kit against component
More informationArduino: RGB LEDs Diagrams & Code Brown County Library
Arduino: RGB LEDs Diagrams & Code Projects 01 & 02: Blinking RGB LED & Smooth Transition Components needed: Arduino Uno board breadboard RGB LED (common cathode) o If you have a common anode RGB LED, look
More informationUniversity of Portland EE 271 Electrical Circuits Laboratory. Experiment: Arduino
University of Portland EE 271 Electrical Circuits Laboratory Experiment: Arduino I. Objective The objective of this experiment is to learn how to use the Arduino microcontroller to monitor switches and
More informationIntroduction to Arduino. Wilson Wingston Sharon
Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert
More informationSpecification. 1.Power Supply direct from Microcontroller Board. 2.The circuit can be used with Microcontroller Board such as Arduino UNO R3.
Part Number : Product Name : FK-FA1410 12-LED AND 3-BOTTON SHIELD This is the experimental board for receiving and transmitting data from the port of microcontroller. The function of FK-FA1401 is fundamental
More informationPro Trinket Keyboard. Created by Mike Barela. Last updated on :45:13 AM EST
Pro Trinket Keyboard Created by Mike Barela Last updated on 2015-01-08 11:45:13 AM EST Guide Contents Guide Contents Overview Circuit Wiring Library Examples Notes How is the software implemented? 2 3
More informationSPDM Level 2 Smart Electronics Unit, Level 2
SPDM Level 2 Smart Electronics Unit, Level 2 Evidence Folder John Johns Form 3b RSA Tipton 1.1 describe the purpose of circuit components and symbols. The candidate can describe the purpose of a range
More informationHUB-ee BMD-S Arduino Proto Shield V1.0
HUB-ee BMD-S Arduino Proto Shield V1.0 User guide and assembly instructions Document Version 1.0 Introduction 2 Schematic 3 Quick user guide 4 Assembly 5 1) DIP Switches 5 2) Micro-MaTch Connector Headers
More informationARDUINO. By Kiran Tiwari BCT 2072 CoTS.
ARDUINO By Kiran Tiwari BCT 2072 CoTS www.kirantiwari.com.np SO What is an Arduino? WELL!! Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Why Arduino? Simplifies
More informationUnit 7. 'while' Loops
1 Unit 7 'while' Loops 2 Control Structures We need ways of making decisions in our program To repeat code until we want it to stop To only execute certain code if a condition is true To execute one segment
More informationVKey Voltage Keypad Hookup Guide
Page 1 of 8 VKey Voltage Keypad Hookup Guide Introduction If you need to add a keypad to your microcontroller project, but don t want to use up a lot of I/O pins to interface with it, the VKey is the solution
More informationTANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO
TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO AGENDA ARDUINO HARDWARE THE IDE & SETUP BASIC PROGRAMMING CONCEPTS DEBUGGING & HELLO WORLD INPUTS AND OUTPUTS DEMOS ARDUINO HISTORY IN 2003 HERNANDO
More informationLecture 7. Processing Development Environment (or PDE)
Lecture 7 Processing Development Environment (or PDE) Processing Class Overview What is Processing? Installation and Intro. Serial Comm. from Arduino to Processing Drawing a dot & controlling position
More informationLab 4: Determining temperature from a temperature sensor
Start on a fresh page and write your name and your partners names on the top right corner of the page. Write the title of the lab clearly. You may copy the objectives, introduction, equipment, safety and
More informationSearch YouTube for 'WB7FHC' to see several videos of this project as it was developed.
/*********************************************************************** WB7FHC's Morse Code Decoder v. 1.1 (c) 2014, Budd Churchward - WB7FHC This is an Open Source Project http://opensource.org/licenses/mit
More informationprivate static final char[] Alphabet = "abcdefghijklmnopqrstuvwxyz".tochararray();
//Shelley Latreille Hang Man Game /* This program plays the game Hang Man with the user. Hang Man is a game that requires the user to guess the letters of a word before running out of incorrect guesses.
More informationRANDOM NUMBER GAME PROJECT
Random Number Game RANDOM NUMBER GAME - Now it is time to put all your new knowledge to the test. You are going to build a random number game. - The game needs to generate a random number between 1 and
More informationMonitor your home remotely using the Arduino
Monitor your home remotely using the Arduino WiFi Shield How to monitor some data in your home using precisely this Arduino WiFi shield. Along with the Arduino Uno board, the final system will form an
More informationGoal: Understand how to write programs for the Mudduino
Goal: Understand how to write programs for the Mudduino #include int main(void) int i = 0; i = i + 25; while(1) return 0; printf("%d\n, i); i++; // This is template behind Arduino sketches int
More information