Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BOUNTY: Create Mini-tutorials for Starter and Ultimate Kits #39

Open
digistump opened this issue Feb 12, 2016 · 38 comments
Open

BOUNTY: Create Mini-tutorials for Starter and Ultimate Kits #39

digistump opened this issue Feb 12, 2016 · 38 comments
Labels

Comments

@digistump
Copy link
Collaborator

Skills Required: Basic Fritzing/Image Manipulation/Writing
Difficulty: Easy

Challenges/Thoughts:

Use the Oak Fritzing part (to get it see #38) to put together a simple Fritzing connection graphic of a basic lesson that can be done with the Starter or Ultimate kit.

Provide text for this lesson, including how to do it, what it teaches, and what the components involved are and very briefly how they work/what they do (ex: An LED produces light when powered)

Provide example code for the user to run on their Oak, keeping it simple and well commented.

Provide the image (with a 300+ dpi version linked), text, and example code as a wiki entry at digistump.com/wiki/oak/tutorials (if you are the first make a new list on that page for links to these lessons)

Formatting and general layout should at least roughly follow this template:
Template: http://digistump.com/wiki/oak/tutorials/lesson_template

Parts List: http://digistump.com/wiki/oak/tutorials/kit_parts
Lesson Ideas (other welcome!): http://digistump.com/wiki/oak (list at bottom of page)

Please add your name or however you'd like to be credited to your wiki page.

Bounty

$25 credit or 2 Oaks per lesson, one person can do as many as they would like.

Cash or credit is your choice. Cash to be paid via Paypal. Credit has no expiration but can only be applied to a single order and does not cover shipping (because that is how our shopping cart works, not because we want to be limiting). Oaks reward includes shipping.

You may credit yourself in the files as well, leaving in tact existing licenses and credits.

Legal Stuff: We will choose a winner at our sole discretion. Cash awards will be made in USD. This is not an offer for hire. All work submitted becomes the property of Digistump LLC to be used at our discretion in compliance with any associated licenses. Void where prohibited by law.

@digistump digistump changed the title Create Mini-tutorials for Starter and Ultimate Kits BOUNTY: Create Mini-tutorials for Starter and Ultimate Kits Feb 12, 2016
@jwhendy
Copy link

jwhendy commented Mar 18, 2016

Not sure it counts as a starter or ultimate tutorial per se, but just wrote a guide for connecting to the Oak via serial through an Arduino Uno. I was primarily interested since I didn't have a 3.3v UART but did have an arduino. I figured a lot of others could be in the same boat so after successfully using a chip-less Uno to apply OakRestore, I wrote it up.

Links:

@DJFliX
Copy link

DJFliX commented Mar 19, 2016

I'm working on a button tutorial, explaining both digitalRead and interrupts. I have the text, but did not include the Fritzing yet, as I'm currently out of time. Sorry about that. Will be working on the rest tomorrow:

  • Use the Oak Fritzing part (to get it see BOUNTY: Make Fritzing Part for Oak #38) to put together a simple Fritzing connection graphic of a basic lesson that can be done with the Starter or Ultimate kit.
  • Provide text for this lesson, including how to do it, what it teaches, and what the components involved are and very briefly how they work/what they do (ex: An LED produces light when powered)
  • Provide example code for the user to run on their Oak, keeping it simple and well commented.
  • Provide the image (with a 300+ dpi version linked), text, and example code as a wiki entry at digistump.com/wiki/oak/tutorials (if you are the first make a new list on that page for links to these lessons)

@jwhendy
Copy link

jwhendy commented Mar 19, 2016

Update 3/25: Done with all of the below; if you find anything, feel free to let me know or edit at will, and feedback is welcome!

  • blink: stuck to just the on-board LED. As the very first sketch ever, gives opportunity to just verify a working environment and ability to flash a sketch to the Oak
  • LED basics: demonstrates connecting an external LED and using analogWrite() instead of just digitalWrite()
  • Advanced LEDs: multiple LEDs, for() loop, map(), and constrain()
  • RGB led: not much to add other than taking the advanced LED tutorial and applying analogWrite() to three pins on the same LED vs. separate pins on 3 LEDs
  • photoresistor
  • Oak serial using arduino's USB UART
  • accessing the Oak's data using Particle.variable()
  • telling the Oak to do something with Particle.function()
  • using python to read data with Particle.variable() and sending an email notification
  • using python to send data with Particle.function() based on input from a local sensor
  • super short tutorial on getting device ID and token from Particle and making sure API calls are working; don't think the format rules really apply as there's no circuit or sketch

@jwhendy
Copy link

jwhendy commented Mar 19, 2016

@DJFliX Nice! If you need any help on the Fritzing, I could do the pulldown vs. float one. No pressure to accept... just throwing it out there.

Regarding the pulldown stuff, I used to do this until I found out one could do pinMode(n, INPUT_PULLUP). I use this exclusively so I don't have to use physical resistors... [old content snipped].

EDIT: Whoops. Using INPUT_PULLUP doesn't seem to work for me, so perhaps there's no internal pullups... sorry for the noise.

@jwhendy
Copy link

jwhendy commented Mar 20, 2016

@DJFliX Had to make some Fritzing's myself and made a floating vs. pulldown button example for you. Your choice to keep or re-do. Hopefully I got close to what you were looking for there.

@DJFliX
Copy link

DJFliX commented Mar 20, 2016

@jwhendy Thank you very much! I don't have any experience in Fritzing at all, just got to creating an image of the set up. Thanks a lot for adding the pullup/pulldown images! The internal pullup/pulldown functionality would be awesome, but because this is a breadboard/tinkering type of lesson I thought it would be better to explain the pullup/down mechanism with physical parts first. It's a "hello button" exercise after all :).

Also: after viewing your images on the buttons lesson, I realised that the female Oak is much more sensible to use in the example. Going to redo my fritzing now :P

@DJFliX
Copy link

DJFliX commented Mar 20, 2016

RE: http://digistump.com/wiki/oak/tutorials/button
@digistump Erik, I've made some changes in the text and uploaded both instructions to build the circuit and the Fritzing image of the circuit. @jwhendy kindly provided examples of a pull-down and a direct connection of a button to the Oak. Could you (swiftly) have a look at the page and tell me if there's anything missing, or anything you'd like me to add? I used the 150R resistors for the LED as they are the only suitable resistors in the kit, is that OK?

Also, would it be better to remove the external led and use the on-board LED instead? I wanted to show the example of blinking a LED with actual parts, but I realised later on that it might be defeating the purpose of the separate LED tutorial as well as adding extra noise to what the tutorial is actually about (reading button input).

@jwhendy
Copy link

jwhendy commented Mar 20, 2016

@DJFliX: no problem at all. With just a couple of components it went fast :) Nice work, really liked your layout/format.

