author3
70Instructables12,704,360Views2,095CommentsSan Francisco, Ca
I post updates on twitter and instagram: @amandaghassaei

Achievements

1K+ Comments Earned a gold medal
10M+ Views Earned a gold medal
  • Orrery (Earth, Moon, and Sun)

    Thanks! This build is a little complicated if you're just getting into cnc, you may want to start with a more forgiving material like wood and use a laser cutter if you can find one.

    View Instructable »
    • Orrery (Earth, Moon, and Sun)
      20,844 views
      310 favorites
      75 comments
  • Orrery (Earth, Moon, and Sun)

    rendering is beautiful! Really hope you finish it. Don't worry about slop, there's always going to be slop in these systems, as long as you drive in a single direction when you do all your alignments you can still get an accurate reading. Even very high precision machines compensate for backlash this way. Pulleys may help too, especially if you're not going for as much of the exposed brass look.

    yeah that's true – so maybe a frosted bulb and make sure to get the sizes so that the moon is the same apparent size on earth as the sun (see image). The size of the partial eclipse area is probably not to scale without being more careful about the size/distances, but there's a start.

    thanks so much!

    View Instructable »
  • Orrery (Earth, Moon, and Sun)

    thanks! I'm sure you make great stuff too :)

    lol nice!

    thanks!

    I just spend a lot of time in the shop :)

    View Instructable »
  • Orrery (Earth, Moon, and Sun)

    thanks!!

    thanks so much!!

    thanks! you can learn! I'm only just getting into machine design recently.

    I like it!

    View Instructable »
  • Orrery (Earth, Moon, and Sun)

    thanks, glad to hear it was helpful!!

    thanks Nicole!!

    thanks Jessy!! feels good to be done, I'm exhausted!

    thanks randy!! and good catch! I'll add a step for that.

    View Instructable »
  • Vertical Orchid Planter

    Thanks! From what I've read it sounds like photosynthesis through the roots is not critical for the plant, and plenty of people have had success growing in opaque containers, so I don't think it should be a problem. It's actually only been a few weeks - the main takeaway so far is that it is much more humid in the planter, and the sphagnum moss ended up being too water retentive (it was just never getting dry), so I've switched to a bark mix with a bit of sphagnum on top to keep stuff tucked in. So far it's looking a lot better and I'm only watering about once a week. Time will tell...

    View Instructable »
  • amandaghassaei's instructable Vertical Orchid Planter's weekly stats:
    • Vertical Orchid Planter
      2,391 views
      28 favorites
      6 comments
  • Vertical Orchid Planter

    lol amazing, I'm sure I'll be there soon! Would love to build an actual living wall one day, this is just my warmup :)

    View Instructable »
  • How to Quit Your Job

    Congrats Audrey! Excited to see what comes next!!

    View Instructable »
  • Patterned Plywood Bookcase Speakers

    high tooth count blade helped a lot!

    no worries!

    ah thanks, that's super helpful feedback!

    This project uses birch plywood, which is relatively safe (though it does contain a lot of glue). But yes I agree, masks are important whenever you're in the shop.

    View Instructable »
  • Patterned Plywood Bookcase Speakers

    it's been far too long! got a long list of drafts to finally finish this year!

    haha thanks randy, maybe one day!

    View Instructable »
  • Sourdough Starter and Bread Recipe

    nice ible! I just started the starter process last night (got the tartine bread book for xmas this year) - nice to see some additional pics and tips, thanks audrey!

    View Instructable »
  • Yeah there's not a lot you can do to get the file size down - the detail in the grooves that the code currently spits out was the bare minimum I found that I could get away with without impacting quality. I think the best bet is to process a shorter audio file, which will generate a shorter groove with less geometry.

    View Instructable »
  • 38 804 kb? yeah that's gonna be tough - not sure you will find a slicer to handle that unfortunately. Maybe if you write your own :)

    View Instructable »
  • No problem! Either turn up the laser power to cut the grooves a bit deeper, or decrease the amplitude of the waveform so that the loud parts don't cause the needle to rock back and forth in the groove so much. In the code:float amplitude = 10;//in pixels

    View Instructable »
  • yeah for a 78rpm record you could set the cutoff filter to a higher frequency, and for a 33rpm you should set the frequency lower. None of this is super critical, but it may improve your results a bit. here's the formula:samples/sec = samples/rev * rev/min * min/secsamples/sec = 6000 * 45 * 1/60 = 4.5kHzthen you want to divide the samples/sec by 2 to get the max frequency that you can reproduce with the record - this is your cutoff frequency. 2.5kHz ~= 4.5kHz / 2

    yes, the code generates pdf's which can be opened in corel draw.

    View Instructable »
  • Hey, can you describe the problem a little more? I'm not sure what you mean. When you download the code, open the file called SugarCubeLibraryFiles.ino and upload that to the Arduino.

    View Instructable »
  • no, that's a big bottleneck in this project. Ideally, you could just send a bitmap of the layers directly to the 3D printer. But I don't know of a printer that supports that.

    View Instructable »
  • oh man, it's bees so long I'm not sure I can track down something to help. Where are the differences? I think you should go by the schematic if in doubt. The schematic should be correct.

    View Instructable »
  • Yeah that should work, Either change the processing code to write svg:https://processing.org/reference/libraries/svg/ind... or (easier) use a vector editing program (Illustrator, Inkscape) to convert to SVG.

    View Instructable »
  • cool! It should still sound pretty much like the song after audacity - just maybe a little bass heavy, not as much detail in the highs. Not noisy.

    just looked closer. Cutter width and cutter height are in inches, you can change those. ScaleNum should stay 72 - that is 72 dpi, which is the default vector scaling of the pdf generated by processing. normally you shouldn't have to change anything besides the variables at the top. if you are using processing3 and it's forcing you to change line 65, you need to set the size to be 72*cutterWidth (in inches), 72*cutterHeight (in inches)for you I guess that would be size(2592, 3672)https://github.com/amandaghassaei/LaserCutRecord/b...

    see my replies.to tbonadies

    file looks good to me, is it in the same folder as the processing sketch?

    View Instructable »
  • you probably know better than me at this point - I did this project in 2010, that was the last time I looked into IR grid related stuff.

    View Instructable »
  • yeah absolutely! always meant to work up to this, but never found the time.

    yes that would work with this ir receiver setup.

    View Instructable »
  • that should work fine - I would just take the working code and copy the LSR lines so that you are measuring signal and sending midi from all 5 sensors. Yes, flex sensors would be similar code, though you might have to scale things differently depending on the numbers coming in from analogRead.

    sorry for the late reply! hairless expects 115200 baud rate, so it is not surprising that it doesn't work at 9600. are you sure you're not sending a note on message later in the code that is never followed by a note off message?

    yes definitely. The only limitation is the number of pins on the arduino - there are only six analog pins so you may be limited there, but there are plenty of digital pins to work with.

    View Instructable »
  • hey have you resolved this? what's the error?

    I ran into this problem too - I was using the slicer in a program called Objet Studio (it's specific to the printer I was using, it doesn't actually make g code). I found that if I put over 1 min of audio on a record the slicer would crash. How big are the files you're trying to slice?

    View Instructable »
  • you need to read in the pot as an analog input, scale the analog input val from 0-1023 range to 0-127 range, when you create a MIDI note on command, you output this number as the "note", the second parameter in the note on message.in note on and note off commands, the "note" parameter is the pitch. Here's a table of how note corresponds to pitch:https://newt.phys.unsw.edu.au/jw/notes.html

    awesome! Hope you were able to finish your project!

    if you have an instrument like that in your midi software then yes. MIDI is just a language that electronic instruments use to communicate, the part where MIDI commands get interpreted into sound happens outside the arduino (at least for the process I've described in this tutorial)

    I was just sending midi out of my computer. I haven't tried this with a midi keyboard, but I'd love to hear if you found a way to solve it.

    View Instructable »
  • Awesome, I'm glad the cnc worked better! I'd love to see/hear the final product!ps I think you're confusing air assist with the fume extractor (ventilation fan). You want to keep the ventilation on. Air assist is an extra thing that blows a high pressure air on the part right where it's cutting. Shouldn't make a huge difference either way though.

    what kind of cnc? I think it's going to be nearly impossible to get this to work without doing it in vector format.

    View Instructable »
  • air assist is the compressed air that some lasers blast at the cut to help when you're trying to cut through the material. Glad it's at least getting a little better. I've had luck cncing with a little engraving bit on hdpe - about the same sound quality as the laser. Other people have also had success with machinable wax. Good luck! Let me know how it goes!

    View Instructable »
  • I think you need to back off on power - it looks like you're burning the material too much. Here's what I recommend - focus the laser on the surface of the material (I like to use the manual focus to make sure it's really dialed in), make sure the material is really flat so the beam doesn't go out of focus. You're putting too much heat in the material, so bump the speed up to 100 and lower the power. You want to take the power down so that you're making a deep enough groove so the needle doesn't fall out, but no deeper. Any more heat just widens the groove and increases noise. If you're doing this on plywood, the surface shouldn't look scorched https://cdn.instructables.com/FUC/9WSF/HFSHURAQ/FU...the groove should be a thin line and and there should be clear separation between the gr…

    see more »

    I think you need to back off on power - it looks like you're burning the material too much. Here's what I recommend - focus the laser on the surface of the material (I like to use the manual focus to make sure it's really dialed in), make sure the material is really flat so the beam doesn't go out of focus. You're putting too much heat in the material, so bump the speed up to 100 and lower the power. You want to take the power down so that you're making a deep enough groove so the needle doesn't fall out, but no deeper. Any more heat just widens the groove and increases noise. If you're doing this on plywood, the surface shouldn't look scorched https://cdn.instructables.com/FUC/9WSF/HFSHURAQ/FU...the groove should be a thin line and and there should be clear separation between the groovesdifferent lasers will require different settings, so don't worry if your settings are different from mine. But keep the speed up and lower power. I assume you that laser is actually moving pretty slow at 100 speed like it was for me?are you using air assist? I believe I turned that off for these cuts.also did you do the low pass filtering in audacity that I recommended?hope it works out! The records you've made so far look sweet if that counts for anything!

    View Instructable »
  • can you post some pics and a recording?

    View Instructable »
  • I would do some tests with the power and speed settings and cut it to whatever depth that keeps the needle in the groove. This is something you have to tune with your machine and materials.

    View Instructable »
  • there is the green button that says "clone or download"

    View Instructable »
  • yeah change the diameter and also change outerRad.outerRad is the radius of the outermost groove, you'll need to bring this in to fit on a ten inch record with a little room to space it from the edge, outerRad = 4.8" should be good.

    View Instructable »
  • awesome! unfortunately, it's not possible to buy it anywhere. Maybe one day I'll design a PCB for it at least, but just haven't had time.

    View Instructable »
  • I'd go with the one on the left, the smaller one.

    this code uses python 2, you may need to download a different version pf python.

    View Instructable »
  • you should be able to load it into illustrator as vectors and change it there. You can also try changing lines in the code that say:strokeWeight(0.001);to strokeWeight(0.25);

    View Instructable »
  • ah sorry that'simport numpy as npframeOneChannel = np.zeros(numframes)

    yeah this code is old... maybe try changing line 24 to:frameOneChannel = list([0]*numframes)or change it toimport npframeOneChannel = np.zeros(numframes)

    View Instructable »
  • yes, I actually already wrote a little code to do that. If you download the github repo you'll see a file in there for linear processing:https://github.com/amandaghassaei/LaserCutRecord/b...hope that helps!amanda

    View Instructable »
  • just saw this, that's awesome! It's been so long since I made this project, that I can't think of why high bpm would stop playback, that's an annoying issue. Do you have any plans to mess around with the code?

    View Instructable »
  • yes, I think a newer build of python 2 should work.

    not sure, did you sort this out? maybe try on a different comp?

    cool! One thing you should consider is that the surface speed of the needle past the paper will be slower for lower diameter records. So for best results, play at 78rpm and choose bass-heavy audio.hope it works!amanda

    maybe try using an older version of processing.

    View Instructable »
  • whoa, I never saw this before, so cool phil!

    View Instructable »
  • you mean one resistor for all the LEDs? No - that will give you variable current through your leds depending on how many leds are on at once. Best case scenario, you will not be able to control the brightness of your LEDs, worst case scenario, you could blow an LED.

    View Instructable »
  • hey sorry for the late reply - it seems like you have your wav in the wrong place. It should be in the same folder as the python script. Hopefully you figured that out on your own by now!

    View Instructable »
  • oh wow that's cool! Do you have them set up for pwm-ing? would love to see more videos as you progress with this!

    yeah I think it's possible. I haven't implemented any midi receive stuff yet, but you can do it with arduino's serial library:https://www.arduino.cc/en/reference/serialhttps://www.instructables.com/Send-and-Receive-...

    View Instructable »
  • you could definitely write an app that caused the sugarcube to send a program change message:https://en.wikipedia.org/wiki/General_MIDI#Program...the sugarcube class in this code has a method to send a generic midi command:void sendMIDI(byte command, byte param1, byte param2);this could be used to send the change program message.

    you mean you want to be able to control the leds to make them do other things? They won't be able to change color or brightness bc the circuit isn't set up for that, but you could write your own app to control them in different ways. this is the basic keyboard app:https://github.com/amandaghassaei/Sugarcube-Arduin...see how you can add code to different events? I would start from there if you want to program something yourself.

    nice, glad to see this worked! what are you going to do with it next?

    arduino isn't really set up to store large amounts of audio data and output analog, but you can get external modules that you can connect to arduino to make that work (though the code gets a little tricky). My only concern is that this project already uses a lot of io pins and you might find that you run out of other resources on the board - timer/counters etc.

    View Instructable »
  • For those asking about the mph calc:mph = (56.8*float(circumference))/float(timer);"circumference" is measured in inchestime per revolution of the wheel ("timer") is measured in milliseconds (0.001s)miles/hr = 1/(inches per mile) * (miliseconds per hr) * (circumference / timer)there are 63360 inches in a mile and 1000*60*60 = 3,600,000 ms in an hr:mph = 1/63360*3600000*circumference/timermph = 56.8*circumference/timerto do this in km/hr:km/hr = 1/(inches per km) * (miliseconds per hr) * (circumference / timer)km/hr = 1/39370*3600000*circumference/timerkm/hr = 91.4*circumference/timer

    View Instructable »
  • use a text to speech chip, it will be much easier:https://www.instructables.com/Twitter-Enabled-Text-to-Speech/

    View Instructable »