Sunday, January 11, 2015

Simple Circuitry Projects: Make a Lightbulb Necklace!

Note: This is a more seasonally appropriate version of my  Holiday Bauble Project - both projects can be made from the same parts, and are put together in a similar way, and are great as a first project for individuals or groups interested in circuitry!




Here's what you'll need: 

1 Miniature Glass Ornament
Some silver ribbon (I used Easter Basket filling)
2 Pieces of Wire
1 Lithium Coin Battery

1 LED

A hot glue gun
A pencil
Some tape (electrical tape works best)
Scissors




How to make your ornament:
Carefully pull the silver top off the glass ornament, then pull the pin out.



Use a pencil to push the silver ribbon into the ornament.
Put a piece of tape on the inside of the silver ornament top so that it covers the two holes. Poke one of the leads of the LED through the tape and through the hole so that the bulb is UNDER the ornament top.



Use the hot glue gun to secure the LED to underside of the lid so that the bulb sticks out by about half an inch. 



Then glue the lid back to the top of the ornament so that the edge of the lid touches the top of the glass neck of the ornament, and wrap both in your choice of duct tape. 




Make sure to test it! If the LED doesn't light, it could mean that you need to wiggle the leads so they aren't touching the lid of the ornament. 



Loop one of the metal ends of the black wire around the shorter lead on the LED, and secure it with hot glue or tape.  Make sure the wire is directly touching the lead! Then, do the same with the red wire on the longer lead.

If you're interested in doing the experiments (which require 2 or more baubles), here are the instructions I'm giving out with the kit below:

PARALLEL AND SERIES CIRCUIT EXPERIMENT




Series circuits are created by wiring all the components of a circuit in a line. The electricity moves straight from one component to the next. They’re useful when you want a circuit to shut down completely if it’s damaged. 

Just connect the wires red to black for series, and make sure the red wire goes to the positive side of  the battery, and the black to the negative. 

What happens when you add more ornaments to the chain? Try touching a paperclip to both leads of an LED in the circuit. What happens? Why is this? 


Parallel Circuits are created when each component gets its energy directly from the same energy source. They’re useful when you want each component to work independently of each other, or if you don’t want damage to one component to affect the others. 

For a Parallel circuit, the black or red wires for each ornament connect with the black or red wire leads of the next LED. The last black wire in the chain goes to the negative side of the battery, the last red wire to the positive. 

What happens when you add more ornaments to this chain? Try touching a paperclip to both leads of an LED in the circuit. What happens? Why is this? 








Finally, to finalize the lightbulb, tape the other end of the red wire to the positive side of the battery, and the black wire to the negative. The LED should light up. If it doesn’t try swapping the wires or moving the LED’s leads. If they’re in contact with the metal of the ornament top, the LED won’t light.

Now you can use your lightbulb as an ornament, a necklace, or whatever strikes your mood! And don't be afraid to personalize it with further decoration.

And if you happen to make one, please, send me a picture at rach.s.thompson@gmail.com. I'd love to see it!

Monday, January 5, 2015

More Web Design: Learning Rails Online

So, if you haven't seen my other post, as a part of the application process for a more advanced Tech Theatre class in 11th grade, I need to have a digital portfolio.*

Now technically I could just have my every project hard-coded into each page using html and CSS, but that sets off every alarm bell I've got. It's just bad code. I don't want to have to type all that out over and over again! It would be much easier if I could create and projects without having to program each one in individually.  So, I visited my good friend Codecademy again to take a crack at one of their newer, longer, tutorials: Ruby on Rails.



* I have since been informed that a powerpoint would have been fine, but where's the fun in that?

I picked Rails over PHP or the other options because I've had more experience coding in Ruby than any other language (except possibly Java, through iTunes U's Stanford CS101 course, but that was a while ago). I wanted at least some sort of base to start from because, and let me make this very clear: I had no clue what I was doing. I'd never done any sort of web applications before. I'd never done any programming projects where I had to juggle multiple files or languages. So I figured if I was going to take my trial by fire, I might as well wear some sturdy shoes.

I installed Rails through Homebrew (a package manager that mimics linux) for my mac. All the files I  created defaulted into Xcode and not Textmate, which surprised me, and then I used Brackets to edit my views and stylesheets.

