Main/Participate
- Welcome! Arduino wants you ;) !
- The Playground is a community-created wiki of Arduino-related knowledge. If you see a typo, incorrect information, or want to add something please feel free to do so.
- For additional Text Formatting Rules and wiki editing techniques, see:
Editing Guidelines
- The Playground is for Arduino related information only.
- Arduino is for all ages and all people. Make sure your contribution is appropriate for all and not offensive to any.
- An Arduino account is required to edit the Playground so sign up if you don't already have one. Once you have logged in to your account you will see an edit link at the top of every Playground page.
- When you click edit a password page will open. The password is prefilled so all you have to do is wait until the I'm not a robot checkbox appears, click the checkbox, and wait until the green check mark appears, then click the submit button to enter the edit page.
- If you are adding to a Playground page please observe the formatting style used in the page and maintain consistency.
- The Playground contains a huge amount of information so organization is essential. Please take some time to find the most appropriate location for your contribution.
- For more complex sketches and libraries you may want to consider putting your code on GitHub and posting a link on the Playground. GitHub hosted code is easier for others to download and collaborate with. Uploading files to the Playground(using Attach:) is no longer allowed for regular users.
- You can create a new page by entering your desired URL after https://playground.arduino.cc/Main/ and then clicking the edit link.
- Make sure that you are not duplicating content and that there is not already a page that your information could be added to before creating a new page.
- Uploading files to the Playground is not allowed for standard users so if you want to add pictures or other files these will need to be hosted somewhere else.
- Follow the Formatting Suggestions.
- After creating the page look for an appropriate section elsewhere in the Arduino Playground to add a link to your new page, so that people can find it.
- Make sure to add an explanation of your edit in the Summary field.
- Before saving your edit, click the Preview button and check for typos and incorrect formatting.
- Once your edit is perfect, click the Save button.
- Congratulations, you have now added to the greatness of the Arduino Playground!
Removing Inappropriate Content
If you find spam, vandalism, or content that is not of interest to the Arduino community please remove it from the Playground. First check the history of the page to see if you can revert back to a previous version of the page that contains useful content by clicking the Restore link. If there is no useful content in the edit history then you should delete the page. To delete a page click the edit link, delete all text from the edit field, and then add the word delete. After saving the page will automatically be removed.
Formatting Suggestions
Here are some guidelines for when you add information to the wiki. These are not coming from a place of authority, so if you feel you know a better way, please change these guidelines!
Titles
You type
| You get
|
! Page Title
!! Major Title
!!! Minor Title
!!!! And More Titles
|
Page Title
Major Title
Minor Title
And More Titles
|
You can use 1 to 4 exclamation points to change the headings size.
Layout
If useful, make a Navigation section and use anchors where suited.
You type
| You get
|
! Navigation
* [[#MyTitle|My Title]]
* [[#MyOtherTitle|My Other Title]]
! [[#MyTitle]]My Title
My content
! [[#MyOtherTitle]]My Other Title
My other \\
multiline \\
content.
|
Navigation
My Title
My content
My Other Title
My other multiline content.
|
Source Code
You can put code into the playground with special formatting if you want. This is via the SourceBlock plugin, a pmWiki wrapper for GeSHi. Read more at those links, but here is a quick reference to optional PARAMETERS:
lang=LANGUAGE
to select one of the supported highlighters,
linenum{=START_NUMBER}
to enable line numbers and optionally specify start value.
tabwidth=TAB_WIDTH
to set the number of spaces to use for tab replacement(*).
header=TEXT
and footer=TEXT
to surround the source code(*).
highlight='LINE_NUMBER1, LINE_NUMBER2,...'
to specify the line numbers to point-out (separators are spaces, comma and semicolon).
-trim
to disable the automatic trimming of source.
-link
to disable the automatic generation of documentation links(*).
-getcode
to disable the "Get Code" view/download code link (see below).
Example 1:
You type
| You get
|
(:source lang=c++ linenum:)
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
(:sourceend:)
|
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
|
Example 2 (addition of square braces and @ symbol):
You type
| You get
|
[@
(:source lang=c++:)
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
(:sourceend:)
@]
|
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
|
Example 3 (Use of CodeBlock):
You type
| You get
|
(:code lang=c++:)
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
(:codeend:)
|
/*
Mr. Roboto
December, 2007
This is the most important software ever written
*/
Serial.println("Hello World. I am Mr. Robot.");
|
Structure
In general, pages use the ! character for making separators between main and sub topics. If you are adding content to a sub-area and that area gets large (use judgement), it is probably time to create a sub page and add a link from the original location. This keeps the main wiki pages (that are listed in the side bar) from getting gigantic.
Every page in the Arduino Playground should be (?) in one of the following PmWiki groups ( WikiGroup of pages ):
- Main.RecentChanges
- ArduinoElectricGate.RecentChanges (perhaps this should be moved to the Projects group ?)
- BootCloner.RecentChanges
- Catala.RecentChanges
- Ccdtesta.RecentChanges (perhaps this should be moved to the Projects group ?)
- Chinese.RecentChanges
- Code.RecentChanges This generally deals with libraries and subroutines that are "entirely internal" -- i.e., pure-software routines for bitmath, floating-point emulation, math functions, etc.; and libraries that deal with on-chip devices such as the timers, dealing with timer rollover, EEPROM, AvailableMemory, etc.
- CommonTopics.RecentChanges
- ComponentLib.RecentChanges
- Cross-Reference.RecentChanges
- Deutsch.RecentChanges
- Documentation.RecentChanges
- Es.RecentChanges
- EthernetBootloader.RecentChanges
- French.RecentChanges
- InterfacingWithHardware.RecentChanges
- InterfacingWithSoftware.RecentChanges
- Interfacing.RecentChanges (What other kind of interfacing could this possibly be used for, other than the above Hardware and Software interfacing ?)
- Italiano.RecentChanges
- KeypadTutorial.RecentChanges
- Languages.RecentChanges
- Learning.RecentChanges
- LEDMatrix.RecentChanges Perhaps this should be moved to the InterfacingWithHardware group ?
- Main.RecentChanges
- MiniSmartGPU.RecentChanges
- OneWireCppV3.RecentChanges
- PmWiki.RecentChanges
- Portugues.RecentChanges
- Projects.RecentChanges
- PS2Keyboard.RecentChanges Perhaps this should be moved to the InterfacingWithHardware group ?
- PWMAudio.RecentChanges
- RunArduinoOn.RecentChanges A collection of independent tutorials: How to set up and run the Arduino IDE on various flavors of Linux, Unix, MacOS, etc.
- S1D15G10NokiaLCD.RecentChanges
- Site.RecentChanges Pages that affect the entire site -- the SideBar, etc.
- SmartGPU.RecentChanges
- SmartGPU2.RecentChanges
- SmartWAV.RecentChanges
- TA7291PDCMOTORCONTROLLER.RecentChanges (perhaps this should be moved to the Projects group ?)
- Test1.RecentChanges
- TextFinder.RecentChanges
- Thruload.RecentChanges
- UniversalRemote.RecentChanges
- WiiClassicController10.RecentChanges Perhaps this should be moved to the InterfacingWithHardware group?
- Workshops.RecentChanges
FIXME: do we really need so many groups?
FIXME: add a brief summary of each group of pages. Or if there is some other place that summarizes each group, link to that place.
(The above links go to the "local" recent changes in each group).
Each group should (?) have a "HomePage". The HomePage summarizes what each group is about, and links to the top pages of that group.