|!Punctuation|!Location|!Function|\n|{{{@@...@@}}}|surrounding text|@@highlighted text@@|\n|{{{//...//}}}|surrounding text|//italicized text//|\n|{{{==...==}}}|surrounding text|==strikethrough text==|\n|{{{''...''}}}|surrounding text|''boldfaced text''|\n|{{{__...__}}}|surrounding text|__underlined text__|\n|{{{[[text|url]]}}}|around text/url pair|[[text|http://gri.gallaudet.edu/]] link to url|\n|{{{ {...} }}}|''__tripled__'' surrounding text|{{{in-line literal text}}}|\n|{{{ {...} }}}|''__tripled__'' surrounding ''__lines__''|literal block|\n|{{{<<<}}}|surrounding ''__lines__''|blockquotes|\n|{{{!}}}|at start of line|subheading|\n|{{{|...|...|}}}|line sectioned by vertical bars|table row|\n|{{{!}}}|in a table|!table heading|\n|{{{----}}}|alone on line|horizontal rule|\n|{{{*}}}|at start of line|bulleted list item|\n|{{{#}}}|at start of line|numbered list item|\nsource: Kevin Cole, January 2007
TTiddlyWiki uses Wiki style markup, a way of lightly "tagging" plain text so it can be transformed into HTML. Edit this Tiddler to see samples.\n\n! Header Samples\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n! Unordered Lists:\n* Lists are where it's at\n* Just use an asterisk and you're set\n** To nest lists just add more asterisks...\n***...like this\n* The circle makes a great bullet because once you've printed a list you can mark off completed items\n* You can also nest mixed list types\n## Like this\n\n! Ordered Lists\n# Ordered lists are pretty neat too\n# If you're handy with HTML and CSS you could customize the [[numbering scheme|http://www.w3schools.com/css/pr_list-style-type.asp]]\n## To nest, just add more octothorpes (pound signs)...\n### Like this\n* You can also\n** Mix list types\n*** like this\n# Pretty neat don't you think?\n\n! Tiddler links\nTo create a Tiddler link, just use mixed-case WikiWord, or use [[brackets]] for NonWikiWordLinks. This is how the GTD style [[@Action]] lists are created. \n\nNote that existing Tiddlers are in bold and empty Tiddlers are in italics. See CreatingTiddlers for details.\n\n! External Links\nYou can link to [[external sites|http://google.com]] with brackets. You can also LinkToFolders on your machine or network shares.\n\n! Images\nEdit this tiddler to see how it's done.\n[img[http://img110.echo.cx/img110/139/gorilla8nw.jpg]]\n\n!Tables\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|colored| center |\n|caption|c\n\nFor a complex table example, see PeriodicTable.\n\n! Horizontal Rules\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves.\n\n! Blockquotes\n<<<\nThis is how you do an extended, wrapped blockquote so you don't have to put angle quotes on every line.\n<<<\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\n! Other Formatting\n''Bold''\n==Strike==\n__Underline__\n//Italic//\nSuperscript: 2^^3^^=8\nSubscript: a~~ij~~ = -a~~ji~~\n@@highlight@@\n@@color(green):green colored@@\n@@bgcolor(#ff0000):color(#ffffff):red colored@@\n
arduino
game changing micro-controller environment.
[[overview]]
[[Arduino Introduction Video|http://www.oreillynet.com/pub/e/2281]] \n\n[[old freeduino page|http://docbox.flint.com:8081/freeduino]]\n\n[[Arduino in the news|http://www.extremetech.com/computing/133448-black-hat-hacker-gains-access-to-4-million-hotel-rooms-with-arduino-microcontroller]]
Type the text for 'New Tiddler'\n\n[[Codebender|http://www.h-online.com/open/features/Codebender-coding-for-Arduino-in-the-cloud-1655110.html]]
Type the text for 'New Tiddler'\n\nhttp://www.h-online.com/open/news/item/Telefonica-brings-GSM-GPRS-to-Arduino-1674509.html
{{{\n/*\nEplora RC controller \n\nXbee seed Studio sheild plugged into icsp port and Digital pins 3 and 11\nUsing software serial library for serial port.\n\n\nBy cpyarger and John Hathaway\n\n\n*/\n\n\n#include <Esplora.h>\n#include <SoftwareSerial.h>\n\nSoftwareSerial mySerial(11, 3);\n/*\n You're going to handle eight different buttons. You'll use arrays, \n which are ordered lists of variables with a fixed size. Each array \n has an index (counting from 0) to keep track of the position\n you're reading in the array, and each position can contain a number.\n \n This code uses three different arrays: one for the buttons you'll read;\n a second to hold the current states of those buttons; and a third to hold\n the keystrokes associated with each button.\n */\n\n/*\n This array holds the last sensed state of each of the buttons\n you're reading.\n Later in the code, you'll read the button states, and compare them\n to the previous states that are stored in this array. If the two\n states are different, it means that the button was either\n pressed or released.\n */\nboolean buttonStates[8];\n\n/*\n This array holds the names of the buttons being read.\n Later in the sketch, you'll use these names with\n the method Esplora.readButton(x), where x\n is one of these buttons.\n */\nconst byte buttons[] = {\n JOYSTICK_DOWN,\n JOYSTICK_LEFT,\n JOYSTICK_UP,\n JOYSTICK_RIGHT,\n SWITCH_RIGHT, // fire\n SWITCH_LEFT, // bend\n SWITCH_UP, // nitro\n SWITCH_DOWN, // look back\n};\n\n/*\n This array tells what keystroke to send to the PC when a\n button is pressed.\n If you look at this array and the above one, you can see that\n the "cursor down" keystroke is sent when the joystick is moved\n down, the "cursor up" keystroke when the joystick is moved up\n and so on.\n*/\nconst char keystrokes[] = {\n 'B',\n 'L',\n 'F',\n 'R',\n 'R',\n 'L',\n 'F',\n 'B'\n};\n\n/*\n This is code is run only at startup, to initialize the\n virtual USB keyboard.\n*/\nvoid setup() {\n mySerial.begin(9600);\n}\n\n/*\n After setup() is finished, this code is run continuously.\n Here we continuously check if something happened with the\n buttons.\n*/\nvoid loop() { \n \n // Iterate through all the buttons:\n for (byte thisButton=0; thisButton<8; thisButton++) {\n boolean lastState = buttonStates[thisButton];\n boolean newState = Esplora.readButton(buttons[thisButton]);\n if (lastState != newState) { // Something changed!\n /* \n The Keyboard library allows you to "press" and "release" the\n keys as two distinct actions. These actions can be\n linked to the buttons we're handling.\n */\n if (newState == PRESSED) {\n mySerial.println(keystrokes[thisButton]);\n }\n else if (newState == RELEASED) {\n //Serial.println(keystrokes[thisButton]);\n mySerial.println('S');\n }\n }\n\n // Store the new button state, so you can sense a difference later:\n buttonStates[thisButton] = newState;\n }\n \n /*\n Wait a little bit (50ms) between a check and another.\n When a mechanical switch is pressed or released, the\n contacts may bounce very rapidly. If the check is done too\n fast, these bounces may be confused as multiple presses and\n may lead to unexpected behaviour.\n */\n delay(50);\n}\n\n}}}
[[Pinout for the Arduino Micro|http://docbox.flint.com/~flint/arduino/arduino_micro_pinout.png]]\n\n[[Pinout for another Arduino Micro|https://cdn.sparkfun.com/assets/9/c/3/c/4/523a1765757b7f5c6e8b4567.png]]\n\nSetup for Arduino Micro is:\nDevice: Arduino Micro\nPort /dev/ttyACM0\n\nHere is the [[Servo Information|https://www.arduino.cc/en/Reference/Servo]]\n\nHere is how to make the [[Servo Sweep|https://www.arduino.cc/en/Tutorial/Sweep]]
You will need the [[arduino capsense library |http://playground.arduino.cc//Main/CapacitiveSensor?from=Main.CapSense]]\n\n{{{\n#include <CapacitiveSensor.h>\n\n/*\n * CapitiveSense Library Music Box\n * Coded By: CPYarger 2013 \n *Library built by Paul Badger 2008\n * Uses a high value resistor e.g. 10M between send pin and receive pin\n * Resistor effects sensitivity, experiment with values, 50K - 50M. Larger resistor values yield larger sensor values.\n * Receive pin is the sensor pin - try different amounts of foil/metal on this pin\n */\n\n\n \nCapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); // 10M resistor between pins 4 & 6, pin 6 is sensor pin, add a wire and or foil\n \n\nvoid setup() \n{\n\n Serial.begin(9600);\n}\n\nvoid loop() \n{\n long start = millis();\n\n long total2 = cs_4_6.capacitiveSensor(30);\n\n Serial.println(total2);\n Serial.print(millis() - start); // check on performance in milliseconds\n Serial.print("\st"); // tab character for debug windown spacing\n\nif (total2 > 50){\n \n tone(8,total2/2);\n long total3 = (total2*2);\n tone(8,total3);\n tone(8,total3*30);\n tone(8,total2*10);\n };\n\nnoTone(8);\n Serial.println(total2); // print sensor output 2\n\n}\n}}}
This is the Efin Gas Car Code.\n{{{\n/*\n * NewSerialServo\n * --------------\n * Servo control from the Serial port\n *\n * Alteration of the control interface to use keys\n * to slew the servo horn left and right. Works best with\n * the Linux/Mac terminal "screen" program.\n *\n * Created 10 December 2007\n * copyleft 2007 Brian D. Wendt\n * http://principialabs.com/\n *\n * Adapted from code by Tom Igoe\n * http://itp.nyu.edu/physcomp/Labs/Servo\n */\n#include <Servo.h> \n\nServo myservo;\nServo myservo2;\nServo myservo3;\n\n/** Adjust these values for your servo and setup, if necessary **/\nint servoPin = 3; // control pin for servo motor\nint minPulse = 600; // minimum servo position\nint moveServo; \nint turnRate = 1;\nint pos = 90;\nint pos2 = 90;\nint pos3 = 9-0;\nint Ipos=90;\n\nvoid setup() {\n\n myservo.attach(3);\n myservo2.attach(4);\n myservo3.attach(5);\n myservo.write(Ipos);\n myservo2.write(Ipos);\n myservo3.write(Ipos);\n \n // Give the servo a starting point (or it floats)\n Serial.begin(9600);\n Serial.println(" Arduino Serial Servo Control");\n Serial.println("Servo control, ");\n Serial.println("Servo 1 Left : A ");\n Serial.println("Servo 1 Center : S ");\n Serial.println("Servo 1 Right : D ");\n Serial.println("Servo 2 Left : F ");\n Serial.println("Servo 2 Center : G ");\n Serial.println("Servo 2 Right : H ");\n Serial.println("Servo 3 Left : J ");\n Serial.println("Servo 3 Center : K ");\n Serial.println("Servo 3 Right : L ");\n Serial.println();\n}\n\nvoid loop() {\n // wait for serial input\n if (Serial.available() > 0) {\n // read the incoming byte:\n moveServo = Serial.read();\n\n // ASCII '' is 46 (comma and period, really)\n if (moveServo == 65 ) { pos = pos - turnRate; } // A\n if (moveServo == 68 ) { pos = pos + turnRate; } // D\n if (moveServo == 83 ) { pos = 90 ; } // S\n if (moveServo == 70 ) { pos2 = pos2 - turnRate; } // F\n if (moveServo == 72 ) { pos2 = pos2 + turnRate; } // G\n if (moveServo == 71 ) { pos2 = 90 ; } // H\n if (moveServo == 74 ) { pos3 = pos3 - turnRate; } // J\n if (moveServo == 76 ) { pos3 = pos3 + turnRate; } // K\n if (moveServo == 75 ) { pos3 = 90 ; } // L\n\n pos = constrain(pos, 5, 179);\n pos2 = constrain(pos2, 4, 180);\n pos3 = constrain(pos3, 4, 180);\n\n myservo.write(pos);\n myservo2.write(pos2);\n myservo3.write(pos3);\n\nSerial.print("Servo1: ");\nSerial.println(pos);\nSerial.print("Servo 2: ");\nSerial.println(pos2);\nSerial.print("Servo 3:");\nSerial.println(pos3);\n\n}\n}\n}}}
This Video Explains the GRN....\n\n|!{{{FT232RL}}} |! {{{Arduino Mini Pro}}}|\n|GND | GND|\n|CTS | |\n|VCC | VCC|\n|TX | RX|\n|RX | TX|\n|DTR | GNC|
This is the monitor...\n\n{{{\n watch "dmesg |tail -20 | grep -i dev"\n}}}\n\n\nThis is the base script:\n\n{{{\nport=$(dmesg | tail -20 |grep ACM | tail -1|tr -s " " | cut -d " " -f 4 |tr -d ":");echo $port;/usr/bin/miniterm.py /dev/$port\n}}}
|!Reference HTML|! Description|\n|[[Serial Event|https://www.arduino.cc/en/Reference/SerialEvent]]||\n|[[reference|https://www.google.com/search?client=ubuntu&channel=fs&q=arduino+sketch+starting+serial+&ie=utf-8&oe=utf-8]]||\n|[[reference|https://www.google.com/search?client=ubuntu&channel=fs&q=arduino+sketch+reset+upon+serial+&ie=utf-8&oe=utf-8]]||\n|[[reference|http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection]]||\n|[[reference|about:preferences#]]||
The Adruino Micro is a special animal...\n\n[[AnyPort]]\n[[SerialStart]]
{{{\n/*\n * NewSerialServo\n * --------------\n * Servo control from the Serial port\n *\n * Alteration of the control interface to use keys\n * to slew the servo horn left and right. Works best with\n * the Linux/Mac terminal "screen" program.\n *\n * Created 10 December 2007\n * copyleft 2007 Brian D. Wendt\n * http://principialabs.com/\n *\n * Adapted from code by Tom Igoe\n * http://itp.nyu.edu/physcomp/Labs/Servo\n */\n#include <Servo.h> \n\nServo myservo;\nServo myservo2;\nServo myservo3;\n\n/** Adjust these values for your servo and setup, if necessary **/\nint servoPin = 3; // control pin for servo motor\nint minPulse = 600; // minimum servo position\nint moveServo; \nint turnRate = 1;\nint pos = 90;\nint pos2 = 90;\nint pos3 = 9-0;\nint Ipos=90;\n\nvoid setup() {\n\n myservo.attach(3);\n myservo2.attach(4);\n myservo3.attach(5);\n myservo.write(Ipos);\n myservo2.write(Ipos);\n myservo3.write(Ipos);\n Serial.begin(9600);\n delay(5000); // delay 5 seconds\n Serial.println("Car Starts!"); // prints hello with ending line break \n \n // Give the servo a starting point (or it floats)\n}\n\nvoid loop() {\n // wait for serial input\n if (Serial.available() > 0) {\n // read the incoming byte:\n moveServo = Serial.read();\n\n // ASCII '' is 46 (comma and period, really)\n if (moveServo == 65 || moveServo == 97 ) { pos = pos - turnRate; svrep(); } // A\n if (moveServo == 83 || moveServo == 115 ) { pos = 90 ; svrep(); } // S\n if (moveServo == 68 || moveServo == 100 ) { pos = pos + turnRate; svrep(); } // D\n if (moveServo == 70 || moveServo == 102 ) { pos2 = pos2 - turnRate; svrep(); } // F\n if (moveServo == 72 || moveServo == 103 ) { pos2 = pos2 + turnRate; svrep(); } // G\n if (moveServo == 71 || moveServo == 104 ) { pos2 = 90 ; svrep(); } // H\n if (moveServo == 74 || moveServo == 106 ) { pos3 = pos3 - turnRate; svrep(); } // J\n if (moveServo == 75 || moveServo == 107 ) { pos3 = pos3 + turnRate; svrep(); } // K\n if (moveServo == 76 || moveServo == 108 ) { pos3 = 90 ; } // L\n // if (moveServo == 63 ) { Serial.println("Hello world!") ; } // ?\n if (moveServo == 63 ) {helpmenu(); } // ?\n\n pos = constrain(pos, 5, 179);\n pos2 = constrain(pos2, 4, 180);\n pos3 = constrain(pos3, 4, 180);\n\n myservo.write(pos);\n myservo2.write(pos2);\n myservo3.write(pos3);\n\n\n}\n\n\n}\n\nint helpmenu() {\n Serial.println(" Arduino Serial Servo Control");\n Serial.println("Servo control either upper of lower case, ");\n Serial.println("Servo 1 Left : A ");\n Serial.println("Servo 1 Center : S ");\n Serial.println("Servo 1 Right : D ");\n Serial.println("Servo 2 Left : F ");\n Serial.println("Servo 2 Center : G ");\n Serial.println("Servo 2 Right : H ");\n Serial.println("Servo 3 Left : J ");\n Serial.println("Servo 3 Center : K ");\n Serial.println("Servo 3 Right : L ");\n Serial.println();\n \n}\n\nint svrep() {\n\n Serial.println(moveServo);\n Serial.print("Servo1: ");\n Serial.println(pos);\n Serial.print("Servo 2: ");\n Serial.println(pos2);\n Serial.print("Servo 3:");\n Serial.println(pos3);\n\n\n}\n}}}\n