So like this, but with at least seven more windows open, and a cat lying on the keyboard.


The rails tutorial has a very, VERY slow start, especially if you already know how to code in Ruby. It's essentially a Ruby and a Rails intro all in one, and I couldn't find any way to skip. Prepare to spend a good hour on 'hello world!' type lessons before getting to the good stuff. And the good stuff is good, but I had one major problem through the tutorial - some of the code doesn't translate well to building your own app because it leaves out bits to simplify the tutorial.  Which meant I saw an awful lot of this:

Add your own hair pulling and incomprehensible screeching.

And don't get me started on associations. For the basic structure of my web app, I want each project to belong to a category, and each picture to belong to a project. It turns out that Codecademy's take on explaining how to create these associations... assumes a lot, in the best of cases. In the worst, trying to replicate the code structure just doesn't work because they leave pieces out.

Sometimes though, it's your own fault and you know it.

So, I supplemented my learning with this Rails Guide. The great thing about this guide is that it can act as a sort of cheat sheet. Every time I looked at something in the codecademy tutorial  and had no clue what was going on, I could look back to this page, and find the no-fluff method to getting done what I want to do. In my opinion, it does a much better job of explaining the structure of Rails than Codecademy. But the benefit of Codecademy is being able to type in the code for yourself and see the different files side by side in the simulator. For better or for worse, I really needed both.


Of course, neither of these things stopped me from spending hours on stackoverflow because my CSS wasn't updating as I refreshed the page, or my migration wasn't taking, or every single one of my pictures was apparently owned by every single one of my projects. That's just part of the learning process: you can't really, truly learn a programming language until you start to program something in it.

So now my website is finally coming together functionally!


CSS could still use some work though.

 I've started to look at options for hosting. I'm going to try out Heroku, because it's free to start out, and I've heard good things about it so far. Any thoughts or suggestions? Questions about the tutorials, or where to learn more? Ask away!



Tuesday, December 16, 2014

Teaching Basic Circuitry the Holiday Way!

If you've seen my last post here, you've probably seen this little bauble.



This is the final product created by the no-solder kit I'm selling to fund my Gold Award project. The idea is that the kit is easy to assemble as a kit to teach younger kids about Parallel and Series Circuits, while still leaving something cool for them to take home. Each bauble costs less than a dollar to make*, and all the materials can be bought with a trip to a craft store and an electronics store, so I'd say it's pretty successful!

*If you buy batteries online, as most coin batteries I've seen are insanely expensive at grocery stores. I bought 100 for $17 from this website.

Here's what you'll need: 

1 Miniature Glass Ornament
Some silver ribbon (I used Easter Basket filling)
2 Pieces of Wire
1 Lithium Coin Battery

1 LED

A hot glue gun
A pencil
Some tape (electrical tape works best)
Scissors

How to make your ornament:
Carefully pull the silver top off the glass ornament, then pull the pin out.



Use a pencil to push the silver ribbon into the ornament.
Put a piece of tape on the inside of the silver ornament top so that it covers the two holes. Poke one of the leads of the LED through the tape and through the hole so that the bulb is UNDER the ornament top.



Use the hot glue gun to secure the LED to underside of the lid so that the bulb sticks out by about half an inch. 



Then glue the lid back to the top of the ornament so that the LED is hidden by the silver ribbons



Loop one of the metal ends of the black wire around the shorter lead on the LED, and secure it with hot glue or tape.  Make sure the wire is directly touching the lead! Then, do the same with the red wire on the longer lead.

If you're interested in doing the experiments (which require 2 or more baubles), here are the instructions I'm giving out with the kit below:

PARALLEL AND SERIES CIRCUIT EXPERIMENT


Series circuits are created by wiring all the components of a circuit in a line. The electricity moves straight from one component to the next. They’re useful when you want a circuit to shut down completely if it’s damaged. 

Just connect the wires red to black for series, and make sure the red wire goes to the positive side of  the battery, and the black to the negative. 

What happens when you add more ornaments to the chain? Try touching a paperclip to both leads of an LED in the circuit. What happens? Why is this? 