@exeng
Copy link

exeng commented Mar 20, 2016

I will claim the Temperature Sensing and the 1-Wire Bus tutorial. Draft is ready. Just need to transfer to DokuWiki and do some final tests.

@exeng
Copy link

exeng commented Mar 21, 2016

Here are the images for the Temperature Sensing tutorial.
Oak-Temp-Sensing-1-Wire.zip

@digistump
Copy link
Collaborator Author

@DJFliX - that is a great little tutorial and laid out perfectly, thank you! Please email us to claim the bounty. 150R is fine, using the external LED was perfect and a great way to build on the LEDs tutorial that will be before that.

@jwhendy - thanks for doing those two tutorials, they look good. Could I ask you to format them to follow the sections and formatting recommended here: http://digistump.com/wiki/oak/tutorials/lesson_template, and to also break the First Blink tutorial down into some small steps as far as the hookup, and maybe add a diagram with the LED labeled (or some other way of making it super basic)? The First Blink tutorial is really essential that it uses super super basic steps since for some it may be the first time they've ever touched a development board. The photocell diagram and gifs on both are awesome! Please email us (support at digistump dot com) whenever you are ready to claim your bounties.

@exeng - as noted (but not very clearly) in the description please upload the images directly into the wiki for these. Your tutorial is very comprehensive and has lots of great advanced detail, but it isn't very beginner friendly in its language, layout, and its lack of small steps with diagrams. I've moved it to a different section (as part of the temp shield tutorial: http://digistump.com/wiki/digispark/tutorials/temp#programming) and left the dead link for the starter kit lesson, feel free to tackle that using the same info you have put together but greatly simplified with diagrams and following the layout recommended (and you can collect the bounty for that as well).
If you'll upload the images into it I'm still happy to pay you the bounty on this of course - it really is a great advanced tutorial and most valuable to have!

@ Any one submitting a tutorial, please add your name or however you'd like to be credited to your wiki page.

@jwhendy
Copy link

jwhendy commented Mar 21, 2016

@digistump Will do, and sorry about that! I saw the note on formatting initially but it just took me to the wiki syntax. Missed the template above... I'm in the process of writing a more advanced LED tutorial, want to write an intro to Particle.function(), and one on pushing something to the oak with python to complement the other one I did.

Any other feedback is welcome... I'm reasonably new to microcontrollers (maybe 2 years with an Arduino to date), so I was really shooting in the dark regarding how basic/advanced to target!

@digistump
Copy link
Collaborator Author

@jwhendy No problem, I apologize if the formatting expectations weren't clear.

The most basic steps are the goal of these tutorials since they are for the "Starter Kit" which we found generally sold to people with zero or nearly zero electronics experience (with some exceptions of course)

@exeng
Copy link

exeng commented Mar 22, 2016

Erik, sorry for creating the tutorial using the wrong template. With regard to the content being moved to the shield tutorial, the images do not include the temp shield but rather are fritzing diagrams of the Oak and the required discrete parts (i.e. pull-up resistor and DS18B20). The only generic image that could be applied to the temp shield tutorial is the first one as it is a screen shot of the particle.io log. Let me take a second look at the template and if I decide to claim the kit tutorial again, I will post my intent here. Should have read the instructions carefully. Got in a rush since I had the draft ready for awhile. And yes, there was that voice that said this is too much for a simple tutorial.

@exeng
Copy link

exeng commented Mar 22, 2016

OK, I will claim and take another stab at the Temperature Sensing and the 1-Wire Bus tutorial for the Kit lessons.

@exeng
Copy link

exeng commented Mar 22, 2016

OK, completed the Oak kits Temperature Sensing 1-Wire lesson. Images have been included in the Wiki as instructed.

Do not use the Oak-Temp-Sensing-1-Wire.zip images that I previously sent for any tutorials as I discovered that my connections to the DS18B20 were backwards in the files sent.

Let me know if you need anything else.

@exeng
Copy link

exeng commented Mar 22, 2016

Erik, I will fix the images for the advanced example in the Temperature Sensor (1-wire) Shield tutorial and try and get those in tomorrow. Oak Kit is done as previously mentioned.

@exeng
Copy link

exeng commented Mar 22, 2016

@digistump
Erik, There is a problem with the thumbnail for the circuit image in the Kit Temperature Sensing lesson. During editing I updated the image which is shown correctly when selected to link to the original but the thumbnail that is shown in the Wiki page is the old one. Can't figure out how to fix.

@exeng
Copy link

exeng commented Mar 22, 2016

@digistump Erik,
OK, The image is correct now. Done! I hope.

@jwhendy
Copy link

jwhendy commented Mar 25, 2016

I'm going to call it good on my contribution toward this effort; shot you an email last night @digistump .

@nog3
Copy link

nog3 commented Mar 26, 2016

I'm working on tutorials for:

  • Making noise with the buzzer
  • Tilt Switch
  • Using a Servo
  • Ultrasonic Ranging

and possibly:

  • Soil Moisture Sensors
  • Powering the Oak with a 9v Battery and Breadboard Power Adapter

But the fritzing part with the pins isn't wide enough to fit in the 400 pin breadboard and is slightly offset from the pins it claims as shown in this image.
oakweird

It does however attach the right pins, so I can work with that but I'm not 100% comfortable with how weird it looks. As a workaround I can do most of the above with the female header populated Oak and the male to female cables but that's less tidy than the breadboard.

@digistump what's your thoughts on this?

@jwhendy
Copy link

jwhendy commented Mar 26, 2016

The board should probably be modified, however in the meantime you could cheat and manually adjust the x position of the board. I just tried it and ended up having to move it 0.03 from where it snapped to position. Looks reasonable:

2016-03-25_215649

It was origionally at x = -0.459; ended up looking right at -0.429.

@exeng
Copy link

exeng commented Mar 26, 2016

Someone must have created a derivative of the original Fritzing part I submitted with female headers which do not line up with a breadboard. Should be and easy fix for whoever created the pin version.

On Friday, March 25, 2016 7:59 PM, John Hendy <[email protected]> wrote:

The board should probably be modified, however in the meantime you could cheat and manually adjust the x position of the board. I just tried it and ended up having to move it 0.03 from where it snapped to position. Looks reasonable:It was origionally at x = -0.459; ended up looking right at -0.429.—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@exeng
Copy link

exeng commented Mar 26, 2016

BTW, where do these parts live? I have the original Oak (female header version) and just posted to #39 a Level Shifter Shield part but where is this new Oak pin version?

@nog3
Copy link

nog3 commented Mar 26, 2016

The pin version I'm using is OakFritzingParts(V1.0).zip/Digistump Oak (v1.0-HeaderPins).fzpz from #38 (comment)

@exeng
Copy link

exeng commented Mar 26, 2016

Man, I must be losing it. That's the part(s) zip I submitted. I forgot that I created both versions. Checked my parts in Fritzing and the pin version snapped right in and lines up. Don't know why it wouldn't for you.

@nog3
Copy link

nog3 commented Mar 26, 2016

@exeng As it turns out, snap to grid will place the part according to its entire size, not just the pins you'd expect it to snap with. After turning off snap to grid it works fine.

@digistump
Copy link
Collaborator Author

If anyone in this thread it waiting for a bounty and hasn't gotten it -
please email me at [email protected] - I think I've responded to all
the bounty claims I've gotten, but I want to make sure I didn't miss any.

Anyone adding new tutorials, once they are up please post back here, and
then email me to claim.

On Fri, Mar 25, 2016 at 9:52 PM, Brendan Halliday [email protected]
wrote:

@exeng https://github.com/exeng As it turns out, snap to grid will
place the part according to its entire size, not just the pins you'd expect
it to snap with. After turning off snap to grid it works fine.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#39 (comment)

@nog3
Copy link

nog3 commented Mar 27, 2016

Hi @digistump http://digistump.com/wiki/oak/tutorials/buzzer is now up and should be right to go.

I'll post when the rest are up and send in a bounty claim when you're happy with the content for them :)