Parallel Circuits are created when each component gets its energy directly from the same energy source. They’re useful when you want each component to work independently of each other, or if you don’t want damage to one component to affect the others. 


For a Parallel circuit, the black or red wires for each ornament connect with the black or red wire leads of the next LED. The last black wire in the chain goes to the negative side of the battery, the last red wire to the positive. 

What happens when you add more ornaments to this chain? Try touching a paperclip to both leads of an LED in the circuit. What happens? Why is this? 







Finally, to finalize the ornament, tape the other end of the red wire to the positive side of the battery, and the black wire to the negative. The LED should light up. If it doesn’t try swapping the wires or moving the LED’s leads. If they’re in contact with the metal of the ornament top, the LED won’t light.

I hope this lifts your holiday spirits! It's fairly durable (I was able to wear one on a necklace all day at school with minimal problems.) and it looks good. Try it as an ornament, a necklace, and augmentation to an ugly sweater, or just a shiny reminder to say "Happy Holidays!" 

And if you happen to make one, please, send me a picture at rach.s.thompson@gmail.com. I'd love to see it!

Friday, December 12, 2014

Makerspace, Part 2: The Plan.

Last week, I finally got to have my first meeting with the middle school Technology club I'm working with to create the Makerspace. We talked about what a Makerspace was, how we were planning to use it in the school, and the various bits and pieces of old projects that I brought to show what kinds of things could be made in a Makerspace. Basically, it was a condensed version of this post, with a few pictures from Big Hero 6 and Iron Man 3 as reference points.

Good movie...  but it was no Wreck-it-Ralph. 

At the end of the meeting, I had ever student write down on their slip of paper the top ten things they wanted to be able to make/learn in the technology club. Over the weekend, I looked through all the answers I got, and came up with the five main units that would be the most useful and interesting to kick off the Makerspace and the Tech Club. The Technology club has two types of meetings - "Class" meetings, which teach skills like the one's seen below, and "Business" meetings, where we'd focus more on the Makerspace itself, and where members would have time to share the projects they've been working on (THAT is for a different post). But the introductory skills are important for the students with little or no experience. So here's what I've put together: 



1. Programming
 This is the obvious one, but I've put it as the first unit because it's a vital skill so many of the other projects the students were interested in, and because it doesn't require expensive materials. I'm working on lesson plans for a programming intro class for Scratch, which will hopefully give enough of an introduction that the students will feel comfortable working on Codecademy tutorials or learning from other online resources



2. Robotics
These kids love robotics almost as much as I do. The issue here is limited time and materials. I'm planning on doing two classes with Mindstorms Ev3 - one for building, one for programming. I'd also like to incorporate robotics into an Arduino introduction later on - I have an RC car that I robotized with an Arduino that would make a good example.



3. Circuitry
While I'd actually prefer this unit before robotics, the littleBits are one of the more expensive items in the budget, and, while I have an Ev3 kit at home that I could bring as an example, the same isn't true here.



4. Computers
This is kind of a catch-all unit. Here I definitely want to have a class on the Raspberry Pi, but I also want to bring in some of the other Technology Club Alumni to teach classes on things I'm not as familiar with, like App programming and Web Design. (It's interesting to see how our individual interests were foreshadowed through Tech Club and the technology class. The ones who spent all their time on the iPod touches now program them, the ones who spent all their time tweaking Powerpoints and Tshirt designs have gone into 3D animation or computer graphic design. And yours truly MAY have turned in a final paper analyzing potential uses for robots that could create their own languages after researching this. I really should post it here if I can find it.)




5. 3D Printing
I have never had the opportunity to use a 3D printer, and I could not be more excited to learn. That's why this unit is last - I know the least about it, and I need that time to learn. I'm planning on getting the Printrbot kit, and using Google Sketchup and Autodesk inventor to do the modeling, since our school system already has that software.



These are the things we decided would be the most useful. I've said before that you don't need expensive tools to make a Makerspace, and I stand by that statement. But good tools make making more accessible, and especially in a school setting, that's important. And tools cost money.
About $1,300 worth of money, not counting shipping or storage.

I'm looking at a couple different ways of doing money-earning.  For the more expensive kits, I've talked to my sponsor about using DonorsChoose. It seems like a great program, and I'd appreciate the help in offsetting the cost. However, with finals rapidly approaching, we haven't had the chance to talk to the school administration yet. So I've started with some simpler money-earning opportunities. Right now, I'm creating kits for making small light up ornaments to teach younger kids about the basics of circuitry. The kits would also be good for making a string of lights, good for teaching Parallel vs. Series. Plus, who doesn't love holiday themed illumination? Here's a picture of the prototype. I'll be posting a tutorial soon.



I'm selling the kits to local scout troops as an end of year craft project and my goal is to raise about $100 to start off with.

And finally, while I can't expect to rely on donations, I had the opportunity over Thanksgiving break to collect some of my great-grandfather's old tools for use in the Makerspace, which I cleaned up and labeled.



It wasn't anything too fancy - just screwdrivers, wrenches, a level, things that would be useful for building or disassembling small projects. But that toolbox has officially become the first thing in the Makerspace.



It's a long road ahead, but we have a plan. Let the making commence!

PS: One last thing. One of our main concerns with the technology club is the participation of girls. I was one of two girls out of about fifteen people at the clubs inception, a ratio that improved a little  the next year, I suspect because both of us were so active in the club. Now, she's actually come back to help with my project. But we still see the same problem. There were only two girls at the meeting and about twenty boys. Do any of you have suggestions for getting more girls involved? 

Thursday, November 27, 2014

Why Artificial Intelligence IS Real Intelligence



One of the most common arguments I've seen in the face of AI research is that computers aren't REALLY intelligent. They merely emulate intelligence, something that is inherent to biological life, or , in some views, only humans. In his article "Artificial Intelligence, Really, Is Pseudo-Intelligence," Alva NoĆ« argues that computers lack 'drive': they can't attach meaning to things, and therefore they can't have wants like biological beings do.

Lets say, right now, I want a chocolate bar. "Want" is a pretty complex term. Does it refer to the lack of calories, calcium, sugar, magnesium, or even serotonin that my body's sensors detect in my bloodstream? Does it refer to the physical symptoms that manifest in my stomach and mouth that my brain recognizes, or the memory of how a chocolate bar negated these symptoms a week ago? Does it refer to my memories of having a chocolate bar while at the computer that have taught me chocolate is the "right" choice in this situation, just one of many learned behaviors? Does it refer to an emotional component, a combination of learned behavior and brain chemical levels that tell me that chocolate makes me 'happy'?

"Want" encompasses all of these things. It's complex, and it's more complex than anything AI can do right now as a whole. But when you break it down this way, what up there can we do that computers can't? We can create programs that take information from sensors. We can create programs that can access memories and find patterns, and determine a course of action based on that pattern. That's all intelligence is. The human mind, our meanings and desires, are only complex derivatives of very basic mechanical things, in the same way that the leaves on a vine create a beautiful spiraling pattern simply as a way of maximizing the sun coverage each leaf gets. Biological machines aren't inherently different from artificial machines. They've just had a head start. 



Another argument he uses is that of understanding. Computers can't understand, they can only perform the actions they are told to. One example is that of the Translator's Room. A human is locked in a room with nothing but a pen, and dictionaries that translate one foreign language into another. The human knows neither of these languages. However, every day, they receive papers with writing in one of the languages. Using the books, they are able to perfectly translate the writing into the other language before passing the paper back out of the room. They can complete this task despite not 'understanding' either language. 

This argument doesn't negate the possibility of artificial intelligence. It shows that a system can only do so much with limited information. If the books in the Translator's Room scenario had a picture for each word they translated, the human would be able to understand another component to the sentences they wrote. What if they were familiar pictures? Just like Helen Keller, with her hand underneath the spigot, the human could recognize water in any language if they just had another reference point. Another piece of information. Could that be considered understanding? A computer can store associations and memories just as a human mind can, and the more data a computer has access to, the more associations can be made. Isn't that all that understanding is? A summary of our experiences and the patterns we've derived from them? 



The Jeopardy-Playing robot, Watson, which the article cites as an example of a lack of understanding THRIVES on those summaries. It doesn't have any visual or physical references, which make up most of our human understanding. But it knows a river is a flowing body of water. It knows water is a compound in a liquid state that is common on Earth, and necessary for human life. It knows flowing is a type of movement only fluids, like liquid, can achieve. Even without visual reference, how is this not understanding? Watson can induct. It can deduct. And it can use those abilities to answer questions.

I'd argue that's what intelligence is. Our ability to derive patterns from information and act using those patterns. That ability is just as real in computers as in any biological creature. It's just our job to prepare computers to use it.

Monday, November 24, 2014

Super Secret Special Project: Makerspace!: A Long Introduction.




I've finally caught up with my teasers! I've been pretty busy with school, scouts, other projects, and, yes, my Gold Award project, where I'm hoping to build a Makerspace at my old middle school!

Note: For the uninitiated (credit xkcd)...



A Makerspace, Hackerspace, FabLab, Techshop, etc... is a space devoted to providing materials, instruction, and community to anyone interested in creating. It goes hand in hand with movements like OpenSource, STEAM education, and free information. A Makerspace wants everyone to be able to make, and to find other people who make.

To give a little background - my middle school librarian was an awesome teacher, interested in sharing information, technology, and connection through the library. She started the technology club my first year at our school, where teachers could come and talk about the technology they wanted to use in the classroom (e.g. Google Earth Tours, iPod touches, online video-editing software, etc) and it was up to us to A) figure out how to use the technology, and B) teach the teachers once we figured it out. The club was only the beginning. By the end of the year, 13 of us were enrolled in the Independent Study Tech Team class, taught in the library, by the librarian, for an entire class period each day. The teacher brought some brilliant ideas to the class: 20% time, bringing in projects from other classes to try out the technology, etc. It was basically a maker class! The only thing we lacked was materials.



In the library, we had three things we could work on: Software on the computers (the basics of Windows 7 plus a few class specific things, like Alice), thirty-something iPod touches we rented out to classes, and books. This was a great starting point, but I kept having to bring in my own materials for 20% time to feed my interest in robotics and programming. The teacher introduced me to the idea of a Makerspace my eighth grade year, and the more research I did the more I liked it. The materials I've collected are important to the kinds of projects I get to do - I hate the idea that another kid somewhere won't get to learn about robotics because they don't have access to a mindstorms, or an arduino to learn on.

Ninth grade taught me how useful a Makerspace could be. If you've even taken just a quick look at this blog, you can see I took Tech Theatre, and made full use of the workshop we had available. That workshop is my favorite place in the entire school, because it has everything you need to bring a design to life. Tech Theatre may not be a class devoted to engineering, but I feel that, because of the workshop, and because of the self driven nature of the class and the projects, it does a better job of teaching problem solving, design, and engineering skills than the note-and-test heavy engineering-specific class I took.



I decided to try and find a nearby Makerspace - it turns out the nearest is an hour's round trip from my house. I got a tour to see how the space functioned. It was REALLY cool, but I noticed that it was definitely geared more toward the adult, experienced engineer in price range, classes and tools available, and supervision. That wasn't quite what I was looking for, so I contacted my old librarian to ask her thoughts on creating a Makerspace in Plano... and a few weeks later, she's my Gold Award Project Advisor,  I've sent a powerpoint proposal to the principal of the school, and I'm prepping one to send to my local public libraries! (See the powerpoint here, if you're interested)


What's the plan? Well, the main issue is cost. I spent a long time looking up the costs of materials I'd like to include, and, to say the least, cost was high. I'm planning on organizing a tool drive to try and get some of the cheaper items, like paintbrushes and screwdrivers, old toys to take apart, Ewaste, and the like. Some of the rest will be funded by club member fees, but for a lot of it I'm looking at funding online through Donorschoose.org, or something similar.


Another constraint is space. The area we're looking at converting is currently storage for books that get lent out in English classes for reading assignments. We get a grand total of one bookshelf for storage, so we'll have to use it wisely. This is a real model of the space I made in Sketchup. I'm betting the Technology club will be happy to have it. Right now, I'm still waiting on the final green light from the principal, which will hopefully come in the next couple of weeks. Then I can turn in my paperwork, and get the ball rolling! Expect to see more about this soon, and all the little mini-projects it entails.

(NOTE: I'm going to publish this as is, but it's a little outdated now. I've since had my project fully approved, and the first meeting with the students will be next week! I even had the chance to talk about my project at the Girl Scout Leadership Institute at this year's national convention. I'm super excited to get started. If any of you have ideas for fundraising, or know of good projects or resources for a middle school Makerspace, please comment below! I'd love to hear what you think.)

Sunday, November 23, 2014

Trying out Web Design

So, as I posted here earlier, I'm planning on revamping this blog's appearance. This isn't a random burst of inspiration: this year, for my Technical Theatre class, we're required to create a digital portfolio. That's practically what I've been using the blog for so far, so, although I'm creating a separate website for the portfolio specifically, I'd like the two to have a unifying theme. Also, I may be using this blog to document my Gold Award project (which was approved yesterday! Expect the post to FINALLY make it up later this week.) I want it to look more professional, and, in general, more "me." So, here are the steps I've taken so far to try a whole new kind of coding.

Step One:  Learn how to code.



I'm going to be painfully honest here: prior to this project, I had never used HTML before. Never. Not once in my life. Not even a little. It's one of those things that would have been useful that I just never did. Thankfully, it's 2014 and the internet flourishes. I tried out a couple of different online tutorials, and by far the best one was the Codecademy: Make a Website tutorial, covering HTML and CSS. It's straightforward, it's fast (I did an hour here and there over a week and finished easily), and it's what I needed to know.

Even later, when I actually started coding, I could check the Codeacademy HTML and CSS glossaries, which made for handy cheat sheets, and had everything covered in the course, and more.

A word of warning though: The website recommends the javascript-based "Build an Interactive Website" tutorial immediately after the one I took. For that tutorial, you really do need to have a decent understanding of Javascript before you take the plunge. I left it pretty thoroughly confused after the first few problems.  I started the Javascript tutorial a few days ago, and it's pretty basic stuff, but I'm hoping when I finish I can take another stab at it.

Step Two: Get a good editor to work in.



For most of my day-to-day programming, I use Textmate. But I got a good recommendation from a friend as far as a good Wed-Design specific text editor: Brackets.
And I have to agree: Brackets is the best.

There are two things that make Brackets really useful:
One, it keeps all your files organized in the sidebar, where they're easily accessible without making you go dig through folders and directories. All of them. Pictures, HTML, CSS, add-on libraries. I'm not very organized on my own, so this was a LIFE CHANGING revelation, and the second most useful thing about the program.

Two, it comes with a way of previewing your website live as you make changes. It comes with the download, and you need Google Chrome to use it. But there was nothing better than being able to tap away on my keyboard and see the elements of the website come to life in front of me. It's not always perfect. I usually had to reload the page on chrome after any big changes. But it was helpful both in designing the page and understanding the code I was designing with.

Step Three: Start Designing!

I'm working specifically on the Portfolio website right now. I have a plan drawn out (which I'll upload once I redraw on something that isn't my English HW). Once I figured out how everything fit together , it was really fun to manipulate. I used Bootstrap to make the designing a little easier, which was super handy, and there's a lot of support out there for it. This was what I had at the end of the day:



The idea is to have each project organized on the timeline from most to least recent. Each one will be contained in a box with it's title, a short description, a picture, and a link to a page with more information. What's here isn't quite right either - I want the red timeline thinner, but that's a challenge for another day.

I think I want to try and use Rails to make adding and updating projects easier. I tried the Rails for Zombies tutorial a few months ago, but I never felt really comfortable with the material. I guess it's time to retry, maybe with the Codecademy tutorial as well? I figure that will be useful for a blog design too! At least I don't need anything solid to turn in until April.

So that's my Thanksgiving break plan. I'll also be working on my Makerspace plans (Look for a post! I promise!), school work (bleck), and an interesting proposal I got from my Tech Director about using robots to move set pieces for this year's musical (More on that later, I hope).  Not much of a break, but I'm just happy to have a few days I don't have to get up at 7 am if I don't want to. How about you guys? What are your plans?