@exeng
Copy link

exeng commented Apr 19, 2016

@jwhendy, Looks like someone in the forum found an error in you RBG LED tutorial. See this message...
http://digistump.com/board/index.php/topic,2211.msg10333/topicseen.html#msg10333

@jwhendy
Copy link

jwhendy commented Apr 20, 2016

@exeng Bah. Thanks for the heads up! I think I recall seeing that locally, making a mental note, and then forgetting to change it on the wiki. Fixed.

@nog3
Copy link

nog3 commented May 9, 2016

Tilt Switch has been up at http://digistump.com/wiki/oak/tutorials/rollingball for a while, happy to fix any feedback.

@brohan
Copy link

brohan commented Jul 30, 2016

Hi @digistump

I just completed the Ultrasonic tutorial (http://digistump.com/wiki/oak/tutorials/ultrasonic).

Everyone, this is my first tutorial, I would appreciate your reviewing it for errors, and giving me feedback. It appeared to me that one either needed a level shifter (not included in the starter kit) to properly run the 5v HC-SR04, or a different ultrasonic sensor (the route I went).

How about a spot for a level shifting tutorial?

@brohan
Copy link

brohan commented Aug 5, 2016

I added anther UltraSonic tutorial to the main Oak Wiki page using the included HC-SR04, with a level shifter. It can be found here:
http://digistump.com/wiki/oak/tutorials/ultrasonic_2

@brohan
Copy link

brohan commented Aug 12, 2016

@digistump Completed the PIR tutorial. No additional coding or Oak concepts, but focused on investigating sensor datasheets more thoroughly to see an additional uses or applications that what's advertised, and encouraged the reader to post their project on the Oak forums.

http://digistump.com/wiki/oak/tutorials/pir

@brohan
Copy link

brohan commented Aug 13, 2016

@digistump I updated the PIR tutorial to something I am happier with. I included a new concept expanding the Particle.publish to using that info via ifttt.com.

@brohan
Copy link

brohan commented Aug 14, 2016

@digistump I am claiming the Bounty on the powered breadboard tutorial. In this tutorial I incorporated a Deep Sleep function as a Concept. Please review and give any feedback for improvement and corrections.

http://digistump.com/wiki/oak/tutorials/breadboard_power

@rkinnett
Copy link

@digistump I added a stepper motor lesson. I hope it's not too much detail...

https://digistump.com/wiki/oak/tutorials/stepper_motor

I hope someone finds this useful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants